mirror of
https://github.com/gungwald/prodos-more.git
synced 2024-12-11 09:49:29 +00:00
Fix runtime errors
This commit is contained in:
parent
2d2bae6f96
commit
d564d8d7dd
27
more.S
27
more.S
@ -169,15 +169,17 @@ 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
|
BNE CONT1 ;USER JUST PRESSED RETURN
|
||||||
CPIN FILENAME ;COPY "IN" BUF TO FILENAME
|
JMP :END
|
||||||
|
CONT1 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 :OBUFERR ;CARRY CLEAR MEANS NO ERROR
|
BCC CONT2
|
||||||
STA OBUFADDR+1 ;GETBUFR RETURNS HIBYTE IN A
|
JMP :OBUFERR ;CARRY CLEAR MEANS NO ERROR
|
||||||
|
CONT2 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
|
||||||
*
|
*
|
||||||
@ -198,8 +200,9 @@ 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 :RBUFERR ;CARRY CLR MEANS NO ERROR
|
BCS :RBUFERR ;CARRY SET MEANS ERROR
|
||||||
STA RBADDR+1 ;STORE HI-BYTE
|
STA RBADDR+1 ;STORE HI-BYTE
|
||||||
|
STA ZP_A1H ;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
|
||||||
@ -220,7 +223,15 @@ MAIN CLD ;CLEAR DECIMAL FLG, AVOID CRASH
|
|||||||
DA CLOSPRMS
|
DA CLOSPRMS
|
||||||
BEQ :FREEOBUF
|
BEQ :FREEOBUF
|
||||||
|
|
||||||
:OPENERR JSR ERRPROC
|
:OPENERR STA ERRCODE
|
||||||
|
PUTS OERRMSG
|
||||||
|
PUTS FILENAME
|
||||||
|
LDA #"'"
|
||||||
|
JSR COUT
|
||||||
|
LDA #":"
|
||||||
|
JSR COUT
|
||||||
|
LDA ERRCODE
|
||||||
|
JSR ERRPROC
|
||||||
:FREEOBUF JSR FREEBUFR ;FREE OPEN I/O BUFFER
|
:FREEOBUF JSR FREEBUFR ;FREE OPEN I/O BUFFER
|
||||||
JMP :END
|
JMP :END
|
||||||
:OBUFERR JSR ERRPROC
|
:OBUFERR JSR ERRPROC
|
||||||
@ -414,6 +425,8 @@ USRQUIT DS 1
|
|||||||
BUFCHAR DS 1
|
BUFCHAR DS 1
|
||||||
USRCHAR DS 1
|
USRCHAR DS 1
|
||||||
|
|
||||||
|
OERRMSG STR "FAILED TO OPEN FILE '"
|
||||||
|
|
||||||
ENVIEW STR 'ENTERING VIEWFILE'
|
ENVIEW STR 'ENTERING VIEWFILE'
|
||||||
EXVIEW STR 'EXITING VIEWFILE'
|
EXVIEW STR 'EXITING VIEWFILE'
|
||||||
ENSTATB STR 'ENTERING STATUSBAR'
|
ENSTATB STR 'ENTERING STATUSBAR'
|
||||||
@ -448,5 +461,3 @@ CLOSFNUM .BS 1
|
|||||||
* MUST START ON PAGE BOUNDRY
|
* MUST START ON PAGE BOUNDRY
|
||||||
*OPENBUF DS 1024
|
*OPENBUF DS 1024
|
||||||
*READBUF DS BUFSIZE
|
*READBUF DS BUFSIZE
|
||||||
|
|
||||||
:
|
|
||||||
|
Loading…
Reference in New Issue
Block a user