misc disasm

This commit is contained in:
Joshua Bell 2021-11-09 20:55:40 -08:00
parent f753ad98d2
commit ddcaa21464

View File

@ -49,6 +49,9 @@ SAVEA := $4F8
SAVEX := $578 SAVEX := $578
SAVEY := $478 SAVEY := $478
SAVECV := $6F8
SAVECH := $778
OLDCH := $47B OLDCH := $47B
MODE := $4FB MODE := $4FB
;; Bit 7 = Escape Mode ;; Bit 7 = Escape Mode
@ -286,7 +289,7 @@ EscapeMode:
.assert * = $C3DC, error, "Potential entry point moved" .assert * = $C3DC, error, "Potential entry point moved"
;; ??? ;; ???
bit CLRROM bit CLRROM
jmp LCEE7 jmp UnknownEP1
;;; ============================================================ ;;; ============================================================
@ -302,16 +305,16 @@ EscapeMode:
.assert * = $C3E8, error, "Potential entry point moved" .assert * = $C3E8, error, "Potential entry point moved"
;; ??? ;; ???
bit CLRROM bit CLRROM
jmp LCE18 jmp UnknownEP2
bit CLRROM bit CLRROM
jmp LCDF7 jmp UnknownEP3
bit CLRROM bit CLRROM
jmp LCD09 jmp UnknownEP4
bit CLRROM bit CLRROM
jmp LCD35 jmp UnknownEP5
;;; ================================================== ;;; ==================================================
@ -545,12 +548,14 @@ Do40Col:
bit RD80VID bit RD80VID
php php
jsr LCBB6 jsr LCBB6
jsr LCADA jsr SaveCHCV
jsr DoSETWND jsr DoSETWND
plp plp
bpl rts1 bpl rts1
jmp LCC4E jmp LCC4E
;;; ============================================================
nop nop
nop nop
nop nop
@ -569,15 +574,18 @@ Do40Col:
nop nop
nop nop
;;; ============================================================
;; ???
jsr LCB95 jsr LCB95
LC850: jsr LCBC7 LC850: jsr LCBC7
LC853: inc RNDL LC853: inc RNDL
bne :+ bne :+
inc RNDH inc RNDH
: :
jsr LCD09 jsr UnknownEP4
bcc LC853 bcc LC853
jsr LCD35 jsr UnknownEP5
cmp #$06 cmp #$06
bcc LC86E bcc LC86E
and #$7F and #$7F
@ -832,7 +840,7 @@ Do80Col:
bit RD80VID bit RD80VID
php php
jsr LCBBD jsr LCBBD
jsr LCADA jsr SaveCHCV
jsr DoSETWND jsr DoSETWND
plp plp
bmi rts4 bmi rts4
@ -846,7 +854,7 @@ DoQuit:
jsr DoSETKBD jsr DoSETKBD
lda #23 lda #23
ldx #0 ldx #0
jsr LCA80 jsr SetCHCV
lda #M_INACTIVE lda #M_INACTIVE
sta MODE ; set all mode bits (???) sta MODE ; set all mode bits (???)
@ -897,7 +905,7 @@ LCA11: lda CHAR ; character to read/print
pla pla
cmp #$18 ; +$20 is $38 = '8' ??? cmp #$18 ; +$20 is $38 = '8' ???
bcs @l1 bcs @l1
jsr LCA82 jsr SetCV
@l1: lda $05F8 @l1: lda $05F8
cmp WNDWDTH cmp WNDWDTH
bcs :+ bcs :+
@ -937,7 +945,7 @@ DoUp:
lda CV lda CV
beq rts5 beq rts5
dec CV dec CV
bra LCA84 bra JumpMON_VTAB
;;; ============================================================ ;;; ============================================================
@ -952,14 +960,14 @@ DoLineFeed:
cmp #23 cmp #23
bcs DoScrollUp bcs DoScrollUp
inc CV inc CV
bra LCA84 bra JumpMON_VTAB
;;; ============================================================ ;;; ============================================================
DoHome: DoHome:
lda WNDTOP lda WNDTOP
ldx #$00 ldx #$00
bra LCA80 bra SetCHCV
;;; ============================================================ ;;; ============================================================
@ -974,11 +982,16 @@ DoClearLine:
;;; ============================================================ ;;; ============================================================
LCA7A: lda $06F8 RestoreCHCV:
ldx $0778 lda SAVECV
LCA80: stx CH ldx SAVECH
LCA82: sta CV
LCA84: jmp DoMON_VTAB SetCHCV:
stx CH
SetCV:
sta CV
JumpMON_VTAB:
jmp DoMON_VTAB
;;; ============================================================ ;;; ============================================================
@ -997,7 +1010,7 @@ DoScrollUp:
beq @l5 beq @l5
bcc @l5 bcc @l5
inc CV inc CV
jsr LCA84 jsr JumpMON_VTAB
ldy WNDWDTH ldy WNDWDTH
dey dey
bit RD80VID bit RD80VID
@ -1026,14 +1039,15 @@ DoScrollUp:
jsr DoClearEOL jsr DoClearEOL
plx plx
lda CV lda CV
jmp LCA80 jmp SetCHCV
;;; ============================================================ ;;; ============================================================
LCADA: lda CV SaveCHCV:
sta $06F8 lda CV
sta SAVECV
lda CH lda CH
sta $0778 sta SAVECH
rts rts
;;; ============================================================ ;;; ============================================================
@ -1053,20 +1067,20 @@ DoBell:
;;; ============================================================ ;;; ============================================================
DoScroll: DoScroll:
jsr LCADA jsr SaveCHCV
lda WNDBTM lda WNDBTM
dec a dec a
dec a dec a
sta $05F8 sta $05F8
@l1: lda $05F8 @l1: lda $05F8
jsr LCA82 jsr SetCV
lda BASL lda BASL
sta BAS2L sta BAS2L
lda BASH lda BASH
sta BAS2H sta BAS2H
lda $05F8 lda $05F8
inc a inc a
jsr LCA82 jsr SetCV
ldy WNDWDTH ldy WNDWDTH
dey dey
@l2: phy @l2: phy
@ -1091,10 +1105,10 @@ DoScroll:
bra @l1 bra @l1
@l4: lda #$00 @l4: lda #$00
jsr LCA82 jsr SetCV
jsr DoClearLine jsr DoClearLine
bit TXTPAGE1 bit TXTPAGE1
jmp LCA7A jmp RestoreCHCV
;;; ============================================================ ;;; ============================================================
@ -1145,7 +1159,7 @@ PascalStatus:
beq @l1 beq @l1
cmp #$01 cmp #$01
bne @l2 bne @l2
jsr LCD09 jsr UnknownEP4
bra LCB4A bra LCB4A
@l1: sec @l1: sec
@ -1216,7 +1230,7 @@ LCBFE: php
lda WNDTOP lda WNDTOP
sta $05F8 sta $05F8
LCC05: lda $05F8 LCC05: lda $05F8
jsr LCA82 jsr SetCV
lda BASL lda BASL
sta BAS2L sta BAS2L
lda BASH lda BASH
@ -1247,7 +1261,7 @@ LCC31: bit TXTPAGE2
cmp #24 cmp #24
bcc LCC05 bcc LCC05
LCC4A: plp LCC4A: plp
jmp LCA7A jmp RestoreCHCV
LCC4E: php LCC4E: php
sei sei
@ -1255,7 +1269,7 @@ LCC4E: php
lda WNDTOP lda WNDTOP
sta $05F8 sta $05F8
LCC58: lda $05F8 LCC58: lda $05F8
jsr LCA82 jsr SetCV
ldy #$13 ldy #$13
bit TXTPAGE1 bit TXTPAGE1
LCC63: lda (BASL),y LCC63: lda (BASL),y
@ -1349,7 +1363,8 @@ LCD06: pla
;;; ============================================================ ;;; ============================================================
LCD09: bit $0579 UnknownEP4:
bit $0579
bmi LCD17 bmi LCD17
LCD0E: bit KBD LCD0E: bit KBD
bmi LCD15 bmi LCD15
@ -1374,7 +1389,8 @@ LCD21: phx
beq LCD1C beq LCD1C
bra LCD15 bra LCD15
LCD35: bit $0579 UnknownEP5:
bit $0579
bmi LCD90 bmi LCD90
lda KBD lda KBD
bit KBDSTRB bit KBDSTRB
@ -1455,6 +1471,8 @@ LCDBB: adc $0200,x
cmp $04F9 cmp $04F9
rts rts
;;; ============================================================
LCDC9: phx LCDC9: phx
phy phy
jsr LCE1F jsr LCE1F
@ -1486,26 +1504,31 @@ LCDE2: jsr LCE2E
;;; ============================================================ ;;; ============================================================
LCDF7: sta WRCARDRAM UnknownEP3:
sta WRCARDRAM
lda #$00 lda #$00
tax tax
LCDFD: sta $0200,x @l1: sta $0200,x
inx inx
cpx #$0C cpx #$0C
bcc LCDFD bcc @l1
LCE05: lda LCDDF,x @l2: lda LCDDF,x
cmp #$FF cmp #$FF
beq LCE12 beq @l3
sta $0200,x sta $0200,x
inx inx
bra LCE05 bra @l2
LCE12: sta WRMAINRAM @l3: sta WRMAINRAM
stz $0579 stz $0579
LCE18: jsr LCDB3
UnknownEP2:
jsr LCDB3
sta $04F9 sta $04F9
rts rts
;;; ============================================================
LCE1F: pha LCE1F: pha
lda RDRAMRD lda RDRAMRD
sta RDMAINRAM sta RDMAINRAM
@ -1517,9 +1540,9 @@ LCE1F: pha
LCE2E: pha LCE2E: pha
sta RDMAINRAM sta RDMAINRAM
lda $07F8 lda $07F8
bpl LCE3A bpl @l1
sta RDCARDRAM sta RDCARDRAM
LCE3A: pla @l1: pla
rts rts
;;; ============================================================ ;;; ============================================================
@ -1654,7 +1677,8 @@ LCED5:
;;; ============================================================ ;;; ============================================================
;;; AUXMOVE implementation (?) ;;; AUXMOVE implementation (?)
LCEE7: bit RD80COL UnknownEP1:
bit RD80COL
php php
sta CLR80COL sta CLR80COL
bit RDRAMRD bit RDRAMRD