mirror of
https://github.com/gungwald/apple2-delete-key-handler-from-gid.git
synced 2024-12-27 08:31:21 +00:00
Initial commit
This commit is contained in:
commit
8756e372ed
BIN
AppleCommander-1.3.5.14.jar
Normal file
BIN
AppleCommander-1.3.5.14.jar
Normal file
Binary file not shown.
30
Makefile
Normal file
30
Makefile
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Compiles with https://www.brutaldeluxe.fr/products/crossdevtools/merlin/
|
||||||
|
#
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
MERLIN_DIR=C:/opt/Merlin32_v1.0
|
||||||
|
MERLIN_LIB=$(MERLIN_DIR)/Library
|
||||||
|
MERLIN=$(MERLIN_DIR)/Windows/Merlin32
|
||||||
|
RM=del /s
|
||||||
|
else
|
||||||
|
MERLIN_DIR=/opt/Merlin32_v1.0
|
||||||
|
MERLIN_LIB=$(MERLIN_DIR)/Library
|
||||||
|
MERLIN=$(MERLIN_DIR)/Windows/Merlin32
|
||||||
|
RM=rm -f
|
||||||
|
endif
|
||||||
|
|
||||||
|
AC=java -jar AppleCommander-1.3.5.14.jar
|
||||||
|
SRC=delkeyhandlergid.s
|
||||||
|
PGM=DELKEYHANDLERGID
|
||||||
|
VOL=$(PGM)
|
||||||
|
DSK=$(PGM).dsk
|
||||||
|
|
||||||
|
$(DSK): $(PGM)
|
||||||
|
$(AC) -pro140 $(DSK) $(VOL)
|
||||||
|
$(AC) -p $(DSK) $(PGM) SYS < $(PGM)
|
||||||
|
|
||||||
|
$(PGM): $(SRC)
|
||||||
|
$(MERLIN) $(MERLIN_LIB) $(SRC)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) $(DSK) $(PGM)
|
||||||
|
|
55
delkeyhandlergid.s
Normal file
55
delkeyhandlergid.s
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
********************************
|
||||||
|
* *
|
||||||
|
* DELKEYHANDLERGID - MAKES THE *
|
||||||
|
* DELETE KEY WORK LIKE THE *
|
||||||
|
* BACKSPACE ON A PC *
|
||||||
|
* *
|
||||||
|
* AUTHOR: gid...@sasktel.net *
|
||||||
|
* MERLINIFY: Bill Chatfield *
|
||||||
|
* LICENSE: GPL2 *
|
||||||
|
* *
|
||||||
|
********************************
|
||||||
|
|
||||||
|
ORG $803
|
||||||
|
|
||||||
|
********************************
|
||||||
|
* *
|
||||||
|
* CONSTANTS *
|
||||||
|
* *
|
||||||
|
********************************
|
||||||
|
|
||||||
|
VECTOUT EQU $BE30 ;VECTOUT LOW
|
||||||
|
VECTIN EQU $BE32 ;VECTIN LOW
|
||||||
|
VECTINH EQU $BE33 ;VECTIN HIGH
|
||||||
|
|
||||||
|
* FOR PRODOS
|
||||||
|
* setup Basic.system vectors for input
|
||||||
|
LDA #<DELETE
|
||||||
|
STA VECTIN
|
||||||
|
LDA #>DELETE
|
||||||
|
STA VECTIN+1
|
||||||
|
RTS
|
||||||
|
|
||||||
|
* FOR DOS 3.3
|
||||||
|
* setup Dos vectors to get a keypress
|
||||||
|
* LDA #<DELETE
|
||||||
|
* STA $38
|
||||||
|
* LDA #>DELETE
|
||||||
|
* STA $39
|
||||||
|
* JMP $3EA
|
||||||
|
|
||||||
|
DELETE BIT $C01F ; are we in 80-col mode?
|
||||||
|
BMI COL80 ; branch if yes
|
||||||
|
JSR $FD1B ; changed from $FD0C
|
||||||
|
BNE DEL2
|
||||||
|
|
||||||
|
COL80 JSR $C305 ; for 80-col input
|
||||||
|
|
||||||
|
DEL2 CMP #$FF ; is the Delete key pressed; change to something else for the Apple II or II+
|
||||||
|
BNE RETURN ; if not then let DOS or Basic.sys handle the keypress
|
||||||
|
LDA #$88 ; go back one space; same action as the left arrow
|
||||||
|
JSR $FDED ; print it
|
||||||
|
LDA #$A0 ; print a space
|
||||||
|
JSR $FDED
|
||||||
|
LDA #$88 ; go back over the space
|
||||||
|
RETURN RTS ; let Dos or BS handle the last character
|
Loading…
Reference in New Issue
Block a user