mirror of
https://github.com/gungwald/prodos-more.git
synced 2024-12-26 18:29:49 +00:00
Added copyright & license
This commit is contained in:
parent
7c803937da
commit
7291a3bf3d
85
more.S
85
more.S
@ -32,12 +32,17 @@ FREEBUFR EQU $BEF8 ;FREE BUFFER
|
|||||||
* PRODOS ENTRY POINT
|
* PRODOS ENTRY POINT
|
||||||
|
|
||||||
PRODOS_MLI EQU $BF00 ;MACHINE LANG IFACE (MLI)
|
PRODOS_MLI EQU $BF00 ;MACHINE LANG IFACE (MLI)
|
||||||
|
*
|
||||||
|
* MEMORY MAPPED I/O: $C000 - $CFFF
|
||||||
|
*
|
||||||
|
RD80VID EQU $C01F ;<=128->40COL, >128->80COL
|
||||||
|
*
|
||||||
|
* SLOT 3 SCRATCHPAD RAM - TEXT PAGE 0 SCREEN HOLE
|
||||||
|
* http://yesterbits.com/media/books/apple/heiserman-1983-intermediate-level-apple-ii-handbook.pdf
|
||||||
|
*
|
||||||
|
OURCH EQU $057B ;80-COL HORIZ CURSOR POSITION
|
||||||
|
OURCV EQU $05FB ;VERTICAL CURSOR POSITION
|
||||||
|
|
||||||
* MEMORY LOCATIONS
|
|
||||||
*
|
|
||||||
OURCH .EQ $057B ;80-COL HORIZ CURSOR POSITION
|
|
||||||
OURCV .EQ $05FB ;VERTICAL CURSOR POSITION
|
|
||||||
*
|
|
||||||
* ZERO-PAGE ADDRESSES
|
* ZERO-PAGE ADDRESSES
|
||||||
*
|
*
|
||||||
ZP.A1L .EQ $3C ;MONITOR GENERAL PURPOSE
|
ZP.A1L .EQ $3C ;MONITOR GENERAL PURPOSE
|
||||||
@ -166,11 +171,21 @@ MAIN CLD ;CLEAR DECIMAL FLG, AVOID CRASH
|
|||||||
*
|
*
|
||||||
* GET FILE NAME
|
* GET FILE NAME
|
||||||
*
|
*
|
||||||
>PUTS PROMPT
|
PUTS INFOLINE
|
||||||
|
JSR CROUT
|
||||||
|
:ASKFILE 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?
|
||||||
BNE :CONT1 ;USER JUST PRESSED RETURN
|
BNE :CONT0 ;USER JUST PRESSED RETURN
|
||||||
JMP END
|
JMP :END
|
||||||
|
|
||||||
|
:CONT0 CPX #1
|
||||||
|
BNE :CONT1
|
||||||
|
LDA #"?"
|
||||||
|
CMP IN
|
||||||
|
BNE :CONT1
|
||||||
|
JSR HELPINFO
|
||||||
|
JMP :ASKFILE
|
||||||
:CONT1 CPIN FILENAME ;COPY "IN" BUF TO FILENAME
|
:CONT1 CPIN FILENAME ;COPY "IN" BUF TO FILENAME
|
||||||
|
|
||||||
DO TRACE
|
DO TRACE
|
||||||
@ -184,7 +199,7 @@ MAIN CLD ;CLEAR DECIMAL FLG, AVOID CRASH
|
|||||||
JSR GETBUFR ;GET BUF FROM BASIC.SYSTEM
|
JSR GETBUFR ;GET BUF FROM BASIC.SYSTEM
|
||||||
BCC :CONT2 ;CARRY CLEAR MEANS NO ERROR
|
BCC :CONT2 ;CARRY CLEAR MEANS NO ERROR
|
||||||
JSR OBUFERR
|
JSR OBUFERR
|
||||||
JMP END
|
JMP :END
|
||||||
:CONT2 STA OBUFADDR+1 ;GETBUFR RETURNS HIBYTE IN A
|
: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
|
||||||
@ -194,13 +209,14 @@ MAIN CLD ;CLEAR DECIMAL FLG, AVOID CRASH
|
|||||||
JSR PRODOS_MLI
|
JSR PRODOS_MLI
|
||||||
DB OPENCMD
|
DB OPENCMD
|
||||||
DA OPENPRMS
|
DA OPENPRMS
|
||||||
BEQ CONT3
|
BEQ :CONT3
|
||||||
JSR OPENERR
|
JSR OPENERR
|
||||||
JMP :FREEOBUF
|
JSR FREEBUFR ;CLEAN UP BEFORE TRY AGAIN
|
||||||
|
JMP :ASKFILE
|
||||||
*
|
*
|
||||||
* COPY FILE NUMBER FROM OPEN PARAMETERS TO READ AND CLOSE
|
* COPY FILE NUMBER FROM OPEN PARAMETERS TO READ AND CLOSE
|
||||||
*
|
*
|
||||||
CONT3 LDA OPENFNUM
|
:CONT3 LDA OPENFNUM
|
||||||
STA READFNUM
|
STA READFNUM
|
||||||
STA CLOSFNUM
|
STA CLOSFNUM
|
||||||
*
|
*
|
||||||
@ -208,10 +224,10 @@ CONT3 LDA OPENFNUM
|
|||||||
*
|
*
|
||||||
LDA #1 ;ONE 256 BYTE BUFFER
|
LDA #1 ;ONE 256 BYTE BUFFER
|
||||||
JSR GETBUFR ;CALL BASIC.SYSTEM SUB
|
JSR GETBUFR ;CALL BASIC.SYSTEM SUB
|
||||||
BCC CONT4
|
BCC :CONT4
|
||||||
JSR RBUFERR ;CARRY SET MEANS ERROR
|
JSR RBUFERR ;CARRY SET MEANS ERROR
|
||||||
JMP :CLOSFILE
|
JMP :CLOSFILE
|
||||||
CONT4 STA RBADDR+1 ;STORE HI-BYTE
|
:CONT4 STA RBADDR+1 ;STORE HI-BYTE
|
||||||
STA ZP_A1H ;FOR 0-PAGE INDIRECTION
|
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
|
||||||
@ -224,7 +240,9 @@ CONT4 STA RBADDR+1 ;STORE HI-BYTE
|
|||||||
* CLEANUP
|
* CLEANUP
|
||||||
*
|
*
|
||||||
JSR FREEBUFR ;FREE READ BUFFER
|
JSR FREEBUFR ;FREE READ BUFFER
|
||||||
|
*
|
||||||
|
* Close file
|
||||||
|
*
|
||||||
:CLOSFILE JSR PRODOS_MLI ;CLOSE THE FILE
|
:CLOSFILE JSR PRODOS_MLI ;CLOSE THE FILE
|
||||||
DB CLOSCMD
|
DB CLOSCMD
|
||||||
DA CLOSPRMS
|
DA CLOSPRMS
|
||||||
@ -232,7 +250,7 @@ CONT4 STA RBADDR+1 ;STORE HI-BYTE
|
|||||||
JSR CLOSERR
|
JSR CLOSERR
|
||||||
|
|
||||||
:FREEOBUF JSR FREEBUFR ;FREE OPEN I/O BUFFER
|
:FREEOBUF JSR FREEBUFR ;FREE OPEN I/O BUFFER
|
||||||
END NOP
|
:END NOP
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
@ -241,6 +259,25 @@ END NOP
|
|||||||
* *
|
* *
|
||||||
********************************
|
********************************
|
||||||
|
|
||||||
|
********************************
|
||||||
|
* *
|
||||||
|
* PROGRAM INFO AND HELP *
|
||||||
|
* *
|
||||||
|
********************************
|
||||||
|
HELPINFO JSR CROUT
|
||||||
|
PUTS INFO0
|
||||||
|
JSR CROUT
|
||||||
|
PUTS INFO1
|
||||||
|
JSR CROUT
|
||||||
|
PUTS INFO2
|
||||||
|
JSR CROUT
|
||||||
|
PUTS INFO3
|
||||||
|
JSR CROUT
|
||||||
|
PUTS INFO4
|
||||||
|
JSR CROUT
|
||||||
|
JSR CROUT
|
||||||
|
RTS
|
||||||
|
|
||||||
********************************
|
********************************
|
||||||
* *
|
* *
|
||||||
* HANDLE ERROR WHEN OPENING *
|
* HANDLE ERROR WHEN OPENING *
|
||||||
@ -250,8 +287,6 @@ END NOP
|
|||||||
OPENERR STA ERRCODE
|
OPENERR STA ERRCODE
|
||||||
PUTS OERRMSG
|
PUTS OERRMSG
|
||||||
PUTS FILENAME
|
PUTS FILENAME
|
||||||
LDA #"'"
|
|
||||||
JSR COUT
|
|
||||||
LDA #":"
|
LDA #":"
|
||||||
JSR COUT
|
JSR COUT
|
||||||
LDA ERRCODE
|
LDA ERRCODE
|
||||||
@ -672,6 +707,12 @@ ERRPROC
|
|||||||
* *
|
* *
|
||||||
********************************
|
********************************
|
||||||
|
|
||||||
|
INFOLINE STR "ENTER [?] FOR PROGRAM INFO AND HELP"
|
||||||
|
INFO0 STR "MORE - PAGES THROUGH TEXT FILE"
|
||||||
|
INFO1 STR "COPYRIGHT (C) 2024 BILL CHATFIELD"
|
||||||
|
INFO2 STR "DISTRIBUTED UNDER THE GPL VERSION 3"
|
||||||
|
INFO3 STR "https://github.com/gungwald/prodos-more"
|
||||||
|
INFO4 STR "PRESS RETURN TO QUIT"
|
||||||
PROMPT STR "FILE:"
|
PROMPT STR "FILE:"
|
||||||
ERRTXT STR "ERROR:"
|
ERRTXT STR "ERROR:"
|
||||||
FILENAME DS $FF
|
FILENAME DS $FF
|
||||||
@ -682,10 +723,10 @@ USRQUIT DS 1
|
|||||||
BUFCHAR DS 1
|
BUFCHAR DS 1
|
||||||
USRCHAR DS 1
|
USRCHAR DS 1
|
||||||
|
|
||||||
OERRMSG STR "FAILED TO OPEN FILE '"
|
OERRMSG STR "CANNOT OPEN "
|
||||||
CERRMSG STR "FAILED TO CLOSE FILE '"
|
CERRMSG STR "CANNOT CLOSE "
|
||||||
RBERRMSG STR "REQUEST FOR READ BUFFER FAILED"
|
RBERRMSG STR "CANNOT CREATE READ BUFFER"
|
||||||
OBERRMSG STR "REQUEST FOR OPEN BUFFER FAILED"
|
OBERRMSG STR "CANNOT CREATE FILE BUFFER"
|
||||||
|
|
||||||
E00MSG STR "NO ERROR"
|
E00MSG STR "NO ERROR"
|
||||||
E01MSG STR "BAD SYSTEM CALL NUMBER"
|
E01MSG STR "BAD SYSTEM CALL NUMBER"
|
||||||
|
BIN
prodos-2.0.3.dsk
BIN
prodos-2.0.3.dsk
Binary file not shown.
Loading…
Reference in New Issue
Block a user