1.2 for disk insertion

This commit is contained in:
Antoine Vignau 2023-07-01 22:15:39 +02:00
parent 11953a3d8f
commit 6ad6c559d6
6 changed files with 471 additions and 458 deletions

View File

@ -44,6 +44,7 @@ SD_ADDRESS_SET_MSB_3 = $e40006
SD_START_READ = $e40008 ; starts reading the sector (if it was idle)
SD_ACCESS = $e4000a
SD_START_WRITE = $e4000c ; starts writing the sector (if it was idle)
SD_CARD_INSERTED = $e40012 ; 0: no card inserted, 1: card inserted
STA_NOINIT = 1 ; Drive not initialized
STA_NODISK = 2 ; No medium in the drive

View File

@ -12,6 +12,9 @@
*
* v1.1 (202306) - AV
* Writes a sector too!
*
* v1.2 (202307) - AV
* Uses disk insertion status
*
mx %00
@ -259,8 +262,10 @@ SGetStatus lda #2 ; GetDeviceStatus
sta [statusListPtr],y
SGS1 ldx #diskInDriveBit
lda fgSTARTED ; send the status of the driver
bne SGS2
ldal SD_CARD_INSERTED ; check if a card is inserted
and #$ff
cmp #1
beq SGS2 ; yes, a SD card is inserted
inx
SGS2 txa
ora #uncertainBlockCountBit ; we are uncertain of the block count
@ -378,13 +383,15 @@ ds6 lda requestCount ; assume transfer=request
*----------------------------
checkSWITCHED
lda fgSTARTED
bne cs1
ldal SD_CARD_INSERTED
and #$ff
cmp #1
beq cs1
jsl SET_DISKSW
lda #1
sta fgSTARTED
* lda #1
* sta fgSTARTED
lda #$002e
sta errCODE
sec

Binary file not shown.

View File

