mirror of
https://github.com/a2stuff/franklin.git
synced 2025-01-14 13:30:01 +00:00
moar disasm
This commit is contained in:
parent
5fa5ce84ae
commit
42ceecc0fc
@ -24,6 +24,6 @@ Only one version of the 500 ROM is known to exist:
|
||||
|
||||
There are at least three significant compatibility bugs in the 6.0 Franklin ROMs:
|
||||
|
||||
* With 80-column/enhanced firmware active, once MouseText is activated (via outputting $1B), attempting to turn it off by outputting $18 fails. This affects both the 2X00 and 500. Root cause identified, fix identified, and (optionally) applied.
|
||||
* With 80-column/enhanced firmware active, horizontal cursor position must use `OURCH` ($57B) not `CH` ($24). This affects only the 2X00. This is documented by Apple, but real Apples, the Laser 128, and Franklin ACE 500 all support using just `CH` via clever firmware routines. Root cause identified, fix found in the 500 ROM and (optionally) applied to the 2X00 ROMs.
|
||||
* With 80-column/enhanced firmware active, sending bytes $40-$5F through C3COut1 will appear as MouseText, whereas on real Apples they are mapped to inverse uppercase. This affects both the 2X00 and 500. Root cause identified, tentative fix identified and (optionally) applied.
|
||||
* With 80-column/enhanced firmware active, once MouseText is activated (via outputting $1B), attempting to turn it off by outputting $18 fails. This affects both the 2X00 and 500. Root cause identified, fix identified and (optionally) applied.
|
||||
* With 80-column/enhanced firmware active, sending bytes $40-$5F through C3COut1 will appear as MouseText, whereas on real Apples they are mapped to inverse uppercase. This affects both the 2X00 and 500. Root cause identified, fix identified and (optionally) applied.
|
||||
|
@ -14,8 +14,8 @@
|
||||
;;; 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 mode failing to exist on $18 output.
|
||||
;;; * MouseText displaying if $40-$5F sent to COUT.
|
||||
INCLUDE_PATCHES = 0
|
||||
|
||||
@ -148,225 +148,38 @@ USR := $FECA
|
||||
;;; ============================================================
|
||||
;;; 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
|
||||
.byte $80, $2c, $80, $03, $ea, $48, $68, $48
|
||||
.byte $68, $18, $b8, $48, $da, $5a, $8d, $79
|
||||
.byte $06, $8d, $ff, $cf, $8d, $79, $c0, $50
|
||||
.byte $0b, $a2, $07, $86, $36, $a2, $c1, $86
|
||||
.byte $37, $20, $00, $b0, $20, $2c, $b0, $8d
|
||||
.byte $78, $c0, $7a, $fa, $68, $60, $2c, $2d
|
||||
.byte $c1, $80, $d8, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byte $ff, $ff, $00, $00, $ff, $ff, $00, $00
|
||||
.byte $ff, $ff, $00, $00, $ff, $ff, $00, $00
|
||||
.byte $ff, $ff, $00, $00, $ff, $ff, $00, $00
|
||||
.byte $ff, $ff, $00, $00, $ff, $ff, $00, $00
|
||||
.byte $ff, $ff, $00, $00, $ff, $ff, $00, $00
|
||||
.byte $ff, $ff, $00, $00, $ff, $ff, $00, $00
|
||||
|
||||
;;; ============================================================
|
||||
;;; Page $C1 - Parallel Port Firmware
|
||||
|
@ -103,12 +103,19 @@ RDLCBNK2:= $C011
|
||||
RDLCRAM := $C012
|
||||
RDRAMRD := $C013
|
||||
RDRAMWRT:= $C014
|
||||
RDCXROM := $C015
|
||||
RDALTZP := $C016
|
||||
RDC3ROM := $C017
|
||||
RD80COL := $C018
|
||||
RDVBL := $C019
|
||||
RDTEXT := $C01A
|
||||
RDPAGE2 := $C01C
|
||||
ALTCHARSET := $C01E
|
||||
RD80VID := $C01F
|
||||
TXTPAGE1:= $C054
|
||||
TXTPAGE2:= $C055
|
||||
RD63 := $C063
|
||||
PTRIG := $C070
|
||||
ROMIN := $C081
|
||||
ROMIN2 := $C082
|
||||
LCBANK2 := $C083
|
||||
@ -130,9 +137,13 @@ SETWND := $FB4B
|
||||
SETKBD := $FE89
|
||||
SETVID := $FE93
|
||||
MON_VTAB:= $FC22
|
||||
VTABZ := $FC24
|
||||
CLREOP := $FC42
|
||||
HOME := $FC58
|
||||
CLREOL := $FC9C
|
||||
CLREOLZ := $FC9E
|
||||
COUT := $FDED
|
||||
COUT1 := $FDF0
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
@ -141,282 +152,32 @@ CLREOL := $FC9C
|
||||
;;; ============================================================
|
||||
;;; Page $C0 - Unused (garbage data?)
|
||||
|
||||
LC000: brk
|
||||
LC001: brk
|
||||
LC002: brk
|
||||
LC003: brk
|
||||
LC004: brk
|
||||
LC005: brk
|
||||
brk
|
||||
brk
|
||||
LC008: brk
|
||||
LC009: brk
|
||||
brk
|
||||
brk
|
||||
LC00C: brk
|
||||
LC00D: brk
|
||||
LC00E: brk
|
||||
LC00F: brk
|
||||
LC010: brk
|
||||
LC011: brk
|
||||
LC012: brk
|
||||
LC013: brk
|
||||
LC014: brk
|
||||
LC015: brk
|
||||
LC016: brk
|
||||
LC017: brk
|
||||
LC018: brk
|
||||
LC019: brk
|
||||
LC01A: brk
|
||||
brk
|
||||
LC01C: brk
|
||||
brk
|
||||
LC01E: brk
|
||||
LC01F: 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
|
||||
LC048: brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
LC054: brk
|
||||
LC055: brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
LC063: brk
|
||||
brk
|
||||
brk
|
||||
LC066: brk
|
||||
LC067: brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
LC070: brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
LC080: brk
|
||||
LC081: brk
|
||||
LC082: brk
|
||||
LC083: brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
LC089: brk
|
||||
brk
|
||||
LC08B: brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
LC090: brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
LC0A8: brk
|
||||
LC0A9: brk
|
||||
LC0AA: brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
LC0B4: brk
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
LC0B8: brk
|
||||
LC0B9: brk
|
||||
LC0BA: brk
|
||||
LC0BB: brk
|
||||
LC0BC: 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
|
||||
.res $100, 0
|
||||
|
||||
;;; ============================================================
|
||||
;;; Page $C1 - Parallel Port Firmware
|
||||
|
||||
.scope pageC1
|
||||
|
||||
LFDF0 := $FDF0
|
||||
LC100: bra LC111
|
||||
LC102: bra LC107
|
||||
|
||||
bra LC111
|
||||
bra LC107
|
||||
nop
|
||||
LC104: nop
|
||||
sec
|
||||
nop
|
||||
LC107: clc
|
||||
clv
|
||||
bra LC114
|
||||
ora ($31,x)
|
||||
.byte $2B
|
||||
.byte $33
|
||||
rol $3E,x
|
||||
|
||||
;; Signature bytes
|
||||
.byte $01, $31
|
||||
|
||||
;; Pascal 1.1 Firmware Protocol Table
|
||||
.byte .lobyte(LC12B)
|
||||
.byte .lobyte(LC133)
|
||||
.byte .lobyte(LC136)
|
||||
.byte .lobyte(LC13E)
|
||||
|
||||
LC111: bit LC135
|
||||
LC114: jsr LC1D6
|
||||
pha
|
||||
@ -431,37 +192,39 @@ LC122: jsr $C83C
|
||||
pla
|
||||
LC128: jmp $C5FA
|
||||
|
||||
jsr LC1D6
|
||||
LC12B: jsr LC1D6
|
||||
jsr $C897
|
||||
bra LC128
|
||||
ldx #$03
|
||||
|
||||
LC133: ldx #$03
|
||||
LC135: rts
|
||||
|
||||
jsr LC1D6
|
||||
LC136: jsr LC1D6
|
||||
jsr $C89D
|
||||
bra LC128
|
||||
jsr LC1D6
|
||||
|
||||
LC13E: jsr LC1D6
|
||||
jsr $C8A5
|
||||
bra LC128
|
||||
LC146: lda #$00
|
||||
bit LC016
|
||||
bit RDALTZP
|
||||
bpl LC14F
|
||||
ora #$80
|
||||
LC14F: bit LC013
|
||||
LC14F: bit RDRAMRD
|
||||
bpl LC156
|
||||
ora #$40
|
||||
LC156: bit LC014
|
||||
LC156: bit RDRAMWRT
|
||||
bpl LC15D
|
||||
ora #$20
|
||||
LC15D: bit LC011
|
||||
LC15D: bit RDLCBNK2
|
||||
bpl LC164
|
||||
ora #$10
|
||||
LC164: bit LC012
|
||||
LC164: bit RDLCRAM
|
||||
bpl LC16B
|
||||
ora #$08
|
||||
LC16B: bit LC018
|
||||
LC16B: bit RD80COL
|
||||
bpl LC177
|
||||
bit LC01C
|
||||
bit RDPAGE2
|
||||
bpl LC177
|
||||
ora #$04
|
||||
LC177: rts
|
||||
@ -470,10 +233,10 @@ LC178: phx
|
||||
asl a
|
||||
asl a
|
||||
bcc LC180
|
||||
sta LC003
|
||||
sta RDCARDRAM
|
||||
LC180: asl a
|
||||
bcc LC186
|
||||
sta LC005
|
||||
sta WRCARDRAM
|
||||
LC186: asl a
|
||||
bcc LC193
|
||||
asl a
|
||||
@ -487,20 +250,20 @@ LC193: asl a
|
||||
ldx #$0B
|
||||
.byte $2C
|
||||
LC199: ldx #$09
|
||||
LC19B: bit LC080,x
|
||||
bit LC080,x
|
||||
LC19B: bit $C080,x
|
||||
bit $C080,x
|
||||
asl a
|
||||
bcc LC1A7
|
||||
sta LC055
|
||||
sta TXTPAGE2
|
||||
LC1A7: plx
|
||||
rts
|
||||
|
||||
LC1A9: bit #$04
|
||||
beq LC1B0
|
||||
sta LC054
|
||||
LC1B0: sta LC002
|
||||
sta LC004
|
||||
bit LC081
|
||||
sta TXTPAGE1
|
||||
LC1B0: sta RDMAINRAM
|
||||
sta WRMAINRAM
|
||||
bit ROMIN
|
||||
rts
|
||||
|
||||
brk
|
||||
@ -526,14 +289,14 @@ LC1C1: brk
|
||||
brk
|
||||
brk
|
||||
jsr LC128
|
||||
jsr LFDF0
|
||||
jsr COUT1
|
||||
LC1D6: php
|
||||
sei
|
||||
pha
|
||||
lda #$C1
|
||||
sta $07F8
|
||||
sta LC0BA
|
||||
sta LC0B8
|
||||
sta $C0BA
|
||||
sta $C0B8
|
||||
sta CLRROM
|
||||
pla
|
||||
plp
|
||||
@ -561,33 +324,41 @@ LC1FD: jmp LC1A9
|
||||
;;; ============================================================
|
||||
;;; Page $C2 - ???
|
||||
|
||||
.scope pageC2
|
||||
bit $C5A7
|
||||
bra LC211
|
||||
|
||||
sec
|
||||
bcc LC220
|
||||
clv
|
||||
bra LC211
|
||||
ora ($31,x)
|
||||
trb $17
|
||||
inc a
|
||||
.byte $1D
|
||||
|
||||
;; Signature bytes
|
||||
.byte $01, $31
|
||||
|
||||
;; Pascal 1.1 Firmware Protocol Table
|
||||
.byte .lobyte(LC214)
|
||||
.byte .lobyte(LC217)
|
||||
.byte .lobyte(LC21A)
|
||||
.byte .lobyte(LC21D)
|
||||
|
||||
LC211: jmp $C500
|
||||
|
||||
jmp $C51F
|
||||
LC214: jmp $C51F
|
||||
|
||||
jmp $C528
|
||||
LC217: jmp $C528
|
||||
|
||||
jmp $C530
|
||||
LC21A: jmp $C530
|
||||
|
||||
jmp $C538
|
||||
LC21D: jmp $C538
|
||||
|
||||
LC220: lda $077C
|
||||
and #$F1
|
||||
sta $077C
|
||||
sec
|
||||
lda LC019
|
||||
lda RDVBL
|
||||
bmi LC258
|
||||
sta LC070
|
||||
sta PTRIG
|
||||
lda #$08
|
||||
tsb $077C
|
||||
clc
|
||||
@ -600,18 +371,18 @@ LC220: lda $077C
|
||||
beq LC24E
|
||||
tsb $077C
|
||||
stz $067C
|
||||
LC24E: bit LC063
|
||||
LC24E: bit RD63
|
||||
bmi LC258
|
||||
lda #$04
|
||||
tsb $077C
|
||||
LC258: lda LC015
|
||||
ora LC017
|
||||
LC258: lda RDCXROM
|
||||
ora RDC3ROM
|
||||
bmi LC263
|
||||
jmp LC2ED
|
||||
|
||||
LC263: sta $067C
|
||||
lda LC015
|
||||
sta LC048
|
||||
lda RDCXROM
|
||||
sta $C048 ; ???
|
||||
bpl LC2AE
|
||||
txa
|
||||
bpl LC28B
|
||||
@ -676,6 +447,7 @@ LC2F8: rts
|
||||
lda $0342,x
|
||||
.byte $8D
|
||||
.byte $12
|
||||
.endscope
|
||||
|
||||
;;; ============================================================
|
||||
;;; Page $C3 - Enhanced 80 Column Firmware
|
||||
@ -710,7 +482,7 @@ LC307: clc
|
||||
|
||||
;; XFER
|
||||
.assert * = XFER, error, "Entry point mismatch"
|
||||
jsr extra_DoBankC5
|
||||
jsr pageC5_DoBankC5
|
||||
jmp $CC03 ; ???
|
||||
|
||||
;;; ============================================================
|
||||
@ -719,7 +491,7 @@ LC307: clc
|
||||
|
||||
JPINIT: jsr ClearROM
|
||||
jsr PascalInit
|
||||
LC320: jmp extra_DoBankC5
|
||||
LC320: jmp pageC5_DoBankC5
|
||||
|
||||
JPREAD: jsr ClearROM
|
||||
jsr PascalRead
|
||||
@ -734,7 +506,7 @@ JPSTAT: jsr ClearROM
|
||||
bra LC320
|
||||
|
||||
JumpAuxMove:
|
||||
jsr extra_DoBankC5
|
||||
jsr pageC5_DoBankC5
|
||||
jmp $CC06
|
||||
|
||||
;;; ============================================================
|
||||
@ -796,7 +568,7 @@ l8: ldx SAVEX
|
||||
sty OURCH
|
||||
sty XCOORD
|
||||
ldy SAVEY
|
||||
jmp extra_DoBankC5
|
||||
jmp pageC5_DoBankC5
|
||||
|
||||
;;; ============================================================
|
||||
;;; Escape Mode
|
||||
@ -835,7 +607,7 @@ SETV: rts
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
jsr extra_DoBankC5
|
||||
jsr pageC5_DoBankC5
|
||||
jmp $CC00
|
||||
|
||||
LC3E2: plx
|
||||
@ -856,17 +628,9 @@ LC3FA: jsr ClearROM
|
||||
jmp LCCF5
|
||||
|
||||
;;; ============================================================
|
||||
;;; Pages $C4-C7 - ???
|
||||
|
||||
.scope extra
|
||||
|
||||
LFC24 := $FC24
|
||||
LFC58 := $FC58
|
||||
LFC9E := $FC9E
|
||||
LFDED := $FDED
|
||||
LFDF0 := $FDF0
|
||||
LFF4A := $FF4A
|
||||
;;; Page $C4 - ???
|
||||
|
||||
.scope pageC4
|
||||
|
||||
bit LC42E
|
||||
bra LC41C
|
||||
@ -874,15 +638,24 @@ LFF4A := $FF4A
|
||||
bcc LC420
|
||||
clv
|
||||
bra LC41C
|
||||
ora ($20,x)
|
||||
bit $2C2C
|
||||
bit $2F00
|
||||
|
||||
;; Signature bytes
|
||||
.byte $01, $20
|
||||
|
||||
;; Pascal 1.1 Firmware Protocol Table
|
||||
.byte .lobyte(LC42C)
|
||||
.byte .lobyte(LC42C)
|
||||
.byte .lobyte(LC42C)
|
||||
.byte .lobyte(LC42C)
|
||||
|
||||
.byte 0
|
||||
.byte $2F
|
||||
and $3B,x
|
||||
eor ($47,x)
|
||||
eor $5953
|
||||
.byte $2C
|
||||
.byte $5F
|
||||
LC41C: jsr DoBankC5
|
||||
LC41C: jsr pageC5_DoBankC5
|
||||
.byte $50
|
||||
LC420: .byte $03
|
||||
jsr LC806
|
||||
@ -891,38 +664,38 @@ LC420: .byte $03
|
||||
|
||||
LC429: jmp LC825
|
||||
|
||||
ldx #$03
|
||||
LC42C: ldx #$03
|
||||
LC42E: rts
|
||||
|
||||
jsr DoBankC5
|
||||
jsr pageC5_DoBankC5
|
||||
jmp $C8D4
|
||||
|
||||
jsr DoBankC5
|
||||
jsr pageC5_DoBankC5
|
||||
jmp $C916
|
||||
|
||||
jsr DoBankC5
|
||||
jsr pageC5_DoBankC5
|
||||
jmp $C922
|
||||
|
||||
jsr DoBankC5
|
||||
jsr pageC5_DoBankC5
|
||||
jmp $C958
|
||||
|
||||
jsr DoBankC5
|
||||
jsr pageC5_DoBankC5
|
||||
jmp $C967
|
||||
|
||||
jsr DoBankC5
|
||||
jsr pageC5_DoBankC5
|
||||
jmp $C969
|
||||
|
||||
jsr DoBankC5
|
||||
jsr pageC5_DoBankC5
|
||||
jmp $C93E
|
||||
|
||||
LC459: jsr DoBankC5
|
||||
LC459: jsr pageC5_DoBankC5
|
||||
jmp $C8AC
|
||||
|
||||
ldx $C066
|
||||
ldy $C067
|
||||
jmp $C220
|
||||
|
||||
LC468: jsr DoBankC5
|
||||
LC468: jsr pageC5_DoBankC5
|
||||
jmp $C9A0
|
||||
|
||||
brk
|
||||
@ -1015,7 +788,7 @@ LC4E4: jmp $C1F2
|
||||
|
||||
LC4E7: jmp LC3E2
|
||||
|
||||
LC4EA: jmp LC5F5
|
||||
LC4EA: jmp pageC5_LC5F5
|
||||
|
||||
brk
|
||||
brk
|
||||
@ -1032,6 +805,12 @@ LC4F8: jmp LC468
|
||||
|
||||
dec $00,x
|
||||
jmp LC459
|
||||
.endscope
|
||||
|
||||
;;; ============================================================
|
||||
;;; Page $C5
|
||||
|
||||
.scope pageC5
|
||||
|
||||
LC500: jsr BankC5
|
||||
sta $067A
|
||||
@ -1068,12 +847,12 @@ LC51A: ply
|
||||
|
||||
jsr BankC8
|
||||
ora #$80
|
||||
jsr LFDF0
|
||||
jsr COUT1
|
||||
bra BankC5
|
||||
|
||||
jsr BankC8
|
||||
ora #$80
|
||||
jsr LFDED
|
||||
jsr COUT
|
||||
bra BankC5
|
||||
|
||||
jsr BankC8
|
||||
@ -1086,11 +865,11 @@ LC51A: ply
|
||||
bra BankC5
|
||||
|
||||
jsr BankC8
|
||||
jsr LFC9E
|
||||
jsr CLREOLZ
|
||||
bra BankC5
|
||||
|
||||
jsr BankC8
|
||||
jsr LFC58
|
||||
jsr HOME
|
||||
bra BankC5
|
||||
|
||||
jsr BankC8
|
||||
@ -1098,15 +877,15 @@ LC51A: ply
|
||||
bra BankC5
|
||||
|
||||
jsr BankC8
|
||||
jsr LC4F8
|
||||
jsr pageC4::LC4F8
|
||||
bra BankC5
|
||||
|
||||
jsr BankC8
|
||||
jsr LC7FD
|
||||
jsr pageC7_LC7FD
|
||||
bra BankC5
|
||||
|
||||
jsr BankC8
|
||||
jsr LFC24
|
||||
jsr VTABZ
|
||||
;; Fall through
|
||||
|
||||
;;; ============================================================
|
||||
@ -1202,12 +981,19 @@ DoBankC5:
|
||||
;;; ============================================================
|
||||
|
||||
jmp LC5C6
|
||||
.endscope
|
||||
pageC5_DoBankC5 := pageC5::DoBankC5
|
||||
pageC5_LC5F5 := pageC5::LC5F5
|
||||
|
||||
;;; ============================================================
|
||||
;;; Page $C6 - Disk II Driver
|
||||
|
||||
.scope pageC6
|
||||
bit $20
|
||||
cpy $00
|
||||
ldx #$03
|
||||
asl A1L
|
||||
jsr DoBankC5
|
||||
jsr pageC5::DoBankC5
|
||||
ldy #$69
|
||||
LC60D: lda $CF26,y
|
||||
sta $036C,y
|
||||
@ -1306,7 +1092,7 @@ LC62D: dec $27
|
||||
nop
|
||||
nop
|
||||
LC683: pla
|
||||
LC684: jsr DoBankC5
|
||||
LC684: jsr pageC5::DoBankC5
|
||||
jsr LCE00
|
||||
bra LC6EA
|
||||
brk
|
||||
@ -1413,7 +1199,17 @@ LC6EA: nop
|
||||
jmp $0801
|
||||
|
||||
.byte $DE
|
||||
brk
|
||||
.byte $00 ; $00 = Disk II, 16-Sector
|
||||
.endscope
|
||||
|
||||
;;; ============================================================
|
||||
;;; Page $C7 - ???
|
||||
|
||||
LC700:
|
||||
.scope pageC7
|
||||
|
||||
LFF4A := $FF4A
|
||||
|
||||
LC700: jsr $C1F7
|
||||
pha
|
||||
jsr $C1FD
|
||||
@ -1452,7 +1248,7 @@ LC739: pha
|
||||
php
|
||||
jmp (L03FE)
|
||||
|
||||
LC744: jmp LC4BE
|
||||
LC744: jmp pageC4::LC4BE
|
||||
|
||||
LC747: pla
|
||||
sta $44
|
||||
@ -1469,7 +1265,7 @@ LC751: pla
|
||||
sta $3A
|
||||
ply
|
||||
sty $3B
|
||||
bit $C016
|
||||
bit RDALTZP
|
||||
bpl LC781
|
||||
tsx
|
||||
stx $0101
|
||||
@ -1554,7 +1350,7 @@ LC7E5: sta WRCARDRAM
|
||||
brk
|
||||
LC7FD: jmp LC792
|
||||
.endscope
|
||||
extra_DoBankC5 := extra::DoBankC5
|
||||
pageC7_LC7FD := pageC7::LC7FD
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
@ -2352,7 +2148,7 @@ LCC8D: bit TXTPAGE2
|
||||
sta CLR80COL
|
||||
bra LCC64
|
||||
LCCB2: jsr LCCB8
|
||||
jmp extra::DoBankC5 ; bad disasm or ...?
|
||||
jmp pageC5::DoBankC5 ; bad disasm or ...?
|
||||
|
||||
LCCB8: bit $0579
|
||||
bmi LCCD7
|
||||
@ -2385,7 +2181,7 @@ LCCE1: phx
|
||||
beq LCCDC
|
||||
bra LCCD5
|
||||
LCCF5: jsr LCCFB
|
||||
jmp extra::DoBankC5
|
||||
jmp pageC5::DoBankC5
|
||||
|
||||
LCCFB: bit $0579
|
||||
bpl LCD03
|
||||
@ -2531,7 +2327,7 @@ LCE00: asl $9D
|
||||
stz $0579
|
||||
LCE0D: jsr LCDA8
|
||||
sta $04F9
|
||||
jmp extra::DoBankC5
|
||||
jmp pageC5::DoBankC5
|
||||
|
||||
LCE16: pha
|
||||
lda RDRAMRD
|
||||
|
Loading…
x
Reference in New Issue
Block a user