Desktop: Improve s4 infos

This commit is contained in:
Joshua Bell 2017-12-30 18:02:15 -08:00
parent 4ec1ff2e61
commit bf7976ee40
7 changed files with 702 additions and 1395 deletions

View File

@ -11,7 +11,7 @@ function daseg {
}
#daseg s0_loader 2000
#daseg s4_main1 4000
daseg s4_main1 4000
#daseg 12680_1BCDF
make

View File

@ -4,6 +4,7 @@ GLOBAL {
CPU "65C02";
};
# Softswitches / I/O ROM
LABEL { NAME "RAMRDOFF"; ADDR $C002; };
LABEL { NAME "RAMRDON"; ADDR $C003; };
LABEL { NAME "RAMWRTOFF"; ADDR $C004; };
@ -14,10 +15,14 @@ LABEL { NAME "LCBANK1"; ADDR $C08B; };
LABEL { NAME "AUXMOVE"; ADDR $C311; };
LABEL { NAME "XFER"; ADDR $C314; };
# A2Desktop
LABEL { NAME "A2D"; ADDR $4000; };
LABEL { NAME "UNKNOWN_CALL"; ADDR $8E00; };
LABEL { NAME "MLI"; ADDR $BF00; };
LABEL { NAME "A2D_RELAY"; ADDR $D000; };
LABEL { NAME "DESKTOP_RELAY"; ADDR $D040; };
# Applesoft
LABEL { NAME "FSUB"; ADDR $E7A7; };
LABEL { NAME "FADD"; ADDR $E7BE; };
LABEL { NAME "FMULT"; ADDR $E97F; };
@ -27,15 +32,43 @@ LABEL { NAME "FLOAT"; ADDR $EB93; };
LABEL { NAME "FIN"; ADDR $EC4A; };
LABEL { NAME "FOUT"; ADDR $ED34; };
# Monitor
LABEL { NAME "INIT"; ADDR $FB2F; };
LABEL { NAME "BELL1"; ADDR $FBDD; };
LABEL { NAME "HOME"; ADDR $FC58; };
LABEL { NAME "COUT"; ADDR $FDED; };
LABEL { NAME "SETKBD"; ADDR $FE89; };
LABEL { NAME "SETVID"; ADDR $FE93; };
#RANGE { START $8800; END $939E; TYPE ByteTable; };
#RANGE { START $DA20; END $DAFF; TYPE ByteTable; };
#RANGE { START $E690; END $E6BF; TYPE ByteTable; };
#RANGE { START $FB00; END $FFFF; TYPE ByteTable; };
RANGE { START $46ce; END $46ce; TYPE ByteTable; };
RANGE { START $46cf; END $46d0; TYPE AddrTable; };
RANGE { START $50f6; END $50f6; TYPE ByteTable; };
RANGE { START $50f7; END $50f8; TYPE AddrTable; };
RANGE { START $83DB; END $8490; TYPE ByteTable; };
RANGE { START $40df; END $40df; TYPE ByteTable; };
RANGE { START $40f0; END $40f1; TYPE ByteTable; };
RANGE { START $42c3; END $4359; TYPE ByteTable; };
RANGE { START $4596; END $45b1; TYPE ByteTable; };
RANGE { START $4637; END $464d; TYPE ByteTable; };
RANGE { START $46e1; END $46f2; TYPE ByteTable; };
RANGE { START $47a6; END $47b7; TYPE ByteTable; };
RANGE { START $4816; END $4841; TYPE ByteTable; };
RANGE { START $485d; END $4889; TYPE ByteTable; };
RANGE { START $498f; END $49a1; TYPE ByteTable; };
RANGE { START $4c76; END $4ca1; TYPE ByteTable; };
RANGE { START $4f67; END $4fb6; TYPE ByteTable; };
RANGE { START $5098; END $50a9; TYPE ByteTable; };
RANGE { START $7057; END $70c4; TYPE ByteTable; };
RANGE { START $7620; END $7634; TYPE ByteTable; };
RANGE { START $7764; END $7767; TYPE ByteTable; };
RANGE { START $8ac3; END $8af2; TYPE ByteTable; };
RANGE { START $8e1a; END $8e80; TYPE ByteTable; };
RANGE { START $92c0; END $92e6; TYPE ByteTable; };
RANGE { START $9705; END $97e4; TYPE ByteTable; };
RANGE { START $992d; END $9939; TYPE ByteTable; };
RANGE { START $a503; END $a51f; TYPE ByteTable; };
RANGE { START $b39c; END $b3bf; TYPE ByteTable; };
RANGE { START $bec4; END $beff; TYPE ByteTable; };

