bradgrantham-apple2e/switches.txt
Brad Grantham 604bf07b4f Partially implement floppy disks
Floppy disks partially work:
    apple2e -noaudio -fast -diskII disk2romfile {floppy1name,"none"} {floppy2name,"none"} apple2e.rom

Import nybblizer from Shamus but only DOS
Support floppy hardware
    track motor stepper
    enable
    read
Add -noaudio (otherwise execution is throttled by waits once audio buffer is filled)
Only read ROM at D000 and E000 if C08X_read_RAM isn't turned on
RAMRD, RAMWRT, and ALTZP are implemented, note them as such in constructor
Correctly decode C08X soft switches
Implement a bunch more instructions
    INC abs
    LDY abs, X
    SBC abs, Y
    ADC abs
    ASL abs
    LSR abs, X
    ORA abs
    ORA abs, X
    AND abs, Y
    STA (ind, X)
    LDX abs
    CPX abs
    EOR (ind, X)
    EOR abs
    EOR abs, X
    STX abs
Throttle to actual number of clocks per instruction
Temporarily enable "Fake6502" instead of my CPU because there's an obvious difference
Better blink speed in interface.cpp
2016-11-27 17:10:03 -08:00

98 lines
5.7 KiB
Plaintext

soft switch with W 2 addresses, read high bit
C002 49154 RDMAINRAM ECG W If 80STORE Off: Read Main Mem $0200-$BFFF
C003 49155 RDCARDRAM ECG W If 80STORE Off: Read Aux Mem $0200-$BFFF
C013 49171 RDRAMRD ECG R7 Status of Main/Aux RAM Reading
C004 49156 WRMAINRAM ECG W If 80STORE Off: Write Main Mem $0200-$BFFF
C005 49157 WRCARDRAM ECG W If 80STORE Off: Write Aux Mem $0200-$BFFF
C014 49172 RDRAMWRT ECG R7 Status of Main/Aux RAM Writing
C006 49158 SETSLOTCXROM E G W Peripheral ROM ($C100-$CFFF)
C007 49159 SETINTCXROM E G W Internal ROM ($C100-$CFFF)
C015 49173 RDCXROM E G R7 Status of Periph/ROM Access
C008 49160 SETSTDZP ECG W Main Stack and Zero Page
C009 49161 SETALTZP ECG W Aux Stack and Zero Page
C016 49174 RDALTZP ECG R7 Status of Main/Aux Stack and Zero Page
C00A 49162 SETINTC3ROM E G W ROM in Slot 3
C00B 49163 SETSLOTC3ROM E G W ROM in Aux Slot
C017 49175 RDC3ROM E G R7 Status of Slot 3/Aux Slot ROM
C000 80STOREOFF ECG W Use $C002-$C005 for Aux Memory
C001 49153 80STOREON ECG W Use PAGE2 for Aux Memory
C018 49176 RD80STORE ECG R7 Status of $C002-$C005/PAGE2 for Aux Mem
C00E 49166 CLRALTCHAR ECG W Primary Character Set
C00F 49167 SETALTCHAR ECG W Alternate Character Set
C01E 49182 RDALTCHAR ECG R7 Status of Primary/Alternate Character Set
C00C 49164 CLR80VID ECG W 40 Columns
C00D 49165 SET80VID ECG W 80 Columns
C01F 49183 RD80VID ECG R7 Status of 40/80 Columns
???
C011 49169 RDLCBNK2 ECG R7 Status of Selected $Dx Bank
C012 49170 RDLCRAM ECG R7 Status of $Dx ROM / $Dx RAM
soft switch with R/W 2 addresses, read high bit
C050 49232 TXTCLR OECG WR Display Graphics
C051 49233 TXTSET OECG WR Display Text
C01A 49178 RDTEXT ECG R7 Status of Text/Graphics
C052 49234 MIXCLR OECG WR Display Full Screen
C053 49235 MIXSET OECG WR Display Split Screen
C01B 49179 RDMIXED ECG R7 Status of Full Screen/Mixed Graphics
C054 49236 TXTPAGE1 OECG WR Display Page 1
C055 49237 TXTPAGE2 OECG WR If 80STORE Off: Display Page 2
ECG WR If 80STORE On: Read/Write Aux Display Mem
C01C 49180 RDPAGE2 ECG R7 Status of Page 1/Page 2
C056 49238 LORES OECG WR Display LoRes Graphics
C057 49239 HIRES OECG WR Display HiRes Graphics
C01D 49181 RDHIRES ECG R7 Status of LoRes/HiRes
C000 49152 KBD OECG R Last Key Pressed + 128
C010 49168 KBDSTRB OECG WR Keyboard Strobe
C019 49177 RDVBL E G R7 Vertical Blanking (E:1=drawing G:0=drawing)
C020 49184 TAPEOUT OE R Toggle Cassette Tape Output
C028 49192 ROMBANK ???? ROM bank select toggle
C02C 49196 CHARROM ???? Addr for test mode read of character ROM
C02E 49198 VERTCNT ???? Addr for read of video cntr bits V5-VB
C02F 49199 HORIZCNT ???? Addr for read of video cntr bits VA-H0
C030 48200 SPKR OECG R Toggle Speaker
C040 49216 STROBE OE R Game I/O Strobe Output
C058 49240 CLRAN0 OE G WR If IOUDIS off: Annunciator 0 Off
C059 49241 SETAN0 OE G WR If IOUDIS off: Annunciator 0 On
C05A 49242 CLRAN1 OE G WR If IOUDIS off: Annunciator 1 Off
C05B 49243 SETAN1 OE G WR If IOUDIS off: Annunciator 1 On
C05C 49244 CLRAN2 OE G WR If IOUDIS off: Annunciator 2 Off
C05D 49245 SETAN2 OE G WR If IOUDIS off: Annunciator 2 On
C05E 49246 CLRAN3 OE G WR If IOUDIS off: Annunciator 3 Off
DHIRESON ECG WR In 80-Column Mode: Double Width Graphics
C05F 49247 SETAN3 OE G WR If IOUDIS off: Annunciator 3 On
DHIRESOFF ECG WR In 80-Column Mode: Single Width Graphics
C060 49248 TAPEIN OE R7 Read Cassette Input
C061 49249 RDBTN0 ECG R7 Switch Input 0 / Open Apple
C062 49250 BUTN1 E G R7 Switch Input 1 / Solid Apple
C063 49251 RD63 E G R7 Switch Input 2 / Shift Key
C064 49252 PADDL0 OECG R7 Analog Input 0
C065 49253 PADDL1 OECG R7 Analog Input 1
C066 49254 PADDL2 OE G R7 Analog Input 2
C067 49255 PADDL3 OE G R7 Analog Input 3
C070 49264 PTRIG E R Analog Input Reset
C073 49267 BANKSEL ECG W Memory Bank Select for > 128K
C07E 49278 IOUDISON EC W Disable IOU
RDIOUDIS EC R7 Status of IOU Disabling
C07F 49279 IOUDISOFF EC W Enable IOU
RDDHIRES EC R7 Status of Double HiRes
C080 49280 OECG R Read RAM bank 2; no write
C081 49281 ROMIN OECG RR Read ROM; write RAM bank 2
C082 49282 OECG R Read ROM; no write
C083 49283 LCBANK2 OECG RR Read/write RAM bank 2
C084 49284 OECG R Read RAM bank 2; no write
C085 49285 ROMIN OECG RR Read ROM; write RAM bank 2
C086 49286 OECG R Read ROM; no write
C087 49287 LCBANK2 OECG RR Read/write RAM bank 2
C088 49288 OECG R Read RAM bank 1; no write
C089 49289 OECG RR Read ROM; write RAM bank 1
C08A 49290 OECG R Read ROM; no write
C08B 49291 OECG RR Read/write RAM bank 1
C08C 49292 OECG R Read RAM bank 1; no write
C08D 49293 OECG RR Read ROM; write RAM bank 1
C08E 49294 OECG R Read ROM; no write
C08F 49295 OECG RR Read/write RAM bank 1