mirror of
https://github.com/gungwald/prodos-more.git
synced 2025-02-10 13:31:03 +00:00
Start to convert to S-C assembler syntax
This commit is contained in:
parent
c7ca984275
commit
678c29acd3
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*.swp
|
225
more.s → more.S
225
more.s → more.S
@ -1,69 +1,65 @@
|
|||||||
pr#1
|
|
||||||
|
|
||||||
:p
|
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
* *
|
* *
|
||||||
* MORE - UN*X MORE COMMAND *
|
* MORE - UN*X MORE COMMAND *
|
||||||
* ASSEMBLES WITH MERLIN *
|
* ASSEMBLES WITH S-C *
|
||||||
* *
|
* *
|
||||||
********************************
|
********************************
|
||||||
|
|
||||||
DSK MORE ;WRITE ASSEMBLED FILE TO DISK
|
* DSK MORE ;WRITE ASSEMBLED FILE TO DISK
|
||||||
TYP $06 ;$FF=SYSTEM, $06=BINARY
|
* TYP $06 ;$FF=SYSTEM, $06=BINARY
|
||||||
ORG $2000 ;ASSEMBLE START ADDRESS
|
.OR $2000 ;ASSEMBLE START ADDRESS
|
||||||
|
*
|
||||||
* SYSTEM VARIABLES
|
* SYSTEM VARIABLES
|
||||||
|
*
|
||||||
IN EQU $200 ;256-CHAR INPUT BUF
|
IN .EQ $200 ;256-CHAR INPUT BUF
|
||||||
|
*
|
||||||
* SUBROUTINES IN MONITOR ROM: $F800 - $FFFF
|
* SUBROUTINES IN MONITOR ROM: $F800 - $FFFF
|
||||||
|
*
|
||||||
RDKEY EQU $FD0C ;READS A CHARACTER
|
RDKEY .EQ $FD0C ;READS A CHARACTER
|
||||||
GETLN EQU $FD6A ;READS A LINE, WITH PROMPT($33)
|
GETLN .EQ $FD6A ;READS A LINE, WITH PROMPT($33)
|
||||||
GETLN1 EQU $FD6F ;READS A LINE, NO PROMPT
|
GETLN1 .EQ $FD6F ;READS A LINE, NO PROMPT
|
||||||
CROUT EQU $FD8E
|
CROUT .EQ $FD8E
|
||||||
COUT EQU $FDED
|
COUT .EQ $FDED
|
||||||
PRBYTE EQU $FDDA
|
PRBYTE .EQ $FDDA
|
||||||
|
*
|
||||||
* SUBROUTINES IN BASIC.SYSTEM ROM:
|
* SUBROUTINES IN BASIC.SYSTEM ROM:
|
||||||
|
*
|
||||||
GETBUFR EQU $BEF5 ;ALLOCATE BUFFER, DESTROYS X & Y
|
GETBUFR .EQ $BEF5 ;ALLOCATE BUFFER, DESTROYS X & Y
|
||||||
FREEBUFR EQU $BEF8 ;FREE BUFFER
|
FREEBUFR .EQ $BEF8 ;FREE BUFFER
|
||||||
|
*
|
||||||
* PRODOS ENTRY POINT
|
* PRODOS ENTRY POINT
|
||||||
|
*
|
||||||
MLI EQU $BF00
|
MLI .EQ $BF00
|
||||||
|
*
|
||||||
* MEMORY LOCATIONS
|
* MEMORY LOCATIONS
|
||||||
|
*
|
||||||
OURCH EQU $057B ;80-COL HORIZ CURSOR POSITION
|
OURCH .EQ $057B ;80-COL HORIZ CURSOR POSITION
|
||||||
OURCV EQU $05FB ;VERTICAL CURSOR POSITION
|
OURCV .EQ $05FB ;VERTICAL CURSOR POSITION
|
||||||
|
*
|
||||||
* ZERO-PAGE ADDRESSES
|
* ZERO-PAGE ADDRESSES
|
||||||
|
*
|
||||||
ZP_A1L EQU $3C ;MONITOR GENERAL PURPOSE
|
ZP.A1L .EQ $3C ;MONITOR GENERAL PURPOSE
|
||||||
ZP_A1H EQU $3D ;MONITOR GENERAL PURPOSE
|
ZP.A1H .EQ $3D ;MONITOR GENERAL PURPOSE
|
||||||
|
*
|
||||||
* PRODOS COMMAND CODES
|
* PRODOS COMMAND CODES
|
||||||
|
*
|
||||||
OPENCMD EQU $C8
|
OPENCMD .EQ $C8
|
||||||
READCMD EQU $CA
|
READCMD .EQ $CA
|
||||||
CLOSCMD EQU $CC
|
CLOSCMD .EQ $CC
|
||||||
|
*
|
||||||
* CONSTANTS
|
* CONSTANTS
|
||||||
|
*
|
||||||
EOFERR EQU $4C ;ERROR CODE FOR END-OF-FILE
|
EOFERR .EQ $4C ;ERROR CODE FOR END-OF-FILE
|
||||||
PTR EQU $06 ;ONLY FREE 0-PAGE LOCATION
|
PTR .EQ $06 ;ONLY FREE 0-PAGE LOCATION
|
||||||
MAXERCDE EQU $5A ;LARGEST ERROR CODE
|
MAXERCDE .EQ $5A ;LARGEST ERROR CODE
|
||||||
CR EQU $0D ;ASCII CARRIAGE RETURN
|
CR .EQ $0D ;ASCII CARRIAGE RETURN
|
||||||
CR_HIBIT EQU $8D ;CARRIAGE RET WITH HIGH BIT SET
|
CR.HIBIT .EQ $8D ;CARRIAGE RET WITH HIGH BIT SET
|
||||||
BUFSIZE EQU $00FF
|
BUFSIZE .EQ $00FF
|
||||||
SCR_HGHT EQU 24 ;SCREEN HEIGHT
|
SCR.HGHT .EQ 24 ;SCREEN HEIGHT
|
||||||
|
*
|
||||||
* DEBUGGING
|
* DEBUGGING
|
||||||
|
*
|
||||||
TRACE EQU 0
|
TRACE .EQ 0
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
* *
|
* *
|
||||||
@ -72,10 +68,10 @@ TRACE EQU 0
|
|||||||
* *
|
* *
|
||||||
********************************
|
********************************
|
||||||
|
|
||||||
PUSHY MAC
|
PUSHY .MA
|
||||||
TYA
|
TYA
|
||||||
PHA
|
PHA
|
||||||
<<<
|
.EM
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
* *
|
* *
|
||||||
@ -84,10 +80,10 @@ PUSHY MAC
|
|||||||
* *
|
* *
|
||||||
********************************
|
********************************
|
||||||
|
|
||||||
POPY MAC
|
POPY .MA
|
||||||
PLA
|
PLA
|
||||||
TAY
|
TAY
|
||||||
<<<
|
.EM
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
* *
|
* *
|
||||||
@ -99,20 +95,20 @@ POPY MAC
|
|||||||
* *
|
* *
|
||||||
********************************
|
********************************
|
||||||
|
|
||||||
CPIN MAC
|
CPIN .MA
|
||||||
PUSHY ;SAVE Y
|
PUSHY ;SAVE Y
|
||||||
STX ]1 ;COPY LENGTH TO FIRST BYTE OF ]1
|
STX ]1 ;COPY LENGTH TO FIRST BYTE OF ]1
|
||||||
LDY #0 ;INIT Y TO ZERO
|
LDY #0 ;INIT Y TO ZERO
|
||||||
LOOP CPY ]1 ;COMPARE Y WITH LENGTH BYTE
|
:1 CPY ]1 ;COMPARE Y WITH LENGTH BYTE
|
||||||
BEQ ENDLOOP ;DONE IF LENGTH IS REACHED
|
BEQ :2 ;DONE IF LENGTH IS REACHED
|
||||||
LDA IN,Y ;LOAD IN[Y] INTO ACCUMULATOR
|
LDA IN,Y ;LOAD IN[Y] INTO ACCUMULATOR
|
||||||
CMP #CR ;COMPARE WITH CARRIAGE RETURN
|
CMP #CR ;COMPARE WITH CARRIAGE RETURN
|
||||||
BEQ ENDLOOP ;STOP AT CARRIAGE RETURN
|
BEQ :2 ;STOP AT CARRIAGE RETURN
|
||||||
INY ;DEST STR IS 1 AHEAD OF IN BUF
|
INY ;DEST STR IS 1 AHEAD OF IN BUF
|
||||||
STA ]1,Y ;COPY CHAR TO DEST STR ]1
|
STA ]1,Y ;COPY CHAR TO DEST STR ]1
|
||||||
JMP LOOP ;LOOP TO NEXT CHAR
|
JMP :1 ;LOOP TO NEXT CHAR
|
||||||
ENDLOOP POPY ;RESTORE Y
|
:2 POPY ;RESTORE Y
|
||||||
<<<
|
.EM
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
* *
|
* *
|
||||||
@ -122,17 +118,17 @@ ENDLOOP POPY ;RESTORE Y
|
|||||||
* *
|
* *
|
||||||
********************************
|
********************************
|
||||||
|
|
||||||
PUTS MAC
|
PUTS .MA
|
||||||
PUSHY
|
PUSHY
|
||||||
LDY #0 ;INIT LOOP INDEX
|
LDY #0 ;INIT LOOP INDEX
|
||||||
LOOP CPY ]1 ;HAS STR LENGTH BEEN REACHED
|
:1 CPY ]1 ;HAS STR LENGTH BEEN REACHED
|
||||||
BEQ ENDLOOP ;IF SO THEN FINISH
|
BEQ :2 ;IF SO THEN FINISH
|
||||||
INY ;MOVE TO INDEX OF NEXT CHAR
|
INY ;MOVE TO INDEX OF NEXT CHAR
|
||||||
LDA ]1,Y ;GET THE CHAR TO BE WRITTEN
|
LDA ]1,Y ;GET THE CHAR TO BE WRITTEN
|
||||||
JSR COUT ;WRITE THE CHARACTER
|
JSR COUT ;WRITE THE CHARACTER
|
||||||
JMP LOOP ;LOOP
|
JMP :1 ;LOOP
|
||||||
ENDLOOP POPY
|
:2 POPY
|
||||||
<<<
|
.EM
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
* *
|
* *
|
||||||
@ -142,20 +138,20 @@ ENDLOOP POPY
|
|||||||
* *
|
* *
|
||||||
********************************
|
********************************
|
||||||
|
|
||||||
SET1 MAC
|
SET1 .MA
|
||||||
LDA #1
|
LDA #1
|
||||||
STA ]1
|
STA ]1
|
||||||
<<<
|
.EM
|
||||||
|
|
||||||
SET0 MAC
|
SET0 .MA
|
||||||
LDA #0
|
LDA #0
|
||||||
STA ]1
|
STA ]1
|
||||||
<<<
|
.EM
|
||||||
|
|
||||||
SET23 MAC
|
SET23 .MA
|
||||||
LDA #23
|
LDA #23
|
||||||
STA ]1
|
STA ]1
|
||||||
<<<
|
.EM
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
* *
|
* *
|
||||||
@ -171,14 +167,14 @@ MAIN CLD ;CLEAR DECIMAL FLG, AVOID CRASH
|
|||||||
PUTS PROMPT
|
PUTS PROMPT
|
||||||
JSR GETLN1 ;LENGTH IN X, CR AT END
|
JSR GETLN1 ;LENGTH IN X, CR AT END
|
||||||
CPX #0 ;IS THE LENGTH ZERO?
|
CPX #0 ;IS THE LENGTH ZERO?
|
||||||
BEQ :END ;USER JUST PRESSED RETURN
|
BEQ END ;USER JUST PRESSED RETURN
|
||||||
CPIN FILENAME ;COPY "IN" BUF TO FILENAME
|
CPIN FILENAME ;COPY "IN" BUF TO FILENAME
|
||||||
*
|
*
|
||||||
* GET FILE I/O BUFFER FOR OPEN CALL
|
* GET FILE I/O BUFFER FOR OPEN CALL
|
||||||
*
|
*
|
||||||
LDA #4 ;FOUR 256 BYTE PAGES = 1KB
|
LDA #4 ;FOUR 256 BYTE PAGES = 1KB
|
||||||
JSR GETBUFR ;GET BUF FROM BASIC.SYSTEM
|
JSR GETBUFR ;GET BUF FROM BASIC.SYSTEM
|
||||||
BCS :ERRFWDR ;CARRY SET INDICATES AN ERROR
|
BCS ERRFWDR ;CARRY SET INDICATES AN ERROR
|
||||||
STA OBUFADDR+1 ;GETBUFR RETURNS HIBYTE IN A
|
STA OBUFADDR+1 ;GETBUFR RETURNS HIBYTE IN A
|
||||||
LDA #0 ;PREPARE
|
LDA #0 ;PREPARE
|
||||||
STA OBUFADDR ;LOBYTE IS 0 B/C ADDR OF PAGE
|
STA OBUFADDR ;LOBYTE IS 0 B/C ADDR OF PAGE
|
||||||
@ -188,7 +184,7 @@ MAIN CLD ;CLEAR DECIMAL FLG, AVOID CRASH
|
|||||||
JSR MLI
|
JSR MLI
|
||||||
DB OPENCMD
|
DB OPENCMD
|
||||||
DA OPENPRMS
|
DA OPENPRMS
|
||||||
BNE :ERRFWDR
|
BNE ERRFWDR
|
||||||
*
|
*
|
||||||
* COPY FILE NUMBER FROM OPEN PARAMETERS TO READ AND CLOSE
|
* COPY FILE NUMBER FROM OPEN PARAMETERS TO READ AND CLOSE
|
||||||
*
|
*
|
||||||
@ -200,12 +196,12 @@ MAIN CLD ;CLEAR DECIMAL FLG, AVOID CRASH
|
|||||||
*
|
*
|
||||||
LDA #1 ;ONE 256 BYTE BUFFER
|
LDA #1 ;ONE 256 BYTE BUFFER
|
||||||
JSR GETBUFR ;CALL BASIC.SYSTEM SUB
|
JSR GETBUFR ;CALL BASIC.SYSTEM SUB
|
||||||
BCS :ERRFWDR ;CARRY SET MEANS ERROR
|
BCS ERRFWDR ;CARRY SET MEANS ERROR
|
||||||
STA RBADDR+1 ;STORE HI-BYTE
|
STA RBADDR+1 ;STORE HI-BYTE
|
||||||
STA ZP_A1H ;AGAIN, FOR 0-PAGE INDIRECTION
|
STA ZP.A1H ;AGAIN, FOR 0-PAGE INDIRECTION
|
||||||
LDA #0 ;0 FOR LO-BYTE
|
LDA #0 ;0 FOR LO-BYTE
|
||||||
STA RBADDR ;STORE IT
|
STA RBADDR ;STORE IT
|
||||||
STA ZP_A1L ;AGAIN, FOR 0-PAGE INDIRECTION
|
STA ZP.A1L ;AGAIN, FOR 0-PAGE INDIRECTION
|
||||||
*
|
*
|
||||||
* PRINT THE FILE
|
* PRINT THE FILE
|
||||||
*
|
*
|
||||||
@ -230,17 +226,17 @@ MAIN CLD ;CLEAR DECIMAL FLG, AVOID CRASH
|
|||||||
*
|
*
|
||||||
LDA READERR ;RELOAD THE READ RESULT CODE
|
LDA READERR ;RELOAD THE READ RESULT CODE
|
||||||
CMP EOFERR ;WAS IT AN EOF "ERROR"
|
CMP EOFERR ;WAS IT AN EOF "ERROR"
|
||||||
BEQ :END ;EOF IS NOT REALLY AN ERROR
|
BEQ END ;EOF IS NOT REALLY AN ERROR
|
||||||
CMP #0
|
CMP #0
|
||||||
BNE :ERRFWDR
|
BNE ERRFWDR
|
||||||
LDA CLOSERR
|
LDA CLOSERR
|
||||||
BNE :ERRFWDR
|
BNE ERRFWDR
|
||||||
JMP :END
|
JMP END
|
||||||
*
|
*
|
||||||
* FINISH
|
* FINISH
|
||||||
*
|
*
|
||||||
:ERRFWDR JSR ERRPROC
|
ERRFWDR JSR ERRPROC
|
||||||
:END NOP
|
END NOP
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
@ -255,17 +251,17 @@ VIEWFILE
|
|||||||
FIN
|
FIN
|
||||||
|
|
||||||
SET1 LINENUM ;INIT LINE NUMBER
|
SET1 LINENUM ;INIT LINE NUMBER
|
||||||
:LOOP JSR MLI ;CALL PRODOS TO READ FILE
|
.1 JSR MLI ;CALL PRODOS TO READ FILE
|
||||||
DB READCMD ;SPECIFY PRODOS READ COMMAND
|
DB READCMD ;SPECIFY PRODOS READ COMMAND
|
||||||
DA READPRMS ;READ PARAMETERS
|
DA READPRMS ;READ PARAMETERS
|
||||||
STA READERR ;SAVE RESULT OF READ OPERATION
|
STA READERR ;SAVE RESULT OF READ OPERATION
|
||||||
BNE :ENDLOOP ;IF ERROR THEN END SUB
|
BNE .2 ;IF ERROR THEN END SUB
|
||||||
JSR WRITEBUF ;WRITE TO SCREEN WHAT WAS READ
|
JSR WRITEBUF ;WRITE TO SCREEN WHAT WAS READ
|
||||||
LDA #1 ;PREPARE FOR NEXT OP
|
LDA #1 ;PREPARE FOR NEXT OP
|
||||||
CMP USRQUIT ;IF USER WANTS TO QUIT, THEN
|
CMP USRQUIT ;IF USER WANTS TO QUIT, THEN
|
||||||
BEQ :ENDLOOP ;EXIT THE LOOP
|
BEQ .2 ;EXIT THE LOOP
|
||||||
JMP :LOOP ;ELSE, GET THE NEXT BUFFER
|
JMP .1 ;ELSE, GET THE NEXT BUFFER
|
||||||
:ENDLOOP NOP
|
.2 NOP
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
@ -277,8 +273,8 @@ VIEWFILE
|
|||||||
WRITEBUF
|
WRITEBUF
|
||||||
PUSHY
|
PUSHY
|
||||||
LDY #0 ;INIT CHAR COUNTER VARIABLE
|
LDY #0 ;INIT CHAR COUNTER VARIABLE
|
||||||
:LOOP CPY READCNT ;COMPARE TO MAX CHARS
|
.1 CPY READCNT ;COMPARE TO MAX CHARS
|
||||||
BEQ :ENDLOOP
|
BEQ .3
|
||||||
LDA (ZP_A1L),Y ;GET CHAR FROM BUFFER
|
LDA (ZP_A1L),Y ;GET CHAR FROM BUFFER
|
||||||
ORA #%10000000 ;TURN ON HIGH BIT FOR PRINTING
|
ORA #%10000000 ;TURN ON HIGH BIT FOR PRINTING
|
||||||
JSR COUT ;COUT PRESERVES ACCUM
|
JSR COUT ;COUT PRESERVES ACCUM
|
||||||
@ -286,22 +282,21 @@ WRITEBUF
|
|||||||
* CHECK END OF LINE
|
* CHECK END OF LINE
|
||||||
*
|
*
|
||||||
CMP #CR_HIBIT ;COMPARE TO CARRIAGE RETURN
|
CMP #CR_HIBIT ;COMPARE TO CARRIAGE RETURN
|
||||||
BNE :CONT ;IF NOT END OF LINE, NEXT CHAR
|
BNE .2 ;IF NOT END OF LINE, NEXT CHAR
|
||||||
INC LINENUM ;NEXT LINE HAS BEEN REACHED
|
INC LINENUM ;NEXT LINE HAS BEEN REACHED
|
||||||
*
|
*
|
||||||
* CHECK AT END OF PAGE
|
* CHECK AT END OF PAGE
|
||||||
*
|
*
|
||||||
LDA LINENUM
|
LDA LINENUM
|
||||||
CMP #SCR_HGHT ;AT BOTTOM OF SCREEN?
|
CMP #SCR_HGHT ;AT BOTTOM OF SCREEN?
|
||||||
BNE :CONT ;NO? THEN NEXT CHAR
|
BNE .2 ;NO? THEN NEXT CHAR
|
||||||
JSR STATBAR ;YES? THEN SHOW THE STATUS BAR
|
JSR STATBAR ;YES? THEN SHOW THE STATUS BAR
|
||||||
LDA #1 ;SETUP FOR NEXT LINE
|
LDA #1 ;SETUP FOR NEXT LINE
|
||||||
CMP USRQUIT ;DID USER ASK TO QUIT
|
CMP USRQUIT ;DID USER ASK TO QUIT
|
||||||
BEQ :ENDLOOP ;YES? THEN END SUB
|
BEQ .3 ;YES? THEN END SUB
|
||||||
:CONT INY ;STATBAR HAS ADJUSTED LINENUM
|
.2 INY ;STATBAR HAS ADJUSTED LINENUM
|
||||||
JMP :LOOP
|
JMP .1
|
||||||
:ENDLOOP NOP
|
.3 POPY
|
||||||
POPY
|
|
||||||
|
|
||||||
DO TRACE
|
DO TRACE
|
||||||
PUTS EXVIEW
|
PUTS EXVIEW
|
||||||
@ -339,19 +334,19 @@ STATBAR
|
|||||||
|
|
||||||
PUSHY
|
PUSHY
|
||||||
PUTS BAR
|
PUTS BAR
|
||||||
:LOOP JSR RDKEY ;GET A KEY FROM THE USER
|
.1 JSR RDKEY ;GET A KEY FROM THE USER
|
||||||
CMP #" " ;CHECK IF SPACE ENTERED
|
CMP #" " ;CHECK IF SPACE ENTERED
|
||||||
BNE :CHKCR ;IF NOT FORWARD TO NEXT CHECK
|
BNE .2 ;IF NOT FORWARD TO NEXT CHECK
|
||||||
SET1 LINENUM ;ADVANCE ONE PAGE, STORE 1
|
SET1 LINENUM ;ADVANCE ONE PAGE, STORE 1
|
||||||
JMP :ENDLOOP ;PROCESSED SPACE SO DONE
|
JMP .4 ;PROCESSED SPACE SO DONE
|
||||||
:CHKCR CMP #CR_HIBIT ;CHECK FOR CARRIAGE RETURN
|
.2 CMP #CR_HIBIT ;CHECK FOR CARRIAGE RETURN
|
||||||
BNE :CHKQUIT
|
BNE .3
|
||||||
SET23 LINENUM
|
SET23 LINENUM
|
||||||
JMP :ENDLOOP
|
JMP .4
|
||||||
:CHKQUIT CMP #"Q" ;USER WANTS TO QUIT
|
.3 CMP #"Q" ;USER WANTS TO QUIT
|
||||||
BNE :LOOP ;NO RECOGNIZED INPUT
|
BNE .1 ;NO RECOGNIZED INPUT
|
||||||
SET1 USRQUIT
|
SET1 USRQUIT
|
||||||
:ENDLOOP JSR ERASEBAR
|
.4 JSR ERASEBAR
|
||||||
POPY
|
POPY
|
||||||
|
|
||||||
DO TRACE
|
DO TRACE
|
||||||
@ -374,13 +369,13 @@ ERASEBAR
|
|||||||
PUSHY
|
PUSHY
|
||||||
SET0 OURCH ;RESET CURSOR TO BEG OF LINE
|
SET0 OURCH ;RESET CURSOR TO BEG OF LINE
|
||||||
LDY #0 ;INIT COUNTER FOR SPACES
|
LDY #0 ;INIT COUNTER FOR SPACES
|
||||||
:LOOP CPY BAR ;FIRST BYTE IS LENGTH
|
.1 CPY BAR ;FIRST BYTE IS LENGTH
|
||||||
BEQ :ENDLOOP ;IF Y=LEN THEN DONE
|
BEQ .2 ;IF Y=LEN THEN DONE
|
||||||
LDA #" " ;LOAD SPACE
|
LDA #" " ;LOAD SPACE
|
||||||
JSR COUT ;WRITE TO SCREEN
|
JSR COUT ;WRITE TO SCREEN
|
||||||
INY ;MAKE PROGRESS
|
INY ;MAKE PROGRESS
|
||||||
JMP :LOOP ;LOOP TO NEXT CHAR
|
JMP .1 ;LOOP TO NEXT CHAR
|
||||||
:ENDLOOP SET0 OURCH ;RESET CURSON TO BEG OF LINE
|
.2 SET0 OURCH ;RESET CURSON TO BEG OF LINE
|
||||||
POPY
|
POPY
|
||||||
|
|
||||||
DO TRACE
|
DO TRACE
|
||||||
@ -453,9 +448,7 @@ CLOSFNUM DS 1
|
|||||||
* BUFFERS
|
* BUFFERS
|
||||||
*
|
*
|
||||||
* CONSUME ALL BYTES UP TO THE NEXT PAGE BOUNDRY
|
* CONSUME ALL BYTES UP TO THE NEXT PAGE BOUNDRY
|
||||||
FILLER DS \,$00
|
*FILLER DS \,$00
|
||||||
* MUST START ON PAGE BOUNDRY
|
* MUST START ON PAGE BOUNDRY
|
||||||
*OPENBUF DS 1024
|
*OPENBUF DS 1024
|
||||||
*READBUF DS BUFSIZE
|
*READBUF DS BUFSIZE
|
||||||
|
|
||||||
:
|
|
Loading…
x
Reference in New Issue
Block a user