@ -69,463 +69,468 @@
66 | 2 AS.EQUATES.S 44 | Equivalence | 00 | | 0 | 00/0000 | SD_START_READ = $e40008 ; starts reading the sector (if it was idle)
67 | 2 AS.EQUATES.S 45 | Equivalence | 00 | | 0 | 00/0000 | SD_ACCESS = $e4000a
68 | 2 AS.EQUATES.S 46 | Equivalence | 00 | | 0 | 00/0000 | SD_START_WRITE = $e4000c ; starts writing the sector (if it was idle)
69 | 2 AS.EQUATES.S 47 | Empty | 00 | | 0 | 00/0000 |
70 | 2 AS.EQUATES.S 48 | Equivalence | 00 | | 0 | 00/0000 | STA_NOINIT = 1 ; Drive not initialized
71 | 2 AS.EQUATES.S 49 | Equivalence | 00 | | 0 | 00/0000 | STA_NODISK = 2 ; No medium in the drive
72 | 2 AS.EQUATES.S 50 | Empty | 00 | | 0 | 00/0000 |
73 | 2 AS.EQUATES.S 51 | Equivalence | 00 | | 0 | 00/0000 | TRUE = 1
74 | 2 AS.EQUATES.S 52 | Equivalence | 00 | | 0 | 00/0000 | FALSE = 0
75 | 2 AS.EQUATES.S 53 | Empty | 00 | | 0 | 00/0000 |
76 | 2 AS.EQUATES.S 54 | Equivalence | 00 | | 0 | 00/0000 | minVERSION = 7 ; minimum core version to handle the driver
77 | 2 AS.EQUATES.S 55 | Empty | 00 | | 0 | 00/0000 |
78 | 2 AS.EQUATES.S 56 | Comment | 00 | | 0 | 00/0000 | *--- Speed settings
79 | 2 AS.EQUATES.S 57 | Comment | 00 | | 0 | 00/0000 | * From 233 (3 MHz) to 255 (full speed)
80 | 2 AS.EQUATES.S 58 | Comment | 00 | | 0 | 00/0000 | * Setting is not preserved
81 | 2 AS.EQUATES.S 59 | Empty | 00 | | 0 | 00/0000 |
82 | 2 AS.EQUATES.S 60 | Equivalence | 00 | | 0 | 00/0000 | AS_SPEED = $e50000 ; just write a speed byte
83 | 2 AS.EQUATES.S 61 | Empty | 00 | | 0 | 00/0000 |
84 | 2 AS.EQUATES.S 62 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
85 | 2 AS.EQUATES.S 63 | Comment | 00 | | 0 | 00/0000 | * GS/OS EQUATES
86 | 2 AS.EQUATES.S 64 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
87 | 2 AS.EQUATES.S 65 | Empty | 00 | | 0 | 00/0000 |
88 | 2 AS.EQUATES.S 66 | Equivalence | 00 | | 0 | 00/0000 | GSOS2 = $E100B0
89 | 2 AS.EQUATES.S 67 | Equivalence | 00 | | 0 | 00/0000 | MOVE_INFO = $01FC70
90 | 2 AS.EQUATES.S 68 | Equivalence | 00 | | 0 | 00/0000 | SET_DISKSW = $01FC90
91 | 2 AS.EQUATES.S 69 | Empty | 00 | | 0 | 00/0000 |
92 | 2 AS.EQUATES.S 70 | Equivalence | 00 | | 0 | 00/0000 | uncertainBlockCountBit = $8000
93 | 2 AS.EQUATES.S 71 | Equivalence | 00 | | 0 | 00/0000 | diskSwitchedBit = $0001
94 | 2 AS.EQUATES.S 72 | Equivalence | 00 | | 0 | 00/0000 | diskInDriveBit = $0010
95 | 2 AS.EQUATES.S 73 | Equivalence | 00 | | 0 | 00/0000 | diskModifyBit = $0100
96 | 2 AS.EQUATES.S 74 | Empty | 00 | | 0 | 00/0000 |
97 | 2 AS.EQUATES.S 75 | Equivalence | 00 | | 0 | 00/0000 | devHDD = $0013 ; device ID for HDD (generic)
98 | 2 AS.EQUATES.S 76 | Empty | 00 | | 0 | 00/0000 |
99 | 2 AS.EQUATES.S 77 | Equivalence | 00 | | 0 | 00/0000 | dchar = $08
100 | 2 AS.EQUATES.S 78 | Equivalence | 00 | | 0 | 00/0000 | dblockcount = $0a
101 | 2 AS.EQUATES.S 79 | Equivalence | 00 | | 0 | 00/0000 | ddeviceid = $34
102 | 2 AS.EQUATES.S 80 | Equivalence | 00 | | 0 | 00/0000 | ddevnumber = $3e
103 | 2 AS.EQUATES.S 81 | Empty | 00 | | 0 | 00/0000 |
104 | 2 AS.EQUATES.S 82 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
105 | 2 AS.EQUATES.S 83 | Comment | 00 | | 0 | 00/0000 | * GS/OS DIRECT PAGE
106 | 2 AS.EQUATES.S 84 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
107 | 2 AS.EQUATES.S 85 | Empty | 00 | | 0 | 00/0000 |
108 | 2 AS.EQUATES.S 86 | Equivalence | 00 | | 0 | 00/0000 | deviceNum = $00
109 | 2 AS.EQUATES.S 87 | Equivalence | 00 | | 0 | 00/0000 | callNum = $02
110 | 2 AS.EQUATES.S 88 | Equivalence | 00 | | 0 | 00/0000 | bufferPtr = $04
111 | 2 AS.EQUATES.S 89 | Equivalence | 00 | | 0 | 00/0000 | statusListPtr = $04
112 | 2 AS.EQUATES.S 90 | Equivalence | 00 | | 0 | 00/0000 | controlListPtr = $04
113 | 2 AS.EQUATES.S 91 | Equivalence | 00 | | 0 | 00/0000 | requestCount = $08
114 | 2 AS.EQUATES.S 92 | Equivalence | 00 | | 0 | 00/0000 | transferCount = $0C
115 | 2 AS.EQUATES.S 93 | Equivalence | 00 | | 0 | 00/0000 | blockNum = $10
116 | 2 AS.EQUATES.S 94 | Equivalence | 00 | | 0 | 00/0000 | blockSize = $14
117 | 2 AS.EQUATES.S 95 | Equivalence | 00 | | 0 | 00/0000 | FSTNum = $16 ; *
118 | 2 AS.EQUATES.S 96 | Equivalence | 00 | | 0 | 00/0000 | statusCode = $16 ; *
119 | 2 AS.EQUATES.S 97 | Equivalence | 00 | | 0 | 00/0000 | controlCode = $16 ; *
120 | 2 AS.EQUATES.S 98 | Equivalence | 00 | | 0 | 00/0000 | volumeID = $18
121 | 2 AS.EQUATES.S 99 | Equivalence | 00 | | 0 | 00/0000 | cachePriority = $1A
122 | 2 AS.EQUATES.S 100 | Equivalence | 00 | | 0 | 00/0000 | cachePointer = $1C
123 | 2 AS.EQUATES.S 101 | Equivalence | 00 | | 0 | 00/0000 | dibPointer = $20
124 | 2 AS.EQUATES.S 102 | Empty | 00 | | 0 | 00/0000 |
69 | 2 AS.EQUATES.S 47 | Equivalence | 00 | | 0 | 00/0000 | SD_CARD_INSERTED = $e40012 ; 0: no card inserted, 1: card inserted
70 | 2 AS.EQUATES.S 48 | Empty | 00 | | 0 | 00/0000 |
71 | 2 AS.EQUATES.S 49 | Equivalence | 00 | | 0 | 00/0000 | STA_NOINIT = 1 ; Drive not initialized
72 | 2 AS.EQUATES.S 50 | Equivalence | 00 | | 0 | 00/0000 | STA_NODISK = 2 ; No medium in the drive
73 | 2 AS.EQUATES.S 51 | Empty | 00 | | 0 | 00/0000 |
74 | 2 AS.EQUATES.S 52 | Equivalence | 00 | | 0 | 00/0000 | TRUE = 1
75 | 2 AS.EQUATES.S 53 | Equivalence | 00 | | 0 | 00/0000 | FALSE = 0
76 | 2 AS.EQUATES.S 54 | Empty | 00 | | 0 | 00/0000 |
77 | 2 AS.EQUATES.S 55 | Equivalence | 00 | | 0 | 00/0000 | minVERSION = 7 ; minimum core version to handle the driver
78 | 2 AS.EQUATES.S 56 | Empty | 00 | | 0 | 00/0000 |
79 | 2 AS.EQUATES.S 57 | Comment | 00 | | 0 | 00/0000 | *--- Speed settings
80 | 2 AS.EQUATES.S 58 | Comment | 00 | | 0 | 00/0000 | * From 233 (3 MHz) to 255 (full speed)
81 | 2 AS.EQUATES.S 59 | Comment | 00 | | 0 | 00/0000 | * Setting is not preserved
82 | 2 AS.EQUATES.S 60 | Empty | 00 | | 0 | 00/0000 |
83 | 2 AS.EQUATES.S 61 | Equivalence | 00 | | 0 | 00/0000 | AS_SPEED = $e50000 ; just write a speed byte
84 | 2 AS.EQUATES.S 62 | Empty | 00 | | 0 | 00/0000 |
85 | 2 AS.EQUATES.S 63 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
86 | 2 AS.EQUATES.S 64 | Comment | 00 | | 0 | 00/0000 | * GS/OS EQUATES
87 | 2 AS.EQUATES.S 65 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
88 | 2 AS.EQUATES.S 66 | Empty | 00 | | 0 | 00/0000 |
89 | 2 AS.EQUATES.S 67 | Equivalence | 00 | | 0 | 00/0000 | GSOS2 = $E100B0
90 | 2 AS.EQUATES.S 68 | Equivalence | 00 | | 0 | 00/0000 | MOVE_INFO = $01FC70
91 | 2 AS.EQUATES.S 69 | Equivalence | 00 | | 0 | 00/0000 | SET_DISKSW = $01FC90
92 | 2 AS.EQUATES.S 70 | Empty | 00 | | 0 | 00/0000 |
93 | 2 AS.EQUATES.S 71 | Equivalence | 00 | | 0 | 00/0000 | uncertainBlockCountBit = $8000
94 | 2 AS.EQUATES.S 72 | Equivalence | 00 | | 0 | 00/0000 | diskSwitchedBit = $0001
95 | 2 AS.EQUATES.S 73 | Equivalence | 00 | | 0 | 00/0000 | diskInDriveBit = $0010
96 | 2 AS.EQUATES.S 74 | Equivalence | 00 | | 0 | 00/0000 | diskModifyBit = $0100
97 | 2 AS.EQUATES.S 75 | Empty | 00 | | 0 | 00/0000 |
98 | 2 AS.EQUATES.S 76 | Equivalence | 00 | | 0 | 00/0000 | devHDD = $0013 ; device ID for HDD (generic)
99 | 2 AS.EQUATES.S 77 | Empty | 00 | | 0 | 00/0000 |
100 | 2 AS.EQUATES.S 78 | Equivalence | 00 | | 0 | 00/0000 | dchar = $08
101 | 2 AS.EQUATES.S 79 | Equivalence | 00 | | 0 | 00/0000 | dblockcount = $0a
102 | 2 AS.EQUATES.S 80 | Equivalence | 00 | | 0 | 00/0000 | ddeviceid = $34
103 | 2 AS.EQUATES.S 81 | Equivalence | 00 | | 0 | 00/0000 | ddevnumber = $3e
104 | 2 AS.EQUATES.S 82 | Empty | 00 | | 0 | 00/0000 |
105 | 2 AS.EQUATES.S 83 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
106 | 2 AS.EQUATES.S 84 | Comment | 00 | | 0 | 00/0000 | * GS/OS DIRECT PAGE
107 | 2 AS.EQUATES.S 85 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
108 | 2 AS.EQUATES.S 86 | Empty | 00 | | 0 | 00/0000 |
109 | 2 AS.EQUATES.S 87 | Equivalence | 00 | | 0 | 00/0000 | deviceNum = $00
110 | 2 AS.EQUATES.S 88 | Equivalence | 00 | | 0 | 00/0000 | callNum = $02
111 | 2 AS.EQUATES.S 89 | Equivalence | 00 | | 0 | 00/0000 | bufferPtr = $04
112 | 2 AS.EQUATES.S 90 | Equivalence | 00 | | 0 | 00/0000 | statusListPtr = $04
113 | 2 AS.EQUATES.S 91 | Equivalence | 00 | | 0 | 00/0000 | controlListPtr = $04
114 | 2 AS.EQUATES.S 92 | Equivalence | 00 | | 0 | 00/0000 | requestCount = $08
115 | 2 AS.EQUATES.S 93 | Equivalence | 00 | | 0 | 00/0000 | transferCount = $0C
116 | 2 AS.EQUATES.S 94 | Equivalence | 00 | | 0 | 00/0000 | blockNum = $10
117 | 2 AS.EQUATES.S 95 | Equivalence | 00 | | 0 | 00/0000 | blockSize = $14
118 | 2 AS.EQUATES.S 96 | Equivalence | 00 | | 0 | 00/0000 | FSTNum = $16 ; *
119 | 2 AS.EQUATES.S 97 | Equivalence | 00 | | 0 | 00/0000 | statusCode = $16 ; *
120 | 2 AS.EQUATES.S 98 | Equivalence | 00 | | 0 | 00/0000 | controlCode = $16 ; *
121 | 2 AS.EQUATES.S 99 | Equivalence | 00 | | 0 | 00/0000 | volumeID = $18
122 | 2 AS.EQUATES.S 100 | Equivalence | 00 | | 0 | 00/0000 | cachePriority = $1A
123 | 2 AS.EQUATES.S 101 | Equivalence | 00 | | 0 | 00/0000 | cachePointer = $1C
124 | 2 AS.EQUATES.S 102 | Equivalence | 00 | | 0 | 00/0000 | dibPointer = $20
125 | 2 AS.EQUATES.S 103 | Empty | 00 | | 0 | 00/0000 |
126 | 1 ASSD.DRIVER.S 23 | Empty | 00 | | 0 | 00/0000 |
127 | 1 ASSD.DRIVER.S 24 | Directive | 00 | | 0 | 00/0000 | use 4/Util.Macs
128 | 1 ASSD.DRIVER.S 25 | Empty | 00 | | 0 | 00/0000 |
129 | 1 ASSD.DRIVER.S 26 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
130 | 1 ASSD.DRIVER.S 27 | Comment | 00 | | 0 | 00/0000 | * AS DRIVER EQUATES
131 | 1 ASSD.DRIVER.S 28 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
132 | 1 ASSD.DRIVER.S 29 | Empty | 00 | | 0 | 00/0000 |
133 | 1 ASSD.DRIVER.S 30 | Equivalence | 00 | | 0 | 00/0000 | maxIMAGES = 1 ; no more than N images
134 | 1 ASSD.DRIVER.S 31 | Equivalence | 00 | | 0 | 00/0000 | blockSIZE = 512 ; ProDOS 8 block size
135 | 1 ASSD.DRIVER.S 32 | Equivalence | 00 | | 0 | 00/0000 | maxBLOCKS = $ffffffff ; that is a huge number of blocks
136 | 1 ASSD.DRIVER.S 33 | Empty | 00 | | 0 | 00/0000 |
137 | 1 ASSD.DRIVER.S 34 | Comment | 00 | | 0 | 00/0000 | * 0 0000
138 | 1 ASSD.DRIVER.S 35 | Comment | 00 | | 0 | 00/0000 | * 3 0011 not speed dependent
139 | 1 ASSD.DRIVER.S 36 | Comment | 00 | | 0 | 00/0000 | * E 1110 block device + write allowed + read allowed
140 | 1 ASSD.DRIVER.S 37 | Comment | 00 | | 0 | 00/0000 | * C 1100 format allowed + removable media
141 | 1 ASSD.DRIVER.S 38 | Empty | 00 | | 0 | 00/0000 |
142 | 1 ASSD.DRIVER.S 39 | Equivalence | 00 | | 0 | 00/0000 | dftCHAR = $03EC ; default characteristics
143 | 1 ASSD.DRIVER.S 40 | Equivalence | 00 | | 0 | 00/0000 | dftSLOT = $8000 ; not slot dependent
144 | 1 ASSD.DRIVER.S 41 | Equivalence | 00 | | 0 | 00/0000 | dftUNIT = $0001 ; unit 1
145 | 1 ASSD.DRIVER.S 42 | Equivalence | 00 | | 0 | 00/0000 | dftVERSION = $1000 ; v1
146 | 1 ASSD.DRIVER.S 43 | Empty | 00 | | 0 | 00/0000 |
147 | 1 ASSD.DRIVER.S 44 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------------------
148 | 1 ASSD.DRIVER.S 45 | Empty | 00 | | 0 | 00/0000 |
149 | 1 ASSD.DRIVER.S 46 | Comment | 00 | | 0 | 00/0000 | *
150 | 1 ASSD.DRIVER.S 47 | Comment | 00 | | 0 | 00/0000 | * Entry point
151 | 1 ASSD.DRIVER.S 48 | Comment | 00 | | 0 | 00/0000 | *
152 | 1 ASSD.DRIVER.S 49 | Empty | 00 | | 0 | 00/0000 |
153 | 1 ASSD.DRIVER.S 50 | Data | 00 | | 2 | 00/0000 : E9 01 | RAMDisk da MyDIB-RAMDisk ; offset to 1st DIB
154 | 1 ASSD.DRIVER.S 51 | Data | 00 | | 2 | 00/0002 : 01 00 | dw {1} ; number of devices
155 | 1 ASSD.DRIVER.S 52 | Data | 00 | | 2 | 00/0004 : 00 00 | dw $0000 ; no configuration list
156 | 1 ASSD.DRIVER.S 53 | Empty | 00 | | 0 | 00/0006 |
157 | 1 ASSD.DRIVER.S 54 | Comment | 00 | | 0 | 00/0006 | *
158 | 1 ASSD.DRIVER.S 55 | Comment | 00 | | 0 | 00/0006 | * Dispatch routine
159 | 1 ASSD.DRIVER.S 56 | Comment | 00 | | 0 | 00/0006 | *
160 | 1 ASSD.DRIVER.S 57 | Empty | 00 | | 0 | 00/0006 |
161 | 1 ASSD.DRIVER.S 58 | Code | 00 | | 1 | 00/0006 : 4B | entryPOINT phk ; Dispatch
162 | 1 ASSD.DRIVER.S 59 | Code | 00 | | 1 | 00/0007 : AB | plb
163 | 1 ASSD.DRIVER.S 60 | Code | 00 | | 3 | 00/0008 : C9 09 00 | cmp #$0009
164 | 1 ASSD.DRIVER.S 61 | Code | 00 | | 2 | 00/000B : 90 05 | bcc L0012
165 | 1 ASSD.DRIVER.S 62 | Code | 00 | | 3 | 00/000D : A9 20 00 | lda #$0020
166 | 1 ASSD.DRIVER.S 63 | Code | 00 | | 2 | 00/0010 : 80 0B | bra L001D
167 | 1 ASSD.DRIVER.S 64 | Code | 00 | | 1 | 00/0012 : 0A | L0012 asl
168 | 1 ASSD.DRIVER.S 65 | Code | 00 | | 1 | 00/0013 : AA | tax
169 | 1 ASSD.DRIVER.S 66 | Code | 00 | 2 | 3 | 00/0014 : 9C E1 01 | stz errCODE
170 | 1 ASSD.DRIVER.S 67 | Code | 00 | 2 | 3 | 00/0017 : FC 21 00 | jsr (tblDISPATCH,x)
171 | 1 ASSD.DRIVER.S 68 | Code | 00 | 2 | 3 | 00/001A : AD E1 01 | lda errCODE
172 | 1 ASSD.DRIVER.S 69 | Code | 00 | | 3 | 00/001D : C9 01 00 | L001D cmp #$0001
173 | 1 ASSD.DRIVER.S 70 | Code | 00 | | 1 | 00/0020 : 6B | rtl
174 | 1 ASSD.DRIVER.S 71 | Empty | 00 | | 0 | 00/0021 |
175 | 1 ASSD.DRIVER.S 72 | Data | 00 | 2 | 2 | 00/0021 : 33 00 | tblDISPATCH da DStartup ; Driver_Startup
176 | 1 ASSD.DRIVER.S 73 | Data | 00 | 2 | 2 | 00/0023 : 55 00 | da DOpen ; Driver_Open
177 | 1 ASSD.DRIVER.S 74 | Data | 00 | 2 | 2 | 00/0025 : 56 00 | da DRead ; Driver_Read
178 | 1 ASSD.DRIVER.S 75 | Data | 00 | 2 | 2 | 00/0027 : A3 00 | da DWrite ; Driver_Write
179 | 1 ASSD.DRIVER.S 76 | Data | 00 | 2 | 2 | 00/0029 : 55 00 | da DClose ; Driver_Close
180 | 1 ASSD.DRIVER.S 77 | Data | 00 | 2 | 2 | 00/002B : F0 00 | da DStatus ; Driver_Status
181 | 1 ASSD.DRIVER.S 78 | Data | 00 | 2 | 2 | 00/002D : 4E 01 | da DControl ; Driver_Control
182 | 1 ASSD.DRIVER.S 79 | Data | 00 | 2 | 2 | 00/002F : 55 00 | da DFlush ; Driver_Flush
183 | 1 ASSD.DRIVER.S 80 | Data | 00 | 2 | 2 | 00/0031 : 52 00 | da DShutdown ; Driver_Shutdown
184 | 1 ASSD.DRIVER.S 81 | Empty | 00 | | 0 | 00/0033 |
185 | 1 ASSD.DRIVER.S 82 | Comment | 00 | | 0 | 00/0033 | *
186 | 1 ASSD.DRIVER.S 83 | Comment | 00 | | 0 | 00/0033 | * Driver_Startup
187 | 1 ASSD.DRIVER.S 84 | Comment | 00 | | 0 | 00/0033 | *
188 | 1 ASSD.DRIVER.S 85 | Empty | 00 | | 0 | 00/0033 |
189 | 1 ASSD.DRIVER.S 86 | Empty | 00 | | 0 | 00/0033 | DStartup
190 | 1 ASSD.DRIVER.S 87 | Code | 00 | | 4 | 00/0033 : AF 0A 00 E2 | ldal {$e2000a}
191 | 1 ASSD.DRIVER.S 88 | Code | 00 | | 3 | 00/0037 : 29 FF 00 | and #$ff
192 | 1 ASSD.DRIVER.S 89 | Code | 00 | | 3 | 00/003A : C9 01 00 | cmp #$01
193 | 1 ASSD.DRIVER.S 90 | Code | 00 | | 2 | 00/003D : D0 13 | bne DShutdown ; no AS found
194 | 1 ASSD.DRIVER.S 91 | Empty | 00 | | 0 | 00/003F |
195 | 1 ASSD.DRIVER.S 92 | Code | 00 | | 4 | 00/003F : AF 0C 00 E2 | ldal {$e2000c}
196 | 1 ASSD.DRIVER.S 93 | Code | 00 | | 3 | 00/0043 : 29 FF 00 | and #$ff
197 | 1 ASSD.DRIVER.S 94 | Code | 00 | | 3 | 00/0046 : C9 07 00 | cmp #{7}
198 | 1 ASSD.DRIVER.S 95 | Code | 00 | | 2 | 00/0049 : 90 07 | bcc DShutdown ; no minimum version
199 | 1 ASSD.DRIVER.S 96 | Empty | 00 | | 0 | 00/004B |
200 | 1 ASSD.DRIVER.S 97 | Code | 00 | | 3 | 00/004B : A9 01 00 | lda #1 ; we're on
201 | 1 ASSD.DRIVER.S 98 | Code | 00 | 2 | 3 | 00/004E : 8D DF 01 | sta fgSTARTED
202 | 1 ASSD.DRIVER.S 99 | Code | 00 | | 1 | 00/0051 : 60 | rts
203 | 1 ASSD.DRIVER.S 100 | Empty | 00 | | 0 | 00/0052 |
204 | 1 ASSD.DRIVER.S 101 | Comment | 00 | | 0 | 00/0052 | *
205 | 1 ASSD.DRIVER.S 102 | Comment | 00 | | 0 | 00/0052 | * Driver_Shutdown
206 | 1 ASSD.DRIVER.S 103 | Comment | 00 | | 0 | 00/0052 | *
207 | 1 ASSD.DRIVER.S 104 | Empty | 00 | | 0 | 00/0052 |
208 | 1 ASSD.DRIVER.S 105 | Code | 00 | 2 | 3 | 00/0052 : 9C DF 01 | DShutdown stz fgSTARTED
209 | 1 ASSD.DRIVER.S 106 | Empty | 00 | | 0 | 00/0055 |
210 | 1 ASSD.DRIVER.S 107 | Comment | 00 | | 0 | 00/0055 | *
211 | 1 ASSD.DRIVER.S 108 | Comment | 00 | | 0 | 00/0055 | * Driver_Open
212 | 1 ASSD.DRIVER.S 109 | Comment | 00 | | 0 | 00/0055 | * Driver_Close
213 | 1 ASSD.DRIVER.S 110 | Comment | 00 | | 0 | 00/0055 | * Driver_Flush
214 | 1 ASSD.DRIVER.S 111 | Comment | 00 | | 0 | 00/0055 | *
215 | 1 ASSD.DRIVER.S 112 | Empty | 00 | | 0 | 00/0055 |
216 | 1 ASSD.DRIVER.S 113 | Empty | 00 | | 0 | 00/0055 | DOpen ; Driver_Open
217 | 1 ASSD.DRIVER.S 114 | Empty | 00 | | 0 | 00/0055 | DClose ; Driver_Close
218 | 1 ASSD.DRIVER.S 115 | Empty | 00 | | 0 | 00/0055 | DFlush ; Driver_Flush
219 | 1 ASSD.DRIVER.S 116 | Code | 00 | | 1 | 00/0055 : 60 | rts
220 | 1 ASSD.DRIVER.S 117 | Empty | 00 | | 0 | 00/0056 |
221 | 1 ASSD.DRIVER.S 118 | Comment | 00 | | 0 | 00/0056 | *
222 | 1 ASSD.DRIVER.S 119 | Comment | 00 | | 0 | 00/0056 | * Driver_Read
223 | 1 ASSD.DRIVER.S 120 | Comment | 00 | | 0 | 00/0056 | *
224 | 1 ASSD.DRIVER.S 121 | Empty | 00 | | 0 | 00/0056 |
225 | 1 ASSD.DRIVER.S 122 | Code | 00 | 2 | 3 | 00/0056 : 20 8D 01 | DRead jsr doSETUP
226 | 1 ASSD.DRIVER.S 123 | Code | 00 | | 2 | 00/0059 : 90 01 | bcc dr1
227 | 1 ASSD.DRIVER.S 124 | Code | 00 | | 1 | 00/005B : 60 | rts
228 | 1 ASSD.DRIVER.S 125 | Empty | 00 | | 0 | 00/005C |
229 | 1 ASSD.DRIVER.S 126 | Comment | 00 | | 0 | 00/005C | *--- The AS magic is here
230 | 1 ASSD.DRIVER.S 127 | Empty | 00 | | 0 | 00/005C |
231 | 1 ASSD.DRIVER.S 128 | Code | 00 | | 2 | 00/005C : D4 05 | dr1 pei {$04}+1 ; save pointer
232 | 1 ASSD.DRIVER.S 129 | Empty | 00 | | 0 | 00/005E |
233 | 1 ASSD.DRIVER.S 130 | Code | 10 | | 2 | 00/005E : E2 20 | sep #$20
234 | 1 ASSD.DRIVER.S 131 | Code | 10 | | 2 | 00/0060 : A5 13 | lda {$10}+3
235 | 1 ASSD.DRIVER.S 132 | Code | 10 | | 4 | 00/0062 : 8F 00 00 E4 | stal {$e40000}
236 | 1 ASSD.DRIVER.S 133 | Code | 10 | | 2 | 00/0066 : A5 12 | lda {$10}+2
237 | 1 ASSD.DRIVER.S 134 | Code | 10 | | 4 | 00/0068 : 8F 02 00 E4 | stal {$e40002}
238 | 1 ASSD.DRIVER.S 135 | Code | 10 | | 2 | 00/006C : A5 11 | lda {$10}+1
239 | 1 ASSD.DRIVER.S 136 | Code | 10 | | 4 | 00/006E : 8F 04 00 E4 | stal {$e40004}
240 | 1 ASSD.DRIVER.S 137 | Code | 10 | | 2 | 00/0072 : A5 10 | lda {$10}
241 | 1 ASSD.DRIVER.S 138 | Code | 10 | | 4 | 00/0074 : 8F 06 00 E4 | stal {$e40006}
242 | 1 ASSD.DRIVER.S 139 | Empty | 10 | | 0 | 00/0078 |
243 | 1 ASSD.DRIVER.S 140 | Code | 10 | | 2 | 00/0078 : A9 01 | lda #1
244 | 1 ASSD.DRIVER.S 141 | Code | 10 | | 4 | 00/007A : 8F 08 00 E4 | stal {$e40008}
245 | 1 ASSD.DRIVER.S 142 | Empty | 10 | | 0 | 00/007E |
246 | 1 ASSD.DRIVER.S 143 | Code | 10 | 2 | 3 | 00/007E : AE E7 01 | ldx nbPAGES ; number of 512-byte pages to copy
247 | 1 ASSD.DRIVER.S 144 | Code | 10 | | 3 | 00/0081 : A0 00 00 | dr2 ldy #0 ; read one block
248 | 1 ASSD.DRIVER.S 145 | Code | 10 | | 2 | 00/0084 : E2 20 | sep #$20
249 | 1 ASSD.DRIVER.S 146 | Code | 10 | | 4 | 00/0086 : AF 0A 00 E4 | ozunid_1 ldal {$e4000a}
250 | 1 ASSD.DRIVER.S 147 | Code | 10 | | 2 | 00/008A : 97 04 | sta [{$04}],y
251 | 1 ASSD.DRIVER.S 148 | Code | 10 | | 1 | 00/008C : C8 | iny
252 | 1 ASSD.DRIVER.S 149 | Code | 10 | | 3 | 00/008D : C0 00 02 | cpy #{512}
253 | 1 ASSD.DRIVER.S 150 | Code | 10 | | 2 | 00/0090 : 90 F4 | bcc ozunid_1
254 | 1 ASSD.DRIVER.S 151 | Empty | 10 | | 0 | 00/0092 |
255 | 1 ASSD.DRIVER.S 152 | Code | 00 | | 2 | 00/0092 : C2 20 | rep #$20 ; move destination pointer
256 | 1 ASSD.DRIVER.S 153 | Code | 00 | | 2 | 00/0094 : A5 05 | lda {$04}+1
257 | 1 ASSD.DRIVER.S 154 | Code | 00 | | 1 | 00/0096 : 18 | clc
258 | 1 ASSD.DRIVER.S 155 | Code | 00 | | 3 | 00/0097 : 69 02 00 | adc #>{512} ; rwBlockSize+1
259 | 1 ASSD.DRIVER.S 156 | Code | 00 | | 2 | 00/009A : 85 05 | sta {$04}+1
260 | 1 ASSD.DRIVER.S 157 | Empty | 00 | | 0 | 00/009C |
261 | 1 ASSD.DRIVER.S 158 | Code | 00 | | 1 | 00/009C : CA | dex ; next block
262 | 1 ASSD.DRIVER.S 159 | Code | 00 | | 2 | 00/009D : D0 E2 | bne dr2
263 | 1 ASSD.DRIVER.S 160 | Empty | 00 | | 0 | 00/009F |
264 | 1 ASSD.DRIVER.S 161 | Code | 00 | | 1 | 00/009F : 68 | pla ; restore pointer
265 | 1 ASSD.DRIVER.S 162 | Code | 00 | | 2 | 00/00A0 : 85 05 | sta {$04}+1
266 | 1 ASSD.DRIVER.S 163 | Code | 00 | | 1 | 00/00A2 : 60 | rts
267 | 1 ASSD.DRIVER.S 164 | Empty | 00 | | 0 | 00/00A3 |
268 | 1 ASSD.DRIVER.S 165 | Comment | 00 | | 0 | 00/00A3 | *--- The AS magic ends here
269 | 1 ASSD.DRIVER.S 166 | Empty | 00 | | 0 | 00/00A3 |
270 | 1 ASSD.DRIVER.S 167 | Comment | 00 | | 0 | 00/00A3 | *
271 | 1 ASSD.DRIVER.S 168 | Comment | 00 | | 0 | 00/00A3 | * Driver_Write
272 | 1 ASSD.DRIVER.S 169 | Comment | 00 | | 0 | 00/00A3 | *
273 | 1 ASSD.DRIVER.S 170 | Empty | 00 | | 0 | 00/00A3 |
274 | 1 ASSD.DRIVER.S 171 | Code | 00 | 2 | 3 | 00/00A3 : 20 8D 01 | DWrite jsr doSETUP
275 | 1 ASSD.DRIVER.S 172 | Code | 00 | | 2 | 00/00A6 : 90 01 | bcc dw1
276 | 1 ASSD.DRIVER.S 173 | Code | 00 | | 1 | 00/00A8 : 60 | rts
277 | 1 ASSD.DRIVER.S 174 | Empty | 00 | | 0 | 00/00A9 |
278 | 1 ASSD.DRIVER.S 175 | Comment | 00 | | 0 | 00/00A9 | *--- The AS magic is here
279 | 1 ASSD.DRIVER.S 176 | Empty | 00 | | 0 | 00/00A9 |
280 | 1 ASSD.DRIVER.S 177 | Code | 00 | | 2 | 00/00A9 : D4 05 | dw1 pei {$04}+1 ; save pointer
281 | 1 ASSD.DRIVER.S 178 | Empty | 00 | | 0 | 00/00AB |
282 | 1 ASSD.DRIVER.S 179 | Code | 10 | | 2 | 00/00AB : E2 20 | sep #$20
283 | 1 ASSD.DRIVER.S 180 | Code | 10 | | 2 | 00/00AD : A5 13 | lda {$10}+3
284 | 1 ASSD.DRIVER.S 181 | Code | 10 | | 4 | 00/00AF : 8F 00 00 E4 | stal {$e40000}
285 | 1 ASSD.DRIVER.S 182 | Code | 10 | | 2 | 00/00B3 : A5 12 | lda {$10}+2
286 | 1 ASSD.DRIVER.S 183 | Code | 10 | | 4 | 00/00B5 : 8F 02 00 E4 | stal {$e40002}
287 | 1 ASSD.DRIVER.S 184 | Code | 10 | | 2 | 00/00B9 : A5 11 | lda {$10}+1
288 | 1 ASSD.DRIVER.S 185 | Code | 10 | | 4 | 00/00BB : 8F 04 00 E4 | stal {$e40004}
289 | 1 ASSD.DRIVER.S 186 | Code | 10 | | 2 | 00/00BF : A5 10 | lda {$10}
290 | 1 ASSD.DRIVER.S 187 | Code | 10 | | 4 | 00/00C1 : 8F 06 00 E4 | stal {$e40006}
291 | 1 ASSD.DRIVER.S 188 | Empty | 10 | | 0 | 00/00C5 |
292 | 1 ASSD.DRIVER.S 189 | Code | 10 | | 2 | 00/00C5 : A9 01 | lda #1
293 | 1 ASSD.DRIVER.S 190 | Code | 10 | | 4 | 00/00C7 : 8F 0C 00 E4 | stal {$e4000c}
294 | 1 ASSD.DRIVER.S 191 | Empty | 10 | | 0 | 00/00CB |
295 | 1 ASSD.DRIVER.S 192 | Code | 10 | 2 | 3 | 00/00CB : AE E7 01 | ldx nbPAGES ; number of 512-byte pages to copy
296 | 1 ASSD.DRIVER.S 193 | Code | 10 | | 3 | 00/00CE : A0 00 00 | dw2 ldy #0 ; read one block
297 | 1 ASSD.DRIVER.S 194 | Code | 10 | | 2 | 00/00D1 : E2 20 | sep #$20
298 | 1 ASSD.DRIVER.S 195 | Code | 10 | | 2 | 00/00D3 : B7 04 | ozunid_2 lda [{$04}],y
299 | 1 ASSD.DRIVER.S 196 | Code | 10 | | 4 | 00/00D5 : 8F 0A 00 E4 | stal {$e4000a}
300 | 1 ASSD.DRIVER.S 197 | Code | 10 | | 1 | 00/00D9 : C8 | iny
301 | 1 ASSD.DRIVER.S 198 | Code | 10 | | 3 | 00/00DA : C0 00 02 | cpy #{512}
302 | 1 ASSD.DRIVER.S 199 | Code | 10 | | 2 | 00/00DD : 90 F4 | bcc ozunid_2
303 | 1 ASSD.DRIVER.S 200 | Empty | 10 | | 0 | 00/00DF |
304 | 1 ASSD.DRIVER.S 201 | Code | 00 | | 2 | 00/00DF : C2 20 | rep #$20 ; move destination pointer
305 | 1 ASSD.DRIVER.S 202 | Code | 00 | | 2 | 00/00E1 : A5 05 | lda {$04}+1
306 | 1 ASSD.DRIVER.S 203 | Code | 00 | | 1 | 00/00E3 : 18 | clc
307 | 1 ASSD.DRIVER.S 204 | Code | 00 | | 3 | 00/00E4 : 69 02 00 | adc #>{512} ; rwBlockSize+1
308 | 1 ASSD.DRIVER.S 205 | Code | 00 | | 2 | 00/00E7 : 85 05 | sta {$04}+1
309 | 1 ASSD.DRIVER.S 206 | Empty | 00 | | 0 | 00/00E9 |
310 | 1 ASSD.DRIVER.S 207 | Code | 00 | | 1 | 00/00E9 : CA | dex ; next block
311 | 1 ASSD.DRIVER.S 208 | Code | 00 | | 2 | 00/00EA : D0 E2 | bne dw2
312 | 1 ASSD.DRIVER.S 209 | Empty | 00 | | 0 | 00/00EC |
313 | 1 ASSD.DRIVER.S 210 | Code | 00 | | 1 | 00/00EC : 68 | pla ; restore pointer
314 | 1 ASSD.DRIVER.S 211 | Code | 00 | | 2 | 00/00ED : 85 05 | sta {$04}+1
315 | 1 ASSD.DRIVER.S 212 | Code | 00 | | 1 | 00/00EF : 60 | rts
316 | 1 ASSD.DRIVER.S 213 | Empty | 00 | | 0 | 00/00F0 |
317 | 1 ASSD.DRIVER.S 214 | Comment | 00 | | 0 | 00/00F0 | *--- The AS magic ends here
318 | 1 ASSD.DRIVER.S 215 | Empty | 00 | | 0 | 00/00F0 |
319 | 1 ASSD.DRIVER.S 216 | Comment | 00 | | 0 | 00/00F0 | *
320 | 1 ASSD.DRIVER.S 217 | Comment | 00 | | 0 | 00/00F0 | * Driver_Status
321 | 1 ASSD.DRIVER.S 218 | Comment | 00 | | 0 | 00/00F0 | *
322 | 1 ASSD.DRIVER.S 219 | Empty | 00 | | 0 | 00/00F0 |
323 | 1 ASSD.DRIVER.S 220 | Code | 00 | | 2 | 00/00F0 : A5 16 | DStatus lda {$16}
324 | 1 ASSD.DRIVER.S 221 | Code | 00 | | 3 | 00/00F2 : C9 05 00 | cmp #4+1
325 | 1 ASSD.DRIVER.S 222 | Code | 00 | | 2 | 00/00F5 : 90 07 | bcc DStatus1
326 | 1 ASSD.DRIVER.S 223 | Code | 00 | | 3 | 00/00F7 : A9 21 00 | lda #$0021 ; drvrBadCode
327 | 1 ASSD.DRIVER.S 224 | Code | 00 | 2 | 3 | 00/00FA : 8D E1 01 | sta errCODE
328 | 1 ASSD.DRIVER.S 225 | Code | 00 | | 1 | 00/00FD : 60 | rts
329 | 1 ASSD.DRIVER.S 226 | Empty | 00 | | 0 | 00/00FE |
330 | 1 ASSD.DRIVER.S 227 | Code | 00 | | 1 | 00/00FE : 0A | DStatus1 asl
331 | 1 ASSD.DRIVER.S 228 | Code | 00 | | 1 | 00/00FF : AA | tax
332 | 1 ASSD.DRIVER.S 229 | Code | 00 | | 2 | 00/0100 : 64 0C | stz {$0C}
333 | 1 ASSD.DRIVER.S 230 | Code | 00 | | 2 | 00/0102 : 64 0E | stz {$0C}+2
334 | 1 ASSD.DRIVER.S 231 | Code | 00 | 2 | 3 | 00/0104 : FC 08 01 | jsr (tblSTATUS,x)
335 | 1 ASSD.DRIVER.S 232 | Code | 00 | | 1 | 00/0107 : 60 | rts
336 | 1 ASSD.DRIVER.S 233 | Empty | 00 | | 0 | 00/0108 |
337 | 1 ASSD.DRIVER.S 234 | Data | 00 | 2 | 2 | 00/0108 : 13 01 | tblSTATUS da SGetStatus ; GetDeviceStatus
338 | 1 ASSD.DRIVER.S 235 | Data | 00 | 2 | 2 | 00/010A : 43 01 | da SGet ; GetConfigParameters
339 | 1 ASSD.DRIVER.S 236 | Data | 00 | 2 | 2 | 00/010C : 43 01 | da SGet ; GetWaitStatus
340 | 1 ASSD.DRIVER.S 237 | Data | 00 | 2 | 2 | 00/010E : 43 01 | da SGet ; GetFormatOptions
341 | 1 ASSD.DRIVER.S 238 | Data | 00 | 2 | 2 | 00/0110 : 12 01 | da SNada ; GetPartitionMap
342 | 1 ASSD.DRIVER.S 239 | Empty | 00 | | 0 | 00/0112 |
343 | 1 ASSD.DRIVER.S 240 | Code | 00 | | 1 | 00/0112 : 60 | SNada rts
344 | 1 ASSD.DRIVER.S 241 | Empty | 00 | | 0 | 00/0113 |
345 | 1 ASSD.DRIVER.S 242 | Comment | 00 | | 0 | 00/0113 | *----------- GetDeviceStatus
346 | 1 ASSD.DRIVER.S 243 | Empty | 00 | | 0 | 00/0113 |
347 | 1 ASSD.DRIVER.S 244 | Code | 00 | | 3 | 00/0113 : A9 02 00 | SGetStatus lda #2 ; GetDeviceStatus
348 | 1 ASSD.DRIVER.S 245 | Code | 00 | | 2 | 00/0116 : 85 0C | sta {$0C}
349 | 1 ASSD.DRIVER.S 246 | Empty | 00 | | 0 | 00/0118 |
350 | 1 ASSD.DRIVER.S 247 | Code | 00 | | 2 | 00/0118 : A5 08 | lda {$08} ; check length of buffer
351 | 1 ASSD.DRIVER.S 248 | Code | 00 | | 3 | 00/011A : C9 06 00 | cmp #6
352 | 1 ASSD.DRIVER.S 249 | Code | 00 | | 2 | 00/011D : 90 14 | bcc SGS1
353 | 1 ASSD.DRIVER.S 250 | Code | 00 | | 3 | 00/011F : A9 06 00 | lda #6
354 | 1 ASSD.DRIVER.S 251 | Code | 00 | | 2 | 00/0122 : 85 0C | sta {$0C}
355 | 1 ASSD.DRIVER.S 252 | Empty | 00 | | 0 | 00/0124 |
356 | 1 ASSD.DRIVER.S 253 | Code | 00 | | 3 | 00/0124 : A0 02 00 | ldy #2 ; we can send the number of blocks
357 | 1 ASSD.DRIVER.S 254 | Code | 00 | | 3 | 00/0127 : A9 FF FF | lda #{$ffffffff}
358 | 1 ASSD.DRIVER.S 255 | Code | 00 | | 2 | 00/012A : 97 04 | sta [{$04}],y
359 | 1 ASSD.DRIVER.S 256 | Code | 00 | | 1 | 00/012C : C8 | iny
360 | 1 ASSD.DRIVER.S 257 | Code | 00 | | 1 | 00/012D : C8 | iny
361 | 1 ASSD.DRIVER.S 258 | Code | 00 | | 3 | 00/012E : A9 FF FF | lda #^{$ffffffff}
362 | 1 ASSD.DRIVER.S 259 | Code | 00 | | 2 | 00/0131 : 97 04 | sta [{$04}],y
363 | 1 ASSD.DRIVER.S 260 | Empty | 00 | | 0 | 00/0133 |
364 | 1 ASSD.DRIVER.S 261 | Code | 00 | | 3 | 00/0133 : A2 10 00 | SGS1 ldx #{$0010}
365 | 1 ASSD.DRIVER.S 262 | Code | 00 | 2 | 3 | 00/0136 : AD DF 01 | lda fgSTARTED ; send the status of the driver
366 | 1 ASSD.DRIVER.S 263 | Code | 00 | | 2 | 00/0139 : D0 01 | bne SGS2
367 | 1 ASSD.DRIVER.S 264 | Code | 00 | | 1 | 00/013B : E8 | inx
368 | 1 ASSD.DRIVER.S 265 | Code | 00 | | 1 | 00/013C : 8A | SGS2 txa
369 | 1 ASSD.DRIVER.S 266 | Code | 00 | | 3 | 00/013D : 09 00 80 | ora #{$8000} ; we are uncertain of the block count
370 | 1 ASSD.DRIVER.S 267 | Code | 00 | | 2 | 00/0140 : 87 04 | sta [{$04}]
371 | 1 ASSD.DRIVER.S 268 | Code | 00 | | 1 | 00/0142 : 60 | rts
372 | 1 ASSD.DRIVER.S 269 | Empty | 00 | | 0 | 00/0143 |
373 | 1 ASSD.DRIVER.S 270 | Comment | 00 | | 0 | 00/0143 | *----------- GetConfigParameters / GetWaitStatus
374 | 1 ASSD.DRIVER.S 271 | Empty | 00 | | 0 | 00/0143 |
375 | 1 ASSD.DRIVER.S 272 | Code | 00 | | 3 | 00/0143 : A9 00 00 | SGet lda #0 ; GetConfigParameters
376 | 1 ASSD.DRIVER.S 273 | Code | 00 | | 2 | 00/0146 : 87 04 | sta [{$04}] ; GetWaitStatus
377 | 1 ASSD.DRIVER.S 274 | Code | 00 | | 3 | 00/0148 : A9 02 00 | lda #2
378 | 1 ASSD.DRIVER.S 275 | Code | 00 | | 2 | 00/014B : 85 0C | sta {$0C}
379 | 1 ASSD.DRIVER.S 276 | Code | 00 | | 1 | 00/014D : 60 | rts
380 | 1 ASSD.DRIVER.S 277 | Empty | 00 | | 0 | 00/014E |
381 | 1 ASSD.DRIVER.S 278 | Comment | 00 | | 0 | 00/014E | *
382 | 1 ASSD.DRIVER.S 279 | Comment | 00 | | 0 | 00/014E | * Driver_Control
383 | 1 ASSD.DRIVER.S 280 | Comment | 00 | | 0 | 00/014E | *
384 | 1 ASSD.DRIVER.S 281 | Empty | 00 | | 0 | 00/014E |
385 | 1 ASSD.DRIVER.S 282 | Code | 00 | 2 | 3 | 00/014E : 20 C6 01 | DControl jsr checkSWITCHED
386 | 1 ASSD.DRIVER.S 283 | Code | 00 | | 2 | 00/0151 : 90 01 | bcc DControl1
387 | 1 ASSD.DRIVER.S 284 | Code | 00 | | 1 | 00/0153 : 60 | rts
388 | 1 ASSD.DRIVER.S 285 | Empty | 00 | | 0 | 00/0154 |
389 | 1 ASSD.DRIVER.S 286 | Code | 00 | | 2 | 00/0154 : A5 16 | DControl1 lda {$16}
390 | 1 ASSD.DRIVER.S 287 | Code | 00 | | 3 | 00/0156 : C9 0A 00 | cmp #9+1
391 | 1 ASSD.DRIVER.S 288 | Code | 00 | | 2 | 00/0159 : 90 07 | bcc DControl2
392 | 1 ASSD.DRIVER.S 289 | Empty | 00 | | 0 | 00/015B |
393 | 1 ASSD.DRIVER.S 290 | Code | 00 | | 3 | 00/015B : A9 21 00 | lda #$0021
394 | 1 ASSD.DRIVER.S 291 | Code | 00 | 2 | 3 | 00/015E : 8D E1 01 | sta errCODE
395 | 1 ASSD.DRIVER.S 292 | Code | 00 | | 1 | 00/0161 : 60 | rts
396 | 1 ASSD.DRIVER.S 293 | Empty | 00 | | 0 | 00/0162 |
397 | 1 ASSD.DRIVER.S 294 | Code | 00 | | 1 | 00/0162 : 0A | DControl2 asl
398 | 1 ASSD.DRIVER.S 295 | Code | 00 | | 1 | 00/0163 : AA | tax
399 | 1 ASSD.DRIVER.S 296 | Code | 00 | | 2 | 00/0164 : 64 0C | stz {$0C}
400 | 1 ASSD.DRIVER.S 297 | Code | 00 | | 2 | 00/0166 : 64 0E | stz {$0C}+2
401 | 1 ASSD.DRIVER.S 298 | Code | 00 | 2 | 3 | 00/0168 : FC 6C 01 | jsr (tblCONTROL,x)
402 | 1 ASSD.DRIVER.S 299 | Code | 00 | | 1 | 00/016B : 60 | rts
403 | 1 ASSD.DRIVER.S 300 | Empty | 00 | | 0 | 00/016C |
404 | 1 ASSD.DRIVER.S 301 | Data | 00 | 2 | 2 | 00/016C : 80 01 | tblCONTROL da CNada ; 0 ResetDevice
405 | 1 ASSD.DRIVER.S 302 | Data | 00 | 2 | 2 | 00/016E : 80 01 | da CNada ; 1 FormatDevice
406 | 1 ASSD.DRIVER.S 303 | Data | 00 | 2 | 2 | 00/0170 : 80 01 | da CNada ; 2 EjectMedium
407 | 1 ASSD.DRIVER.S 304 | Data | 00 | 2 | 2 | 00/0172 : 81 01 | da CSet ; 3 SetConfigParameters
408 | 1 ASSD.DRIVER.S 305 | Data | 00 | 2 | 2 | 00/0174 : 81 01 | da CSet ; 4 SetWaitStatus
409 | 1 ASSD.DRIVER.S 306 | Data | 00 | 2 | 2 | 00/0176 : 81 01 | da CSet ; 5 SetFormatOptions
410 | 1 ASSD.DRIVER.S 307 | Data | 00 | 2 | 2 | 00/0178 : 80 01 | da CNada ; 6 AssignPartitionOwner
411 | 1 ASSD.DRIVER.S 308 | Data | 00 | 2 | 2 | 00/017A : 80 01 | da CNada ; 7 ArmSignal
412 | 1 ASSD.DRIVER.S 309 | Data | 00 | 2 | 2 | 00/017C : 80 01 | da CNada ; 8 DisarmSignal
413 | 1 ASSD.DRIVER.S 310 | Data | 00 | 2 | 2 | 00/017E : 80 01 | da CNada ; 9 SetPartitionMap
414 | 1 ASSD.DRIVER.S 311 | Empty | 00 | | 0 | 00/0180 |
415 | 1 ASSD.DRIVER.S 312 | Code | 00 | | 1 | 00/0180 : 60 | CNada rts
416 | 1 ASSD.DRIVER.S 313 | Empty | 00 | | 0 | 00/0181 |
417 | 1 ASSD.DRIVER.S 314 | Comment | 00 | | 0 | 00/0181 | *----------- SetConfigParameters / SetWaitStatus
418 | 1 ASSD.DRIVER.S 315 | Empty | 00 | | 0 | 00/0181 |
419 | 1 ASSD.DRIVER.S 316 | Code | 00 | | 2 | 00/0181 : A7 04 | CSet lda [{$04}] ; SetConfigParameters
420 | 1 ASSD.DRIVER.S 317 | Code | 00 | | 2 | 00/0183 : D0 01 | bne CSetERR ; SetWaitStatus
421 | 1 ASSD.DRIVER.S 318 | Code | 00 | | 1 | 00/0185 : 60 | rts
422 | 1 ASSD.DRIVER.S 319 | Code | 00 | | 3 | 00/0186 : A9 22 00 | CSetERR lda #$0022
423 | 1 ASSD.DRIVER.S 320 | Code | 00 | 2 | 3 | 00/0189 : 8D E1 01 | sta errCODE
424 | 1 ASSD.DRIVER.S 321 | Code | 00 | | 1 | 00/018C : 60 | rts
425 | 1 ASSD.DRIVER.S 322 | Empty | 00 | | 0 | 00/018D |
426 | 1 ASSD.DRIVER.S 323 | Comment | 00 | | 0 | 00/018D | *----------------------------
427 | 1 ASSD.DRIVER.S 324 | Empty | 00 | | 0 | 00/018D |
428 | 1 ASSD.DRIVER.S 325 | Comment | 00 | | 0 | 00/018D | * Status flag of the current device
429 | 1 ASSD.DRIVER.S 326 | Comment | 00 | | 0 | 00/018D | * $0001: image has been switched (disk switched)
430 | 1 ASSD.DRIVER.S 327 | Comment | 00 | | 0 | 00/018D | * $0010: image is active (disk in drive)
431 | 1 ASSD.DRIVER.S 328 | Comment | 00 | | 0 | 00/018D | * $0100: image has been modified
432 | 1 ASSD.DRIVER.S 329 | Empty | 00 | | 0 | 00/018D |
433 | 1 ASSD.DRIVER.S 330 | Comment | 00 | | 0 | 00/018D | *
434 | 1 ASSD.DRIVER.S 331 | Comment | 00 | | 0 | 00/018D | * Checks everything is OK
435 | 1 ASSD.DRIVER.S 332 | Comment | 00 | | 0 | 00/018D | *
436 | 1 ASSD.DRIVER.S 333 | Empty | 00 | | 0 | 00/018D |
437 | 1 ASSD.DRIVER.S 334 | Code | 00 | 2 | 3 | 00/018D : 20 C6 01 | doSETUP jsr checkSWITCHED
438 | 1 ASSD.DRIVER.S 335 | Code | 00 | | 2 | 00/0190 : 90 01 | bcc ds2
439 | 1 ASSD.DRIVER.S 336 | Code | 00 | | 1 | 00/0192 : 60 | rts
440 | 1 ASSD.DRIVER.S 337 | Empty | 00 | | 0 | 00/0193 |
441 | 1 ASSD.DRIVER.S 338 | Code | 00 | | 2 | 00/0193 : A5 08 | ds2 lda {$08} ; nb of bytes to read
442 | 1 ASSD.DRIVER.S 339 | Code | 00 | | 2 | 00/0195 : 05 0A | ora {$08}+2
443 | 1 ASSD.DRIVER.S 340 | Code | 00 | | 2 | 00/0197 : D0 08 | bne ds4
444 | 1 ASSD.DRIVER.S 341 | Empty | 00 | | 0 | 00/0199 |
445 | 1 ASSD.DRIVER.S 342 | Code | 00 | | 3 | 00/0199 : A9 2C 00 | lda #$002C ; invalidByteCount
446 | 1 ASSD.DRIVER.S 343 | Code | 00 | 2 | 3 | 00/019C : 8D E1 01 | sta errCODE
447 | 1 ASSD.DRIVER.S 344 | Code | 00 | | 1 | 00/019F : 38 | sec
448 | 1 ASSD.DRIVER.S 345 | Code | 00 | | 1 | 00/01A0 : 60 | rts
449 | 1 ASSD.DRIVER.S 346 | Empty | 00 | | 0 | 00/01A1 |
450 | 1 ASSD.DRIVER.S 347 | Comment | 00 | | 0 | 00/01A1 | * $0102_0400 =
451 | 1 ASSD.DRIVER.S 348 | Empty | 00 | | 0 | 00/01A1 |
452 | 1 ASSD.DRIVER.S 349 | Comment | 00 | | 0 | 00/01A1 | *--- requestcount : $0200 => 1
453 | 1 ASSD.DRIVER.S 350 | Comment | 00 | | 0 | 00/01A1 | *--- From a Block to a RAM address
454 | 1 ASSD.DRIVER.S 351 | Empty | 00 | | 0 | 00/01A1 |
455 | 1 ASSD.DRIVER.S 352 | Code | 00 | | 2 | 00/01A1 : A5 0B | ds4 lda {$08}+3 ; number of pages
456 | 1 ASSD.DRIVER.S 353 | Code | 00 | | 3 | 00/01A3 : 29 FF 00 | and #$00ff ; to calculate
457 | 1 ASSD.DRIVER.S 354 | Code | 00 | | 1 | 00/01A6 : 4A | lsr
458 | 1 ASSD.DRIVER.S 355 | Code | 00 | | 2 | 00/01A7 : A5 09 | lda {$08}+1 ; $01020400 => $010204 => $8102
459 | 1 ASSD.DRIVER.S 356 | Code | 00 | | 1 | 00/01A9 : 6A | ror
460 | 1 ASSD.DRIVER.S 357 | Code | 00 | 2 | 3 | 00/01AA : 8D E7 01 | sta nbPAGES ; to calculate
461 | 1 ASSD.DRIVER.S 358 | Empty | 00 | | 0 | 00/01AD |
462 | 1 ASSD.DRIVER.S 359 | Code | 00 | | 2 | 00/01AD : A5 08 | lda {$08} ; multiple of $0200
463 | 1 ASSD.DRIVER.S 360 | Code | 00 | | 3 | 00/01AF : 29 FF 01 | and #{512}-1
464 | 1 ASSD.DRIVER.S 361 | Code | 00 | | 2 | 00/01B2 : F0 08 | beq ds6
465 | 1 ASSD.DRIVER.S 362 | Empty | 00 | | 0 | 00/01B4 |
466 | 1 ASSD.DRIVER.S 363 | Code | 00 | | 3 | 00/01B4 : A9 2D 00 | lda #$002D ; bad block count
467 | 1 ASSD.DRIVER.S 364 | Code | 00 | 2 | 3 | 00/01B7 : 8D E1 01 | sta errCODE
468 | 1 ASSD.DRIVER.S 365 | Code | 00 | | 1 | 00/01BA : 38 | sec
469 | 1 ASSD.DRIVER.S 366 | Code | 00 | | 1 | 00/01BB : 60 | rts
470 | 1 ASSD.DRIVER.S 367 | Empty | 00 | | 0 | 00/01BC |
471 | 1 ASSD.DRIVER.S 368 | Comment | 00 | | 0 | 00/01BC | *--- Generic transfer now
472 | 1 ASSD.DRIVER.S 369 | Empty | 00 | | 0 | 00/01BC |
473 | 1 ASSD.DRIVER.S 370 | Code | 00 | | 2 | 00/01BC : A5 08 | ds6 lda {$08} ; assume transfer=request
474 | 1 ASSD.DRIVER.S 371 | Code | 00 | | 2 | 00/01BE : 85 0C | sta {$0C}
475 | 1 ASSD.DRIVER.S 372 | Code | 00 | | 2 | 00/01C0 : A5 0A | lda {$08}+2
476 | 1 ASSD.DRIVER.S 373 | Code | 00 | | 2 | 00/01C2 : 85 0E | sta {$0C}+2
477 | 1 ASSD.DRIVER.S 374 | Empty | 00 | | 0 | 00/01C4 |
478 | 1 ASSD.DRIVER.S 375 | Code | 00 | | 1 | 00/01C4 : 18 | clc
479 | 1 ASSD.DRIVER.S 376 | Code | 00 | | 1 | 00/01C5 : 60 | rts
480 | 1 ASSD.DRIVER.S 377 | Empty | 00 | | 0 | 00/01C6 |
481 | 1 ASSD.DRIVER.S 378 | Comment | 00 | | 0 | 00/01C6 | *----------------------------
482 | 1 ASSD.DRIVER.S 379 | Empty | 00 | | 0 | 00/01C6 |
483 | 1 ASSD.DRIVER.S 380 | Empty | 00 | | 0 | 00/01C6 | checkSWITCHED
484 | 1 ASSD.DRIVER.S 381 | Code | 00 | 2 | 3 | 00/01C6 : AD DF 01 | lda fgSTARTED
485 | 1 ASSD.DRIVER.S 382 | Code | 00 | | 2 | 00/01C9 : D0 12 | bne cs1
486 | 1 ASSD.DRIVER.S 383 | Empty | 00 | | 0 | 00/01CB |
487 | 1 ASSD.DRIVER.S 384 | Code | 00 | | 4 | 00/01CB : 22 90 FC 01 | jsl {$01FC90}
488 | 1 ASSD.DRIVER.S 385 | Empty | 00 | | 0 | 00/01CF |
489 | 1 ASSD.DRIVER.S 386 | Code | 00 | | 3 | 00/01CF : A9 01 00 | lda #1
490 | 1 ASSD.DRIVER.S 387 | Code | 00 | 2 | 3 | 00/01D2 : 8D DF 01 | sta fgSTARTED
491 | 1 ASSD.DRIVER.S 388 | Code | 00 | | 3 | 00/01D5 : A9 2E 00 | lda #$002e
492 | 1 ASSD.DRIVER.S 389 | Code | 00 | 2 | 3 | 00/01D8 : 8D E1 01 | sta errCODE
493 | 1 ASSD.DRIVER.S 390 | Code | 00 | | 1 | 00/01DB : 38 | sec
494 | 1 ASSD.DRIVER.S 391 | Code | 00 | | 1 | 00/01DC : 60 | rts
495 | 1 ASSD.DRIVER.S 392 | Empty | 00 | | 0 | 00/01DD |
496 | 1 ASSD.DRIVER.S 393 | Code | 00 | | 1 | 00/01DD : 18 | cs1 clc
497 | 1 ASSD.DRIVER.S 394 | Code | 00 | | 1 | 00/01DE : 60 | rts
498 | 1 ASSD.DRIVER.S 395 | Empty | 00 | | 0 | 00/01DF |
499 | 1 ASSD.DRIVER.S 396 | Comment | 00 | | 0 | 00/01DF | *----------------------------
500 | 1 ASSD.DRIVER.S 397 | Empty | 00 | | 0 | 00/01DF |
501 | 1 ASSD.DRIVER.S 398 | Data | 00 | | 2 | 00/01DF : 00 00 | fgSTARTED ds 2 ; 0: not started, 1: started
502 | 1 ASSD.DRIVER.S 399 | Data | 00 | | 2 | 00/01E1 : 00 00 | errCODE ds 2
503 | 1 ASSD.DRIVER.S 400 | Data | 00 | | 4 | 00/01E3 : 00 00 00 00 | thePAGE ds 4 ; page to read/write: $hh/ll00
504 | 1 ASSD.DRIVER.S 401 | Data | 00 | | 2 | 00/01E7 : 00 00 | nbPAGES ds 2 ; number of blockSIZEP pages to copy
505 | 1 ASSD.DRIVER.S 402 | Empty | 00 | | 0 | 00/01E9 |
506 | 1 ASSD.DRIVER.S 403 | Data | 00 | | 4 | 00/01E9 : 00 00 00 00 | MyDIB ds 4 ; +00 pointer to the next DIB
507 | 1 ASSD.DRIVER.S 404 | Data | 00 | 3 | 4 | 00/01ED : 06 00 00 00 | adrl entryPOINT ; +04 driver entry point
508 | 1 ASSD.DRIVER.S 405 | Data | 00 | | 2 | 00/01F1 : EC 03 | dw {$03EC} ; +08 characteristics
509 | 1 ASSD.DRIVER.S 406 | Data | 00 | | 4 | 00/01F3 : 00 00 00 00 | ds 4 ; +0A block count
510 | 1 ASSD.DRIVER.S 407 | Data | 00 | | 11 | 00/01F7 : 0A 41 53 53 | str 'ASSDDevice' ; +0E device name
126 | 2 AS.EQUATES.S 104 | Empty | 00 | | 0 | 00/0000 |
127 | 1 ASSD.DRIVER.S 23 | Empty | 00 | | 0 | 00/0000 |
128 | 1 ASSD.DRIVER.S 24 | Directive | 00 | | 0 | 00/0000 | use 4/Util.Macs
129 | 1 ASSD.DRIVER.S 25 | Empty | 00 | | 0 | 00/0000 |
130 | 1 ASSD.DRIVER.S 26 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
131 | 1 ASSD.DRIVER.S 27 | Comment | 00 | | 0 | 00/0000 | * AS DRIVER EQUATES
132 | 1 ASSD.DRIVER.S 28 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------
133 | 1 ASSD.DRIVER.S 29 | Empty | 00 | | 0 | 00/0000 |
134 | 1 ASSD.DRIVER.S 30 | Equivalence | 00 | | 0 | 00/0000 | maxIMAGES = 1 ; no more than N images
135 | 1 ASSD.DRIVER.S 31 | Equivalence | 00 | | 0 | 00/0000 | blockSIZE = 512 ; ProDOS 8 block size
136 | 1 ASSD.DRIVER.S 32 | Equivalence | 00 | | 0 | 00/0000 | maxBLOCKS = $ffffffff ; that is a huge number of blocks
137 | 1 ASSD.DRIVER.S 33 | Empty | 00 | | 0 | 00/0000 |
138 | 1 ASSD.DRIVER.S 34 | Comment | 00 | | 0 | 00/0000 | * 0 0000
139 | 1 ASSD.DRIVER.S 35 | Comment | 00 | | 0 | 00/0000 | * 3 0011 not speed dependent
140 | 1 ASSD.DRIVER.S 36 | Comment | 00 | | 0 | 00/0000 | * E 1110 block device + write allowed + read allowed
141 | 1 ASSD.DRIVER.S 37 | Comment | 00 | | 0 | 00/0000 | * C 1100 format allowed + removable media
142 | 1 ASSD.DRIVER.S 38 | Empty | 00 | | 0 | 00/0000 |
143 | 1 ASSD.DRIVER.S 39 | Equivalence | 00 | | 0 | 00/0000 | dftCHAR = $03EC ; default characteristics
144 | 1 ASSD.DRIVER.S 40 | Equivalence | 00 | | 0 | 00/0000 | dftSLOT = $8000 ; not slot dependent
145 | 1 ASSD.DRIVER.S 41 | Equivalence | 00 | | 0 | 00/0000 | dftUNIT = $0001 ; unit 1
146 | 1 ASSD.DRIVER.S 42 | Equivalence | 00 | | 0 | 00/0000 | dftVERSION = $1000 ; v1
147 | 1 ASSD.DRIVER.S 43 | Empty | 00 | | 0 | 00/0000 |
148 | 1 ASSD.DRIVER.S 44 | Comment | 00 | | 0 | 00/0000 | *-----------------------------------------------
149 | 1 ASSD.DRIVER.S 45 | Empty | 00 | | 0 | 00/0000 |
150 | 1 ASSD.DRIVER.S 46 | Comment | 00 | | 0 | 00/0000 | *
151 | 1 ASSD.DRIVER.S 47 | Comment | 00 | | 0 | 00/0000 | * Entry point
152 | 1 ASSD.DRIVER.S 48 | Comment | 00 | | 0 | 00/0000 | *
153 | 1 ASSD.DRIVER.S 49 | Empty | 00 | | 0 | 00/0000 |
154 | 1 ASSD.DRIVER.S 50 | Data | 00 | | 2 | 00/0000 : F1 01 | RAMDisk da MyDIB-RAMDisk ; offset to 1st DIB
155 | 1 ASSD.DRIVER.S 51 | Data | 00 | | 2 | 00/0002 : 01 00 | dw {1} ; number of devices
156 | 1 ASSD.DRIVER.S 52 | Data | 00 | | 2 | 00/0004 : 00 00 | dw $0000 ; no configuration list
157 | 1 ASSD.DRIVER.S 53 | Empty | 00 | | 0 | 00/0006 |
158 | 1 ASSD.DRIVER.S 54 | Comment | 00 | | 0 | 00/0006 | *
159 | 1 ASSD.DRIVER.S 55 | Comment | 00 | | 0 | 00/0006 | * Dispatch routine
160 | 1 ASSD.DRIVER.S 56 | Comment | 00 | | 0 | 00/0006 | *
161 | 1 ASSD.DRIVER.S 57 | Empty | 00 | | 0 | 00/0006 |
162 | 1 ASSD.DRIVER.S 58 | Code | 00 | | 1 | 00/0006 : 4B | entryPOINT phk ; Dispatch
163 | 1 ASSD.DRIVER.S 59 | Code | 00 | | 1 | 00/0007 : AB | plb
164 | 1 ASSD.DRIVER.S 60 | Code | 00 | | 3 | 00/0008 : C9 09 00 | cmp #$0009
165 | 1 ASSD.DRIVER.S 61 | Code | 00 | | 2 | 00/000B : 90 05 | bcc L0012
166 | 1 ASSD.DRIVER.S 62 | Code | 00 | | 3 | 00/000D : A9 20 00 | lda #$0020
167 | 1 ASSD.DRIVER.S 63 | Code | 00 | | 2 | 00/0010 : 80 0B | bra L001D
168 | 1 ASSD.DRIVER.S 64 | Code | 00 | | 1 | 00/0012 : 0A | L0012 asl
169 | 1 ASSD.DRIVER.S 65 | Code | 00 | | 1 | 00/0013 : AA | tax
170 | 1 ASSD.DRIVER.S 66 | Code | 00 | 2 | 3 | 00/0014 : 9C E9 01 | stz errCODE
171 | 1 ASSD.DRIVER.S 67 | Code | 00 | 2 | 3 | 00/0017 : FC 21 00 | jsr (tblDISPATCH,x)
172 | 1 ASSD.DRIVER.S 68 | Code | 00 | 2 | 3 | 00/001A : AD E9 01 | lda errCODE
173 | 1 ASSD.DRIVER.S 69 | Code | 00 | | 3 | 00/001D : C9 01 00 | L001D cmp #$0001
174 | 1 ASSD.DRIVER.S 70 | Code | 00 | | 1 | 00/0020 : 6B | rtl
175 | 1 ASSD.DRIVER.S 71 | Empty | 00 | | 0 | 00/0021 |
176 | 1 ASSD.DRIVER.S 72 | Data | 00 | 2 | 2 | 00/0021 : 33 00 | tblDISPATCH da DStartup ; Driver_Startup
177 | 1 ASSD.DRIVER.S 73 | Data | 00 | 2 | 2 | 00/0023 : 55 00 | da DOpen ; Driver_Open
178 | 1 ASSD.DRIVER.S 74 | Data | 00 | 2 | 2 | 00/0025 : 56 00 | da DRead ; Driver_Read
179 | 1 ASSD.DRIVER.S 75 | Data | 00 | 2 | 2 | 00/0027 : A3 00 | da DWrite ; Driver_Write
180 | 1 ASSD.DRIVER.S 76 | Data | 00 | 2 | 2 | 00/0029 : 55 00 | da DClose ; Driver_Close
181 | 1 ASSD.DRIVER.S 77 | Data | 00 | 2 | 2 | 00/002B : F0 00 | da DStatus ; Driver_Status
182 | 1 ASSD.DRIVER.S 78 | Data | 00 | 2 | 2 | 00/002D : 55 01 | da DControl ; Driver_Control
183 | 1 ASSD.DRIVER.S 79 | Data | 00 | 2 | 2 | 00/002F : 55 00 | da DFlush ; Driver_Flush
184 | 1 ASSD.DRIVER.S 80 | Data | 00 | 2 | 2 | 00/0031 : 52 00 | da DShutdown ; Driver_Shutdown
185 | 1 ASSD.DRIVER.S 81 | Empty | 00 | | 0 | 00/0033 |
186 | 1 ASSD.DRIVER.S 82 | Comment | 00 | | 0 | 00/0033 | *
187 | 1 ASSD.DRIVER.S 83 | Comment | 00 | | 0 | 00/0033 | * Driver_Startup
188 | 1 ASSD.DRIVER.S 84 | Comment | 00 | | 0 | 00/0033 | *
189 | 1 ASSD.DRIVER.S 85 | Empty | 00 | | 0 | 00/0033 |
190 | 1 ASSD.DRIVER.S 86 | Empty | 00 | | 0 | 00/0033 | DStartup
191 | 1 ASSD.DRIVER.S 87 | Code | 00 | | 4 | 00/0033 : AF 0A 00 E2 | ldal {$e2000a}
192 | 1 ASSD.DRIVER.S 88 | Code | 00 | | 3 | 00/0037 : 29 FF 00 | and #$ff
193 | 1 ASSD.DRIVER.S 89 | Code | 00 | | 3 | 00/003A : C9 01 00 | cmp #$01
194 | 1 ASSD.DRIVER.S 90 | Code | 00 | | 2 | 00/003D : D0 13 | bne DShutdown ; no AS found
195 | 1 ASSD.DRIVER.S 91 | Empty | 00 | | 0 | 00/003F |
196 | 1 ASSD.DRIVER.S 92 | Code | 00 | | 4 | 00/003F : AF 0C 00 E2 | ldal {$e2000c}
197 | 1 ASSD.DRIVER.S 93 | Code | 00 | | 3 | 00/0043 : 29 FF 00 | and #$ff
198 | 1 ASSD.DRIVER.S 94 | Code | 00 | | 3 | 00/0046 : C9 07 00 | cmp #{7}
199 | 1 ASSD.DRIVER.S 95 | Code | 00 | | 2 | 00/0049 : 90 07 | bcc DShutdown ; no minimum version
200 | 1 ASSD.DRIVER.S 96 | Empty | 00 | | 0 | 00/004B |
201 | 1 ASSD.DRIVER.S 97 | Code | 00 | | 3 | 00/004B : A9 01 00 | lda #1 ; we're on
202 | 1 ASSD.DRIVER.S 98 | Code | 00 | 2 | 3 | 00/004E : 8D E7 01 | sta fgSTARTED
203 | 1 ASSD.DRIVER.S 99 | Code | 00 | | 1 | 00/0051 : 60 | rts
204 | 1 ASSD.DRIVER.S 100 | Empty | 00 | | 0 | 00/0052 |
205 | 1 ASSD.DRIVER.S 101 | Comment | 00 | | 0 | 00/0052 | *
206 | 1 ASSD.DRIVER.S 102 | Comment | 00 | | 0 | 00/0052 | * Driver_Shutdown
207 | 1 ASSD.DRIVER.S 103 | Comment | 00 | | 0 | 00/0052 | *
208 | 1 ASSD.DRIVER.S 104 | Empty | 00 | | 0 | 00/0052 |
209 | 1 ASSD.DRIVER.S 105 | Code | 00 | 2 | 3 | 00/0052 : 9C E7 01 | DShutdown stz fgSTARTED
210 | 1 ASSD.DRIVER.S 106 | Empty | 00 | | 0 | 00/0055 |
211 | 1 ASSD.DRIVER.S 107 | Comment | 00 | | 0 | 00/0055 | *
212 | 1 ASSD.DRIVER.S 108 | Comment | 00 | | 0 | 00/0055 | * Driver_Open
213 | 1 ASSD.DRIVER.S 109 | Comment | 00 | | 0 | 00/0055 | * Driver_Close
214 | 1 ASSD.DRIVER.S 110 | Comment | 00 | | 0 | 00/0055 | * Driver_Flush
215 | 1 ASSD.DRIVER.S 111 | Comment | 00 | | 0 | 00/0055 | *
216 | 1 ASSD.DRIVER.S 112 | Empty | 00 | | 0 | 00/0055 |
217 | 1 ASSD.DRIVER.S 113 | Empty | 00 | | 0 | 00/0055 | DOpen ; Driver_Open
218 | 1 ASSD.DRIVER.S 114 | Empty | 00 | | 0 | 00/0055 | DClose ; Driver_Close
219 | 1 ASSD.DRIVER.S 115 | Empty | 00 | | 0 | 00/0055 | DFlush ; Driver_Flush
220 | 1 ASSD.DRIVER.S 116 | Code | 00 | | 1 | 00/0055 : 60 | rts
221 | 1 ASSD.DRIVER.S 117 | Empty | 00 | | 0 | 00/0056 |
222 | 1 ASSD.DRIVER.S 118 | Comment | 00 | | 0 | 00/0056 | *
223 | 1 ASSD.DRIVER.S 119 | Comment | 00 | | 0 | 00/0056 | * Driver_Read
224 | 1 ASSD.DRIVER.S 120 | Comment | 00 | | 0 | 00/0056 | *
225 | 1 ASSD.DRIVER.S 121 | Empty | 00 | | 0 | 00/0056 |
226 | 1 ASSD.DRIVER.S 122 | Code | 00 | 2 | 3 | 00/0056 : 20 94 01 | DRead jsr doSETUP
227 | 1 ASSD.DRIVER.S 123 | Code | 00 | | 2 | 00/0059 : 90 01 | bcc dr1
228 | 1 ASSD.DRIVER.S 124 | Code | 00 | | 1 | 00/005B : 60 | rts
229 | 1 ASSD.DRIVER.S 125 | Empty | 00 | | 0 | 00/005C |
230 | 1 ASSD.DRIVER.S 126 | Comment | 00 | | 0 | 00/005C | *--- The AS magic is here
231 | 1 ASSD.DRIVER.S 127 | Empty | 00 | | 0 | 00/005C |
232 | 1 ASSD.DRIVER.S 128 | Code | 00 | | 2 | 00/005C : D4 05 | dr1 pei {$04}+1 ; save pointer
233 | 1 ASSD.DRIVER.S 129 | Empty | 00 | | 0 | 00/005E |
234 | 1 ASSD.DRIVER.S 130 | Code | 10 | | 2 | 00/005E : E2 20 | sep #$20
235 | 1 ASSD.DRIVER.S 131 | Code | 10 | | 2 | 00/0060 : A5 13 | lda {$10}+3
236 | 1 ASSD.DRIVER.S 132 | Code | 10 | | 4 | 00/0062 : 8F 00 00 E4 | stal {$e40000}
237 | 1 ASSD.DRIVER.S 133 | Code | 10 | | 2 | 00/0066 : A5 12 | lda {$10}+2
238 | 1 ASSD.DRIVER.S 134 | Code | 10 | | 4 | 00/0068 : 8F 02 00 E4 | stal {$e40002}
239 | 1 ASSD.DRIVER.S 135 | Code | 10 | | 2 | 00/006C : A5 11 | lda {$10}+1
240 | 1 ASSD.DRIVER.S 136 | Code | 10 | | 4 | 00/006E : 8F 04 00 E4 | stal {$e40004}
241 | 1 ASSD.DRIVER.S 137 | Code | 10 | | 2 | 00/0072 : A5 10 | lda {$10}
242 | 1 ASSD.DRIVER.S 138 | Code | 10 | | 4 | 00/0074 : 8F 06 00 E4 | stal {$e40006}
243 | 1 ASSD.DRIVER.S 139 | Empty | 10 | | 0 | 00/0078 |
244 | 1 ASSD.DRIVER.S 140 | Code | 10 | | 2 | 00/0078 : A9 01 | lda #1
245 | 1 ASSD.DRIVER.S 141 | Code | 10 | | 4 | 00/007A : 8F 08 00 E4 | stal {$e40008}
246 | 1 ASSD.DRIVER.S 142 | Empty | 10 | | 0 | 00/007E |
247 | 1 ASSD.DRIVER.S 143 | Code | 10 | 2 | 3 | 00/007E : AE EF 01 | ldx nbPAGES ; number of 512-byte pages to copy
248 | 1 ASSD.DRIVER.S 144 | Code | 10 | | 3 | 00/0081 : A0 00 00 | dr2 ldy #0 ; read one block
249 | 1 ASSD.DRIVER.S 145 | Code | 10 | | 2 | 00/0084 : E2 20 | sep #$20
250 | 1 ASSD.DRIVER.S 146 | Code | 10 | | 4 | 00/0086 : AF 0A 00 E4 | ozunid_1 ldal {$e4000a}
251 | 1 ASSD.DRIVER.S 147 | Code | 10 | | 2 | 00/008A : 97 04 | sta [{$04}],y
252 | 1 ASSD.DRIVER.S 148 | Code | 10 | | 1 | 00/008C : C8 | iny
253 | 1 ASSD.DRIVER.S 149 | Code | 10 | | 3 | 00/008D : C0 00 02 | cpy #{512}
254 | 1 ASSD.DRIVER.S 150 | Code | 10 | | 2 | 00/0090 : 90 F4 | bcc ozunid_1
255 | 1 ASSD.DRIVER.S 151 | Empty | 10 | | 0 | 00/0092 |
256 | 1 ASSD.DRIVER.S 152 | Code | 00 | | 2 | 00/0092 : C2 20 | rep #$20 ; move destination pointer
257 | 1 ASSD.DRIVER.S 153 | Code | 00 | | 2 | 00/0094 : A5 05 | lda {$04}+1
258 | 1 ASSD.DRIVER.S 154 | Code | 00 | | 1 | 00/0096 : 18 | clc
259 | 1 ASSD.DRIVER.S 155 | Code | 00 | | 3 | 00/0097 : 69 02 00 | adc #>{512} ; rwBlockSize+1
260 | 1 ASSD.DRIVER.S 156 | Code | 00 | | 2 | 00/009A : 85 05 | sta {$04}+1
261 | 1 ASSD.DRIVER.S 157 | Empty | 00 | | 0 | 00/009C |
262 | 1 ASSD.DRIVER.S 158 | Code | 00 | | 1 | 00/009C : CA | dex ; next block
263 | 1 ASSD.DRIVER.S 159 | Code | 00 | | 2 | 00/009D : D0 E2 | bne dr2
264 | 1 ASSD.DRIVER.S 160 | Empty | 00 | | 0 | 00/009F |
265 | 1 ASSD.DRIVER.S 161 | Code | 00 | | 1 | 00/009F : 68 | pla ; restore pointer
266 | 1 ASSD.DRIVER.S 162 | Code | 00 | | 2 | 00/00A0 : 85 05 | sta {$04}+1
267 | 1 ASSD.DRIVER.S 163 | Code | 00 | | 1 | 00/00A2 : 60 | rts
268 | 1 ASSD.DRIVER.S 164 | Empty | 00 | | 0 | 00/00A3 |
269 | 1 ASSD.DRIVER.S 165 | Comment | 00 | | 0 | 00/00A3 | *--- The AS magic ends here
270 | 1 ASSD.DRIVER.S 166 | Empty | 00 | | 0 | 00/00A3 |
271 | 1 ASSD.DRIVER.S 167 | Comment | 00 | | 0 | 00/00A3 | *
272 | 1 ASSD.DRIVER.S 168 | Comment | 00 | | 0 | 00/00A3 | * Driver_Write
273 | 1 ASSD.DRIVER.S 169 | Comment | 00 | | 0 | 00/00A3 | *
274 | 1 ASSD.DRIVER.S 170 | Empty | 00 | | 0 | 00/00A3 |
275 | 1 ASSD.DRIVER.S 171 | Code | 00 | 2 | 3 | 00/00A3 : 20 94 01 | DWrite jsr doSETUP
276 | 1 ASSD.DRIVER.S 172 | Code | 00 | | 2 | 00/00A6 : 90 01 | bcc dw1
277 | 1 ASSD.DRIVER.S 173 | Code | 00 | | 1 | 00/00A8 : 60 | rts
278 | 1 ASSD.DRIVER.S 174 | Empty | 00 | | 0 | 00/00A9 |
279 | 1 ASSD.DRIVER.S 175 | Comment | 00 | | 0 | 00/00A9 | *--- The AS magic is here
280 | 1 ASSD.DRIVER.S 176 | Empty | 00 | | 0 | 00/00A9 |
281 | 1 ASSD.DRIVER.S 177 | Code | 00 | | 2 | 00/00A9 : D4 05 | dw1 pei {$04}+1 ; save pointer
282 | 1 ASSD.DRIVER.S 178 | Empty | 00 | | 0 | 00/00AB |
283 | 1 ASSD.DRIVER.S 179 | Code | 10 | | 2 | 00/00AB : E2 20 | sep #$20
284 | 1 ASSD.DRIVER.S 180 | Code | 10 | | 2 | 00/00AD : A5 13 | lda {$10}+3
285 | 1 ASSD.DRIVER.S 181 | Code | 10 | | 4 | 00/00AF : 8F 00 00 E4 | stal {$e40000}
286 | 1 ASSD.DRIVER.S 182 | Code | 10 | | 2 | 00/00B3 : A5 12 | lda {$10}+2
287 | 1 ASSD.DRIVER.S 183 | Code | 10 | | 4 | 00/00B5 : 8F 02 00 E4 | stal {$e40002}
288 | 1 ASSD.DRIVER.S 184 | Code | 10 | | 2 | 00/00B9 : A5 11 | lda {$10}+1
289 | 1 ASSD.DRIVER.S 185 | Code | 10 | | 4 | 00/00BB : 8F 04 00 E4 | stal {$e40004}
290 | 1 ASSD.DRIVER.S 186 | Code | 10 | | 2 | 00/00BF : A5 10 | lda {$10}
291 | 1 ASSD.DRIVER.S 187 | Code | 10 | | 4 | 00/00C1 : 8F 06 00 E4 | stal {$e40006}
292 | 1 ASSD.DRIVER.S 188 | Empty | 10 | | 0 | 00/00C5 |
293 | 1 ASSD.DRIVER.S 189 | Code | 10 | | 2 | 00/00C5 : A9 01 | lda #1
294 | 1 ASSD.DRIVER.S 190 | Code | 10 | | 4 | 00/00C7 : 8F 0C 00 E4 | stal {$e4000c}
295 | 1 ASSD.DRIVER.S 191 | Empty | 10 | | 0 | 00/00CB |
296 | 1 ASSD.DRIVER.S 192 | Code | 10 | 2 | 3 | 00/00CB : AE EF 01 | ldx nbPAGES ; number of 512-byte pages to copy
297 | 1 ASSD.DRIVER.S 193 | Code | 10 | | 3 | 00/00CE : A0 00 00 | dw2 ldy #0 ; read one block
298 | 1 ASSD.DRIVER.S 194 | Code | 10 | | 2 | 00/00D1 : E2 20 | sep #$20
299 | 1 ASSD.DRIVER.S 195 | Code | 10 | | 2 | 00/00D3 : B7 04 | ozunid_2 lda [{$04}],y
300 | 1 ASSD.DRIVER.S 196 | Code | 10 | | 4 | 00/00D5 : 8F 0A 00 E4 | stal {$e4000a}
301 | 1 ASSD.DRIVER.S 197 | Code | 10 | | 1 | 00/00D9 : C8 | iny
302 | 1 ASSD.DRIVER.S 198 | Code | 10 | | 3 | 00/00DA : C0 00 02 | cpy #{512}
303 | 1 ASSD.DRIVER.S 199 | Code | 10 | | 2 | 00/00DD : 90 F4 | bcc ozunid_2
304 | 1 ASSD.DRIVER.S 200 | Empty | 10 | | 0 | 00/00DF |
305 | 1 ASSD.DRIVER.S 201 | Code | 00 | | 2 | 00/00DF : C2 20 | rep #$20 ; move destination pointer
306 | 1 ASSD.DRIVER.S 202 | Code | 00 | | 2 | 00/00E1 : A5 05 | lda {$04}+1
307 | 1 ASSD.DRIVER.S 203 | Code | 00 | | 1 | 00/00E3 : 18 | clc
308 | 1 ASSD.DRIVER.S 204 | Code | 00 | | 3 | 00/00E4 : 69 02 00 | adc #>{512} ; rwBlockSize+1
309 | 1 ASSD.DRIVER.S 205 | Code | 00 | | 2 | 00/00E7 : 85 05 | sta {$04}+1
310 | 1 ASSD.DRIVER.S 206 | Empty | 00 | | 0 | 00/00E9 |
311 | 1 ASSD.DRIVER.S 207 | Code | 00 | | 1 | 00/00E9 : CA | dex ; next block
312 | 1 ASSD.DRIVER.S 208 | Code | 00 | | 2 | 00/00EA : D0 E2 | bne dw2
313 | 1 ASSD.DRIVER.S 209 | Empty | 00 | | 0 | 00/00EC |
314 | 1 ASSD.DRIVER.S 210 | Code | 00 | | 1 | 00/00EC : 68 | pla ; restore pointer
315 | 1 ASSD.DRIVER.S 211 | Code | 00 | | 2 | 00/00ED : 85 05 | sta {$04}+1
316 | 1 ASSD.DRIVER.S 212 | Code | 00 | | 1 | 00/00EF : 60 | rts
317 | 1 ASSD.DRIVER.S 213 | Empty | 00 | | 0 | 00/00F0 |
318 | 1 ASSD.DRIVER.S 214 | Comment | 00 | | 0 | 00/00F0 | *--- The AS magic ends here
319 | 1 ASSD.DRIVER.S 215 | Empty | 00 | | 0 | 00/00F0 |
320 | 1 ASSD.DRIVER.S 216 | Comment | 00 | | 0 | 00/00F0 | *
321 | 1 ASSD.DRIVER.S 217 | Comment | 00 | | 0 | 00/00F0 | * Driver_Status
322 | 1 ASSD.DRIVER.S 218 | Comment | 00 | | 0 | 00/00F0 | *
323 | 1 ASSD.DRIVER.S 219 | Empty | 00 | | 0 | 00/00F0 |
324 | 1 ASSD.DRIVER.S 220 | Code | 00 | | 2 | 00/00F0 : A5 16 | DStatus lda {$16}
325 | 1 ASSD.DRIVER.S 221 | Code | 00 | | 3 | 00/00F2 : C9 05 00 | cmp #4+1
326 | 1 ASSD.DRIVER.S 222 | Code | 00 | | 2 | 00/00F5 : 90 07 | bcc DStatus1
327 | 1 ASSD.DRIVER.S 223 | Code | 00 | | 3 | 00/00F7 : A9 21 00 | lda #$0021 ; drvrBadCode
328 | 1 ASSD.DRIVER.S 224 | Code | 00 | 2 | 3 | 00/00FA : 8D E9 01 | sta errCODE
329 | 1 ASSD.DRIVER.S 225 | Code | 00 | | 1 | 00/00FD : 60 | rts
330 | 1 ASSD.DRIVER.S 226 | Empty | 00 | | 0 | 00/00FE |
331 | 1 ASSD.DRIVER.S 227 | Code | 00 | | 1 | 00/00FE : 0A | DStatus1 asl
332 | 1 ASSD.DRIVER.S 228 | Code | 00 | | 1 | 00/00FF : AA | tax
333 | 1 ASSD.DRIVER.S 229 | Code | 00 | | 2 | 00/0100 : 64 0C | stz {$0C}
334 | 1 ASSD.DRIVER.S 230 | Code | 00 | | 2 | 00/0102 : 64 0E | stz {$0C}+2
335 | 1 ASSD.DRIVER.S 231 | Code | 00 | 2 | 3 | 00/0104 : FC 08 01 | jsr (tblSTATUS,x)
336 | 1 ASSD.DRIVER.S 232 | Code | 00 | | 1 | 00/0107 : 60 | rts
337 | 1 ASSD.DRIVER.S 233 | Empty | 00 | | 0 | 00/0108 |
338 | 1 ASSD.DRIVER.S 234 | Data | 00 | 2 | 2 | 00/0108 : 13 01 | tblSTATUS da SGetStatus ; GetDeviceStatus
339 | 1 ASSD.DRIVER.S 235 | Data | 00 | 2 | 2 | 00/010A : 4A 01 | da SGet ; GetConfigParameters
340 | 1 ASSD.DRIVER.S 236 | Data | 00 | 2 | 2 | 00/010C : 4A 01 | da SGet ; GetWaitStatus
341 | 1 ASSD.DRIVER.S 237 | Data | 00 | 2 | 2 | 00/010E : 4A 01 | da SGet ; GetFormatOptions
342 | 1 ASSD.DRIVER.S 238 | Data | 00 | 2 | 2 | 00/0110 : 12 01 | da SNada ; GetPartitionMap
343 | 1 ASSD.DRIVER.S 239 | Empty | 00 | | 0 | 00/0112 |
344 | 1 ASSD.DRIVER.S 240 | Code | 00 | | 1 | 00/0112 : 60 | SNada rts
345 | 1 ASSD.DRIVER.S 241 | Empty | 00 | | 0 | 00/0113 |
346 | 1 ASSD.DRIVER.S 242 | Comment | 00 | | 0 | 00/0113 | *----------- GetDeviceStatus
347 | 1 ASSD.DRIVER.S 243 | Empty | 00 | | 0 | 00/0113 |
348 | 1 ASSD.DRIVER.S 244 | Code | 00 | | 3 | 00/0113 : A9 02 00 | SGetStatus lda #2 ; GetDeviceStatus
349 | 1 ASSD.DRIVER.S 245 | Code | 00 | | 2 | 00/0116 : 85 0C | sta {$0C}
350 | 1 ASSD.DRIVER.S 246 | Empty | 00 | | 0 | 00/0118 |
351 | 1 ASSD.DRIVER.S 247 | Code | 00 | | 2 | 00/0118 : A5 08 | lda {$08} ; check length of buffer
352 | 1 ASSD.DRIVER.S 248 | Code | 00 | | 3 | 00/011A : C9 06 00 | cmp #6
353 | 1 ASSD.DRIVER.S 249 | Code | 00 | | 2 | 00/011D : 90 14 | bcc SGS1
354 | 1 ASSD.DRIVER.S 250 | Code | 00 | | 3 | 00/011F : A9 06 00 | lda #6
355 | 1 ASSD.DRIVER.S 251 | Code | 00 | | 2 | 00/0122 : 85 0C | sta {$0C}
356 | 1 ASSD.DRIVER.S 252 | Empty | 00 | | 0 | 00/0124 |
357 | 1 ASSD.DRIVER.S 253 | Code | 00 | | 3 | 00/0124 : A0 02 00 | ldy #2 ; we can send the number of blocks
358 | 1 ASSD.DRIVER.S 254 | Code | 00 | | 3 | 00/0127 : A9 FF FF | lda #{$ffffffff}
359 | 1 ASSD.DRIVER.S 255 | Code | 00 | | 2 | 00/012A : 97 04 | sta [{$04}],y
360 | 1 ASSD.DRIVER.S 256 | Code | 00 | | 1 | 00/012C : C8 | iny
361 | 1 ASSD.DRIVER.S 257 | Code | 00 | | 1 | 00/012D : C8 | iny
362 | 1 ASSD.DRIVER.S 258 | Code | 00 | | 3 | 00/012E : A9 FF FF | lda #^{$ffffffff}
363 | 1 ASSD.DRIVER.S 259 | Code | 00 | | 2 | 00/0131 : 97 04 | sta [{$04}],y
364 | 1 ASSD.DRIVER.S 260 | Empty | 00 | | 0 | 00/0133 |
365 | 1 ASSD.DRIVER.S 261 | Code | 00 | | 3 | 00/0133 : A2 10 00 | SGS1 ldx #{$0010}
366 | 1 ASSD.DRIVER.S 262 | Code | 00 | | 4 | 00/0136 : AF 12 00 E4 | ldal {$e40012} ; check if a card is inserted
367 | 1 ASSD.DRIVER.S 263 | Code | 00 | | 3 | 00/013A : 29 FF 00 | and #$ff
368 | 1 ASSD.DRIVER.S 264 | Code | 00 | | 3 | 00/013D : C9 01 00 | cmp #1
369 | 1 ASSD.DRIVER.S 265 | Code | 00 | | 2 | 00/0140 : F0 01 | beq SGS2 ; yes, a SD card is inserted
370 | 1 ASSD.DRIVER.S 266 | Code | 00 | | 1 | 00/0142 : E8 | inx
371 | 1 ASSD.DRIVER.S 267 | Code | 00 | | 1 | 00/0143 : 8A | SGS2 txa
372 | 1 ASSD.DRIVER.S 268 | Code | 00 | | 3 | 00/0144 : 09 00 80 | ora #{$8000} ; we are uncertain of the block count
373 | 1 ASSD.DRIVER.S 269 | Code | 00 | | 2 | 00/0147 : 87 04 | sta [{$04}]
374 | 1 ASSD.DRIVER.S 270 | Code | 00 | | 1 | 00/0149 : 60 | rts
375 | 1 ASSD.DRIVER.S 271 | Empty | 00 | | 0 | 00/014A |
376 | 1 ASSD.DRIVER.S 272 | Comment | 00 | | 0 | 00/014A | *----------- GetConfigParameters / GetWaitStatus
377 | 1 ASSD.DRIVER.S 273 | Empty | 00 | | 0 | 00/014A |
378 | 1 ASSD.DRIVER.S 274 | Code | 00 | | 3 | 00/014A : A9 00 00 | SGet lda #0 ; GetConfigParameters
379 | 1 ASSD.DRIVER.S 275 | Code | 00 | | 2 | 00/014D : 87 04 | sta [{$04}] ; GetWaitStatus
380 | 1 ASSD.DRIVER.S 276 | Code | 00 | | 3 | 00/014F : A9 02 00 | lda #2
381 | 1 ASSD.DRIVER.S 277 | Code | 00 | | 2 | 00/0152 : 85 0C | sta {$0C}
382 | 1 ASSD.DRIVER.S 278 | Code | 00 | | 1 | 00/0154 : 60 | rts
383 | 1 ASSD.DRIVER.S 279 | Empty | 00 | | 0 | 00/0155 |
384 | 1 ASSD.DRIVER.S 280 | Comment | 00 | | 0 | 00/0155 | *
385 | 1 ASSD.DRIVER.S 281 | Comment | 00 | | 0 | 00/0155 | * Driver_Control
386 | 1 ASSD.DRIVER.S 282 | Comment | 00 | | 0 | 00/0155 | *
387 | 1 ASSD.DRIVER.S 283 | Empty | 00 | | 0 | 00/0155 |
388 | 1 ASSD.DRIVER.S 284 | Code | 00 | 2 | 3 | 00/0155 : 20 CD 01 | DControl jsr checkSWITCHED
389 | 1 ASSD.DRIVER.S 285 | Code | 00 | | 2 | 00/0158 : 90 01 | bcc DControl1
390 | 1 ASSD.DRIVER.S 286 | Code | 00 | | 1 | 00/015A : 60 | rts
391 | 1 ASSD.DRIVER.S 287 | Empty | 00 | | 0 | 00/015B |
392 | 1 ASSD.DRIVER.S 288 | Code | 00 | | 2 | 00/015B : A5 16 | DControl1 lda {$16}
393 | 1 ASSD.DRIVER.S 289 | Code | 00 | | 3 | 00/015D : C9 0A 00 | cmp #9+1
394 | 1 ASSD.DRIVER.S 290 | Code | 00 | | 2 | 00/0160 : 90 07 | bcc DControl2
395 | 1 ASSD.DRIVER.S 291 | Empty | 00 | | 0 | 00/0162 |
396 | 1 ASSD.DRIVER.S 292 | Code | 00 | | 3 | 00/0162 : A9 21 00 | lda #$0021
397 | 1 ASSD.DRIVER.S 293 | Code | 00 | 2 | 3 | 00/0165 : 8D E9 01 | sta errCODE
398 | 1 ASSD.DRIVER.S 294 | Code | 00 | | 1 | 00/0168 : 60 | rts
399 | 1 ASSD.DRIVER.S 295 | Empty | 00 | | 0 | 00/0169 |
400 | 1 ASSD.DRIVER.S 296 | Code | 00 | | 1 | 00/0169 : 0A | DControl2 asl
401 | 1 ASSD.DRIVER.S 297 | Code | 00 | | 1 | 00/016A : AA | tax
402 | 1 ASSD.DRIVER.S 298 | Code | 00 | | 2 | 00/016B : 64 0C | stz {$0C}
403 | 1 ASSD.DRIVER.S 299 | Code | 00 | | 2 | 00/016D : 64 0E | stz {$0C}+2
404 | 1 ASSD.DRIVER.S 300 | Code | 00 | 2 | 3 | 00/016F : FC 73 01 | jsr (tblCONTROL,x)
405 | 1 ASSD.DRIVER.S 301 | Code | 00 | | 1 | 00/0172 : 60 | rts
406 | 1 ASSD.DRIVER.S 302 | Empty | 00 | | 0 | 00/0173 |
407 | 1 ASSD.DRIVER.S 303 | Data | 00 | 2 | 2 | 00/0173 : 87 01 | tblCONTROL da CNada ; 0 ResetDevice
408 | 1 ASSD.DRIVER.S 304 | Data | 00 | 2 | 2 | 00/0175 : 87 01 | da CNada ; 1 FormatDevice
409 | 1 ASSD.DRIVER.S 305 | Data | 00 | 2 | 2 | 00/0177 : 87 01 | da CNada ; 2 EjectMedium
410 | 1 ASSD.DRIVER.S 306 | Data | 00 | 2 | 2 | 00/0179 : 88 01 | da CSet ; 3 SetConfigParameters
411 | 1 ASSD.DRIVER.S 307 | Data | 00 | 2 | 2 | 00/017B : 88 01 | da CSet ; 4 SetWaitStatus
412 | 1 ASSD.DRIVER.S 308 | Data | 00 | 2 | 2 | 00/017D : 88 01 | da CSet ; 5 SetFormatOptions
413 | 1 ASSD.DRIVER.S 309 | Data | 00 | 2 | 2 | 00/017F : 87 01 | da CNada ; 6 AssignPartitionOwner
414 | 1 ASSD.DRIVER.S 310 | Data | 00 | 2 | 2 | 00/0181 : 87 01 | da CNada ; 7 ArmSignal
415 | 1 ASSD.DRIVER.S 311 | Data | 00 | 2 | 2 | 00/0183 : 87 01 | da CNada ; 8 DisarmSignal
416 | 1 ASSD.DRIVER.S 312 | Data | 00 | 2 | 2 | 00/0185 : 87 01 | da CNada ; 9 SetPartitionMap
417 | 1 ASSD.DRIVER.S 313 | Empty | 00 | | 0 | 00/0187 |
418 | 1 ASSD.DRIVER.S 314 | Code | 00 | | 1 | 00/0187 : 60 | CNada rts
419 | 1 ASSD.DRIVER.S 315 | Empty | 00 | | 0 | 00/0188 |
420 | 1 ASSD.DRIVER.S 316 | Comment | 00 | | 0 | 00/0188 | *----------- SetConfigParameters / SetWaitStatus
421 | 1 ASSD.DRIVER.S 317 | Empty | 00 | | 0 | 00/0188 |
422 | 1 ASSD.DRIVER.S 318 | Code | 00 | | 2 | 00/0188 : A7 04 | CSet lda [{$04}] ; SetConfigParameters
423 | 1 ASSD.DRIVER.S 319 | Code | 00 | | 2 | 00/018A : D0 01 | bne CSetERR ; SetWaitStatus
424 | 1 ASSD.DRIVER.S 320 | Code | 00 | | 1 | 00/018C : 60 | rts
425 | 1 ASSD.DRIVER.S 321 | Code | 00 | | 3 | 00/018D : A9 22 00 | CSetERR lda #$0022
426 | 1 ASSD.DRIVER.S 322 | Code | 00 | 2 | 3 | 00/0190 : 8D E9 01 | sta errCODE
427 | 1 ASSD.DRIVER.S 323 | Code | 00 | | 1 | 00/0193 : 60 | rts
428 | 1 ASSD.DRIVER.S 324 | Empty | 00 | | 0 | 00/0194 |
429 | 1 ASSD.DRIVER.S 325 | Comment | 00 | | 0 | 00/0194 | *----------------------------
430 | 1 ASSD.DRIVER.S 326 | Empty | 00 | | 0 | 00/0194 |
431 | 1 ASSD.DRIVER.S 327 | Comment | 00 | | 0 | 00/0194 | * Status flag of the current device
432 | 1 ASSD.DRIVER.S 328 | Comment | 00 | | 0 | 00/0194 | * $0001: image has been switched (disk switched)
433 | 1 ASSD.DRIVER.S 329 | Comment | 00 | | 0 | 00/0194 | * $0010: image is active (disk in drive)
434 | 1 ASSD.DRIVER.S 330 | Comment | 00 | | 0 | 00/0194 | * $0100: image has been modified
435 | 1 ASSD.DRIVER.S 331 | Empty | 00 | | 0 | 00/0194 |
436 | 1 ASSD.DRIVER.S 332 | Comment | 00 | | 0 | 00/0194 | *
437 | 1 ASSD.DRIVER.S 333 | Comment | 00 | | 0 | 00/0194 | * Checks everything is OK
438 | 1 ASSD.DRIVER.S 334 | Comment | 00 | | 0 | 00/0194 | *
439 | 1 ASSD.DRIVER.S 335 | Empty | 00 | | 0 | 00/0194 |
440 | 1 ASSD.DRIVER.S 336 | Code | 00 | 2 | 3 | 00/0194 : 20 CD 01 | doSETUP jsr checkSWITCHED
441 | 1 ASSD.DRIVER.S 337 | Code | 00 | | 2 | 00/0197 : 90 01 | bcc ds2
442 | 1 ASSD.DRIVER.S 338 | Code | 00 | | 1 | 00/0199 : 60 | rts
443 | 1 ASSD.DRIVER.S 339 | Empty | 00 | | 0 | 00/019A |
444 | 1 ASSD.DRIVER.S 340 | Code | 00 | | 2 | 00/019A : A5 08 | ds2 lda {$08} ; nb of bytes to read
445 | 1 ASSD.DRIVER.S 341 | Code | 00 | | 2 | 00/019C : 05 0A | ora {$08}+2
446 | 1 ASSD.DRIVER.S 342 | Code | 00 | | 2 | 00/019E : D0 08 | bne ds4
447 | 1 ASSD.DRIVER.S 343 | Empty | 00 | | 0 | 00/01A0 |
448 | 1 ASSD.DRIVER.S 344 | Code | 00 | | 3 | 00/01A0 : A9 2C 00 | lda #$002C ; invalidByteCount
449 | 1 ASSD.DRIVER.S 345 | Code | 00 | 2 | 3 | 00/01A3 : 8D E9 01 | sta errCODE
450 | 1 ASSD.DRIVER.S 346 | Code | 00 | | 1 | 00/01A6 : 38 | sec
451 | 1 ASSD.DRIVER.S 347 | Code | 00 | | 1 | 00/01A7 : 60 | rts
452 | 1 ASSD.DRIVER.S 348 | Empty | 00 | | 0 | 00/01A8 |
453 | 1 ASSD.DRIVER.S 349 | Comment | 00 | | 0 | 00/01A8 | * $0102_0400 =
454 | 1 ASSD.DRIVER.S 350 | Empty | 00 | | 0 | 00/01A8 |
455 | 1 ASSD.DRIVER.S 351 | Comment | 00 | | 0 | 00/01A8 | *--- requestcount : $0200 => 1
456 | 1 ASSD.DRIVER.S 352 | Comment | 00 | | 0 | 00/01A8 | *--- From a Block to a RAM address
457 | 1 ASSD.DRIVER.S 353 | Empty | 00 | | 0 | 00/01A8 |
458 | 1 ASSD.DRIVER.S 354 | Code | 00 | | 2 | 00/01A8 : A5 0B | ds4 lda {$08}+3 ; number of pages
459 | 1 ASSD.DRIVER.S 355 | Code | 00 | | 3 | 00/01AA : 29 FF 00 | and #$00ff ; to calculate
460 | 1 ASSD.DRIVER.S 356 | Code | 00 | | 1 | 00/01AD : 4A | lsr
461 | 1 ASSD.DRIVER.S 357 | Code | 00 | | 2 | 00/01AE : A5 09 | lda {$08}+1 ; $01020400 => $010204 => $8102
462 | 1 ASSD.DRIVER.S 358 | Code | 00 | | 1 | 00/01B0 : 6A | ror
463 | 1 ASSD.DRIVER.S 359 | Code | 00 | 2 | 3 | 00/01B1 : 8D EF 01 | sta nbPAGES ; to calculate
464 | 1 ASSD.DRIVER.S 360 | Empty | 00 | | 0 | 00/01B4 |
465 | 1 ASSD.DRIVER.S 361 | Code | 00 | | 2 | 00/01B4 : A5 08 | lda {$08} ; multiple of $0200
466 | 1 ASSD.DRIVER.S 362 | Code | 00 | | 3 | 00/01B6 : 29 FF 01 | and #{512}-1
467 | 1 ASSD.DRIVER.S 363 | Code | 00 | | 2 | 00/01B9 : F0 08 | beq ds6
468 | 1 ASSD.DRIVER.S 364 | Empty | 00 | | 0 | 00/01BB |
469 | 1 ASSD.DRIVER.S 365 | Code | 00 | | 3 | 00/01BB : A9 2D 00 | lda #$002D ; bad block count
470 | 1 ASSD.DRIVER.S 366 | Code | 00 | 2 | 3 | 00/01BE : 8D E9 01 | sta errCODE
471 | 1 ASSD.DRIVER.S 367 | Code | 00 | | 1 | 00/01C1 : 38 | sec
472 | 1 ASSD.DRIVER.S 368 | Code | 00 | | 1 | 00/01C2 : 60 | rts
473 | 1 ASSD.DRIVER.S 369 | Empty | 00 | | 0 | 00/01C3 |
474 | 1 ASSD.DRIVER.S 370 | Comment | 00 | | 0 | 00/01C3 | *--- Generic transfer now
475 | 1 ASSD.DRIVER.S 371 | Empty | 00 | | 0 | 00/01C3 |
476 | 1 ASSD.DRIVER.S 372 | Code | 00 | | 2 | 00/01C3 : A5 08 | ds6 lda {$08} ; assume transfer=request
477 | 1 ASSD.DRIVER.S 373 | Code | 00 | | 2 | 00/01C5 : 85 0C | sta {$0C}
478 | 1 ASSD.DRIVER.S 374 | Code | 00 | | 2 | 00/01C7 : A5 0A | lda {$08}+2
479 | 1 ASSD.DRIVER.S 375 | Code | 00 | | 2 | 00/01C9 : 85 0E | sta {$0C}+2
480 | 1 ASSD.DRIVER.S 376 | Empty | 00 | | 0 | 00/01CB |
481 | 1 ASSD.DRIVER.S 377 | Code | 00 | | 1 | 00/01CB : 18 | clc
482 | 1 ASSD.DRIVER.S 378 | Code | 00 | | 1 | 00/01CC : 60 | rts
483 | 1 ASSD.DRIVER.S 379 | Empty | 00 | | 0 | 00/01CD |
484 | 1 ASSD.DRIVER.S 380 | Comment | 00 | | 0 | 00/01CD | *----------------------------
485 | 1 ASSD.DRIVER.S 381 | Empty | 00 | | 0 | 00/01CD |
486 | 1 ASSD.DRIVER.S 382 | Empty | 00 | | 0 | 00/01CD | checkSWITCHED
487 | 1 ASSD.DRIVER.S 383 | Code | 00 | | 4 | 00/01CD : AF 12 00 E4 | ldal {$e40012}
488 | 1 ASSD.DRIVER.S 384 | Code | 00 | | 3 | 00/01D1 : 29 FF 00 | and #$ff
489 | 1 ASSD.DRIVER.S 385 | Code | 00 | | 3 | 00/01D4 : C9 01 00 | cmp #1
490 | 1 ASSD.DRIVER.S 386 | Code | 00 | | 2 | 00/01D7 : F0 0C | beq cs1
491 | 1 ASSD.DRIVER.S 387 | Empty | 00 | | 0 | 00/01D9 |
492 | 1 ASSD.DRIVER.S 388 | Code | 00 | | 4 | 00/01D9 : 22 90 FC 01 | jsl {$01FC90}
493 | 1 ASSD.DRIVER.S 389 | Empty | 00 | | 0 | 00/01DD |
494 | 1 ASSD.DRIVER.S 390 | Comment | 00 | | 0 | 00/01DD | * lda #1
495 | 1 ASSD.DRIVER.S 391 | Comment | 00 | | 0 | 00/01DD | * sta fgSTARTED
496 | 1 ASSD.DRIVER.S 392 | Code | 00 | | 3 | 00/01DD : A9 2E 00 | lda #$002e
497 | 1 ASSD.DRIVER.S 393 | Code | 00 | 2 | 3 | 00/01E0 : 8D E9 01 | sta errCODE
498 | 1 ASSD.DRIVER.S 394 | Code | 00 | | 1 | 00/01E3 : 38 | sec
499 | 1 ASSD.DRIVER.S 395 | Code | 00 | | 1 | 00/01E4 : 60 | rts
500 | 1 ASSD.DRIVER.S 396 | Empty | 00 | | 0 | 00/01E5 |
501 | 1 ASSD.DRIVER.S 397 | Code | 00 | | 1 | 00/01E5 : 18 | cs1 clc
502 | 1 ASSD.DRIVER.S 398 | Code | 00 | | 1 | 00/01E6 : 60 | rts
503 | 1 ASSD.DRIVER.S 399 | Empty | 00 | | 0 | 00/01E7 |
504 | 1 ASSD.DRIVER.S 400 | Comment | 00 | | 0 | 00/01E7 | *----------------------------
505 | 1 ASSD.DRIVER.S 401 | Empty | 00 | | 0 | 00/01E7 |
506 | 1 ASSD.DRIVER.S 402 | Data | 00 | | 2 | 00/01E7 : 00 00 | fgSTARTED ds 2 ; 0: not started, 1: started
507 | 1 ASSD.DRIVER.S 403 | Data | 00 | | 2 | 00/01E9 : 00 00 | errCODE ds 2
508 | 1 ASSD.DRIVER.S 404 | Data | 00 | | 4 | 00/01EB : 00 00 00 00 | thePAGE ds 4 ; page to read/write: $hh/ll00
509 | 1 ASSD.DRIVER.S 405 | Data | 00 | | 2 | 00/01EF : 00 00 | nbPAGES ds 2 ; number of blockSIZEP pages to copy
510 | 1 ASSD.DRIVER.S 406 | Empty | 00 | | 0 | 00/01F1 |
511 | 1 ASSD.DRIVER.S 407 | Data | 00 | | 4 | 00/01F1 : 00 00 00 00 | MyDIB ds 4 ; +00 pointer to the next DIB
512 | 1 ASSD.DRIVER.S 408 | Data | 00 | 3 | 4 | 00/01F5 : 06 00 00 00 | adrl entryPOINT ; +04 driver entry point
513 | 1 ASSD.DRIVER.S 409 | Data | 00 | | 2 | 00/01F9 : EC 03 | dw {$03EC} ; +08 characteristics
514 | 1 ASSD.DRIVER.S 410 | Data | 00 | | 4 | 00/01FB : 00 00 00 00 | ds 4 ; +0A block count
515 | 1 ASSD.DRIVER.S 411 | Data | 00 | | 11 | 00/01FF : 0A 41 53 53 | str 'ASSDDevice' ; +0E device name
| | | | | | 44 44 65 76 |
| | | | | | 69 63 65 |
511 | 1 ASSD.DRIVER.S 408 | Data | 00 | | 21 | 00/0202 : 00 00 00 00 | ds 21 ; 32 - 11 = 21
516 | 1 ASSD.DRIVER.S 412 | Data | 00 | | 21 | 00/020A : 00 00 00 00 | ds 21 ; 32 - 11 = 21
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 |
512 | 1 ASSD.DRIVER.S 409 | Data | 00 | | 2 | 00/0217 : 00 80 | dw {$8000} ; +2E slot number
513 | 1 ASSD.DRIVER.S 410 | Data | 00 | | 2 | 00/0219 : 01 00 | dw {$0001} ; +30 unit number
514 | 1 ASSD.DRIVER.S 411 | Data | 00 | | 2 | 00/021B : 00 10 | dw {$1000} ; +32 version
515 | 1 ASSD.DRIVER.S 412 | Data | 00 | | 2 | 00/021D : 13 00 | dw {$0013} ; +34 device ID
516 | 1 ASSD.DRIVER.S 413 | Data | 00 | | 2 | 00/021F : 00 00 | dw $0000 ; +36 first linked device
517 | 1 ASSD.DRIVER.S 414 | Data | 00 | | 2 | 00/0221 : 00 00 | dw $0000 ; +38 next linked device
518 | 1 ASSD.DRIVER.S 415 | Data | 00 | | 4 | 00/0223 : 00 00 00 00 | adrl $00000000 ; +3A extended DIB ptr
519 | 1 ASSD.DRIVER.S 416 | Data | 00 | | 2 | 00/0227 : 00 00 | dw $0000 ; +3E device number
520 | 1 ASSD.DRIVER.S 417 | Empty | 00 | | 0 | 00/0229 |
517 | 1 ASSD.DRIVER.S 413 | Data | 00 | | 2 | 00/021F : 00 80 | dw {$8000} ; +2E slot number
518 | 1 ASSD.DRIVER.S 414 | Data | 00 | | 2 | 00/0221 : 01 00 | dw {$0001} ; +30 unit number
519 | 1 ASSD.DRIVER.S 415 | Data | 00 | | 2 | 00/0223 : 00 10 | dw {$1000} ; +32 version
520 | 1 ASSD.DRIVER.S 416 | Data | 00 | | 2 | 00/0225 : 13 00 | dw {$0013} ; +34 device ID
521 | 1 ASSD.DRIVER.S 417 | Data | 00 | | 2 | 00/0227 : 00 00 | dw $0000 ; +36 first linked device
522 | 1 ASSD.DRIVER.S 418 | Data | 00 | | 2 | 00/0229 : 00 00 | dw $0000 ; +38 next linked device
523 | 1 ASSD.DRIVER.S 419 | Data | 00 | | 4 | 00/022B : 00 00 00 00 | adrl $00000000 ; +3A extended DIB ptr
524 | 1 ASSD.DRIVER.S 420 | Data | 00 | | 2 | 00/022F : 00 00 | dw $0000 ; +3E device number
525 | 1 ASSD.DRIVER.S 421 | Empty | 00 | | 0 | 00/0231 |
------+-------------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------

View File

@ -1,2 +1,2 @@
ASSDDriver=Type(BB),AuxType(0101),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
debug=Type(B3),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
ASSDDriver=Type(BB),AuxType(0101),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)

Binary file not shown.