Boot verified for IIgs, IIe 128k and IIe 64k

This commit is contained in:
Florian Reitz 2017-11-29 01:20:44 +01:00
parent 741624f3b5
commit ab87f81ba8
3 changed files with 84 additions and 94 deletions

Binary file not shown.

View File

@ -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

View File

@ -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