forked from Apple-2-HW/AppleIISd
Boot verified for IIgs, IIe 128k and IIe 64k
This commit is contained in:
parent
741624f3b5
commit
ab87f81ba8
BIN
AppleIISd.bin
BIN
AppleIISd.bin
Binary file not shown.
128
AppleIISd.hex
128
AppleIISd.hex
@ -1,68 +1,68 @@
|
||||
:10000000A220A200A203A201782CFFCF20BBCABA73
|
||||
:10001000BD00018DF807290F853D0A0A0A0A852BC4
|
||||
:10002000AA20B8C99003A92F602000C8A901854261
|
||||
:10003000A62B8643A90885456444644764462CFF83
|
||||
:10004000CF20DEC9A9018542A62B8643A90A854592
|
||||
:1000500064446447A90185462CFFCF20DEC9A62B46
|
||||
:100060004C0108D848A52B48A53D48A54048A541C6
|
||||
:10007000482CFFCF20BBCABABD00018DF807290F5D
|
||||
:10008000853D0A0A0A0A852BAA20B8C99005A92F1E
|
||||
:10009000388037A9803C83C0F02BA542C900F011FD
|
||||
:1000A000C901F012C902F013C903F014A901388084
|
||||
:1000B0001920D0C9801420DEC9800F2047CA800AC9
|
||||
:1000C00020B8CA80052000C890D0BA9D0501688577
|
||||
:1000D0004168854068853D68852B686000000000A8
|
||||
:10000000A220A200A203A2010878A960853D203D9C
|
||||
:1000100000BABD00018DF807290F28853D0A0A0A9C
|
||||
:100020000A852BAA2CFFCF20B7C99003A92F6020E7
|
||||
:1000300000C8A9018542A62B8643A90885456444CA
|
||||
:10004000644764462CFFCF20DDC9A9018542A62B59
|
||||
:100050008643A90A854564446447A90185462CFF67
|
||||
:10006000CF20DDC9A62B4C0108D848A52B48A53DBB
|
||||
:1000700048A54048A541480878A960853D203D0035
|
||||
:10008000BABD00018DF807290F28853D0A0A0A0A22
|
||||
:10009000852BAA2CFFCF20B7C99004A92F802CA9AB
|
||||
:1000A000803C83C0F020A542F00DC901F00EC902CA
|
||||
:1000B000F00FA90138801420CFC9800F20DDC9803E
|
||||
:1000C0000A2046CA80052000C890DBBA9D05016859
|
||||
:1000D000854168854068853D68852B686000000023
|
||||
:1000E0000000000000000000000000000000000010
|
||||
:1000F000000000000000000000000000FFFF876318
|
||||
:10010000D8A9039D81C0BD83C009019D83C0A907F3
|
||||
:100110009D82C0A00AA9FF9D80C03C81C010FB88C1
|
||||
:10012000D0F5BD83C029FE9D83C0A9E18540A9CA41
|
||||
:10013000854120F3C82007C9C901D041A9ED8540F8
|
||||
:10014000A9CA854120F3C82020C9C901D032A9F924
|
||||
:100150008540A9CA854120F3C82007C9A9FF854069
|
||||
:10016000A9CA854120F3C82007C9C901F0E0C90028
|
||||
:10017000D00BBD83C009109D83C04CBAC84CE1C8E8
|
||||
:10018000A9F98540A9CA854120F3C8A9058540A9D8
|
||||
:10019000CB854120F3C82007C9C901F0E3C900D0CD
|
||||
:1001A000034CBAC8A9E78540A9CA854120F3C820F5
|
||||
:1001B00007C9C901F0F6C900D027A9F38540A9CA2B
|
||||
:1001C000854120F3C82007C9C900D015BD83C009E7
|
||||
:1001D000809D83C0BD81C009049D81C018A000908E
|
||||
:1001E0000338A027BD83C009019D83C0A9009D825B
|
||||
:1001F000C098605AA000B1409D80C03C81C010FBF7
|
||||
:10020000C8C00690F17A60A9FF9D80C03C81C010F3
|
||||
:10021000FBBD80C08980D0EF48A9FF9D80C0686089
|
||||
:100220002007C9485AA004A9FF9D80C03C81C01086
|
||||
:10023000FBBD80C04888D0EFA43D6899F805689957
|
||||
:1002400078056899F804689978047AA9FF9D80C0B8
|
||||
:100250006860DA5A8AA8A63DA5469DF805A5479D7F
|
||||
:100260007805A9009DF8049D7804A9802443F00531
|
||||
:10027000A9019DF804A9103983C0D011A0091EF866
|
||||
:10028000053E78053EF8043E780488D0F17AFA609D
|
||||
:100290005AA43D9D80C0B978049D80C0B9F8049DE2
|
||||
:1002A00080C0B978059D80C0B9F8059D80C0A9FFC0
|
||||
:1002B0009D80C02007C97A6048A9403C83C018F0DF
|
||||
:1002C0000138686048A9203C83C018F00138686094
|
||||
:1002D000A90020C4C99002A92BA2FFA0FF60205250
|
||||
:1002E000C9BD83C029FE9D83C0A9512090C9C90002
|
||||
:1002F000D050A9FF9D80C0BD80C0C9FED0F4BD8193
|
||||
:10030000C009109D81C0A9FF9D80C0A000BD80C014
|
||||
:100310009144C8D0F8E645BD80C09144C8D0F8C625
|
||||
:1003200045BD80C0BD80C0BD80C0BD81C029EF9DDE
|
||||
:1003300081C018A9000848BD83C009019D83C06819
|
||||
:10034000286038A92780EE20C4C9B0672052C9BDF3
|
||||
:1003500083C029FE9D83C0A9582090C9C900D04EF2
|
||||
:10036000A9FF9D80C0A9FE9D80C0A000B1449D80D2
|
||||
:10037000C0C8D0F8E645B1449D80C0C8D0F8C64595
|
||||
:10038000A9FF9D80C09D80C09D80C0BD80C0291FE9
|
||||
:10039000C905D01A18A9000848A9FF9D80C0BD80D2
|
||||
:1003A000C0F0F6BD83C009019D83C068286038A9EC
|
||||
:1003B0002780E438A92B80DF38A901604170706C78
|
||||
:1003C000655D5B53642076302E38202863293230F7
|
||||
:1003D000313720466C6F7269616E20526569747A9C
|
||||
:1003E000004000000000954100000000F9480000B6
|
||||
:1003F00001AA875000000200FF7700000000656935
|
||||
:1004000040000000776900000000FF0000000000CD
|
||||
:1000F000000000000000000000000000FFFF976902
|
||||
:10010000A9039D81C0BD83C009019D83C0A9079D2E
|
||||
:1001100082C0A00AA9FF9D80C03C81C010FB88D08E
|
||||
:10012000F5BD83C029FE9D83C0A9DC8540A9CA8591
|
||||
:100130004120F2C82006C9C901D041A9E88540A9DB
|
||||
:10014000CA854120F2C8201FC9C901D032A9F4854F
|
||||
:1001500040A9CA854120F2C82006C9A9FA8540A94C
|
||||
:10016000CA854120F2C82006C9C901F0E0C900D003
|
||||
:100170000BBD83C009109D83C04CB9C84CE0C8A911
|
||||
:10018000F48540A9CA854120F2C8A9008540A9CBC1
|
||||
:10019000854120F2C82006C9C901F0E3C900D00397
|
||||
:1001A0004CB9C8A9E28540A9CA854120F2C82006F9
|
||||
:1001B000C9C901F0F6C900D027A9EE8540A9CA85B2
|
||||
:1001C0004120F2C82006C9C900D015BD83C00980EE
|
||||
:1001D0009D83C0BD81C009049D81C018A00090030B
|
||||
:1001E00038A027BD83C009019D83C0A9009D82C09E
|
||||
:1001F00098605AA000B1409D80C03C81C010FBC8EF
|
||||
:10020000C00690F17A60A9FF9D80C03C81C010FBC0
|
||||
:10021000BD80C08980D0EF48A9FF9D80C068602064
|
||||
:1002200006C9485AA004A9FF9D80C03C81C010FBAC
|
||||
:10023000BD80C04888D0EFA43D6899F805689978DA
|
||||
:10024000056899F804689978047AA9FF9D80C068C8
|
||||
:1002500060DA5A8AA8A63DA5469DF805A5479D786F
|
||||
:1002600005A9009DF8049D7804A9802543F005A9FF
|
||||
:10027000019DF804A9103983C0D011A0091EF8050A
|
||||
:100280003E78053EF8043E780488D0F17AFA605A48
|
||||
:10029000A43D9D80C0B978049D80C0B9F8049D80BC
|
||||
:1002A000C0B978059D80C0B9F8059D80C0A9FF9DA3
|
||||
:1002B00080C02006C97A6048A9403C83C018F0017C
|
||||
:1002C00038686048A9203C83C018F001386860A9EC
|
||||
:1002D0000020C3C99002A92BA2FFA0FF602051C932
|
||||
:1002E000BD83C029FE9D83C0A951208FC9C900D0FC
|
||||
:1002F00050A9FF9D80C0BD80C0C9FED0F4BD81C0A3
|
||||
:1003000009109D81C0A9FF9D80C0A000BD80C09143
|
||||
:1003100044C8D0F8E645BD80C09144C8D0F8C64571
|
||||
:10032000BD80C0BD80C0BD80C0BD81C029EF9D81A2
|
||||
:10033000C018A9000848BD83C009019D83C0682872
|
||||
:100340006038A92780EE20C3C9B0672051C9BD839A
|
||||
:10035000C029FE9D83C0A958208FC9C900D04EA9CD
|
||||
:10036000FF9D80C0A9FE9D80C0A000B1449D80C0BB
|
||||
:10037000C8D0F8E645B1449D80C0C8D0F8C645A9AC
|
||||
:10038000FF9D80C09D80C09D80C0BD80C0291FC9C9
|
||||
:1003900005D01A18A9000848A9FF9D80C0BD80C0DB
|
||||
:1003A000F0F6BD83C009019D83C068286038A92785
|
||||
:1003B00080E438A92B80DF4170706C655D5B53640D
|
||||
:1003C0002076302E38202863293230313720466C91
|
||||
:1003D0006F7269616E20526569747A004000000096
|
||||
:1003E00000954100000000F948000001AA87500074
|
||||
:1003F000000200FF77000000006569400000007700
|
||||
:100400006900000000FF0000000000000000000084
|
||||
:1004100000000000000000000000000000000000DC
|
||||
:1004200000000000000000000000000000000000CC
|
||||
:1004300000000000000000000000000000000000BC
|
||||
|
50
AppleIISd.s
50
AppleIISd.s
@ -63,13 +63,16 @@ INITED = $80
|
||||
LDA #$40
|
||||
|
||||
.else
|
||||
PHP
|
||||
SEI
|
||||
BIT $CFFF
|
||||
JSR KNOWNRTS
|
||||
LDA #$60 ; opcode for RTS
|
||||
STA SLOT
|
||||
JSR SLOT
|
||||
TSX
|
||||
LDA $0100,X
|
||||
STA CURSLOT ; $Cs
|
||||
AND #$0F
|
||||
PLP
|
||||
STA SLOT ; $0s
|
||||
ASL A
|
||||
ASL A
|
||||
@ -79,7 +82,7 @@ INITED = $80
|
||||
|
||||
STA SLOT16 ; $s0
|
||||
TAX ; X holds now SLOT16
|
||||
;BIT $CFFF
|
||||
BIT $CFFF
|
||||
JSR CARDDET
|
||||
BCC @INIT
|
||||
LDA #$2F ; no card inserted
|
||||
@ -213,12 +216,16 @@ DRIVER: CLD
|
||||
LDA #$40
|
||||
|
||||
.else
|
||||
BIT $CFFF
|
||||
JSR KNOWNRTS ; find slot nr
|
||||
PHP
|
||||
SEI
|
||||
LDA #$60 ; opcode for RTS
|
||||
STA SLOT
|
||||
JSR SLOT
|
||||
TSX
|
||||
LDA $0100,X
|
||||
STA CURSLOT ; $Cs
|
||||
AND #$0F
|
||||
PLP
|
||||
STA SLOT ; $0s
|
||||
ASL A
|
||||
ASL A
|
||||
@ -228,11 +235,10 @@ DRIVER: CLD
|
||||
|
||||
STA SLOT16 ; $s0
|
||||
TAX ; X holds now SLOT16
|
||||
;BIT $CFFF
|
||||
BIT $CFFF
|
||||
JSR CARDDET
|
||||
BCC @INITED
|
||||
LDA #$2F ; no card inserted
|
||||
SEC
|
||||
BRA @RESTZP
|
||||
|
||||
@INITED: LDA #INITED ; check for init
|
||||
@ -240,14 +246,11 @@ DRIVER: CLD
|
||||
BEQ @INIT
|
||||
|
||||
@CMD: LDA DCMD ; get command
|
||||
CMP #0
|
||||
BEQ @STATUS
|
||||
BEQ @STATUS ; branch if cmd is 0
|
||||
CMP #1
|
||||
BEQ @READ
|
||||
CMP #2
|
||||
BEQ @WRITE
|
||||
CMP #3
|
||||
BEQ @FORMAT
|
||||
.ifdef DEBUG
|
||||
CMP #$FF
|
||||
BEQ @TEST
|
||||
@ -262,12 +265,11 @@ DRIVER: CLD
|
||||
BRA @RESTZP
|
||||
@WRITE: JSR WRITE
|
||||
BRA @RESTZP
|
||||
@FORMAT: JSR FORMAT
|
||||
BRA @RESTZP
|
||||
.ifdef DEBUG
|
||||
@TEST: JSR TEST ; do device test
|
||||
BRA @RESTZP
|
||||
.endif
|
||||
|
||||
@INIT: JSR INIT
|
||||
BCC @CMD ; init ok
|
||||
|
||||
@ -288,8 +290,8 @@ DRIVER: CLD
|
||||
; Signature bytes
|
||||
|
||||
.segment "SLOTID"
|
||||
.dbyt $FFFF ; 65535 blocks
|
||||
.byt $87 ; Status bits
|
||||
.dbyt $FFFF ; 65535 blocks
|
||||
.byt $97 ; Status bits
|
||||
.byt <DRIVER ; LSB of driver
|
||||
|
||||
;*******************************
|
||||
@ -305,8 +307,7 @@ DRIVER: CLD
|
||||
;*******************************
|
||||
|
||||
.segment "EXTROM"
|
||||
INIT: CLD
|
||||
LDA #$03 ; set SPI mode 3
|
||||
INIT: LDA #$03 ; set SPI mode 3
|
||||
STA CTRL,X
|
||||
LDA SS,X
|
||||
ORA #SS0 ; set CS high
|
||||
@ -417,6 +418,7 @@ INIT: CLD
|
||||
CLC ; all ok
|
||||
LDY #0
|
||||
BCC @END1
|
||||
|
||||
@IOERROR: SEC
|
||||
LDY #$27 ; init error
|
||||
@END1: LDA SS,X ; set CS high
|
||||
@ -527,7 +529,7 @@ GETBLOCK: PHX ; save X
|
||||
STA R30,X
|
||||
|
||||
LDA #$80 ; drive number
|
||||
BIT $43
|
||||
AND $43
|
||||
BEQ @SDHC ; D1
|
||||
LDA #1 ; D2
|
||||
STA R31,X
|
||||
@ -792,18 +794,6 @@ WRITE: JSR WRPROT
|
||||
|
||||
|
||||
|
||||
;*******************************
|
||||
;
|
||||
; Format
|
||||
; not supported!
|
||||
;
|
||||
;*******************************
|
||||
|
||||
FORMAT: SEC
|
||||
LDA #$01 ; invalid command
|
||||
KNOWNRTS: RTS
|
||||
|
||||
|
||||
;*******************************
|
||||
;
|
||||
; Test routine
|
||||
|
Loading…
Reference in New Issue
Block a user