From 3c270eded7bf01d1514caa065a193a2c9dfeba2d Mon Sep 17 00:00:00 2001 From: Michael Steil Date: Mon, 13 Oct 2008 08:07:53 +0000 Subject: [PATCH] cleanup --- cbm1_patches.s | 51 +++++++++++++++++++++++++++++++++++++++++++++ defines_cbm.s | 28 ++++++++++++++++--------- defines_kbd.s | 1 - init.s | 55 ++++++------------------------------------------- input.s | 56 ++++++++++++++++++++++++++++++-------------------- 5 files changed, 109 insertions(+), 82 deletions(-) create mode 100644 cbm1_patches.s diff --git a/cbm1_patches.s b/cbm1_patches.s new file mode 100644 index 0000000..daf54c9 --- /dev/null +++ b/cbm1_patches.s @@ -0,0 +1,51 @@ +.segment "INIT" + +PATCH1: + clc + jmp CONTROL_C_TYPED +PATCH2: + bit $B4 + bpl LE1AA + cmp #$54 + bne LE1AA + jmp LCE3B +LE1AA: + rts +PATCH3: + bit $B4 + bmi LE1B2 + jmp LCE90 +LE1B2: + cmp #$54 + beq LE1B9 + jmp LCE82 +LE1B9: + jmp LCE69 +PATCH4: + sta CHARAC + inx + jmp LE1D9 +PATCH5: + bpl LE1C9 + lda $8E + ldy $8F + rts +LE1C9: + ldy #$FF + rts +PATCH6: + bne LE1D8 +LE1CE: + inc $05 + bne LE1D8 + lda $E2 + sta $05 + bne LE1CE +LE1D8: + rts +LE1D9: + stx $C9 + pla + pla + tya + jmp L2B1C diff --git a/defines_cbm.s b/defines_cbm.s index de71eed..465919c 100644 --- a/defines_cbm.s +++ b/defines_cbm.s @@ -4,7 +4,25 @@ CONFIG_CBM1_PATCHES := 1 ; ** don't turn off! ** CBM1_APPLE := 1 CBM_APPLE := 1 CONFIG_DATAFLAG := 1 +CONFIG_BUG_GET_ERROR := 1; treat GET error like READ error +.else +CONFIG_CBM_ALL := 1 +CONFIG_11 := 1 +CONFIG_11_NOAPPLE := 1 +CBM2_KBD := 1 +CBM2_KIM := 1 +CBM2_APPLE := 1 +CBM2_KIM_APPLE := 1 ; OUTDO difference +CBM_APPLE := 1 +CONFIG_DATAFLAG := 1 +; INPUTBUFFER > $0100 +.endif +; common: +CONFIG_FILE := 1; support PRINT#, INPUT#, GET#, CMD + + +.ifdef CBM1 ZP_START = $65 JMPADRS = DSCLEN + 1 @@ -40,16 +58,6 @@ CPRMASK := $0063 Z14 := $0064 ; Ctrl+O flag Z96 := $020C .else -CONFIG_CBM_ALL := 1 -CONFIG_11 := 1 -CONFIG_11_NOAPPLE := 1 -CBM2_KBD := 1 -CBM2_KIM := 1 -CBM2_APPLE := 1 -CBM2_KIM_APPLE := 1 ; OUTDO difference -CBM_APPLE := 1 -CONFIG_DATAFLAG := 1 -; INPUTBUFFER > $0100 ZP_START = $13 diff --git a/defines_kbd.s b/defines_kbd.s index 85dffe3..f9e11b4 100644 --- a/defines_kbd.s +++ b/defines_kbd.s @@ -41,7 +41,6 @@ LOWTRX := $0094;AA ; $AB also EXPSGN? L0207 := $0207 L020A := $020A -;L2A13 := $2A0A MONRDKEY := $FFEB MONCOUT := $FDFA MONISCNTC := $FFF1 diff --git a/init.s b/init.s index bd03b15..2baa10f 100644 --- a/init.s +++ b/init.s @@ -592,57 +592,14 @@ RAMSTART2: .byte $08,$29,$25,$20,$60,$2A,$E5,$E4 .byte $20,$66,$24,$65,$AC,$04,$A4 .endif /* KIM */ + + + .ifdef CONFIG_CBM1_PATCHES -PATCH1: - clc - jmp CONTROL_C_TYPED -PATCH2: - bit $B4 - bpl LE1AA - cmp #$54 - bne LE1AA - jmp LCE3B -LE1AA: - rts -PATCH3: - bit $B4 - bmi LE1B2 - jmp LCE90 -LE1B2: - cmp #$54 - beq LE1B9 - jmp LCE82 -LE1B9: - jmp LCE69 -PATCH4: - sta CHARAC - inx - jmp LE1D9 -PATCH5: - bpl LE1C9 - lda $8E - ldy $8F - rts -LE1C9: - ldy #$FF - rts -PATCH6: - bne LE1D8 -LE1CE: - inc $05 - bne LE1D8 - lda $E2 - sta $05 - bne LE1CE -LE1D8: - rts -LE1D9: - stx $C9 - pla - pla - tya - jmp L2B1C +.include "cbm1_patches.s" .endif + + .ifdef KBD stx SHIFTSIGNEXT stx $0800 diff --git a/input.s b/input.s index 8f736de..ec9ea12 100644 --- a/input.s +++ b/input.s @@ -7,13 +7,15 @@ ; ---------------------------------------------------------------------------- INPUTERR: lda INPUTFLG - beq RESPERR -.ifdef CBM2_KIM_APPLE - bmi L2A63 - ldy #$FF + beq RESPERR ; INPUT +.ifndef CONFIG_SMALL +.ifndef CONFIG_BUG_GET_ERROR + bmi L2A63 ; READ + ldy #$FF ; GET bne L2A67 L2A63: .endif +.endif .ifdef CONFIG_CBM1_PATCHES jsr PATCH5 nop @@ -43,19 +45,20 @@ LCA8F: sty TXTPTR+1 LE920: rts -.ifndef CONFIG_SMALL ; ---------------------------------------------------------------------------- ; "GET" STATEMENT ; ---------------------------------------------------------------------------- +.ifndef CONFIG_SMALL GET: jsr ERRDIR -.ifdef CONFIG_CBM_ALL - cmp #$23 +; CBM: if GET#, then switch input +.ifdef CONFIG_FILE + cmp #'#' bne LCAB6 jsr CHRGET jsr GETBYT - lda #$2C + lda #',' jsr SYNCHR jsr CHKIN stx Z03 @@ -71,13 +74,18 @@ LCAB6: .endif lda #$40 jsr PROCESS_INPUT_LIST -.ifdef CONFIG_CBM_ALL +; CBM: if GET#, then switch input back +.ifdef CONFIG_FILE ldx Z03 bne LCAD8 .endif rts .endif -.ifdef CONFIG_CBM_ALL + +; ---------------------------------------------------------------------------- +; "INPUT#" STATEMENT +; ---------------------------------------------------------------------------- +.ifdef CONFIG_FILE INPUTH: jsr GETBYT lda #$2C @@ -120,13 +128,10 @@ LCAF8: .endif .ifdef KBD bmi L2ABE -NXIN: - jsr LFDDA - bmi LE920 - pla - jmp LE86C -.else -.ifdef CONFIG_CBM_ALL +.endif + +.ifndef KBD +.ifdef CONFIG_FILE lda Z03 beq LCB0C lda Z96 @@ -138,22 +143,29 @@ LCB0C: .endif lda INPUTBUFFER bne L2ABE -.ifdef CONFIG_CBM_ALL +.ifdef CONFIG_FILE lda Z03 bne LCAF8 +.endif .ifdef CONFIG_CBM1_PATCHES jmp PATCH1 .else clc jmp CONTROL_C_TYPED .endif +.endif + NXIN: +.ifdef KBD + jsr LFDDA + bmi LE920 + pla + jmp LE86C +.endif +.ifndef KBD +.ifdef CONFIG_FILE lda Z03 bne LCB21 -.else - clc - jmp CONTROL_C_TYPED -NXIN: .endif jsr OUTQUES jsr OUTSP