mirror of
https://github.com/photogrammer/PrintShopCompanion-Apple-II.git
synced 2024-09-27 09:55:09 +00:00
161 lines
2.6 KiB
Plaintext
161 lines
2.6 KiB
Plaintext
|
;
|
||
|
; S:UCAL5
|
||
|
;
|
||
|
; Credit line stuff that didn't fit
|
||
|
; in ICAL. CRBLAK/CRDRAW
|
||
|
;
|
||
|
; INITCAL:move code to homes
|
||
|
;
|
||
|
;-----------
|
||
|
;
|
||
|
; Routine to erase current line
|
||
|
;
|
||
|
CRBLAK LDY CRLINE
|
||
|
LDA TEXTBUFF
|
||
|
BNE >0
|
||
|
STA CRLINE
|
||
|
TAY
|
||
|
JSR >0
|
||
|
LDY #1
|
||
|
;
|
||
|
^0 LDA CRYTBL,Y
|
||
|
STA >1+2
|
||
|
JSR PRINT
|
||
|
^1 BYT RTOSBLAK,CRXB,00
|
||
|
BYT CRXMAXB,7,0
|
||
|
LDY #TEXTBUFF
|
||
|
LDA /TEXTBUFF
|
||
|
STY TMP2
|
||
|
STA TMP3
|
||
|
RTS
|
||
|
;---
|
||
|
;
|
||
|
; Draw
|
||
|
;
|
||
|
CRDRAW LDY CRLINE
|
||
|
JSR CRDRAW2
|
||
|
LDY CRLINE
|
||
|
BNE >1
|
||
|
;
|
||
|
LDA TEXTBUFF,X
|
||
|
BEQ CRRTS
|
||
|
INC CRLINE
|
||
|
BNE CRDRAW
|
||
|
;
|
||
|
^1 LDX CRPOS,Y
|
||
|
LDA TEXTBUFF,X
|
||
|
BNE CRRTS
|
||
|
DEC CRLINE
|
||
|
BEQ CRDRAW
|
||
|
;---
|
||
|
;
|
||
|
; Given Y=0 or 1, draw given line
|
||
|
;
|
||
|
CRDRAW2 STY CRLINE
|
||
|
LDA CRYTBL,Y
|
||
|
STA >2+3
|
||
|
LDX CRPOS,Y
|
||
|
STX >3+1
|
||
|
LDA #0
|
||
|
DEX
|
||
|
^0 INX
|
||
|
LDY TEXTBUFF,X
|
||
|
BEQ >1
|
||
|
CLC
|
||
|
ADC UFONTW-$20,Y
|
||
|
ADC #2
|
||
|
CMP #CRXMAX+1
|
||
|
BLT <0
|
||
|
;
|
||
|
^1 LDA TEXTBUFF,X
|
||
|
PHA
|
||
|
LDA #0
|
||
|
STA TEXTBUFF,X
|
||
|
TXA
|
||
|
PHA
|
||
|
;
|
||
|
JSR PRINT
|
||
|
^2 .DA #PRLOC,CRX,#00
|
||
|
^3 .DA #PRSTR,TEXTBUFF
|
||
|
BYT NOCR,0
|
||
|
;
|
||
|
PLA
|
||
|
TAX
|
||
|
PLA
|
||
|
STA TEXTBUFF,X
|
||
|
;
|
||
|
LDY CRLINE
|
||
|
BEQ >4
|
||
|
LDA #0
|
||
|
STA TEXTBUFF,X
|
||
|
CRRTS RTS
|
||
|
;
|
||
|
^4 STX CRPOS+1
|
||
|
RTS
|
||
|
;
|
||
|
CRYTBL BYT CRY1+2
|
||
|
BYT CRY1+10
|
||
|
CRPOS BYT 0
|
||
|
BYT 0
|
||
|
;-----------
|
||
|
;
|
||
|
; Initialize all the external
|
||
|
; subroutines, move them to their
|
||
|
; homes.
|
||
|
;
|
||
|
SRCLO EPZ $3A
|
||
|
SRCHI EPZ $3B
|
||
|
DSTLO EPZ $3C
|
||
|
DSTHI EPZ $3D
|
||
|
LENLO EPZ $3E
|
||
|
LENHI EPZ $3F
|
||
|
;
|
||
|
INITCAL LDY #EXTERNAL
|
||
|
LDA /EXTERNAL
|
||
|
STY SRCLO
|
||
|
STA SRCHI
|
||
|
LDY #0
|
||
|
;
|
||
|
^0 JSR MOVEGET
|
||
|
STA DSTLO
|
||
|
JSR MOVEGET
|
||
|
STA DSTHI
|
||
|
ORA DSTLO
|
||
|
BEQ MOVERTS
|
||
|
JSR MOVEGET
|
||
|
TAX
|
||
|
JSR MOVEGET
|
||
|
STA LENHI
|
||
|
;
|
||
|
^1 JSR MOVEGET
|
||
|
STA (DSTLO),Y
|
||
|
INC DSTLO
|
||
|
BNE >2
|
||
|
INC DSTHI
|
||
|
^2 TXA
|
||
|
BNE >3
|
||
|
DEC LENHI
|
||
|
^3 DEX
|
||
|
BNE <1
|
||
|
TXA
|
||
|
ORA LENHI
|
||
|
BNE <1
|
||
|
BEQ <0
|
||
|
;
|
||
|
; Get a byte from program data
|
||
|
;
|
||
|
MOVEGET LDA (SRCLO),Y
|
||
|
INC SRCLO
|
||
|
BNE MOVERTS
|
||
|
INC SRCHI
|
||
|
MOVERTS RTS
|
||
|
;-----------
|
||
|
;
|
||
|
;
|
||
|
EXTERNAL:
|
||
|
;
|
||
|
;
|
||
|
USR "UCAL",ORG
|
||
|
;
|
||
|
ICL "S:COMMON"
|