General Information
Author: Ralf Patschke (pps)
Language: QUICK
Compiler/Interpreter: Quick
This is our little TIF2PIC converter. It needs an uncompressed and 192*160 wide TIF file named PICTURE.TIF and creates a file named PICTURE.PIC. The PIC has picture data first followed by the colors, like uncompressed MIC files.
{code}
Quick-Sourcetext
P:
----------------
Length: $18EA
Free : $5E81
----------------
BYTE
[
COL1=$8DF0
COL2=$8DF1
COL3=$8DF2
COLBK=$8DF3
ZEILE,SPALTE,PIXN1,PIXN2
PIX2=$8DFE
PIX1=$8DFF
PIXGES
DMA=559
KEY=764
]
WORD
[
BS=88
DL=560
]
ARRAY
[
INAME(16)
ONAME(16)
]
MAIN
PEEK(708,COL1)
PEEK(709,COL2)
PEEK(710,COL3)
PEEK(712,COLBK)
CLR(142,31)
DATA ($8E00)
[
0,240,66,$8000,2,0
78,$9000
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,78,$A018
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14
0,66,$8050
65,$8E00
]
DL=$8E00
BS=$8000
CLR(128,2)
POS(4,0)
?("TIF-Konverter by STARSOFT Berlin")
POS(0,1)
?("beta-Version")
POS(15,1)
?("(c) 8/2000")
-200
POS(2,2)
?("Converting... ");
?(" ")
PIXN1=0
PIXN2=0
PIX1=0
PIX2=0
PIXGES=0
*HEIKO'S ROUTINE
*------------------------------------
OPEN(1,4,0,INAME)
BGET(1,8,1536)
ZEILE=0
REPEAT
SPALTE=0
REPEAT
BGET(1,2,$8DFE)
IF PIX1>0
.COPYBIT1
ELSE
PIXN1=0
ENDIF
IF PIX2>0
.COPYBIT2
ELSE
PIXN2=0
ENDIF
ADD(PIXN1,PIXN2,PIXGES)
.AUSGABE
SPALTE+
UNTIL SPALTE=40
ZEILE+
UNTIL ZEILE=192
CLOSE(1)
*------------------------------------
POS(2,2)
?("(SHIFT) 1-4 -> Color RETURN ->");
?(" Save")
DLI(DLI)
.COLOR
POS(2,2)
?(" ");
?(" ")
POS(2,2)
?("Saving... ");
?(" ")
.SAVE
POS(2,2)
?("Done... press SPACE ");
?(" ")
KEY=255
REPEAT
UNTIL KEY=33
KEY=255
JUMP(200)
ENDMAIN
*------------------------------------
PROC AUSGABE
WORD
[
X,Y
]
BEGIN
X=0
Y=0
MULT(ZEILE,40,X)
ADD(X,$9000,Y)
ADD(Y,SPALTE,X)
POKE(X,PIXGES)
ENDPROC
*------------------------------------
INTER DLI
BEGIN
PUSH
POKE(53274,0)
POKE(53272,148)
POKE(53270,10)
POKE(53271,10)
SYNC(15)
POKE(53270,COL1)
POKE(53271,COL2)
POKE(53272,COL3)
POKE(53274,COLBK)
SYNC(193)
POKE(53274,0)
POKE(53272,148)
POKE(53270,10)
POKE(53271,10)
PULL
ENDDLI
*------------------------------------
PROC COPYBIT1
BEGIN
IF PIX1=51
PIXN1=15
JUMP(1)
ENDIF
IF PIX1=19
PIXN1=7
JUMP(1)
ENDIF
IF PIX1=49
PIXN1=13
JUMP(1)
ENDIF
IF PIX1=50
PIXN1=14
JUMP(1)
ENDIF
IF PIX1=35
PIXN1=11
JUMP(1)
ENDIF
IF PIX1=48
PIXN1=12
JUMP(1)
ENDIF
IF PIX1=17
PIXN1=5
JUMP(1)
ENDIF
IF PIX1=18
PIXN1=6
JUMP(1)
ENDIF
IF PIX1=34
PIXN1=10
JUMP(1)
ENDIF
IF PIX1=16
PIXN1=4
JUMP(1)
ENDIF
IF PIX1=32
PIXN1=8
JUMP(1)
ENDIF
IF PIX1=33
PIXN1=9
JUMP(1)
ENDIF
IF PIX1=1
PIXN1=1
JUMP(1)
ENDIF
IF PIX1=2
PIXN1=2
JUMP(1)
ENDIF
IF PIX1=3
PIXN1=3
ENDIF
-1
ENDPROC
PROC COPYBIT2
BEGIN
IF PIX2=51
PIXN2=240
JUMP(2)
ENDIF
IF PIX2=19
PIXN2=112
JUMP(2)
ENDIF
IF PIX2=49
PIXN2=208
JUMP(2)
ENDIF
IF PIX2=50
PIXN2=224
JUMP(2)
ENDIF
IF PIX2=3
PIXN2=48
JUMP(2)
ENDIF
IF PIX2=2
PIXN2=32
JUMP(2)
ENDIF
IF PIX2=1
PIXN2=16
JUMP(2)
ENDIF
IF PIX2=35
PIXN2=176
JUMP(2)
ENDIF
IF PIX2=48
PIXN2=192
JUMP(2)
ENDIF
IF PIX2=17
PIXN2=80
JUMP(2)
ENDIF
IF PIX2=18
PIXN2=96
JUMP(2)
ENDIF
IF PIX2=34
PIXN2=160
JUMP(2)
ENDIF
IF PIX2=16
PIXN2=64
JUMP(2)
ENDIF
IF PIX2=32
PIXN2=128
JUMP(2)
ENDIF
IF PIX2=33
PIXN2=144
ENDIF
-2
ENDPROC
*------------------------------------
PROC COLOR
BEGIN
KEY=255
REPEAT
IF KEY=31
* 1 *
COL1+
KEY=255
ENDIF
IF KEY=95
* SHIFT-1 *
COL1-
KEY=255
ENDIF
IF KEY=30
* 2 *
COL2+
KEY=255
ENDIF
IF KEY=94
* SHIFT-2 *
COL2-
KEY=255
ENDIF
IF KEY=26
* 3 *
COL3+
KEY=255
ENDIF
IF KEY=90
* SHIFT-3 *
COL3-
KEY=255
ENDIF
IF KEY=24
* 4 *
COLBK+
KEY=255
ENDIF
IF KEY=88
* SHIFT-4*
COLBK-
KEY=255
ENDIF
UNTIL KEY=12
ENDPROC
*------------------------------------*
PROC SAVE
BEGIN
OPEN(1,8,0,ONAME)
BPUT(1,7680,$9000)
BPUT(1,1,$8DF3)
BPUT(1,3,$8DF0)
CLOSE(1)
ENDPROC
{code}