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