mirror of
https://github.com/gungwald/delhndlr.git
synced 2024-09-27 10:58:40 +00:00
Try to fix 80-col detection
This commit is contained in:
parent
8198d5adab
commit
0c3e688faf
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
*.swp
|
||||
delkeyeraseleft
|
||||
delkeyeraseleft.dsk
|
||||
delkey.clr.left
|
||||
delkey.clr.left.dsk
|
||||
_FileInformation.txt
|
||||
|
21
Makefile
21
Makefile
@ -3,15 +3,18 @@
|
||||
#
|
||||
|
||||
AC=java -jar AppleCommander-1.3.5-ac.jar
|
||||
SRC=delkeyeraseleft.s
|
||||
PGM=delkeyeraseleft
|
||||
PGM=delkey.clr.left
|
||||
SRC=$(PGM).s
|
||||
PGM2=mem.vars
|
||||
SRC2=$(PGM2).s
|
||||
VOL=$(PGM)
|
||||
DSK=$(PGM).dsk
|
||||
|
||||
$(DSK): $(PGM)
|
||||
$(DSK): $(PGM) $(PGM2)
|
||||
#$(AC) -pro140 $(DSK) $(VOL) ---- Broken in 1.3.5 and others
|
||||
cp prodos.dsk $(DSK)
|
||||
$(AC) -p $(DSK) $(PGM) BIN 0x0300 < $(PGM)
|
||||
$(AC) -p $(DSK) $(PGM2) BIN 0x0300 < $(PGM2)
|
||||
|
||||
$(PGM): $(SRC)
|
||||
merlin32 $(SRC)
|
||||
@ -20,6 +23,14 @@ $(PGM): $(SRC)
|
||||
@# file.
|
||||
@test -e $(PGM)
|
||||
|
||||
clean:
|
||||
$(RM) $(PGM) $(DSK) error_output.txt _FileInformation.txt
|
||||
$(PGM2): $(SRC2)
|
||||
merlin32 $(SRC2)
|
||||
@# Merlin fails to provide a non-0 exit code on failure so
|
||||
@# it needs to be simulated by checking for the error_output.txt
|
||||
@# file.
|
||||
@test -e $(PGM2)
|
||||
|
||||
|
||||
clean:
|
||||
$(RM) $(PGM) $(PGM2) $(DSK) error_output.txt _FileInformation.txt
|
||||
|
||||
|
@ -9,8 +9,9 @@
|
||||
|
||||
ORG $300
|
||||
TYP $06 ;BINARY TYPE
|
||||
DSK delkeyeraseleft ;PUT FILE NAME
|
||||
DSK delkey.clr.left ;OUTPUT FILE NAME
|
||||
|
||||
WINWIDTH EQU $21
|
||||
CH EQU $24 ;HORIZ CHAR POS (40-COL)
|
||||
BASL EQU $28 ;BASE ADDR FOR CURR VIDEO LINE
|
||||
KSWL EQU $38 ;KEYBOARD SWITCH LOW BYTE
|
||||
@ -21,7 +22,9 @@ KBD EQU $C000 ;KEYBOARD DATA + STROBE
|
||||
KBDSTRB EQU $C010 ;CLEAR KEYBOARD STROBE
|
||||
CXROMON EQU $C007 ;TURN ON INTERNAL ROM
|
||||
CXROMOFF EQU $C006 ;ENABLE SLOT ROMS
|
||||
ALTCHAR EQU $C01E ;>=$80 IF IN 80-COL
|
||||
80COLOFF EQU $C00C ;Off: display 40 columns
|
||||
80COLON EQU $C00D ;On: display 80 columns
|
||||
RD80COL EQU $C01F ;Read 80col switch (1 = on)
|
||||
COUT EQU $FDED ;WRITE A CHARACTER
|
||||
|
||||
* 80-COL SUBS INSIDE THE INTERNAL ROM
|
||||
@ -152,7 +155,7 @@ DELHNDLR
|
||||
TYA ;SAVE Y
|
||||
PHA
|
||||
|
||||
BIT ALTCHAR ;TEST FOR 80-COL ON
|
||||
BIT RD80COL ;TEST FOR 80-COL ON
|
||||
BMI COL80
|
||||
|
||||
COL40
|
70
mem.vars.s
Normal file
70
mem.vars.s
Normal file
@ -0,0 +1,70 @@
|
||||
********************************
|
||||
* *
|
||||
* PRINT MEMORY VARIABLES *
|
||||
* *
|
||||
* AUTHOR: BILL CHATFIELD *
|
||||
* LICENSE: GPL *
|
||||
* *
|
||||
********************************
|
||||
|
||||
ORG $300
|
||||
TYP $06 ;BINARY TYPE
|
||||
DSK mem.vars ;OUTPUT FILE NAME
|
||||
|
||||
RDALTCHAR EQU $C01E
|
||||
RD80COL EQU $C01F
|
||||
RD80STORE EQU $C018
|
||||
|
||||
HEXDEC EQU $ED24 ;HEX-TO-DECIMAL CONVERSION
|
||||
CROUT EQU $FD8E ;PRINT A CARRIAGE RETURN
|
||||
STROUT EQU $DB3A ;PRINT NULL-TERM STRING IN AY
|
||||
* MONITOR SUBS
|
||||
PRINTXY EQU $F940 ;PRINT X & Y AS HEX
|
||||
PRBYTE EQU $FDDA ;PRINT BYTE AS 2 HEX DIGITS
|
||||
|
||||
********************************
|
||||
* *
|
||||
* PUTS MACRO *
|
||||
* *
|
||||
* APPLESOFT MUST BE IN MEMORY *
|
||||
* BECAUSE THE STROUT SUB IS *
|
||||
* USED. *
|
||||
* *
|
||||
* X & Y ARE PRESERVED *
|
||||
* *
|
||||
* ]1 - ADDRESS OF STRING *
|
||||
* *
|
||||
********************************
|
||||
|
||||
PUTS MAC
|
||||
TYA ;PRESERVE Y
|
||||
PHA
|
||||
LDA #<]1 ;PUT LOW BYTE INTO A
|
||||
LDY #>]1 ;PUT HIGH BYTE INTO Y
|
||||
JSR STROUT ;CALL APPLESOFT'S STRING PRINT
|
||||
PLA ;RESTORE Y
|
||||
TAY
|
||||
<<<
|
||||
|
||||
MAIN
|
||||
PUTS ALTCHLBL
|
||||
BIT RDALTCHAR
|
||||
JSR PRBYTE
|
||||
JSR CROUT
|
||||
|
||||
PUTS 80COLLBL
|
||||
BIT RD80COL
|
||||
JSR PRBYTE
|
||||
JSR CROUT
|
||||
|
||||
PUTS 80STOLBL
|
||||
BIT RD80STORE
|
||||
JSR PRBYTE
|
||||
JSR CROUT
|
||||
|
||||
RTS
|
||||
|
||||
ALTCHLBL ASC "ALTCHAR = ",00
|
||||
80COLLBL ASC "80COL = ",00
|
||||
80STOLBL ASC "80STORE = ",00
|
||||
|
Loading…
Reference in New Issue
Block a user