mirror of
https://github.com/gungwald/prodos-more.git
synced 2025-01-27 11:30:40 +00:00
Added some system constants
This commit is contained in:
parent
b13e02601b
commit
52d4a452d1
3
.idea/.gitignore
generated
vendored
Normal file
3
.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
6
.idea/misc.xml
generated
Normal file
6
.idea/misc.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/classes" />
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
@ -85,8 +85,12 @@ KBD EQU $C000 ;KEYBOARD DATA AND STROBE
|
||||
CXROMOFF EQU $C006 ;SELECT SLOT ROMS
|
||||
CXROMON EQU $C007 ;SELECT INTERNAL ROM
|
||||
KBDSTRB EQU $C010 ;CLEAR KEYBOARD STROBE
|
||||
MIXED EQU $C01B ;R7=1 MIXED, R7=0 FULL GR
|
||||
PAGE2 EQU $C01C ;R7-1 PAGE ACTIVE (OR AUX)
|
||||
ALTCHAR EQU $C01E ;CHARACTER SET STATUS
|
||||
RD80VID EQU $C01F ;<=128->40COL, >128->80COL
|
||||
PAGE2OFF EQU $C054 ;SEL PG1 (RW)
|
||||
PAGE2ON EQU $C055 ;SEL PG2 (RW)
|
||||
INVERT EQU $CEDD ;INVERT CHARACTER ON SCREEN
|
||||
PICK EQU $CF01 ;PICK CHARACTER OFF SCREEN
|
||||
*
|
||||
@ -108,6 +112,10 @@ CLOSEPARMCNT EQU 1
|
||||
*
|
||||
CR_CHAR EQU $0D ;ASCII CARRIAGE RETURN
|
||||
CR_HIBIT EQU $8D ;CARRIAGE RET WITH HIGH BIT SET
|
||||
RIGHT_ARROW EQU $15
|
||||
RIGHT_HIBIT EQU $95
|
||||
LEFT_ARROW EQU $08
|
||||
LEFT_HIBIT EQU $88
|
||||
*
|
||||
* CONSTANTS
|
||||
*
|
||||
@ -353,7 +361,7 @@ MAIN CLD ;CLEAR DECIMAL FLG, AVOID CRASH
|
||||
GET_SCRN_WDTH LDA #%10000000 ;USE ALTCHARSET STATUS TO
|
||||
BIT ALTCHAR ;SEE IF 80-COL CARD TURNED ON
|
||||
BMI :CARD_ACTIVE ;BIT 7 ON = NEG & CARD ACTIVE
|
||||
JMP :FORTY_COLUMNS ;INACTIVE CARD IS 40-COL
|
||||
JMP :FORTY_COLUMNS ;INACTIVE = DEFLT 40-COL MODE
|
||||
:CARD_ACTIVE LDA #%10000000 ;SEE IF CARD IS IN 40/80 MODE
|
||||
BIT RD80VID ;BIT 7 OFF = 0 OR >0 & 40-COL
|
||||
BMI :EIGHTY_COLUMNS ;BIT 7 ON = NEG & 80-COL MODE
|
||||
@ -608,6 +616,15 @@ DOWN1LINE INC SCRNLINE ;KEEP TRACK OF LINE NUMBER
|
||||
JSR CROUT ;LINE DOWN & SCROLL IF NEEDED
|
||||
RTS
|
||||
|
||||
********************************
|
||||
* *
|
||||
* WRITE CHAR TO PAGE2 *
|
||||
* CLIPS TO SCREEN WIDTH *
|
||||
* *
|
||||
********************************
|
||||
WRITECHAR2
|
||||
RTS
|
||||
|
||||
********************************
|
||||
* *
|
||||
* PRINT ASCII IN HEX *
|
||||
@ -631,8 +648,7 @@ PRASCII PHA
|
||||
* *
|
||||
********************************
|
||||
|
||||
STATBAR
|
||||
DO TRACE
|
||||
STATBAR DO TRACE
|
||||
PUTS ENSTATB
|
||||
FIN
|
||||
|
||||
@ -645,12 +661,15 @@ STATBAR
|
||||
JMP :ENDLOOP ;PROCESSED SPACE SO DONE
|
||||
:CHKCR CMP #CR_HIBIT ;CHECK FOR CARRIAGE RETURN
|
||||
BNE :CHKQUIT
|
||||
SET23 SCRNLINE
|
||||
COPY_B SCRNLINE;#23
|
||||
JMP :ENDLOOP
|
||||
:CHKQUIT CMP #"Q" ;USER WANTS TO QUIT
|
||||
BEQ :QUITTING ;NO RECOGNIZED INPUT
|
||||
CMP #"q"
|
||||
BEQ :QUITTING
|
||||
CMP RIGHT_HIBIT
|
||||
BNE :ENDLOOP
|
||||
JSR PAGE_RIGHT
|
||||
JMP :LOOP
|
||||
:QUITTING SET1 USRQUIT
|
||||
:ENDLOOP JSR ERASEBAR
|
||||
@ -674,7 +693,8 @@ ERASEBAR
|
||||
FIN
|
||||
|
||||
PUSHY
|
||||
SET0 OURCH ;RESET CURSOR TO BEG OF LINE
|
||||
COPY_B OURCH;#0 ;CURSOR TO BEG OF LINE, 80-COL
|
||||
COPY_B CH;#0 ;CURSOR TO BEG OF LINE, 40-COL
|
||||
LDY #0 ;INIT COUNTER FOR SPACES
|
||||
:LOOP CPY BAR ;FIRST BYTE IS LENGTH
|
||||
BEQ :ENDLOOP ;IF Y=LEN THEN DONE
|
||||
@ -682,7 +702,8 @@ ERASEBAR
|
||||
JSR COUT ;WRITE TO SCREEN
|
||||
INY ;MAKE PROGRESS
|
||||
JMP :LOOP ;LOOP TO NEXT CHAR
|
||||
:ENDLOOP SET0 OURCH ;RESET CURSOR TO BEG OF LINE
|
||||
:ENDLOOP COPY_B OURCH;#0 ;RESET CURSOR TO BEG OF LINE
|
||||
COPY_B CH;#0 ;CURSOR TO BEG OF LINE, 40-COL
|
||||
POPY
|
||||
|
||||
DO TRACE
|
||||
@ -691,6 +712,14 @@ ERASEBAR
|
||||
|
||||
RTS
|
||||
|
||||
********************************
|
||||
* *
|
||||
* PAGE 2 ON *
|
||||
* *
|
||||
********************************
|
||||
PAGE_RIGHT STA PAGE2ON
|
||||
RTS
|
||||
|
||||
********************************
|
||||
* *
|
||||
* ERROR HANDLER *
|
||||
@ -887,6 +916,7 @@ BUFCHAR DS 1
|
||||
USRCHAR DS 1
|
||||
SCR_WDTH DS 1
|
||||
SCR_WDTH_TXT STR "SCREEN WIDTH="
|
||||
TEXTPAGE DS 1
|
||||
|
||||
PREFIXMSG STR "THE PREFIX IS "
|
||||
WARNING STR 'WARNING'
|
||||
@ -965,7 +995,7 @@ CLOSFNUM DS 1
|
||||
* BUFFERS
|
||||
*
|
||||
* CONSUME ALL BYTES UP TO THE NEXT PAGE BOUNDRY
|
||||
FILLER DS \,$00
|
||||
*FILLER DS \,$00
|
||||
* MUST START ON PAGE BOUNDRY
|
||||
*OPENBUF DS 1024
|
||||
*READBUF DS BUFSIZE
|
||||
|
Loading…
x
Reference in New Issue
Block a user