mirror of
https://github.com/photogrammer/PrintShopCompanion-Apple-II.git
synced 2024-06-12 11:29:35 +00:00
434 lines
7.0 KiB
Plaintext
434 lines
7.0 KiB
Plaintext
|
;
|
||
|
; S:GREDIT3
|
||
|
;
|
||
|
; Print Shop Companion
|
||
|
;
|
||
|
; Tile Magic
|
||
|
;
|
||
|
; by Roland Gustafsson
|
||
|
; Copyright 1985
|
||
|
;
|
||
|
TZ EPZ $80
|
||
|
;
|
||
|
TMXSTART EPZ TZ
|
||
|
TMYSTART EPZ TZ+1
|
||
|
TMXPOS EPZ TZ+2
|
||
|
TMYPOS EPZ TZ+3
|
||
|
TMXQTR EPZ TZ+4
|
||
|
TMYQTR EPZ TZ+5
|
||
|
TMCOLOR EPZ TZ+6
|
||
|
TMCOUNT EPZ TZ+7
|
||
|
TMBCOUNT EPZ TZ+8
|
||
|
;
|
||
|
TILEXMAX = 88
|
||
|
TILEYMAX = 52
|
||
|
;
|
||
|
;
|
||
|
TILEMAGC LDA #ESC
|
||
|
STA TILEMOD
|
||
|
JSR SETMAX
|
||
|
;
|
||
|
JSR CLSCREEN
|
||
|
JSR PRINT
|
||
|
BYT RTOSWITE,0,0,25,16
|
||
|
BYT PRCNTR,PRINVR
|
||
|
.DA #PRLOC,88,#4
|
||
|
.DA #PRSTR,TXTTM
|
||
|
BYT CR,0
|
||
|
JSR DOMAGIC
|
||
|
;
|
||
|
ESC4TILE LDA #0
|
||
|
JSR SAVESPEC
|
||
|
BCC >0
|
||
|
JMP TILEMAGC
|
||
|
;
|
||
|
^0 JSR JMPVECTS
|
||
|
ADR TILESAVE
|
||
|
ADR GREDIT2
|
||
|
ADR MAINMENU
|
||
|
;-----------
|
||
|
;
|
||
|
; Save the Tile
|
||
|
;
|
||
|
TILESAVE JSR SETTYPE
|
||
|
BYT 'GRAPHIC',0
|
||
|
TXTTM BYT 'TILE MAGIC',0
|
||
|
BYT 0
|
||
|
BYT 4
|
||
|
ADR EDITBUFF
|
||
|
ADR $240
|
||
|
JSR SAVEFILE
|
||
|
JMP ESC4TILE
|
||
|
;-----------
|
||
|
;
|
||
|
; Helpful instructions for our
|
||
|
; favorite person, the consumer.
|
||
|
;
|
||
|
DOMAGIC JSR BLAKRITE
|
||
|
JSR PRINT
|
||
|
BYT RTOSWITE,26,0,14,2
|
||
|
BYT PRBIG,PRCNTR
|
||
|
BYT PRSPC,16
|
||
|
.DA #PRLOC,231,#16
|
||
|
BYT 'TILE',CR
|
||
|
BYT 'MAGIC',CR,0
|
||
|
;
|
||
|
JSR PRINT
|
||
|
BYT PRCNTR
|
||
|
.DA #PRLOC,231,#83
|
||
|
.DA #PRSTR,TXTRET,#CR
|
||
|
BYT 'TO CHANGE',CR
|
||
|
BYT 'PATTERN',CR,CR,CR
|
||
|
BYT '<ESC>',CR
|
||
|
BYT 'TO "FREEZE"',CR
|
||
|
BYT 'TILE',CR
|
||
|
BRK
|
||
|
;
|
||
|
; Do the fireworks
|
||
|
;
|
||
|
; Same as Kaleidoscope 1 from
|
||
|
; the original Print Shop.
|
||
|
;
|
||
|
JSR BUFFSAVE
|
||
|
NEXTTILE JSR SETTRP
|
||
|
JSR CLRBUFF
|
||
|
JSR SHOWGR
|
||
|
;
|
||
|
LTRP LDA #$40
|
||
|
STA TMXSTART
|
||
|
LDA #0
|
||
|
STA TMYSTART
|
||
|
STA TMCOLOR
|
||
|
LDA #12
|
||
|
STA STRTFLAG
|
||
|
LTRP2 LDA $C05F
|
||
|
ADC $C059
|
||
|
ADC $C05D
|
||
|
ADC TMXSTART
|
||
|
STA TMXSTART
|
||
|
STA TMXPOS
|
||
|
LDA TMYPOS
|
||
|
ROL
|
||
|
EOR TMXPOS
|
||
|
STA TMYPOS
|
||
|
STA TMYSTART
|
||
|
DEC TMCOLOR
|
||
|
LDX #26
|
||
|
LDA STRTFLAG
|
||
|
BEQ LTRP2A
|
||
|
LDX #2
|
||
|
DEC STRTFLAG
|
||
|
LTRP2A STX TMCOUNT
|
||
|
LTRP2B INC TMCOLOR
|
||
|
LDA TMCOLOR
|
||
|
AND #3
|
||
|
CMP #3
|
||
|
BEQ LTRP2B
|
||
|
CMP #0
|
||
|
BNE LTRP2C
|
||
|
LDA STRTFLAG
|
||
|
BNE LTRP2B
|
||
|
LTRP2C DEC TMCOUNT
|
||
|
BEQ LTRP2
|
||
|
JSR SETC
|
||
|
LTRP3 JSR PUT4
|
||
|
JSR BTNCHK
|
||
|
BPL LTRP8
|
||
|
CMP #$0D
|
||
|
BEQ NEXTTILE
|
||
|
RTS
|
||
|
;
|
||
|
LTRP8 LDA TMYPOS
|
||
|
;
|
||
|
YTRIP DFS 6,0
|
||
|
;
|
||
|
STA TMYQTR
|
||
|
LDA TMXPOS
|
||
|
SEC
|
||
|
SBC TMYQTR
|
||
|
STA TMXPOS
|
||
|
;
|
||
|
XTRIP DFS 6,0
|
||
|
;
|
||
|
CLC
|
||
|
ADC TMYPOS
|
||
|
STA TMYPOS
|
||
|
CMP TMYSTART
|
||
|
BNE LTRP3
|
||
|
LDA TMXPOS
|
||
|
CMP TMXSTART
|
||
|
BNE LTRP3
|
||
|
BEQ LTRP2B
|
||
|
;
|
||
|
PUT4 LDA TMXPOS
|
||
|
LSR
|
||
|
LSR
|
||
|
TAX
|
||
|
LDA RANGE44,X
|
||
|
STA TMXQTR
|
||
|
;
|
||
|
LDA TMYPOS
|
||
|
LSR
|
||
|
LSR
|
||
|
LSR
|
||
|
TAX
|
||
|
LDA RANGE26,X
|
||
|
STA TMYQTR
|
||
|
;
|
||
|
LDA #TILEXMAX/2
|
||
|
CLC
|
||
|
ADC TMXQTR
|
||
|
TAX
|
||
|
LDA #TILEYMAX/2
|
||
|
CLC
|
||
|
ADC TMYQTR
|
||
|
TAY
|
||
|
JSR XYPLOT
|
||
|
LDA #TILEXMAX/2
|
||
|
SEC
|
||
|
SBC TMXQTR
|
||
|
TAX
|
||
|
JSR XYPLOT
|
||
|
LDA #TILEYMAX/2
|
||
|
SEC
|
||
|
SBC TMYQTR
|
||
|
TAY
|
||
|
JSR XYPLOT
|
||
|
LDA #TILEXMAX/2
|
||
|
CLC
|
||
|
ADC TMXQTR
|
||
|
TAX
|
||
|
;
|
||
|
XYPLOT CPY #TILEYMAX
|
||
|
BGE XYDONE
|
||
|
CPX #TILEXMAX
|
||
|
BGE XYDONE
|
||
|
;
|
||
|
STX XCOOR
|
||
|
STY YCOOR
|
||
|
TMXYMOD JSR $FFFF
|
||
|
LDX XCOOR
|
||
|
LDY YCOOR
|
||
|
XYDONE RTS
|
||
|
;-----------
|
||
|
;
|
||
|
; Check for CR
|
||
|
;
|
||
|
BTNCHK DEC TMBCOUNT
|
||
|
LDA TMBCOUNT
|
||
|
AND #$7F
|
||
|
BNE >0
|
||
|
JMP POLEBTN
|
||
|
^0 LDA #0
|
||
|
RTS
|
||
|
;
|
||
|
; Set color
|
||
|
;
|
||
|
SETC LDX #SETBIT
|
||
|
LDY /SETBIT
|
||
|
LDA TMCOLOR
|
||
|
AND #2
|
||
|
BNE >0
|
||
|
LDX #CLRBIT
|
||
|
LDY /CLRBIT
|
||
|
;
|
||
|
^0 STX TMXYMOD+1
|
||
|
STY TMXYMOD+2
|
||
|
RTS
|
||
|
;
|
||
|
; Set trip format
|
||
|
;
|
||
|
SETTRP LDA TRIPN
|
||
|
ASL
|
||
|
ADC TRIPN
|
||
|
ASL
|
||
|
TAX
|
||
|
LDY #0
|
||
|
^0 LDA XTRPS,X
|
||
|
STA XTRIP,Y
|
||
|
LDA YTRPS,X
|
||
|
STA YTRIP,Y
|
||
|
INX
|
||
|
INY
|
||
|
CPY #6
|
||
|
BLT <0
|
||
|
LDX TRIPN
|
||
|
INX
|
||
|
CPX #11
|
||
|
BNE >1
|
||
|
LDX #0
|
||
|
^1 STX TRIPN
|
||
|
RTS
|
||
|
;X1
|
||
|
XTRPS LSR
|
||
|
LSR
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
;X2
|
||
|
LSR
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
;X3
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
;X4
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
;X5
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
;X6
|
||
|
LSR
|
||
|
LSR
|
||
|
LSR
|
||
|
CLC
|
||
|
ADC TMXPOS
|
||
|
;X7
|
||
|
LSR
|
||
|
LSR
|
||
|
NOP
|
||
|
CLC
|
||
|
ADC TMXPOS
|
||
|
;X8
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
CLC
|
||
|
ADC TMXPOS
|
||
|
;X9
|
||
|
LSR
|
||
|
LSR
|
||
|
LSR
|
||
|
SEC
|
||
|
SBC TMXPOS
|
||
|
;X10
|
||
|
LSR
|
||
|
LSR
|
||
|
NOP
|
||
|
SEC
|
||
|
SBC TMXPOS
|
||
|
;X11
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
SEC
|
||
|
SBC TMXPOS
|
||
|
;Y1
|
||
|
YTRPS LSR
|
||
|
LSR
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
;Y2
|
||
|
LSR
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
;Y3
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
;Y4
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
;Y5
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
NOP
|
||
|
;Y6
|
||
|
LSR
|
||
|
LSR
|
||
|
LSR
|
||
|
CLC
|
||
|
ADC TMYPOS
|
||
|
;Y7
|
||
|
LSR
|
||
|
LSR
|
||
|
NOP
|
||
|
CLC
|
||
|
ADC TMYPOS
|
||
|
;Y8
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
CLC
|
||
|
ADC TMYPOS
|
||
|
;Y9
|
||
|
LSR
|
||
|
LSR
|
||
|
LSR
|
||
|
SEC
|
||
|
SBC TMYPOS
|
||
|
;Y10
|
||
|
LSR
|
||
|
LSR
|
||
|
NOP
|
||
|
SEC
|
||
|
SBC TMYPOS
|
||
|
;Y11
|
||
|
LSR
|
||
|
NOP
|
||
|
NOP
|
||
|
SEC
|
||
|
SBC TMYPOS
|
||
|
;
|
||
|
;----------
|
||
|
;
|
||
|
TRIPN HEX 03
|
||
|
STRTFLAG HEX 00
|
||
|
;
|
||
|
; Lookup tables for getting
|
||
|
; range
|
||
|
;
|
||
|
; X= 0-44
|
||
|
;
|
||
|
RANGE44 HEX 0001010203030405
|
||
|
HEX 0606070808090A0A
|
||
|
HEX 0B0C0C0D0E0F0F10
|
||
|
HEX 1111121313141515
|
||
|
HEX 16171718191A1A1B
|
||
|
HEX 1C1C1D1E1E1F2020
|
||
|
HEX 2122232324252526
|
||
|
HEX 27272829292A2B2C
|
||
|
;
|
||
|
; X= 0-26
|
||
|
;
|
||
|
RANGE26 HEX 0001020303040506
|
||
|
HEX 070808090A0B0C0C
|
||
|
HEX 0D0E0F1011111213
|
||
|
HEX 141515161718191A
|
||
|
;
|
||
|
;
|
||
|
;
|
||
|
ICL "S:GREDIT4"
|