mirror of
https://github.com/photogrammer/PrintShopCompanion-Apple-II.git
synced 2024-06-10 14:29:32 +00:00
134 lines
2.2 KiB
Plaintext
134 lines
2.2 KiB
Plaintext
|
NLS
|
||
|
TTL "S:MAKETITLEPIC"
|
||
|
ORG = $1000
|
||
|
;
|
||
|
; Vertical hires screen compacter
|
||
|
; by Roland Gustafsson
|
||
|
;
|
||
|
DAT EPZ $00
|
||
|
;
|
||
|
DESTLO EPZ DAT
|
||
|
DESTHI EPZ DAT+1
|
||
|
XCOOR EPZ DAT+2
|
||
|
YCOOR EPZ DAT+3
|
||
|
LAST EPZ DAT+4
|
||
|
REPT EPZ DAT+5
|
||
|
HIRES EPZ DAT+6
|
||
|
;
|
||
|
YLO = $1E00
|
||
|
YHI = $1F00
|
||
|
;
|
||
|
DATA = $4000
|
||
|
;
|
||
|
ORG ORG
|
||
|
OBJ $0800
|
||
|
;
|
||
|
; First make Ybase table
|
||
|
;
|
||
|
LDA #$20
|
||
|
STA $E6
|
||
|
LDA $C081
|
||
|
LDY #0
|
||
|
^0 STY DAT
|
||
|
TYA
|
||
|
JSR $F417
|
||
|
LDY DAT
|
||
|
LDA $26
|
||
|
STA YLO,Y
|
||
|
LDA $27
|
||
|
STA YHI,Y
|
||
|
INY
|
||
|
CPY #$C0
|
||
|
BLT <0
|
||
|
;
|
||
|
LDA #DATA
|
||
|
CLC
|
||
|
ADC $AA60
|
||
|
STA DESTLO
|
||
|
LDA /DATA
|
||
|
ADC $AA61
|
||
|
STA DESTHI
|
||
|
;
|
||
|
LDA #0
|
||
|
STA XCOOR
|
||
|
STA YCOOR
|
||
|
JSR GETBYTE
|
||
|
COMPLOOP STA LAST
|
||
|
;
|
||
|
JSR GETBYTE
|
||
|
BCS ITSOVER
|
||
|
CMP LAST
|
||
|
BEQ REPEAT
|
||
|
PHA
|
||
|
LDA LAST
|
||
|
JSR STORBYTE
|
||
|
PLA
|
||
|
JMP COMPLOOP
|
||
|
;
|
||
|
; Count number of repeats
|
||
|
;
|
||
|
REPEAT ORA #$80
|
||
|
JSR STORBYTE
|
||
|
LDA #2
|
||
|
STA REPT
|
||
|
^0 JSR GETBYTE
|
||
|
BCS >2
|
||
|
CMP LAST
|
||
|
BNE >1
|
||
|
INC REPT
|
||
|
BNE <0
|
||
|
DEC REPT
|
||
|
;
|
||
|
^1 CLC
|
||
|
^2 PHA
|
||
|
LDA REPT
|
||
|
JSR STORBYTE
|
||
|
PLA
|
||
|
BCC COMPLOOP
|
||
|
BCS STORBYTE
|
||
|
;
|
||
|
; Last byte, so wrap up
|
||
|
;
|
||
|
ITSOVER PHA
|
||
|
LDA LAST
|
||
|
JSR STORBYTE
|
||
|
PLA
|
||
|
;
|
||
|
; Store byte to destination buffer
|
||
|
;
|
||
|
STORBYTE LDY #0
|
||
|
STA (DESTLO),Y
|
||
|
INC DESTLO
|
||
|
BNE *+4
|
||
|
INC DESTHI
|
||
|
RTS
|
||
|
;
|
||
|
; Get byte from hires page
|
||
|
; If SEC then this is last byte
|
||
|
;
|
||
|
GETBYTE LDX YCOOR
|
||
|
LDA YLO,X
|
||
|
STA HIRES
|
||
|
LDA YHI,X
|
||
|
STA HIRES+1
|
||
|
LDY XCOOR
|
||
|
LDA (HIRES),Y
|
||
|
EOR #$7F
|
||
|
STA (HIRES),Y
|
||
|
EOR #$7F
|
||
|
AND #$7F
|
||
|
INX
|
||
|
CPX #$C0
|
||
|
BLT >1
|
||
|
LDX #0
|
||
|
INY
|
||
|
CPY #$28
|
||
|
^1 STY XCOOR
|
||
|
STX YCOOR
|
||
|
RTS
|
||
|
;
|
||
|
;
|
||
|
;
|
||
|
USR "O:MAKETITLEPIC",ORG
|
||
|
END
|