View File

@ -7,6 +7,11 @@
.setcpu "65C02"
.include "apple2.inc"
.include "../inc/apple2.inc"
.include "../inc/auxmem.inc"
.include "../inc/prodos.inc"
L02B4 := $02B4
L02B6 := $02B6
L02C3 := $02C3
@ -28,30 +33,7 @@ L118B := $118B
A2D := $4000
L7ECA := $7ECA
UNKNOWN_CALL := $8E00
MLI := $BF00
RAMRDOFF := $C002
RAMRDON := $C003
RAMWRTOFF := $C004
RAMWRTON := $C005
ALTZPOFF := $C008
ALTZPON := $C009
LCBANK1 := $C08B
LC300 := $C300
AUXMOVE := $C311
XFER := $C314
FSUB := $E7A7
FADD := $E7BE
FMULT := $E97F
FDIV := $EA66
ROUND := $EB2B
FLOAT := $EB93
FIN := $EC4A
FOUT := $ED34
LFC22 := $FC22
LFC58 := $FC58
COUT := $FDED
LFE89 := $FE89
LFE93 := $FE93
L2000: lda $C083
L2003: lda $C083
ldy #$00
@ -94,13 +76,13 @@ L204B: .byte $6B,$54,$6F,$70,$08,$44,$65,$73
.byte $1E,$00,$04,$00,$00,$01,$00,$01
.byte $90,$11,$03,$28,$10,$00,$1A,$00
lda $C082
jsr LFE93
jsr LFE89
jsr SETVID
jsr SETKBD
sta $C00C
sta $C00F
sta $C000
jsr LC300
L2080: jsr LFC58
jsr SLOT3ENTRY
L2080: jsr HOME
lda #$00
sta $C035
lda #$40
@ -110,7 +92,7 @@ L2080: jsr LFC58
sta RAMWRTOFF
lda #$0C
sta $25
jsr LFC22
jsr VTAB
lda #$50
sec
sbc $100F
@ -197,11 +179,11 @@ L2142: jsr MLI
L214D: jmp L2000
jsr LC300
jsr LFC58
jsr SLOT3ENTRY
jsr HOME
lda #$0C
sta $25
jsr LFC22
jsr VTAB
lda #$50
sec
sbc $1160

View File

@ -13244,7 +13244,7 @@ L8813 := $8813
;; SET_POS with params at (X,A) followed by DRAW_TEXT call
.proc LD01C
.proc SETPOS_RELAY
sta addr
stx addr+1
sta RAMRDON
@ -13258,8 +13258,8 @@ L8813 := $8813
rts
.endproc
;; DESKTOP call from aux>main, call in Y params at (X,A)
.proc LD040
;; DESKTOP call from main>aux, call in Y params at (X,A)
.proc DESKTOP_RELAY
sty addr-1
sta addr
stx addr+1

File diff suppressed because it is too large Load Diff

View File

@ -19,3 +19,12 @@ KEY_LEFT := $08
KEY_DOWN := $0A
KEY_UP := $0B
KEY_RIGHT := $15
;;; Monitor
INIT := $FB2F
BELL1 := $FBDD
VTAB := $FC22
HOME := $FC58
COUT := $FDED
SETKBD := $FE89
SETVID := $FE93

View File

@ -21,6 +21,7 @@ HIRESOFF := $C057
DHIRESON := $C05E
;;; Routines
SLOT3ENTRY := $C300
AUXMOVE := $C311 ; carry set main>aux, carry clear aux>main
XFER := $C314