AppleIIAsm-Collection/source/disk1_stdio/T.MIN.SUB.THLINE
nathanriggs c8cac53c5e Rev 0.4 updates
Massive updates that changes the way most subroutines are handled. Major bugfixes, various utilities added, started higher-level libraries.
2019-04-26 18:49:10 -04:00

67 lines
1.4 KiB
Plaintext

THLINE
PLA
STA RETADR
PLA
STA RETADR+1
PLA
STA :F
PLA
STA :Y
PLA
STA :X2
PLA
STA :X1
LDA ERRCTRL
CMP #1
BEQ :CHKERR
JMP :ERREND
:CHKERR
LDA :X1
CMP :X2
BCS :ERRTOOHI
LDA :X1
CMP #39
BCS :ERRXOVF
LDA :X2
CMP #40
BCS :ERRXOVF
LDA :Y
CMP #24
BCS :ERRYOVF
JMP :ERREND
:ERRTOOHI
_ERR #:E_SID;#:E_XHI;#:E_DMP1;#:X1;#4
JMP :ERREND
:ERRXOVF
_ERR #:E_SID;#:E_XOF;#:E_DMP1;#:X1;#4
JMP :ERREND
:ERRYOVF
_ERR #:E_SID;#:E_YOF;#:E_DMP1;#:X1;#4
JMP :ERREND
:ERREND
LDA :Y
LDY :X1
:LOOP
JSR $F847
LDA :F
STA ($26),Y
LDA :Y
INY
CPY :X2
BNE :LOOP
:EXIT
LDA RETADR+1
PHA
LDA RETADR
PHA
RTS
:X1 DS 1
:X2 DS 1
:Y DS 1
:F DS 1
:E_SID ASC "THLINE (THLIN MACRO)",00
:E_DMP1 ASC "DUMPING X1(1) X1(1) Y(1) F(1)",00
:E_XHI ASC "X1 MUST BE LOWER THAN X2.",00
:E_XOF ASC "X > # OF AVAILABLE COLUMNS.",00
:E_YOF ASC "Y > # OF AVAILABLE ROWS",00