AppleIIAsm-Collection/disks/disk1_stdio/T.STDIO.MAC.MIN
nathanriggs f5c097e70f STDIO disk 0.3.0 update
- added error handling
- no more massive library; just a subroutine per file. This is because Merlin doesn't like large files.
- added a "minify" BASIC utility that gets rid of *most* comments in a source textfile. This dramatically reduces space used if you're not terribly interested in non-inline comments.
- TFILL,THLIN,TVLIN and TPUT not directly access the video memory (page one), making for a much faster draw without interfering COUT.
- some stylistic changes, primarily to TFILL
- change required files to minified versions only. The whole files can be found on disk 2.
- got a norovirus so pretty much couldn't do anything requiring sustained attention, so focused on small things here and not on my dayjob. Cool.
- created a required.vars file that separates variables and settings from the other required files. Not minified.
- This current bout of revision will probably be the last, once all initial 6 disks are revamped, that focuses on all subroutines/macros in a given library at a single push. After this round, commits will be done on a subroutine or related file basis.
2019-01-13 23:48:09 -05:00

121 lines
2.6 KiB
Plaintext

PRN MAC
IF ",]1 ; --- IF PARAM=STRING
JSR XPRINT ; SPECIAL PRINT
ASC ]1 ; PUT STRING HERE
HEX 00 ; STRING TERMINATE
ELSE ; ELSE, PARAM IS
; MEMORY LOCATION
LDA #>]1 ; PUSH HIGH BYTE
PHA ; TO STACK
LDA #<]1 ; PUSH LOW BYTE
PHA
JSR DPRINT
FIN
<<<
PCR MAC
LDA #$8D
JSR COUT1
<<<
INP MAC
JSR SINPUT
<<<
GKEY MAC
JSR GETKEY
LDY #0
STY STROBE
<<<
SCPOS MAC
LDX ]1
LDY ]2
STX CURSH
STY CURSV
JSR VTAB
<<<
SETCX MAC
LDX ]1
STX CURSH
JSR VTAB
<<<
SETCY MAC
LDY ]1
STY CURSV
JSR VTAB
<<<
CURF MAC
LDA ]1
JSR CURSFOR
<<<
CURB MAC
LDA ]1
JSR CURSBAK
<<<
CURU MAC
LDA ]1
JSR CURSUP
<<<
CURD MAC
LDA ]1
JSR CURSDN
<<<
RCPOS MAC
LDA ]1 ; ROW
LDY ]2 ; COLUMN
JSR $F847 ; GBASCALC ROUTINE
LDA ($26),Y ; LOW OF ADDR OF CHAR
<<<
PDL MAC ; GET PADDLE VALUE
LDX #]1 ; READ PADDLE # ]1 (USUALLY 0)
JSR PREAD ; PADDLE READING STORED IN Y
<<<
PBX MAC
LDA #>]1
PHA
LDA #<]1
PHA
JSR GPBX
<<<
TVLIN MAC
LDA ]1 ; Y START
PHA
LDA ]2 ; Y END
PHA
LDA ]3 ; X POSITION
PHA
LDA ]4 ; CHARACTER
PHA
JSR TVLINE
<<<
THLIN MAC
LDA ]1 ; X START
PHA
LDA ]2 ; X END
PHA
LDA ]3 ; Y POS
PHA
LDA ]4 ; FILL CHAR
PHA
JSR THLINE
<<<
TFILL MAC
LDA ]1 ; LEFT BOUNDARY
PHA
LDA ]2 ; TOP BOUNDARY
PHA
LDA ]3 ; RIGHT BOUNDARY
PHA
LDA ]4 ; BOTTOM BOUNDARY
PHA
LDA ]5 ; FILL CHAR
PHA
JSR TFILLA
<<<
TPUT MAC
LDA ]1
PHA
LDA ]2
PHA
LDA ]3
PHA
JSR TXTPUT
<<<