diff --git a/ace2000_c000_cfff.s b/ace2000_c000_cfff.s index 0de04ce..e98c72f 100644 --- a/ace2000_c000_cfff.s +++ b/ace2000_c000_cfff.s @@ -1760,6 +1760,7 @@ InitFKEYDefinitions: @l3: sta WRMAINRAM stz $0579 + ;; fall through ;;; ============================================================ ;;; Unknown Monitor ROM Routine diff --git a/ace500_c000_cfff.s b/ace500_c000_cfff.s index d0f6260..1691218 100644 --- a/ace500_c000_cfff.s +++ b/ace500_c000_cfff.s @@ -83,6 +83,8 @@ OLDBASL := $77B TEMP2 := $7FB OLDBASH := $7FB +FKEYPTR := $479 ; Holds offset from Aux $200 to FKEY def + ;;; I/O Soft Switches KBD := $C000 @@ -633,7 +635,7 @@ LC3E2: plx jmp LCE0D jsr ClearROM - jmp LCDEC + jmp InitFKEYDefinitions LC3F4: jsr ClearROM jmp LCCB2 @@ -992,7 +994,7 @@ LC62D: dec $27 LC683: pla LC684: jsr pageC5::DoBankC5 - jsr LCE00 + jsr $CE00 bra LC6EA @@ -1101,13 +1103,16 @@ LC774: sta ALTZPON bpl LC774 LC781: jmp (L03F0) +;;; ============================================================ + LC784: sec - lda $C0AA + lda $C0AA ; ??? tax and #$0C eor #$04 beq LC7E4 - lda $C0A9 + lda $C0A9 ; ??? + LC792: sta $04FA ora #$00 bpl LC7E4 @@ -1120,30 +1125,30 @@ LC792: sta $04FA lda $04FF eor #$C2 bne LC7E4 - lda $C0A8 + lda $C0A8 ; ??? ldx $057F jsr LC7E5 bpl LC7B8 ldx #$00 LC7B8: stx $057F bra LC7E3 -LC7BD: .byte $2C - plx -LC7BF: tsb $50 - and ($2C,x) - plx - ora $70 - ora $1A10,x + +LC7BD: + bit $04FA + bvc LC7E3 + bit $05FA + bvs LC7E4 + bpl LC7E3 lda KBD - bit $C0B4 - bmi LC7D3 + bit $C0B4 ; Softswitch for Fkeys ??? + bmi :+ ; leave high bit set for later and #$7F -LC7D3: bit KBDSTRB +: bit KBDSTRB ldx $05FF jsr LC7E5 - bne LC7E0 + bne :+ ldx #$80 -LC7E0: stx $05FF +: stx $05FF LC7E3: clc LC7E4: rts @@ -1153,6 +1158,8 @@ LC7E5: sta WRCARDRAM inx rts +;;; ============================================================ + brk brk brk @@ -1166,7 +1173,9 @@ LC7E5: sta WRCARDRAM brk brk brk + LC7FD: jmp LC792 + .endscope pageC7_LC7FD := pageC7::LC7FD @@ -1192,7 +1201,7 @@ LC806: lda #