From 45aff78e7f1cb12e4f3fc90031438300c55f6700 Mon Sep 17 00:00:00 2001 From: Joshua Bell Date: Thu, 11 Nov 2021 20:09:01 -0800 Subject: [PATCH] ACE 2000: Include all of pages --- Makefile | 2 +- ...0_c300_cfff.orig => ace2000_c000_cfff.orig | Bin 3328 -> 4096 bytes ace2000_c300_cfff.s => ace2000_c000_cfff.s | 303 +++++++++++++++++- 3 files changed, 298 insertions(+), 7 deletions(-) rename ace2000_c300_cfff.orig => ace2000_c000_cfff.orig (81%) rename ace2000_c300_cfff.s => ace2000_c000_cfff.s (89%) diff --git a/Makefile b/Makefile index 07d430c..40df6c8 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ OUTDIR := out TARGETS := \ $(OUTDIR)/ace500_c300_cfff.bin \ - $(OUTDIR)/ace2000_c300_cfff.bin + $(OUTDIR)/ace2000_c000_cfff.bin .PHONY: clean all package all: $(OUTDIR) $(TARGETS) diff --git a/ace2000_c300_cfff.orig b/ace2000_c000_cfff.orig similarity index 81% rename from ace2000_c300_cfff.orig rename to ace2000_c000_cfff.orig index ba7ce1893df42b0e9d7e5e1c0a8b017e192dbbe5..3a207fe896001ddc92fb3458eb53340c62753108 100644 GIT binary patch delta 209 zcmZpWYEUq4&}m?P<&oi$A+f{bR#a~#Tkrq#y_E+7xEHavnJqflX0E`nK|yCjZ^ePC zUl|EHx(6F>Ob%q4TmSz*0|O~|sfx!^rB>Ax6$Pa~3g*9-XtroC(P+_Hs{Fys>Zs}m z!wLG&RDn`U6gza}4;XN6)R?H%A@H-|$_%d+Iw1!@T%Axb)gka6D8SpW8)(#=Kfl^k Pe3brd4rE%wxPTV`EreVp delta 7 OcmZorXpmaO%nJYsC;{yN diff --git a/ace2000_c300_cfff.s b/ace2000_c000_cfff.s similarity index 89% rename from ace2000_c300_cfff.s rename to ace2000_c000_cfff.s index e8f7b33..a287e34 100644 --- a/ace2000_c300_cfff.s +++ b/ace2000_c000_cfff.s @@ -1,18 +1,27 @@ -; da65 V2.19 - Git 59c58acbe -; Created: 2021-11-02 17:43:56 -; Input file: Franklin_Ace2000_ROM_U2_P2_Rev6.bin -; Page: 1 +;;; ============================================================ +;;; Franklin ACE 2X00 ROM V6.0 Disassembly +;;; +;;; First $1000 bytes of U2 ROM (usually banked in $C000-$CFFF) +;;; +;;; Build with CC65's ca65 assembler +;;; ============================================================ .setcpu "65C02" .include "opcodes.inc" .feature string_escapes -;;; Set to 1 to include preliminary fixes for: +;;; ============================================================ +;;; Patches + +;;; Set to 1 to include fixes for: ;;; * MouseText mode failing to exist on $18 output. ;;; * CH not working to set horizontal cursor position. ;;; * MouseText displaying if $40-$5F sent to COUT. INCLUDE_PATCHES = 0 +;;; ============================================================ +;;; Equates + ;;; Zero Page WNDLFT := $20 @@ -130,7 +139,287 @@ CLREOL := $FC9C ;;; ============================================================ - .org $C300 + .org $C000 + +;;; ============================================================ +;;; Page $C0 - Unused (garbage data?) + + .byte $80 + .byte $2C + .byte $80 + .byte $03 + nop + pha + pla + pha + pla + clc + clv + pha + phx + phy + .byte $8D + .byte $79 + .byte $06 + .byte $8D + .byte $FF + .byte $CF + sta $C079 + .byte $50 + .byte $0B + .byte $A2 + rmb0 $86 + rol $A2,x + .byte $C1 + stx $37 + jsr $B000 + jsr $B02C + sta $C078 + ply + plx + pla + rts + + bit $C12D + bra $C00B + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + bbs7 $FF,$C0D3 + brk + bbs7 $FF,$C0D7 + brk + bbs7 $FF,$C0DB + brk + bbs7 $FF,$C0DF + brk + bbs7 $FF,$C0E3 + brk + bbs7 $FF,$C0E7 + brk + bbs7 $FF,$C0EB + brk + bbs7 $FF,$C0EF + brk + bbs7 $FF,$C0F3 + brk + bbs7 $FF,$C0F7 + brk + bbs7 $FF,$C0FB + brk + bbs7 $FF,$C0FF + brk + +;;; ============================================================ +;;; Page $C1 - Parallel Port Firmware + +LC100: lda $24 + pha + lda $22 + sta $25 + stz $24 + jsr MON_VTAB +LC10C: jsr $FA37 ; ??? + ldy $29 + sty $2B + ldy $28 + sty $2A + lda $23 + beq LC151 + dec a + cmp $25 + beq LC151 + bcc LC151 + inc $25 + jsr MON_VTAB + ldy $21 + dey + bit RD80VID +LC12D: bmi LC138 +LC12F: lda ($28),y + sta ($2A),y + dey + bpl LC12F + bra LC10C +LC138: tya + lsr a + tay +LC13B: bit TXTPAGE1 + lda ($28),y + sta ($2A),y + bit TXTPAGE2 + lda ($28),y + sta ($2A),y + dey + bpl LC13B + bit TXTPAGE1 + bra LC10C +LC151: stz $24 + jsr CLREOL + plx + stx $24 + jmp MON_VTAB + +;;; ============================================================ + + .res $C300 - *, 0 + +;;; ============================================================ +;;; Page $C3 - Enhanced 80 Column Firmware ;; Init LC300: bit SETV ; V = init @@ -327,6 +616,7 @@ EscapeMode: jmp UnknownEP5 ;;; ================================================== +;;; Page $C4 - ??? .assert * = $C400, error, "Mismatch" .scope @@ -531,6 +821,7 @@ LC4CE: bbr0 $F0,LC4AB .res $C800 - *, 0 ;;; ============================================================ +;;; Pages $C8-$CF - Enhanced 80 Column Firmware LC800: lda #M_NORMAL sta MODE