mirror of
https://github.com/nathanriggs/AppleIIAsm-Collection.git
synced 2024-12-12 01:30:00 +00:00
9849dbb5ea
items in disk folder will be updated automatically, whereas items in the source folder will be updated periodically due to having to manually sort through files to copy and paste
99 lines
3.1 KiB
Plaintext
99 lines
3.1 KiB
Plaintext
*
|
|
*``````````````````````````````*
|
|
* THLIN :: TEXT HORIZ LINE *
|
|
*- -*
|
|
* CREATES A HORIZONTAL LINE OF *
|
|
* TEXT COMPOSED OF THE FILL *
|
|
* CHARACTER SPECIFIED AT Y. *
|
|
*- -*
|
|
* CLOBBERS: *
|
|
* *
|
|
* FLAGS: ????---- REG: AXYM *
|
|
*- -*
|
|
* CYCLES: ??? *
|
|
* SIZE: *
|
|
*- -*
|
|
* USAGE: *
|
|
* LDA (X-START) *
|
|
* PHA *
|
|
* LDA (X-END) *
|
|
* PHA *
|
|
* LDA (Y-POS) *
|
|
* PHA *
|
|
* LDA (FILL CHAR) *
|
|
* PHA *
|
|
* JSR THLIN *
|
|
*- -*
|
|
* ENTRY *
|
|
* *
|
|
* TOP OF STACK *
|
|
* *
|
|
* LOW BYTE OF RETURN ADDRESS *
|
|
* HI BYTE OF RETURN ADDRESS *
|
|
* XPOS START OF LINE (:X1) *
|
|
* XPOS END OF LINE (:X2) *
|
|
* YPOS OF LINE (:Y) *
|
|
* FILL CHARACTER (:F) *
|
|
*- -*
|
|
* EXIT *
|
|
* *
|
|
* TOP OF STACK *
|
|
* *
|
|
* LOW BYTE OF RETURN ADDRESS *
|
|
* HI BYTE OF RETURN ADDRESS *
|
|
* *
|
|
* X,Y = START,END OF LINE *
|
|
* A = LOW BYTE OF RET ADDR *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
THLIN
|
|
*
|
|
** SAVE RETURN ADDRESS
|
|
*
|
|
PLA
|
|
STA :RETADR
|
|
PLA
|
|
STA :RETADR+1
|
|
*
|
|
** GET PARAMETERS
|
|
*
|
|
PLA
|
|
STA :F
|
|
PLA
|
|
STA :Y
|
|
PLA
|
|
STA :X2
|
|
PLA
|
|
STA :X1
|
|
*
|
|
*
|
|
LDX :X1 ; LOAD X START POS
|
|
STX CURSH ; STORE IN CURSH
|
|
LDY :Y ; LDY Y POS
|
|
STY CURSV ; STORE IN CURSV
|
|
JSR VTAB ; MOVE CURSOR
|
|
LDA :F ; LOAD FILL CHAR
|
|
LDY :X1 ; LOAD X START POS
|
|
:LOOP
|
|
JSR COUT1 ; PRINT FILL CHAR
|
|
INY ; INCREASE X POS
|
|
CPY :X2 ; IF LESS THAN X END POS
|
|
BNE :LOOP ; REPEAT UNTIL DONE
|
|
:EXIT
|
|
*
|
|
** RESTORE RETURN ADDRESS
|
|
*
|
|
LDA :RETADR+1
|
|
PHA
|
|
LDA :RETADR
|
|
PHA
|
|
RTS
|
|
*
|
|
** DATA
|
|
*
|
|
:X1 DS 1
|
|
:X2 DS 1
|
|
:Y DS 1
|
|
:F DS 1 ; FILL CHAR
|
|
:RETADR DS 2
|