------+-------------------------+-------------+----+---------+------+-----------------------+------------------------------------------------------------------- Line | # File Line | Line Type | MX | Reloc | Size | Address Object Code | Source Code ------+-------------------------+-------------+----+---------+------+-----------------------+------------------------------------------------------------------- 1 | 1 ASSD.DRIVER.S 1 | Comment | 11 | | 0 | 00/0000 | * 2 | 1 ASSD.DRIVER.S 2 | Comment | 11 | | 0 | 00/0000 | * AppleSqueezer - SD Driver 3 | 1 ASSD.DRIVER.S 3 | Comment | 11 | | 0 | 00/0000 | * 4 | 1 ASSD.DRIVER.S 4 | Comment | 11 | | 0 | 00/0000 | * (c) 2023, Niek Van Suchtelen 5 | 1 ASSD.DRIVER.S 5 | Comment | 11 | | 0 | 00/0000 | * (c) 2023, Brutal Deluxe Software 6 | 1 ASSD.DRIVER.S 6 | Comment | 11 | | 0 | 00/0000 | * 7 | 1 ASSD.DRIVER.S 7 | Empty | 11 | | 0 | 00/0000 | 8 | 1 ASSD.DRIVER.S 8 | Comment | 11 | | 0 | 00/0000 | * v1.0 (202304) - AV 9 | 1 ASSD.DRIVER.S 9 | Comment | 11 | | 0 | 00/0000 | * Reads a sector 10 | 1 ASSD.DRIVER.S 10 | Comment | 11 | | 0 | 00/0000 | * Type must be $BB 11 | 1 ASSD.DRIVER.S 11 | Comment | 11 | | 0 | 00/0000 | * Auxtype must be $0101 12 | 1 ASSD.DRIVER.S 12 | Comment | 11 | | 0 | 00/0000 | * 13 | 1 ASSD.DRIVER.S 13 | Comment | 11 | | 0 | 00/0000 | * v1.1 (202306) - AV 14 | 1 ASSD.DRIVER.S 14 | Comment | 11 | | 0 | 00/0000 | * Writes a sector too! 15 | 1 ASSD.DRIVER.S 15 | Comment | 11 | | 0 | 00/0000 | * 16 | 1 ASSD.DRIVER.S 16 | Comment | 11 | | 0 | 00/0000 | * v1.2 (202307) - AV 17 | 1 ASSD.DRIVER.S 17 | Comment | 11 | | 0 | 00/0000 | * Uses disk insertion status 18 | 1 ASSD.DRIVER.S 18 | Comment | 11 | | 0 | 00/0000 | * 19 | 1 ASSD.DRIVER.S 19 | Comment | 11 | | 0 | 00/0000 | * v1.3 (202307) - AV 20 | 1 ASSD.DRIVER.S 20 | Comment | 11 | | 0 | 00/0000 | * Formatting options 21 | 1 ASSD.DRIVER.S 21 | Empty | 11 | | 0 | 00/0000 | 22 | 1 ASSD.DRIVER.S 22 | Directive | 00 | | 0 | 00/0000 | mx %00 23 | 1 ASSD.DRIVER.S 23 | Directive | 00 | | 0 | 00/0000 | rel 24 | 1 ASSD.DRIVER.S 24 | Directive | 00 | | 0 | 00/0000 | typ $bb 25 | 1 ASSD.DRIVER.S 25 | Directive | 00 | | 0 | 00/0000 | dsk ASSDDriver 26 | 1 ASSD.DRIVER.S 26 | Empty | 00 | | 0 | 00/0000 | 27 | 1 ASSD.DRIVER.S 27 | Directive | 00 | | 0 | 00/0000 | use AS.EQUATES.S 28 | 2 AS.EQUATES.S 1 | Comment | 00 | | 0 | 00/0000 | * 29 | 2 AS.EQUATES.S 2 | Comment | 00 | | 0 | 00/0000 | * AppleSqueezer - Equates 30 | 2 AS.EQUATES.S 3 | Comment | 00 | | 0 | 00/0000 | * 31 | 2 AS.EQUATES.S 4 | Comment | 00 | | 0 | 00/0000 | * (c) 2023, Niek Van Suchtelen 32 | 2 AS.EQUATES.S 5 | Comment | 00 | | 0 | 00/0000 | * (c) 2023, Brutal Deluxe Software 33 | 2 AS.EQUATES.S 6 | Comment | 00 | | 0 | 00/0000 | * 34 | 2 AS.EQUATES.S 7 | Empty | 00 | | 0 | 00/0000 | 35 | 2 AS.EQUATES.S 8 | Comment | 00 | | 0 | 00/0000 | *----------------------------------- 36 | 2 AS.EQUATES.S 9 | Comment | 00 | | 0 | 00/0000 | * APPLESQUEEZER EQUATES 37 | 2 AS.EQUATES.S 10 | Comment | 00 | | 0 | 00/0000 | *----------------------------------- 38 | 2 AS.EQUATES.S 11 | Empty | 00 | | 0 | 00/0000 | 39 | 2 AS.EQUATES.S 12 | Comment | 00 | | 0 | 00/0000 | * data 40 | 2 AS.EQUATES.S 13 | Comment | 00 | | 0 | 00/0000 | * bit 0: 1 if Acceralation is enabled 41 | 2 AS.EQUATES.S 14 | Comment | 00 | | 0 | 00/0000 | * bit 1: 1 if Built-RAM is enabled 42 | 2 AS.EQUATES.S 15 | Comment | 00 | | 0 | 00/0000 | * bit 2: 1 if Extra RAM is enabled 43 | 2 AS.EQUATES.S 16 | Comment | 00 | | 0 | 00/0000 | * bit 3-7: values unknown 44 | 2 AS.EQUATES.S 17 | Empty | 00 | | 0 | 00/0000 | 45 | 2 AS.EQUATES.S 18 | Equivalence | 00 | | 0 | 00/0000 | FL_WRITE = $e20000 46 | 2 AS.EQUATES.S 19 | Equivalence | 00 | | 0 | 00/0000 | FL_READ_REQUEST = $e20002 47 | 2 AS.EQUATES.S 20 | Equivalence | 00 | | 0 | 00/0000 | FL_READ = $e20004 48 | 2 AS.EQUATES.S 21 | Equivalence | 00 | | 0 | 00/0000 | FL_CS = $e20006 49 | 2 AS.EQUATES.S 22 | Equivalence | 00 | | 0 | 00/0000 | FL_READY = $e20008 50 | 2 AS.EQUATES.S 23 | Equivalence | 00 | | 0 | 00/0000 | FL_IDLE = $e2000a 51 | 2 AS.EQUATES.S 24 | Equivalence | 00 | | 0 | 00/0000 | FL_VERSION = $e2000c 52 | 2 AS.EQUATES.S 25 | Empty | 00 | | 0 | 00/0000 | 53 | 2 AS.EQUATES.S 26 | Equivalence | 00 | | 0 | 00/0000 | CMD_WRITE_ENABLE = $06 54 | 2 AS.EQUATES.S 27 | Equivalence | 00 | | 0 | 00/0000 | CMD_WRITE_DISABLE = $04 55 | 2 AS.EQUATES.S 28 | Equivalence | 00 | | 0 | 00/0000 | CMD_PAGE_PROGRAM = $02 56 | 2 AS.EQUATES.S 29 | Equivalence | 00 | | 0 | 00/0000 | CMD_SECTOR_ERASE = $d8 57 | 2 AS.EQUATES.S 30 | Equivalence | 00 | | 0 | 00/0000 | CMD_BULK_ERASE = $c7 58 | 2 AS.EQUATES.S 31 | Equivalence | 00 | | 0 | 00/0000 | CMD_READ_DATA_BYTES = $03 59 | 2 AS.EQUATES.S 32 | Equivalence | 00 | | 0 | 00/0000 | CMD_READ_STATUS_REGISTER = $05 60 | 2 AS.EQUATES.S 33 | Empty | 00 | | 0 | 00/0000 | 61 | 2 AS.EQUATES.S 34 | Equivalence | 00 | | 0 | 00/0000 | exdram_address_set_main_bank = $e30000 ; 00..0E 62 | 2 AS.EQUATES.S 35 | Equivalence | 00 | | 0 | 00/0000 | exdram_address_set_addr_low = $e30002 ; 00/00xx 63 | 2 AS.EQUATES.S 36 | Equivalence | 00 | | 0 | 00/0000 | exdram_address_set_addr_high = $e30004 ; 00/xx00 64 | 2 AS.EQUATES.S 37 | Equivalence | 00 | | 0 | 00/0000 | exdram_address_set_addr_bank = $e30006 ; xx/0000 65 | 2 AS.EQUATES.S 38 | Equivalence | 00 | | 0 | 00/0000 | exdram_address_access = $e30008 ; R/W auto-increment to end of main bank 66 | 2 AS.EQUATES.S 39 | Empty | 00 | | 0 | 00/0000 | 67 | 2 AS.EQUATES.S 40 | Equivalence | 00 | | 0 | 00/0000 | SD_ADDRESS_SET_MSB = $e40000 68 | 2 AS.EQUATES.S 41 | Equivalence | 00 | | 0 | 00/0000 | SD_ADDRESS_SET_MSB_1 = $e40002 69 | 2 AS.EQUATES.S 42 | Equivalence | 00 | | 0 | 00/0000 | SD_ADDRESS_SET_MSB_2 = $e40004 70 | 2 AS.EQUATES.S 43 | Equivalence | 00 | | 0 | 00/0000 | SD_ADDRESS_SET_MSB_3 = $e40006 71 | 2 AS.EQUATES.S 44 | Equivalence | 00 | | 0 | 00/0000 | SD_START_READ = $e40008 ; starts reading the sector (if it was idle) 72 | 2 AS.EQUATES.S 45 | Equivalence | 00 | | 0 | 00/0000 | SD_ACCESS = $e4000a 73 | 2 AS.EQUATES.S 46 | Equivalence | 00 | | 0 | 00/0000 | SD_START_WRITE = $e4000c ; starts writing the sector (if it was idle) 74 | 2 AS.EQUATES.S 47 | Equivalence | 00 | | 0 | 00/0000 | SD_CARD_INSERTED = $e40012 ; 0: no card inserted, 1: card inserted 75 | 2 AS.EQUATES.S 48 | Empty | 00 | | 0 | 00/0000 | 76 | 2 AS.EQUATES.S 49 | Equivalence | 00 | | 0 | 00/0000 | STA_NOINIT = 1 ; Drive not initialized 77 | 2 AS.EQUATES.S 50 | Equivalence | 00 | | 0 | 00/0000 | STA_NODISK = 2 ; No medium in the drive 78 | 2 AS.EQUATES.S 51 | Empty | 00 | | 0 | 00/0000 | 79 | 2 AS.EQUATES.S 52 | Equivalence | 00 | | 0 | 00/0000 | TRUE = 1 80 | 2 AS.EQUATES.S 53 | Equivalence | 00 | | 0 | 00/0000 | FALSE = 0 81 | 2 AS.EQUATES.S 54 | Empty | 00 | | 0 | 00/0000 | 82 | 2 AS.EQUATES.S 55 | Equivalence | 00 | | 0 | 00/0000 | minVERSION = 7 ; minimum core version to handle the driver 83 | 2 AS.EQUATES.S 56 | Empty | 00 | | 0 | 00/0000 | 84 | 2 AS.EQUATES.S 57 | Comment | 00 | | 0 | 00/0000 | *--- Speed settings 85 | 2 AS.EQUATES.S 58 | Comment | 00 | | 0 | 00/0000 | * From 233 (3 MHz) to 255 (full speed) 86 | 2 AS.EQUATES.S 59 | Comment | 00 | | 0 | 00/0000 | * Setting is not preserved 87 | 2 AS.EQUATES.S 60 | Empty | 00 | | 0 | 00/0000 | 88 | 2 AS.EQUATES.S 61 | Equivalence | 00 | | 0 | 00/0000 | AS_SPEED = $e50000 ; just write a speed byte 89 | 2 AS.EQUATES.S 62 | Empty | 00 | | 0 | 00/0000 | 90 | 2 AS.EQUATES.S 63 | Comment | 00 | | 0 | 00/0000 | *----------------------------------- 91 | 2 AS.EQUATES.S 64 | Comment | 00 | | 0 | 00/0000 | * GS/OS EQUATES 92 | 2 AS.EQUATES.S 65 | Comment | 00 | | 0 | 00/0000 | *----------------------------------- 93 | 2 AS.EQUATES.S 66 | Empty | 00 | | 0 | 00/0000 | 94 | 2 AS.EQUATES.S 67 | Equivalence | 00 | | 0 | 00/0000 | GSOS2 = $E100B0 95 | 2 AS.EQUATES.S 68 | Equivalence | 00 | | 0 | 00/0000 | MOVE_INFO = $01FC70 96 | 2 AS.EQUATES.S 69 | Equivalence | 00 | | 0 | 00/0000 | SET_DISKSW = $01FC90 97 | 2 AS.EQUATES.S 70 | Empty | 00 | | 0 | 00/0000 | 98 | 2 AS.EQUATES.S 71 | Equivalence | 00 | | 0 | 00/0000 | uncertainBlockCountBit = $8000 99 | 2 AS.EQUATES.S 72 | Equivalence | 00 | | 0 | 00/0000 | diskSwitchedBit = $0001 100 | 2 AS.EQUATES.S 73 | Equivalence | 00 | | 0 | 00/0000 | diskInDriveBit = $0010 101 | 2 AS.EQUATES.S 74 | Equivalence | 00 | | 0 | 00/0000 | diskModifyBit = $0100 102 | 2 AS.EQUATES.S 75 | Empty | 00 | | 0 | 00/0000 | 103 | 2 AS.EQUATES.S 76 | Equivalence | 00 | | 0 | 00/0000 | devRAMDISK = $000e ; device ID for RAM/ROM disks 104 | 2 AS.EQUATES.S 77 | Equivalence | 00 | | 0 | 00/0000 | devHDD = $0013 ; device ID for HDD (generic) 105 | 2 AS.EQUATES.S 78 | Empty | 00 | | 0 | 00/0000 | 106 | 2 AS.EQUATES.S 79 | Equivalence | 00 | | 0 | 00/0000 | dchar = $08 107 | 2 AS.EQUATES.S 80 | Equivalence | 00 | | 0 | 00/0000 | dblockcount = $0a 108 | 2 AS.EQUATES.S 81 | Equivalence | 00 | | 0 | 00/0000 | ddeviceid = $34 109 | 2 AS.EQUATES.S 82 | Equivalence | 00 | | 0 | 00/0000 | ddevnumber = $3e 110 | 2 AS.EQUATES.S 83 | Empty | 00 | | 0 | 00/0000 | 111 | 2 AS.EQUATES.S 84 | Comment | 00 | | 0 | 00/0000 | *----------------------------------- 112 | 2 AS.EQUATES.S 85 | Comment | 00 | | 0 | 00/0000 | * GS/OS DIRECT PAGE 113 | 2 AS.EQUATES.S 86 | Comment | 00 | | 0 | 00/0000 | *----------------------------------- 114 | 2 AS.EQUATES.S 87 | Empty | 00 | | 0 | 00/0000 | 115 | 2 AS.EQUATES.S 88 | Equivalence | 00 | | 0 | 00/0000 | deviceNum = $00 116 | 2 AS.EQUATES.S 89 | Equivalence | 00 | | 0 | 00/0000 | callNum = $02 117 | 2 AS.EQUATES.S 90 | Equivalence | 00 | | 0 | 00/0000 | bufferPtr = $04 118 | 2 AS.EQUATES.S 91 | Equivalence | 00 | | 0 | 00/0000 | statusListPtr = $04 119 | 2 AS.EQUATES.S 92 | Equivalence | 00 | | 0 | 00/0000 | controlListPtr = $04 120 | 2 AS.EQUATES.S 93 | Equivalence | 00 | | 0 | 00/0000 | requestCount = $08 121 | 2 AS.EQUATES.S 94 | Equivalence | 00 | | 0 | 00/0000 | transferCount = $0C 122 | 2 AS.EQUATES.S 95 | Equivalence | 00 | | 0 | 00/0000 | blockNum = $10 123 | 2 AS.EQUATES.S 96 | Equivalence | 00 | | 0 | 00/0000 | blockSize = $14 124 | 2 AS.EQUATES.S 97 | Equivalence | 00 | | 0 | 00/0000 | FSTNum = $16 ; * 125 | 2 AS.EQUATES.S 98 | Equivalence | 00 | | 0 | 00/0000 | statusCode = $16 ; * 126 | 2 AS.EQUATES.S 99 | Equivalence | 00 | | 0 | 00/0000 | controlCode = $16 ; * 127 | 2 AS.EQUATES.S 100 | Equivalence | 00 | | 0 | 00/0000 | volumeID = $18 128 | 2 AS.EQUATES.S 101 | Equivalence | 00 | | 0 | 00/0000 | cachePriority = $1A 129 | 2 AS.EQUATES.S 102 | Equivalence | 00 | | 0 | 00/0000 | cachePointer = $1C 130 | 2 AS.EQUATES.S 103 | Equivalence | 00 | | 0 | 00/0000 | dibPointer = $20 131 | 2 AS.EQUATES.S 104 | Empty | 00 | | 0 | 00/0000 | 132 | 2 AS.EQUATES.S 105 | Empty | 00 | | 0 | 00/0000 | 133 | 1 ASSD.DRIVER.S 28 | Empty | 00 | | 0 | 00/0000 | 134 | 1 ASSD.DRIVER.S 29 | Directive | 00 | | 0 | 00/0000 | use 4/Sch.Macs 135 | 1 ASSD.DRIVER.S 30 | Directive | 00 | | 0 | 00/0000 | use 4/Util.Macs 136 | 1 ASSD.DRIVER.S 31 | Empty | 00 | | 0 | 00/0000 | 137 | 1 ASSD.DRIVER.S 32 | Comment | 00 | | 0 | 00/0000 | *----------------------------------- 138 | 1 ASSD.DRIVER.S 33 | Comment | 00 | | 0 | 00/0000 | * AS DRIVER EQUATES 139 | 1 ASSD.DRIVER.S 34 | Comment | 00 | | 0 | 00/0000 | *----------------------------------- 140 | 1 ASSD.DRIVER.S 35 | Empty | 00 | | 0 | 00/0000 | 141 | 1 ASSD.DRIVER.S 36 | Equivalence | 00 | | 0 | 00/0000 | maxIMAGES = 1 ; no more than N images 142 | 1 ASSD.DRIVER.S 37 | Equivalence | 00 | | 0 | 00/0000 | blockSIZE = 512 ; ProDOS 8 block size 143 | 1 ASSD.DRIVER.S 38 | Equivalence | 00 | | 0 | 00/0000 | maxBLOCKS = $ffffffff ; that is a huge number of blocks 144 | 1 ASSD.DRIVER.S 39 | Equivalence | 00 | | 0 | 00/0000 | maxBLOCKP = 65536 ; 65536 blocks for ProDOS 8 145 | 1 ASSD.DRIVER.S 40 | Empty | 00 | | 0 | 00/0000 | 146 | 1 ASSD.DRIVER.S 41 | Comment | 00 | | 0 | 00/0000 | * 0 0000 147 | 1 ASSD.DRIVER.S 42 | Comment | 00 | | 0 | 00/0000 | * 3 0011 not speed dependent 148 | 1 ASSD.DRIVER.S 43 | Comment | 00 | | 0 | 00/0000 | * E 1110 block device + write allowed + read allowed 149 | 1 ASSD.DRIVER.S 44 | Comment | 00 | | 0 | 00/0000 | * C 1100 format allowed + removable media 150 | 1 ASSD.DRIVER.S 45 | Empty | 00 | | 0 | 00/0000 | 151 | 1 ASSD.DRIVER.S 46 | Comment | 00 | | 0 | 00/0000 | *dftCHAR = $03EC ; default characteristics 152 | 1 ASSD.DRIVER.S 47 | Equivalence | 00 | | 0 | 00/0000 | dftCHAR = $8BEC ; default characteristics - LOGO 153 | 1 ASSD.DRIVER.S 48 | Equivalence | 00 | | 0 | 00/0000 | dftSLOT = $8000 ; not slot dependent 154 | 1 ASSD.DRIVER.S 49 | Equivalence | 00 | | 0 | 00/0000 | dftUNIT = $0001 ; unit 1 155 | 1 ASSD.DRIVER.S 50 | Equivalence | 00 | | 0 | 00/0000 | dftVERSION = $1000 ; v1 156 | 1 ASSD.DRIVER.S 51 | Empty | 00 | | 0 | 00/0000 | 157 | 1 ASSD.DRIVER.S 52 | Comment | 00 | | 0 | 00/0000 | *----------------------------------------------- 158 | 1 ASSD.DRIVER.S 53 | Empty | 00 | | 0 | 00/0000 | 159 | 1 ASSD.DRIVER.S 54 | Comment | 00 | | 0 | 00/0000 | * 160 | 1 ASSD.DRIVER.S 55 | Comment | 00 | | 0 | 00/0000 | * Entry point 161 | 1 ASSD.DRIVER.S 56 | Comment | 00 | | 0 | 00/0000 | * 162 | 1 ASSD.DRIVER.S 57 | Empty | 00 | | 0 | 00/0000 | 163 | 1 ASSD.DRIVER.S 58 | Data | 00 | | 2 | 00/0000 : 08 03 | RAMDisk da MyDIB-RAMDisk ; offset to 1st DIB 164 | 1 ASSD.DRIVER.S 59 | Data | 00 | | 2 | 00/0002 : 01 00 | dw {1} ; number of devices 165 | 1 ASSD.DRIVER.S 60 | Data | 00 | | 2 | 00/0004 : 00 00 | dw $0000 ; no configuration list 166 | 1 ASSD.DRIVER.S 61 | Empty | 00 | | 0 | 00/0006 | 167 | 1 ASSD.DRIVER.S 62 | Comment | 00 | | 0 | 00/0006 | * 168 | 1 ASSD.DRIVER.S 63 | Comment | 00 | | 0 | 00/0006 | * Dispatch routine 169 | 1 ASSD.DRIVER.S 64 | Comment | 00 | | 0 | 00/0006 | * 170 | 1 ASSD.DRIVER.S 65 | Empty | 00 | | 0 | 00/0006 | 171 | 1 ASSD.DRIVER.S 66 | Code | 00 | | 1 | 00/0006 : 4B | entryPOINT phk ; Dispatch 172 | 1 ASSD.DRIVER.S 67 | Code | 00 | | 1 | 00/0007 : AB | plb 173 | 1 ASSD.DRIVER.S 68 | Code | 00 | | 3 | 00/0008 : C9 09 00 | cmp #$0009 174 | 1 ASSD.DRIVER.S 69 | Code | 00 | | 2 | 00/000B : 90 05 | bcc L0012 175 | 1 ASSD.DRIVER.S 70 | Code | 00 | | 3 | 00/000D : A9 20 00 | lda #$0020 176 | 1 ASSD.DRIVER.S 71 | Code | 00 | | 2 | 00/0010 : 80 0B | bra L001D 177 | 1 ASSD.DRIVER.S 72 | Code | 00 | | 1 | 00/0012 : 0A | L0012 asl 178 | 1 ASSD.DRIVER.S 73 | Code | 00 | | 1 | 00/0013 : AA | tax 179 | 1 ASSD.DRIVER.S 74 | Code | 00 | 2 | 3 | 00/0014 : 9C 00 03 | stz errCODE 180 | 1 ASSD.DRIVER.S 75 | Code | 00 | 2 | 3 | 00/0017 : FC 21 00 | jsr (tblDISPATCH,x) 181 | 1 ASSD.DRIVER.S 76 | Code | 00 | 2 | 3 | 00/001A : AD 00 03 | lda errCODE 182 | 1 ASSD.DRIVER.S 77 | Code | 00 | | 3 | 00/001D : C9 01 00 | L001D cmp #$0001 183 | 1 ASSD.DRIVER.S 78 | Code | 00 | | 1 | 00/0020 : 6B | rtl 184 | 1 ASSD.DRIVER.S 79 | Empty | 00 | | 0 | 00/0021 | 185 | 1 ASSD.DRIVER.S 80 | Data | 00 | 2 | 2 | 00/0021 : 33 00 | tblDISPATCH da DStartup ; Driver_Startup 186 | 1 ASSD.DRIVER.S 81 | Data | 00 | 2 | 2 | 00/0023 : 7A 00 | da DOpen ; Driver_Open 187 | 1 ASSD.DRIVER.S 82 | Data | 00 | 2 | 2 | 00/0025 : 7B 00 | da DRead ; Driver_Read 188 | 1 ASSD.DRIVER.S 83 | Data | 00 | 2 | 2 | 00/0027 : C8 00 | da DWrite ; Driver_Write 189 | 1 ASSD.DRIVER.S 84 | Data | 00 | 2 | 2 | 00/0029 : 7A 00 | da DClose ; Driver_Close 190 | 1 ASSD.DRIVER.S 85 | Data | 00 | 2 | 2 | 00/002B : 15 01 | da DStatus ; Driver_Status 191 | 1 ASSD.DRIVER.S 86 | Data | 00 | 2 | 2 | 00/002D : 93 01 | da DControl ; Driver_Control 192 | 1 ASSD.DRIVER.S 87 | Data | 00 | 2 | 2 | 00/002F : 7A 00 | da DFlush ; Driver_Flush 193 | 1 ASSD.DRIVER.S 88 | Data | 00 | 2 | 2 | 00/0031 : 77 00 | da DShutdown ; Driver_Shutdown 194 | 1 ASSD.DRIVER.S 89 | Empty | 00 | | 0 | 00/0033 | 195 | 1 ASSD.DRIVER.S 90 | Comment | 00 | | 0 | 00/0033 | * 196 | 1 ASSD.DRIVER.S 91 | Comment | 00 | | 0 | 00/0033 | * Driver_Startup 197 | 1 ASSD.DRIVER.S 92 | Comment | 00 | | 0 | 00/0033 | * 198 | 1 ASSD.DRIVER.S 93 | Empty | 00 | | 0 | 00/0033 | 199 | 1 ASSD.DRIVER.S 94 | Empty | 00 | | 0 | 00/0033 | DStartup 200 | 1 ASSD.DRIVER.S 95 | Code | 00 | | 4 | 00/0033 : AF 0A 00 E2 | ldal {$e2000a} 201 | 1 ASSD.DRIVER.S 96 | Code | 00 | | 3 | 00/0037 : 29 FF 00 | and #$ff 202 | 1 ASSD.DRIVER.S 97 | Code | 00 | | 3 | 00/003A : C9 01 00 | cmp #$01 203 | 1 ASSD.DRIVER.S 98 | Code | 00 | | 2 | 00/003D : D0 38 | bne DShutdown ; no AS found 204 | 1 ASSD.DRIVER.S 99 | Empty | 00 | | 0 | 00/003F | 205 | 1 ASSD.DRIVER.S 100 | Code | 00 | | 4 | 00/003F : AF 0C 00 E2 | ldal {$e2000c} 206 | 1 ASSD.DRIVER.S 101 | Code | 00 | | 3 | 00/0043 : 29 FF 00 | and #$ff 207 | 1 ASSD.DRIVER.S 102 | Code | 00 | | 3 | 00/0046 : C9 07 00 | cmp #{7} 208 | 1 ASSD.DRIVER.S 103 | Code | 00 | | 2 | 00/0049 : 90 2C | bcc DShutdown ; no minimum version 209 | 1 ASSD.DRIVER.S 104 | Empty | 00 | | 0 | 00/004B | 210 | 1 ASSD.DRIVER.S 105 | Code | 00 | | 3 | 00/004B : A9 01 00 | lda #1 ; we're on 211 | 1 ASSD.DRIVER.S 106 | Code | 00 | 2 | 3 | 00/004E : 8D FC 02 | sta fgSTARTED 212 | 1 ASSD.DRIVER.S 107 | Empty | 00 | | 0 | 00/0051 | 213 | 1 ASSD.DRIVER.S 108 | Code | 11 | | 2 | 00/0051 : E2 30 | sep #$30 214 | 1 ASSD.DRIVER.S 109 | Code | 11 | | 2 | 00/0053 : A2 00 | ldx #0 215 | 1 ASSD.DRIVER.S 110 | Code | 11 | 2 | 3 | 00/0055 : BD 97 02 | ozunid_1 lda proDEVNAME+3,x 216 | 1 ASSD.DRIVER.S 111 | Code | 11 | 2 | 3 | 00/0058 : 9D 17 03 | sta MyDevName+1,x 217 | 1 ASSD.DRIVER.S 112 | Code | 11 | | 1 | 00/005B : E8 | inx 218 | 1 ASSD.DRIVER.S 113 | Code | 11 | | 2 | 00/005C : E0 09 | cpx #9 219 | 1 ASSD.DRIVER.S 114 | Code | 11 | | 2 | 00/005E : 90 F5 | bcc ozunid_1 220 | 1 ASSD.DRIVER.S 115 | Code | 11 | 2 | 3 | 00/0060 : 8E 16 03 | stx MyDevName 221 | 1 ASSD.DRIVER.S 116 | Code | 00 | | 2 | 00/0063 : C2 30 | rep #$30 222 | 1 ASSD.DRIVER.S 117 | Empty | 00 | | 0 | 00/0065 | 223 | 1 ASSD.DRIVER.S 118 | Macro | 00 | | 0 | 00/0065 | PushWord #0 225 | 1 ASSD.DRIVER.S 118 | Code | 00 | | 3 | 00/0065 : F4 00 00 | PEA #0 228 | 1 ASSD.DRIVER.S 119 | Macro | 00 | | 0 | 00/0068 | PushLong #myTASK 232 | 1 ASSD.DRIVER.S 119 | Code | 00 | 1 >>16 | 3 | 00/0068 : F4 00 00 | PEA #^#myTASK 239 | 1 ASSD.DRIVER.S 119 | Code | 00 | 2 | 3 | 00/006B : F4 4F 02 | PEA #myTASK 242 | 1 ASSD.DRIVER.S 120 | Macro | 00 | | 0 | 00/006E | _SchAddTask 244 | 1 ASSD.DRIVER.S 120 | Code | 00 | | 3 | 00/006E : A2 07 09 | LDX #$907 ; load tool call # 245 | 1 ASSD.DRIVER.S 120 | Code | 00 | | 4 | 00/0071 : 22 00 00 E1 | JSL $E10000 ; go to dispatcher 246 | 1 ASSD.DRIVER.S 121 | Code | 00 | | 1 | 00/0075 : 68 | pla 247 | 1 ASSD.DRIVER.S 122 | Code | 00 | | 1 | 00/0076 : 60 | rts 248 | 1 ASSD.DRIVER.S 123 | Empty | 00 | | 0 | 00/0077 | 249 | 1 ASSD.DRIVER.S 124 | Comment | 00 | | 0 | 00/0077 | * 250 | 1 ASSD.DRIVER.S 125 | Comment | 00 | | 0 | 00/0077 | * Driver_Shutdown 251 | 1 ASSD.DRIVER.S 126 | Comment | 00 | | 0 | 00/0077 | * 252 | 1 ASSD.DRIVER.S 127 | Empty | 00 | | 0 | 00/0077 | 253 | 1 ASSD.DRIVER.S 128 | Code | 00 | 2 | 3 | 00/0077 : 9C FC 02 | DShutdown stz fgSTARTED 254 | 1 ASSD.DRIVER.S 129 | Empty | 00 | | 0 | 00/007A | 255 | 1 ASSD.DRIVER.S 130 | Comment | 00 | | 0 | 00/007A | * 256 | 1 ASSD.DRIVER.S 131 | Comment | 00 | | 0 | 00/007A | * Driver_Open 257 | 1 ASSD.DRIVER.S 132 | Comment | 00 | | 0 | 00/007A | * Driver_Close 258 | 1 ASSD.DRIVER.S 133 | Comment | 00 | | 0 | 00/007A | * Driver_Flush 259 | 1 ASSD.DRIVER.S 134 | Comment | 00 | | 0 | 00/007A | * 260 | 1 ASSD.DRIVER.S 135 | Empty | 00 | | 0 | 00/007A | 261 | 1 ASSD.DRIVER.S 136 | Empty | 00 | | 0 | 00/007A | DOpen ; Driver_Open 262 | 1 ASSD.DRIVER.S 137 | Empty | 00 | | 0 | 00/007A | DClose ; Driver_Close 263 | 1 ASSD.DRIVER.S 138 | Empty | 00 | | 0 | 00/007A | DFlush ; Driver_Flush 264 | 1 ASSD.DRIVER.S 139 | Code | 00 | | 1 | 00/007A : 60 | rts 265 | 1 ASSD.DRIVER.S 140 | Empty | 00 | | 0 | 00/007B | 266 | 1 ASSD.DRIVER.S 141 | Comment | 00 | | 0 | 00/007B | * 267 | 1 ASSD.DRIVER.S 142 | Comment | 00 | | 0 | 00/007B | * Driver_Read 268 | 1 ASSD.DRIVER.S 143 | Comment | 00 | | 0 | 00/007B | * 269 | 1 ASSD.DRIVER.S 144 | Empty | 00 | | 0 | 00/007B | 270 | 1 ASSD.DRIVER.S 145 | Code | 00 | 2 | 3 | 00/007B : 20 FC 01 | DRead jsr doSETUP 271 | 1 ASSD.DRIVER.S 146 | Code | 00 | | 2 | 00/007E : 90 01 | bcc dr1 272 | 1 ASSD.DRIVER.S 147 | Code | 00 | | 1 | 00/0080 : 60 | rts 273 | 1 ASSD.DRIVER.S 148 | Empty | 00 | | 0 | 00/0081 | 274 | 1 ASSD.DRIVER.S 149 | Comment | 00 | | 0 | 00/0081 | *--- The AS magic is here 275 | 1 ASSD.DRIVER.S 150 | Empty | 00 | | 0 | 00/0081 | 276 | 1 ASSD.DRIVER.S 151 | Code | 00 | | 2 | 00/0081 : D4 05 | dr1 pei {$04}+1 ; save pointer 277 | 1 ASSD.DRIVER.S 152 | Empty | 00 | | 0 | 00/0083 | 278 | 1 ASSD.DRIVER.S 153 | Code | 10 | | 2 | 00/0083 : E2 20 | sep #$20 279 | 1 ASSD.DRIVER.S 154 | Code | 10 | | 2 | 00/0085 : A5 13 | lda {$10}+3 280 | 1 ASSD.DRIVER.S 155 | Code | 10 | | 4 | 00/0087 : 8F 00 00 E4 | stal {$e40000} 281 | 1 ASSD.DRIVER.S 156 | Code | 10 | | 2 | 00/008B : A5 12 | lda {$10}+2 282 | 1 ASSD.DRIVER.S 157 | Code | 10 | | 4 | 00/008D : 8F 02 00 E4 | stal {$e40002} 283 | 1 ASSD.DRIVER.S 158 | Code | 10 | | 2 | 00/0091 : A5 11 | lda {$10}+1 284 | 1 ASSD.DRIVER.S 159 | Code | 10 | | 4 | 00/0093 : 8F 04 00 E4 | stal {$e40004} 285 | 1 ASSD.DRIVER.S 160 | Code | 10 | | 2 | 00/0097 : A5 10 | lda {$10} 286 | 1 ASSD.DRIVER.S 161 | Code | 10 | | 4 | 00/0099 : 8F 06 00 E4 | stal {$e40006} 287 | 1 ASSD.DRIVER.S 162 | Empty | 10 | | 0 | 00/009D | 288 | 1 ASSD.DRIVER.S 163 | Code | 10 | | 2 | 00/009D : A9 01 | lda #1 289 | 1 ASSD.DRIVER.S 164 | Code | 10 | | 4 | 00/009F : 8F 08 00 E4 | stal {$e40008} 290 | 1 ASSD.DRIVER.S 165 | Empty | 10 | | 0 | 00/00A3 | 291 | 1 ASSD.DRIVER.S 166 | Code | 10 | 2 | 3 | 00/00A3 : AE 06 03 | ldx nbPAGES ; number of 512-byte pages to copy 292 | 1 ASSD.DRIVER.S 167 | Code | 10 | | 3 | 00/00A6 : A0 00 00 | dr2 ldy #0 ; read one block 293 | 1 ASSD.DRIVER.S 168 | Code | 10 | | 2 | 00/00A9 : E2 20 | sep #$20 294 | 1 ASSD.DRIVER.S 169 | Code | 10 | | 4 | 00/00AB : AF 0A 00 E4 | ozunid_2 ldal {$e4000a} 295 | 1 ASSD.DRIVER.S 170 | Code | 10 | | 2 | 00/00AF : 97 04 | sta [{$04}],y 296 | 1 ASSD.DRIVER.S 171 | Code | 10 | | 1 | 00/00B1 : C8 | iny 297 | 1 ASSD.DRIVER.S 172 | Code | 10 | | 3 | 00/00B2 : C0 00 02 | cpy #{512} 298 | 1 ASSD.DRIVER.S 173 | Code | 10 | | 2 | 00/00B5 : 90 F4 | bcc ozunid_2 299 | 1 ASSD.DRIVER.S 174 | Empty | 10 | | 0 | 00/00B7 | 300 | 1 ASSD.DRIVER.S 175 | Code | 00 | | 2 | 00/00B7 : C2 20 | rep #$20 ; move destination pointer 301 | 1 ASSD.DRIVER.S 176 | Code | 00 | | 2 | 00/00B9 : A5 05 | lda {$04}+1 302 | 1 ASSD.DRIVER.S 177 | Code | 00 | | 1 | 00/00BB : 18 | clc 303 | 1 ASSD.DRIVER.S 178 | Code | 00 | | 3 | 00/00BC : 69 02 00 | adc #>{512} ; rwBlockSize+1 304 | 1 ASSD.DRIVER.S 179 | Code | 00 | | 2 | 00/00BF : 85 05 | sta {$04}+1 305 | 1 ASSD.DRIVER.S 180 | Empty | 00 | | 0 | 00/00C1 | 306 | 1 ASSD.DRIVER.S 181 | Code | 00 | | 1 | 00/00C1 : CA | dex ; next block 307 | 1 ASSD.DRIVER.S 182 | Code | 00 | | 2 | 00/00C2 : D0 E2 | bne dr2 308 | 1 ASSD.DRIVER.S 183 | Empty | 00 | | 0 | 00/00C4 | 309 | 1 ASSD.DRIVER.S 184 | Code | 00 | | 1 | 00/00C4 : 68 | pla ; restore pointer 310 | 1 ASSD.DRIVER.S 185 | Code | 00 | | 2 | 00/00C5 : 85 05 | sta {$04}+1 311 | 1 ASSD.DRIVER.S 186 | Code | 00 | | 1 | 00/00C7 : 60 | rts 312 | 1 ASSD.DRIVER.S 187 | Empty | 00 | | 0 | 00/00C8 | 313 | 1 ASSD.DRIVER.S 188 | Comment | 00 | | 0 | 00/00C8 | *--- The AS magic ends here 314 | 1 ASSD.DRIVER.S 189 | Empty | 00 | | 0 | 00/00C8 | 315 | 1 ASSD.DRIVER.S 190 | Comment | 00 | | 0 | 00/00C8 | * 316 | 1 ASSD.DRIVER.S 191 | Comment | 00 | | 0 | 00/00C8 | * Driver_Write 317 | 1 ASSD.DRIVER.S 192 | Comment | 00 | | 0 | 00/00C8 | * 318 | 1 ASSD.DRIVER.S 193 | Empty | 00 | | 0 | 00/00C8 | 319 | 1 ASSD.DRIVER.S 194 | Code | 00 | 2 | 3 | 00/00C8 : 20 FC 01 | DWrite jsr doSETUP 320 | 1 ASSD.DRIVER.S 195 | Code | 00 | | 2 | 00/00CB : 90 01 | bcc dw1 321 | 1 ASSD.DRIVER.S 196 | Code | 00 | | 1 | 00/00CD : 60 | rts 322 | 1 ASSD.DRIVER.S 197 | Empty | 00 | | 0 | 00/00CE | 323 | 1 ASSD.DRIVER.S 198 | Comment | 00 | | 0 | 00/00CE | *--- The AS magic is here 324 | 1 ASSD.DRIVER.S 199 | Empty | 00 | | 0 | 00/00CE | 325 | 1 ASSD.DRIVER.S 200 | Code | 00 | | 2 | 00/00CE : D4 05 | dw1 pei {$04}+1 ; save pointer 326 | 1 ASSD.DRIVER.S 201 | Empty | 00 | | 0 | 00/00D0 | 327 | 1 ASSD.DRIVER.S 202 | Code | 10 | | 2 | 00/00D0 : E2 20 | sep #$20 328 | 1 ASSD.DRIVER.S 203 | Code | 10 | | 2 | 00/00D2 : A5 13 | lda {$10}+3 329 | 1 ASSD.DRIVER.S 204 | Code | 10 | | 4 | 00/00D4 : 8F 00 00 E4 | stal {$e40000} 330 | 1 ASSD.DRIVER.S 205 | Code | 10 | | 2 | 00/00D8 : A5 12 | lda {$10}+2 331 | 1 ASSD.DRIVER.S 206 | Code | 10 | | 4 | 00/00DA : 8F 02 00 E4 | stal {$e40002} 332 | 1 ASSD.DRIVER.S 207 | Code | 10 | | 2 | 00/00DE : A5 11 | lda {$10}+1 333 | 1 ASSD.DRIVER.S 208 | Code | 10 | | 4 | 00/00E0 : 8F 04 00 E4 | stal {$e40004} 334 | 1 ASSD.DRIVER.S 209 | Code | 10 | | 2 | 00/00E4 : A5 10 | lda {$10} 335 | 1 ASSD.DRIVER.S 210 | Code | 10 | | 4 | 00/00E6 : 8F 06 00 E4 | stal {$e40006} 336 | 1 ASSD.DRIVER.S 211 | Empty | 10 | | 0 | 00/00EA | 337 | 1 ASSD.DRIVER.S 212 | Code | 10 | | 2 | 00/00EA : A9 01 | lda #1 338 | 1 ASSD.DRIVER.S 213 | Code | 10 | | 4 | 00/00EC : 8F 0C 00 E4 | stal {$e4000c} 339 | 1 ASSD.DRIVER.S 214 | Empty | 10 | | 0 | 00/00F0 | 340 | 1 ASSD.DRIVER.S 215 | Code | 10 | 2 | 3 | 00/00F0 : AE 06 03 | ldx nbPAGES ; number of 512-byte pages to copy 341 | 1 ASSD.DRIVER.S 216 | Code | 10 | | 3 | 00/00F3 : A0 00 00 | dw2 ldy #0 ; read one block 342 | 1 ASSD.DRIVER.S 217 | Code | 10 | | 2 | 00/00F6 : E2 20 | sep #$20 343 | 1 ASSD.DRIVER.S 218 | Code | 10 | | 2 | 00/00F8 : B7 04 | ozunid_3 lda [{$04}],y 344 | 1 ASSD.DRIVER.S 219 | Code | 10 | | 4 | 00/00FA : 8F 0A 00 E4 | stal {$e4000a} 345 | 1 ASSD.DRIVER.S 220 | Code | 10 | | 1 | 00/00FE : C8 | iny 346 | 1 ASSD.DRIVER.S 221 | Code | 10 | | 3 | 00/00FF : C0 00 02 | cpy #{512} 347 | 1 ASSD.DRIVER.S 222 | Code | 10 | | 2 | 00/0102 : 90 F4 | bcc ozunid_3 348 | 1 ASSD.DRIVER.S 223 | Empty | 10 | | 0 | 00/0104 | 349 | 1 ASSD.DRIVER.S 224 | Code | 00 | | 2 | 00/0104 : C2 20 | rep #$20 ; move destination pointer 350 | 1 ASSD.DRIVER.S 225 | Code | 00 | | 2 | 00/0106 : A5 05 | lda {$04}+1 351 | 1 ASSD.DRIVER.S 226 | Code | 00 | | 1 | 00/0108 : 18 | clc 352 | 1 ASSD.DRIVER.S 227 | Code | 00 | | 3 | 00/0109 : 69 02 00 | adc #>{512} ; rwBlockSize+1 353 | 1 ASSD.DRIVER.S 228 | Code | 00 | | 2 | 00/010C : 85 05 | sta {$04}+1 354 | 1 ASSD.DRIVER.S 229 | Empty | 00 | | 0 | 00/010E | 355 | 1 ASSD.DRIVER.S 230 | Code | 00 | | 1 | 00/010E : CA | dex ; next block 356 | 1 ASSD.DRIVER.S 231 | Code | 00 | | 2 | 00/010F : D0 E2 | bne dw2 357 | 1 ASSD.DRIVER.S 232 | Empty | 00 | | 0 | 00/0111 | 358 | 1 ASSD.DRIVER.S 233 | Code | 00 | | 1 | 00/0111 : 68 | pla ; restore pointer 359 | 1 ASSD.DRIVER.S 234 | Code | 00 | | 2 | 00/0112 : 85 05 | sta {$04}+1 360 | 1 ASSD.DRIVER.S 235 | Code | 00 | | 1 | 00/0114 : 60 | rts 361 | 1 ASSD.DRIVER.S 236 | Empty | 00 | | 0 | 00/0115 | 362 | 1 ASSD.DRIVER.S 237 | Comment | 00 | | 0 | 00/0115 | *--- The AS magic ends here 363 | 1 ASSD.DRIVER.S 238 | Empty | 00 | | 0 | 00/0115 | 364 | 1 ASSD.DRIVER.S 239 | Comment | 00 | | 0 | 00/0115 | * 365 | 1 ASSD.DRIVER.S 240 | Comment | 00 | | 0 | 00/0115 | * Driver_Status 366 | 1 ASSD.DRIVER.S 241 | Comment | 00 | | 0 | 00/0115 | * 367 | 1 ASSD.DRIVER.S 242 | Empty | 00 | | 0 | 00/0115 | 368 | 1 ASSD.DRIVER.S 243 | Code | 00 | | 2 | 00/0115 : A5 16 | DStatus lda {$16} 369 | 1 ASSD.DRIVER.S 244 | Code | 00 | | 3 | 00/0117 : C9 05 00 | cmp #4+1 370 | 1 ASSD.DRIVER.S 245 | Code | 00 | | 2 | 00/011A : 90 07 | bcc DStatus1 371 | 1 ASSD.DRIVER.S 246 | Code | 00 | | 3 | 00/011C : A9 21 00 | lda #$0021 ; drvrBadCode 372 | 1 ASSD.DRIVER.S 247 | Code | 00 | 2 | 3 | 00/011F : 8D 00 03 | sta errCODE 373 | 1 ASSD.DRIVER.S 248 | Code | 00 | | 1 | 00/0122 : 60 | rts 374 | 1 ASSD.DRIVER.S 249 | Empty | 00 | | 0 | 00/0123 | 375 | 1 ASSD.DRIVER.S 250 | Code | 00 | | 1 | 00/0123 : 0A | DStatus1 asl 376 | 1 ASSD.DRIVER.S 251 | Code | 00 | | 1 | 00/0124 : AA | tax 377 | 1 ASSD.DRIVER.S 252 | Code | 00 | | 2 | 00/0125 : 64 0C | stz {$0C} 378 | 1 ASSD.DRIVER.S 253 | Code | 00 | | 2 | 00/0127 : 64 0E | stz {$0C}+2 379 | 1 ASSD.DRIVER.S 254 | Code | 00 | 2 | 3 | 00/0129 : FC 2D 01 | jsr (tblSTATUS,x) 380 | 1 ASSD.DRIVER.S 255 | Code | 00 | | 1 | 00/012C : 60 | rts 381 | 1 ASSD.DRIVER.S 256 | Empty | 00 | | 0 | 00/012D | 382 | 1 ASSD.DRIVER.S 257 | Data | 00 | 2 | 2 | 00/012D : 38 01 | tblSTATUS da SGetStatus ; GetDeviceStatus 383 | 1 ASSD.DRIVER.S 258 | Data | 00 | 2 | 2 | 00/012F : 6F 01 | da SGet ; GetConfigParameters 384 | 1 ASSD.DRIVER.S 259 | Data | 00 | 2 | 2 | 00/0131 : 6F 01 | da SGet ; GetWaitStatus 385 | 1 ASSD.DRIVER.S 260 | Data | 00 | 2 | 2 | 00/0133 : 7A 01 | da SGetFormatOptions; GetFormatOptions 386 | 1 ASSD.DRIVER.S 261 | Data | 00 | 2 | 2 | 00/0135 : 37 01 | da SNada ; GetPartitionMap 387 | 1 ASSD.DRIVER.S 262 | Empty | 00 | | 0 | 00/0137 | 388 | 1 ASSD.DRIVER.S 263 | Code | 00 | | 1 | 00/0137 : 60 | SNada rts 389 | 1 ASSD.DRIVER.S 264 | Empty | 00 | | 0 | 00/0138 | 390 | 1 ASSD.DRIVER.S 265 | Comment | 00 | | 0 | 00/0138 | *----------- GetDeviceStatus 391 | 1 ASSD.DRIVER.S 266 | Empty | 00 | | 0 | 00/0138 | 392 | 1 ASSD.DRIVER.S 267 | Code | 00 | | 3 | 00/0138 : A9 02 00 | SGetStatus lda #2 ; GetDeviceStatus 393 | 1 ASSD.DRIVER.S 268 | Code | 00 | | 2 | 00/013B : 85 0C | sta {$0C} 394 | 1 ASSD.DRIVER.S 269 | Empty | 00 | | 0 | 00/013D | 395 | 1 ASSD.DRIVER.S 270 | Code | 00 | | 2 | 00/013D : A5 08 | lda {$08} ; check length of buffer 396 | 1 ASSD.DRIVER.S 271 | Code | 00 | | 3 | 00/013F : C9 06 00 | cmp #6 397 | 1 ASSD.DRIVER.S 272 | Code | 00 | | 2 | 00/0142 : 90 14 | bcc SGS1 398 | 1 ASSD.DRIVER.S 273 | Code | 00 | | 3 | 00/0144 : A9 06 00 | lda #6 399 | 1 ASSD.DRIVER.S 274 | Code | 00 | | 2 | 00/0147 : 85 0C | sta {$0C} 400 | 1 ASSD.DRIVER.S 275 | Empty | 00 | | 0 | 00/0149 | 401 | 1 ASSD.DRIVER.S 276 | Code | 00 | | 3 | 00/0149 : A0 02 00 | ldy #2 ; we can send the number of blocks 402 | 1 ASSD.DRIVER.S 277 | Code | 00 | | 3 | 00/014C : A9 FF FF | lda #{$ffffffff} 403 | 1 ASSD.DRIVER.S 278 | Code | 00 | | 2 | 00/014F : 97 04 | sta [{$04}],y 404 | 1 ASSD.DRIVER.S 279 | Code | 00 | | 1 | 00/0151 : C8 | iny 405 | 1 ASSD.DRIVER.S 280 | Code | 00 | | 1 | 00/0152 : C8 | iny 406 | 1 ASSD.DRIVER.S 281 | Code | 00 | | 3 | 00/0153 : A9 FF FF | lda #^{$ffffffff} 407 | 1 ASSD.DRIVER.S 282 | Code | 00 | | 2 | 00/0156 : 97 04 | sta [{$04}],y 408 | 1 ASSD.DRIVER.S 283 | Empty | 00 | | 0 | 00/0158 | 409 | 1 ASSD.DRIVER.S 284 | Code | 00 | | 3 | 00/0158 : A2 10 00 | SGS1 ldx #{$0010} 410 | 1 ASSD.DRIVER.S 285 | Code | 00 | | 4 | 00/015B : AF 12 00 E4 | ldal {$e40012} ; check if a card is inserted 411 | 1 ASSD.DRIVER.S 286 | Code | 00 | | 3 | 00/015F : 29 FF 00 | and #$ff 412 | 1 ASSD.DRIVER.S 287 | Code | 00 | | 3 | 00/0162 : C9 01 00 | cmp #1 413 | 1 ASSD.DRIVER.S 288 | Code | 00 | | 2 | 00/0165 : F0 01 | beq SGS2 ; yes, a SD card is inserted 414 | 1 ASSD.DRIVER.S 289 | Code | 00 | | 1 | 00/0167 : E8 | inx 415 | 1 ASSD.DRIVER.S 290 | Code | 00 | | 1 | 00/0168 : 8A | SGS2 txa 416 | 1 ASSD.DRIVER.S 291 | Code | 00 | | 3 | 00/0169 : 09 00 80 | ora #{$8000} ; we are uncertain of the block count 417 | 1 ASSD.DRIVER.S 292 | Code | 00 | | 2 | 00/016C : 87 04 | sta [{$04}] 418 | 1 ASSD.DRIVER.S 293 | Code | 00 | | 1 | 00/016E : 60 | rts 419 | 1 ASSD.DRIVER.S 294 | Empty | 00 | | 0 | 00/016F | 420 | 1 ASSD.DRIVER.S 295 | Comment | 00 | | 0 | 00/016F | *----------- GetConfigParameters / GetWaitStatus 421 | 1 ASSD.DRIVER.S 296 | Empty | 00 | | 0 | 00/016F | 422 | 1 ASSD.DRIVER.S 297 | Code | 00 | | 3 | 00/016F : A9 00 00 | SGet lda #0 ; GetConfigParameters 423 | 1 ASSD.DRIVER.S 298 | Code | 00 | | 2 | 00/0172 : 87 04 | sta [{$04}] ; GetWaitStatus 424 | 1 ASSD.DRIVER.S 299 | Code | 00 | | 3 | 00/0174 : A9 02 00 | lda #2 425 | 1 ASSD.DRIVER.S 300 | Code | 00 | | 2 | 00/0177 : 85 0C | sta {$0C} 426 | 1 ASSD.DRIVER.S 301 | Code | 00 | | 1 | 00/0179 : 60 | rts 427 | 1 ASSD.DRIVER.S 302 | Empty | 00 | | 0 | 00/017A | 428 | 1 ASSD.DRIVER.S 303 | Comment | 00 | | 0 | 00/017A | *----------- GetFormatOptions 429 | 1 ASSD.DRIVER.S 304 | Empty | 00 | | 0 | 00/017A | 430 | 1 ASSD.DRIVER.S 305 | Empty | 00 | | 0 | 00/017A | SGetFormatOptions 431 | 1 ASSD.DRIVER.S 306 | Code | 00 | | 2 | 00/017A : A5 08 | lda {$08} ; check size of buffer 432 | 1 ASSD.DRIVER.S 307 | Code | 00 | | 3 | 00/017C : C9 28 00 | cmp #formatOptionsTableEnd-formatOptionsTable 433 | 1 ASSD.DRIVER.S 308 | Code | 00 | | 2 | 00/017F : 90 11 | bcc SGetFormat1 434 | 1 ASSD.DRIVER.S 309 | Empty | 00 | | 0 | 00/0181 | 435 | 1 ASSD.DRIVER.S 310 | Code | 00 | | 3 | 00/0181 : A0 00 00 | ldy #0 ; and move data 436 | 1 ASSD.DRIVER.S 311 | Code | 00 | 2 | 3 | 00/0184 : B9 D0 02 | ozunid_4 lda formatOptionsTable,y 437 | 1 ASSD.DRIVER.S 312 | Code | 00 | | 2 | 00/0187 : 97 04 | sta [{$04}],y 438 | 1 ASSD.DRIVER.S 313 | Code | 00 | | 1 | 00/0189 : C8 | iny 439 | 1 ASSD.DRIVER.S 314 | Code | 00 | | 1 | 00/018A : C8 | iny 440 | 1 ASSD.DRIVER.S 315 | Code | 00 | | 3 | 00/018B : C0 28 00 | cpy #formatOptionsTableEnd-formatOptionsTable 441 | 1 ASSD.DRIVER.S 316 | Code | 00 | | 2 | 00/018E : 90 F4 | bcc ozunid_4 442 | 1 ASSD.DRIVER.S 317 | Code | 00 | | 2 | 00/0190 : 84 0C | sty {$0C} ; save size 443 | 1 ASSD.DRIVER.S 318 | Empty | 00 | | 0 | 00/0192 | 444 | 1 ASSD.DRIVER.S 319 | Code | 00 | | 1 | 00/0192 : 60 | SGetFormat1 rts 445 | 1 ASSD.DRIVER.S 320 | Empty | 00 | | 0 | 00/0193 | 446 | 1 ASSD.DRIVER.S 321 | Comment | 00 | | 0 | 00/0193 | * 447 | 1 ASSD.DRIVER.S 322 | Comment | 00 | | 0 | 00/0193 | * Driver_Control 448 | 1 ASSD.DRIVER.S 323 | Comment | 00 | | 0 | 00/0193 | * 449 | 1 ASSD.DRIVER.S 324 | Empty | 00 | | 0 | 00/0193 | 450 | 1 ASSD.DRIVER.S 325 | Code | 00 | 2 | 3 | 00/0193 : 20 35 02 | DControl jsr checkSWITCHED 451 | 1 ASSD.DRIVER.S 326 | Code | 00 | | 2 | 00/0196 : 90 01 | bcc DControl1 452 | 1 ASSD.DRIVER.S 327 | Code | 00 | | 1 | 00/0198 : 60 | rts 453 | 1 ASSD.DRIVER.S 328 | Empty | 00 | | 0 | 00/0199 | 454 | 1 ASSD.DRIVER.S 329 | Code | 00 | | 2 | 00/0199 : A5 16 | DControl1 lda {$16} 455 | 1 ASSD.DRIVER.S 330 | Code | 00 | | 3 | 00/019B : C9 0A 00 | cmp #9+1 456 | 1 ASSD.DRIVER.S 331 | Code | 00 | | 2 | 00/019E : 90 07 | bcc DControl2 457 | 1 ASSD.DRIVER.S 332 | Empty | 00 | | 0 | 00/01A0 | 458 | 1 ASSD.DRIVER.S 333 | Code | 00 | | 3 | 00/01A0 : A9 21 00 | lda #$0021 459 | 1 ASSD.DRIVER.S 334 | Code | 00 | 2 | 3 | 00/01A3 : 8D 00 03 | sta errCODE 460 | 1 ASSD.DRIVER.S 335 | Code | 00 | | 1 | 00/01A6 : 60 | rts 461 | 1 ASSD.DRIVER.S 336 | Empty | 00 | | 0 | 00/01A7 | 462 | 1 ASSD.DRIVER.S 337 | Code | 00 | | 1 | 00/01A7 : 0A | DControl2 asl 463 | 1 ASSD.DRIVER.S 338 | Code | 00 | | 1 | 00/01A8 : AA | tax 464 | 1 ASSD.DRIVER.S 339 | Code | 00 | | 2 | 00/01A9 : 64 0C | stz {$0C} 465 | 1 ASSD.DRIVER.S 340 | Code | 00 | | 2 | 00/01AB : 64 0E | stz {$0C}+2 466 | 1 ASSD.DRIVER.S 341 | Code | 00 | 2 | 3 | 00/01AD : FC B1 01 | jsr (tblCONTROL,x) 467 | 1 ASSD.DRIVER.S 342 | Code | 00 | | 1 | 00/01B0 : 60 | rts 468 | 1 ASSD.DRIVER.S 343 | Empty | 00 | | 0 | 00/01B1 | 469 | 1 ASSD.DRIVER.S 344 | Data | 00 | 2 | 2 | 00/01B1 : C5 01 | tblCONTROL da CNada ; 0 ResetDevice 470 | 1 ASSD.DRIVER.S 345 | Data | 00 | 2 | 2 | 00/01B3 : C6 01 | da CFormatDevice ; 1 FormatDevice 471 | 1 ASSD.DRIVER.S 346 | Data | 00 | 2 | 2 | 00/01B5 : C5 01 | da CNada ; 2 EjectMedium 472 | 1 ASSD.DRIVER.S 347 | Data | 00 | 2 | 2 | 00/01B7 : F0 01 | da CSet ; 3 SetConfigParameters 473 | 1 ASSD.DRIVER.S 348 | Data | 00 | 2 | 2 | 00/01B9 : F0 01 | da CSet ; 4 SetWaitStatus 474 | 1 ASSD.DRIVER.S 349 | Data | 00 | 2 | 2 | 00/01BB : CD 01 | da CSetFormatOptions; 5 SetFormatOptions 475 | 1 ASSD.DRIVER.S 350 | Data | 00 | 2 | 2 | 00/01BD : C5 01 | da CNada ; 6 AssignPartitionOwner 476 | 1 ASSD.DRIVER.S 351 | Data | 00 | 2 | 2 | 00/01BF : C5 01 | da CNada ; 7 ArmSignal 477 | 1 ASSD.DRIVER.S 352 | Data | 00 | 2 | 2 | 00/01C1 : C5 01 | da CNada ; 8 DisarmSignal 478 | 1 ASSD.DRIVER.S 353 | Data | 00 | 2 | 2 | 00/01C3 : C5 01 | da CNada ; 9 SetPartitionMap 479 | 1 ASSD.DRIVER.S 354 | Empty | 00 | | 0 | 00/01C5 | 480 | 1 ASSD.DRIVER.S 355 | Code | 00 | | 1 | 00/01C5 : 60 | CNada rts 481 | 1 ASSD.DRIVER.S 356 | Empty | 00 | | 0 | 00/01C6 | 482 | 1 ASSD.DRIVER.S 357 | Comment | 00 | | 0 | 00/01C6 | *----------- FormatDevice 483 | 1 ASSD.DRIVER.S 358 | Empty | 00 | | 0 | 00/01C6 | 484 | 1 ASSD.DRIVER.S 359 | Empty | 00 | | 0 | 00/01C6 | CFormatDevice 485 | 1 ASSD.DRIVER.S 360 | Code | 00 | 2 | 3 | 00/01C6 : AD FE 02 | lda fgFORMAT ; if 1, the Format call 486 | 1 ASSD.DRIVER.S 361 | Code | 00 | | 2 | 00/01C9 : D0 01 | bne CFormat1 ; was already called 487 | 1 ASSD.DRIVER.S 362 | Code | 00 | | 1 | 00/01CB : 60 | rts 488 | 1 ASSD.DRIVER.S 363 | Empty | 00 | | 0 | 00/01CC | 489 | 1 ASSD.DRIVER.S 364 | Code | 00 | | 1 | 00/01CC : 60 | CFormat1 rts 490 | 1 ASSD.DRIVER.S 365 | Empty | 00 | | 0 | 00/01CD | 491 | 1 ASSD.DRIVER.S 366 | Comment | 00 | | 0 | 00/01CD | *----------- SetFormatOptions 492 | 1 ASSD.DRIVER.S 367 | Empty | 00 | | 0 | 00/01CD | 493 | 1 ASSD.DRIVER.S 368 | Empty | 00 | | 0 | 00/01CD | CSetFormatOptions 494 | 1 ASSD.DRIVER.S 369 | Code | 00 | | 2 | 00/01CD : A7 04 | lda [{$04}] 495 | 1 ASSD.DRIVER.S 370 | Code | 00 | | 2 | 00/01CF : F0 1E | beq CSFO9 ; empty option is not ours 496 | 1 ASSD.DRIVER.S 371 | Code | 00 | | 3 | 00/01D1 : C9 03 00 | cmp #3 ; 1-2 only 497 | 1 ASSD.DRIVER.S 372 | Code | 00 | | 2 | 00/01D4 : B0 19 | bcs CSFO9 498 | 1 ASSD.DRIVER.S 373 | Empty | 00 | | 0 | 00/01D6 | 499 | 1 ASSD.DRIVER.S 374 | Code | 00 | | 3 | 00/01D6 : C9 01 00 | cmp #1 500 | 1 ASSD.DRIVER.S 375 | Code | 00 | | 2 | 00/01D9 : D0 08 | bne CSFOHFS 501 | 1 ASSD.DRIVER.S 376 | Empty | 00 | | 0 | 00/01DB | 502 | 1 ASSD.DRIVER.S 377 | Code | 00 | | 3 | 00/01DB : A2 FF FF | ldx #^{$ffffffff} ; it is 1, default values for HFS 503 | 1 ASSD.DRIVER.S 378 | Code | 00 | | 3 | 00/01DE : A0 FF FF | ldy #{$ffffffff} 504 | 1 ASSD.DRIVER.S 379 | Code | 00 | | 2 | 00/01E1 : 80 06 | bra CSFOAll 505 | 1 ASSD.DRIVER.S 380 | Empty | 00 | | 0 | 00/01E3 | 506 | 1 ASSD.DRIVER.S 381 | Code | 00 | | 3 | 00/01E3 : A2 01 00 | CSFOHFS ldx #^{65536} ; it is 2, default values for ProDOS 507 | 1 ASSD.DRIVER.S 382 | Code | 00 | | 3 | 00/01E6 : A0 00 00 | ldy #{65536} 508 | 1 ASSD.DRIVER.S 383 | Empty | 00 | | 0 | 00/01E9 | 509 | 1 ASSD.DRIVER.S 384 | Code | 00 | 2 | 3 | 00/01E9 : 8C F8 02 | CSFOAll sty fBlockCount 510 | 1 ASSD.DRIVER.S 385 | Code | 00 | 2 | 3 | 00/01EC : 8E FA 02 | stx fBlockCount+2 511 | 1 ASSD.DRIVER.S 386 | Empty | 00 | | 0 | 00/01EF | 512 | 1 ASSD.DRIVER.S 387 | Code | 00 | | 1 | 00/01EF : 60 | CSFO9 rts 513 | 1 ASSD.DRIVER.S 388 | Empty | 00 | | 0 | 00/01F0 | 514 | 1 ASSD.DRIVER.S 389 | Comment | 00 | | 0 | 00/01F0 | *----------- SetConfigParameters / SetWaitStatus 515 | 1 ASSD.DRIVER.S 390 | Empty | 00 | | 0 | 00/01F0 | 516 | 1 ASSD.DRIVER.S 391 | Code | 00 | | 2 | 00/01F0 : A7 04 | CSet lda [{$04}] ; SetConfigParameters 517 | 1 ASSD.DRIVER.S 392 | Code | 00 | | 2 | 00/01F2 : D0 01 | bne CSetERR ; SetWaitStatus 518 | 1 ASSD.DRIVER.S 393 | Code | 00 | | 1 | 00/01F4 : 60 | rts 519 | 1 ASSD.DRIVER.S 394 | Code | 00 | | 3 | 00/01F5 : A9 22 00 | CSetERR lda #$0022 520 | 1 ASSD.DRIVER.S 395 | Code | 00 | 2 | 3 | 00/01F8 : 8D 00 03 | sta errCODE 521 | 1 ASSD.DRIVER.S 396 | Code | 00 | | 1 | 00/01FB : 60 | rts 522 | 1 ASSD.DRIVER.S 397 | Empty | 00 | | 0 | 00/01FC | 523 | 1 ASSD.DRIVER.S 398 | Comment | 00 | | 0 | 00/01FC | *---------------------------- 524 | 1 ASSD.DRIVER.S 399 | Empty | 00 | | 0 | 00/01FC | 525 | 1 ASSD.DRIVER.S 400 | Comment | 00 | | 0 | 00/01FC | * Status flag of the current device 526 | 1 ASSD.DRIVER.S 401 | Comment | 00 | | 0 | 00/01FC | * $0001: image has been switched (disk switched) 527 | 1 ASSD.DRIVER.S 402 | Comment | 00 | | 0 | 00/01FC | * $0010: image is active (disk in drive) 528 | 1 ASSD.DRIVER.S 403 | Comment | 00 | | 0 | 00/01FC | * $0100: image has been modified 529 | 1 ASSD.DRIVER.S 404 | Empty | 00 | | 0 | 00/01FC | 530 | 1 ASSD.DRIVER.S 405 | Comment | 00 | | 0 | 00/01FC | * 531 | 1 ASSD.DRIVER.S 406 | Comment | 00 | | 0 | 00/01FC | * Checks everything is OK 532 | 1 ASSD.DRIVER.S 407 | Comment | 00 | | 0 | 00/01FC | * 533 | 1 ASSD.DRIVER.S 408 | Empty | 00 | | 0 | 00/01FC | 534 | 1 ASSD.DRIVER.S 409 | Code | 00 | 2 | 3 | 00/01FC : 20 35 02 | doSETUP jsr checkSWITCHED 535 | 1 ASSD.DRIVER.S 410 | Code | 00 | | 2 | 00/01FF : 90 01 | bcc ds2 536 | 1 ASSD.DRIVER.S 411 | Code | 00 | | 1 | 00/0201 : 60 | rts 537 | 1 ASSD.DRIVER.S 412 | Empty | 00 | | 0 | 00/0202 | 538 | 1 ASSD.DRIVER.S 413 | Code | 00 | | 2 | 00/0202 : A5 08 | ds2 lda {$08} ; nb of bytes to read 539 | 1 ASSD.DRIVER.S 414 | Code | 00 | | 2 | 00/0204 : 05 0A | ora {$08}+2 540 | 1 ASSD.DRIVER.S 415 | Code | 00 | | 2 | 00/0206 : D0 08 | bne ds4 541 | 1 ASSD.DRIVER.S 416 | Empty | 00 | | 0 | 00/0208 | 542 | 1 ASSD.DRIVER.S 417 | Code | 00 | | 3 | 00/0208 : A9 2C 00 | lda #$002C ; invalidByteCount 543 | 1 ASSD.DRIVER.S 418 | Code | 00 | 2 | 3 | 00/020B : 8D 00 03 | sta errCODE 544 | 1 ASSD.DRIVER.S 419 | Code | 00 | | 1 | 00/020E : 38 | sec 545 | 1 ASSD.DRIVER.S 420 | Code | 00 | | 1 | 00/020F : 60 | rts 546 | 1 ASSD.DRIVER.S 421 | Empty | 00 | | 0 | 00/0210 | 547 | 1 ASSD.DRIVER.S 422 | Comment | 00 | | 0 | 00/0210 | * $0102_0400 = 548 | 1 ASSD.DRIVER.S 423 | Empty | 00 | | 0 | 00/0210 | 549 | 1 ASSD.DRIVER.S 424 | Comment | 00 | | 0 | 00/0210 | *--- requestcount : $0200 => 1 550 | 1 ASSD.DRIVER.S 425 | Comment | 00 | | 0 | 00/0210 | *--- From a Block to a RAM address 551 | 1 ASSD.DRIVER.S 426 | Empty | 00 | | 0 | 00/0210 | 552 | 1 ASSD.DRIVER.S 427 | Code | 00 | | 2 | 00/0210 : A5 0B | ds4 lda {$08}+3 ; number of pages 553 | 1 ASSD.DRIVER.S 428 | Code | 00 | | 3 | 00/0212 : 29 FF 00 | and #$00ff ; to calculate 554 | 1 ASSD.DRIVER.S 429 | Code | 00 | | 1 | 00/0215 : 4A | lsr 555 | 1 ASSD.DRIVER.S 430 | Code | 00 | | 2 | 00/0216 : A5 09 | lda {$08}+1 ; $01020400 => $010204 => $8102 556 | 1 ASSD.DRIVER.S 431 | Code | 00 | | 1 | 00/0218 : 6A | ror 557 | 1 ASSD.DRIVER.S 432 | Code | 00 | 2 | 3 | 00/0219 : 8D 06 03 | sta nbPAGES ; to calculate 558 | 1 ASSD.DRIVER.S 433 | Empty | 00 | | 0 | 00/021C | 559 | 1 ASSD.DRIVER.S 434 | Code | 00 | | 2 | 00/021C : A5 08 | lda {$08} ; multiple of $0200 560 | 1 ASSD.DRIVER.S 435 | Code | 00 | | 3 | 00/021E : 29 FF 01 | and #{512}-1 561 | 1 ASSD.DRIVER.S 436 | Code | 00 | | 2 | 00/0221 : F0 08 | beq ds6 562 | 1 ASSD.DRIVER.S 437 | Empty | 00 | | 0 | 00/0223 | 563 | 1 ASSD.DRIVER.S 438 | Code | 00 | | 3 | 00/0223 : A9 2D 00 | lda #$002D ; bad block count 564 | 1 ASSD.DRIVER.S 439 | Code | 00 | 2 | 3 | 00/0226 : 8D 00 03 | sta errCODE 565 | 1 ASSD.DRIVER.S 440 | Code | 00 | | 1 | 00/0229 : 38 | sec 566 | 1 ASSD.DRIVER.S 441 | Code | 00 | | 1 | 00/022A : 60 | rts 567 | 1 ASSD.DRIVER.S 442 | Empty | 00 | | 0 | 00/022B | 568 | 1 ASSD.DRIVER.S 443 | Comment | 00 | | 0 | 00/022B | *--- Generic transfer now 569 | 1 ASSD.DRIVER.S 444 | Empty | 00 | | 0 | 00/022B | 570 | 1 ASSD.DRIVER.S 445 | Code | 00 | | 2 | 00/022B : A5 08 | ds6 lda {$08} ; assume transfer=request 571 | 1 ASSD.DRIVER.S 446 | Code | 00 | | 2 | 00/022D : 85 0C | sta {$0C} 572 | 1 ASSD.DRIVER.S 447 | Code | 00 | | 2 | 00/022F : A5 0A | lda {$08}+2 573 | 1 ASSD.DRIVER.S 448 | Code | 00 | | 2 | 00/0231 : 85 0E | sta {$0C}+2 574 | 1 ASSD.DRIVER.S 449 | Empty | 00 | | 0 | 00/0233 | 575 | 1 ASSD.DRIVER.S 450 | Code | 00 | | 1 | 00/0233 : 18 | clc 576 | 1 ASSD.DRIVER.S 451 | Code | 00 | | 1 | 00/0234 : 60 | rts 577 | 1 ASSD.DRIVER.S 452 | Empty | 00 | | 0 | 00/0235 | 578 | 1 ASSD.DRIVER.S 453 | Comment | 00 | | 0 | 00/0235 | *---------------------------- 579 | 1 ASSD.DRIVER.S 454 | Empty | 00 | | 0 | 00/0235 | 580 | 1 ASSD.DRIVER.S 455 | Empty | 00 | | 0 | 00/0235 | checkSWITCHED 581 | 1 ASSD.DRIVER.S 456 | Code | 00 | | 4 | 00/0235 : AF 12 00 E4 | ldal {$e40012} 582 | 1 ASSD.DRIVER.S 457 | Code | 00 | | 3 | 00/0239 : 29 FF 00 | and #$ff 583 | 1 ASSD.DRIVER.S 458 | Code | 00 | | 3 | 00/023C : C9 01 00 | cmp #1 584 | 1 ASSD.DRIVER.S 459 | Code | 00 | | 2 | 00/023F : F0 0C | beq cs1 585 | 1 ASSD.DRIVER.S 460 | Empty | 00 | | 0 | 00/0241 | 586 | 1 ASSD.DRIVER.S 461 | Code | 00 | | 4 | 00/0241 : 22 90 FC 01 | jsl {$01FC90} 587 | 1 ASSD.DRIVER.S 462 | Empty | 00 | | 0 | 00/0245 | 588 | 1 ASSD.DRIVER.S 463 | Comment | 00 | | 0 | 00/0245 | * lda #1 589 | 1 ASSD.DRIVER.S 464 | Comment | 00 | | 0 | 00/0245 | * sta fgSTARTED 590 | 1 ASSD.DRIVER.S 465 | Code | 00 | | 3 | 00/0245 : A9 2E 00 | lda #$002e 591 | 1 ASSD.DRIVER.S 466 | Code | 00 | 2 | 3 | 00/0248 : 8D 00 03 | sta errCODE 592 | 1 ASSD.DRIVER.S 467 | Code | 00 | | 1 | 00/024B : 38 | sec 593 | 1 ASSD.DRIVER.S 468 | Code | 00 | | 1 | 00/024C : 60 | rts 594 | 1 ASSD.DRIVER.S 469 | Empty | 00 | | 0 | 00/024D | 595 | 1 ASSD.DRIVER.S 470 | Code | 00 | | 1 | 00/024D : 18 | cs1 clc 596 | 1 ASSD.DRIVER.S 471 | Code | 00 | | 1 | 00/024E : 60 | rts 597 | 1 ASSD.DRIVER.S 472 | Empty | 00 | | 0 | 00/024F | 598 | 1 ASSD.DRIVER.S 473 | Comment | 00 | | 0 | 00/024F | *---------------------------- Check RAMDISK was init'ed 599 | 1 ASSD.DRIVER.S 474 | Empty | 00 | | 0 | 00/024F | 600 | 1 ASSD.DRIVER.S 475 | Macro | 00 | | 0 | 00/024F | myTASK PushLong #proVOLUME 604 | 1 ASSD.DRIVER.S 475 | Code | 00 | 1 >>16 | 3 | 00/024F : F4 00 00 | PEA #^#proVOLUME 611 | 1 ASSD.DRIVER.S 475 | Code | 00 | 2 | 3 | 00/0252 : F4 7A 02 | PEA #proVOLUME 614 | 1 ASSD.DRIVER.S 476 | Macro | 00 | | 0 | 00/0255 | PushWord #$2008 616 | 1 ASSD.DRIVER.S 476 | Code | 00 | | 3 | 00/0255 : F4 08 20 | PEA #$2008 619 | 1 ASSD.DRIVER.S 477 | Code | 00 | | 4 | 00/0258 : 22 B0 00 E1 | jsl {$E100B0} 620 | 1 ASSD.DRIVER.S 478 | Code | 00 | | 2 | 00/025C : 90 1B | bcc myTASK1 621 | 1 ASSD.DRIVER.S 479 | Empty | 00 | | 0 | 00/025E | 622 | 1 ASSD.DRIVER.S 480 | Macro | 00 | | 0 | 00/025E | PushLong #proFORMAT 626 | 1 ASSD.DRIVER.S 480 | Code | 00 | 1 >>16 | 3 | 00/025E : F4 00 00 | PEA #^#proFORMAT 633 | 1 ASSD.DRIVER.S 480 | Code | 00 | 2 | 3 | 00/0261 : F4 84 02 | PEA #proFORMAT 636 | 1 ASSD.DRIVER.S 481 | Macro | 00 | | 0 | 00/0264 | PushWord #$2024 638 | 1 ASSD.DRIVER.S 481 | Code | 00 | | 3 | 00/0264 : F4 24 20 | PEA #$2024 641 | 1 ASSD.DRIVER.S 482 | Code | 00 | | 4 | 00/0267 : 22 B0 00 E1 | jsl {$E100B0} 642 | 1 ASSD.DRIVER.S 483 | Empty | 00 | | 0 | 00/026B | 643 | 1 ASSD.DRIVER.S 484 | Code | 00 | | 3 | 00/026B : A9 01 00 | lda #1 ; tell the driver we've been there 644 | 1 ASSD.DRIVER.S 485 | Code | 00 | 3 | 4 | 00/026E : 8F FE 02 00 | stal fgFORMAT ; a format will now be a real format 645 | 1 ASSD.DRIVER.S 486 | Empty | 00 | | 0 | 00/0272 | 646 | 1 ASSD.DRIVER.S 487 | Code | 00 | | 3 | 00/0272 : A9 00 40 | lda #$4000 ; no more silent formatting 647 | 1 ASSD.DRIVER.S 488 | Code | 00 | 3 | 4 | 00/0275 : 8F 92 02 00 | stal proFORMAT+14 648 | 1 ASSD.DRIVER.S 489 | Empty | 00 | | 0 | 00/0279 | 649 | 1 ASSD.DRIVER.S 490 | Code | 00 | | 1 | 00/0279 : 6B | myTASK1 rtl 650 | 1 ASSD.DRIVER.S 491 | Empty | 00 | | 0 | 00/027A | 651 | 1 ASSD.DRIVER.S 492 | Comment | 00 | | 0 | 00/027A | *---------------------------- GS/OS 652 | 1 ASSD.DRIVER.S 493 | Empty | 00 | | 0 | 00/027A | 653 | 1 ASSD.DRIVER.S 494 | Data | 00 | | 2 | 00/027A : 02 00 | proVOLUME dw 2 654 | 1 ASSD.DRIVER.S 495 | Data | 00 | 3 | 4 | 00/027C : 94 02 00 00 | adrl proDEVNAME 655 | 1 ASSD.DRIVER.S 496 | Data | 00 | 3 | 4 | 00/0280 : AC 02 00 00 | adrl outVOLNAME 656 | 1 ASSD.DRIVER.S 497 | Empty | 00 | | 0 | 00/0284 | 657 | 1 ASSD.DRIVER.S 498 | Data | 00 | | 2 | 00/0284 : 05 00 | proFORMAT dw 5 ; +00 658 | 1 ASSD.DRIVER.S 499 | Data | 00 | 3 | 4 | 00/0286 : 94 02 00 00 | adrl proDEVNAME ; +02 659 | 1 ASSD.DRIVER.S 500 | Data | 00 | 3 | 4 | 00/028A : A1 02 00 00 | adrl proVOLNAME ; +06 660 | 1 ASSD.DRIVER.S 501 | Data | 00 | | 2 | 00/028E : 06 00 | dw 6 ; +10 661 | 1 ASSD.DRIVER.S 502 | Data | 00 | | 2 | 00/0290 : 06 00 | dw 6 ; +12 - Default is ProDOS 662 | 1 ASSD.DRIVER.S 503 | Data | 00 | | 2 | 00/0292 : 00 20 | dw $2000 ; +14 - Cant rename, can change selection, silent formatting 663 | 1 ASSD.DRIVER.S 504 | Empty | 00 | | 0 | 00/0294 | 664 | 1 ASSD.DRIVER.S 505 | Data | 00 | | 13 | 00/0294 : 0B 00 2E 41 | proDEVNAME strl '.ASSDDevice' | | | | | | 53 53 44 44 | | | | | | | 65 76 69 63 | | | | | | | 65 | 665 | 1 ASSD.DRIVER.S 506 | Data | 00 | | 11 | 00/02A1 : 09 00 3A 41 | proVOLNAME strl ':AppleSSD' | | | | | | 70 70 6C 65 | | | | | | | 53 53 44 | 666 | 1 ASSD.DRIVER.S 507 | Empty | 00 | | 0 | 00/02AC | 667 | 1 ASSD.DRIVER.S 508 | Data | 00 | | 2 | 00/02AC : 24 00 | outVOLNAME dw 36 ; (word) output buffer 668 | 1 ASSD.DRIVER.S 509 | Data | 00 | | 34 | 00/02AE : 00 00 00 00 | ds 34 ; (word) strl + (array) string | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 | 669 | 1 ASSD.DRIVER.S 510 | Empty | 00 | | 0 | 00/02D0 | 670 | 1 ASSD.DRIVER.S 511 | Comment | 00 | | 0 | 00/02D0 | *---------------------------- 671 | 1 ASSD.DRIVER.S 512 | Empty | 00 | | 0 | 00/02D0 | 672 | 1 ASSD.DRIVER.S 513 | Empty | 00 | | 0 | 00/02D0 | 673 | 1 ASSD.DRIVER.S 514 | Empty | 00 | | 0 | 00/02D0 | formatOptionsTable 674 | 1 ASSD.DRIVER.S 515 | Empty | 00 | | 0 | 00/02D0 | 675 | 1 ASSD.DRIVER.S 516 | Comment | 00 | | 0 | 00/02D0 | * 8 bytes 676 | 1 ASSD.DRIVER.S 517 | Data | 00 | | 2 | 00/02D0 : 02 00 | dw 2 ; numOptions 677 | 1 ASSD.DRIVER.S 518 | Data | 00 | | 2 | 00/02D2 : 02 00 | dw 2 ; numDisplayed 678 | 1 ASSD.DRIVER.S 519 | Data | 00 | | 2 | 00/02D4 : 01 00 | dw 1 ; recommendedOption 679 | 1 ASSD.DRIVER.S 520 | Data | 00 | | 2 | 00/02D6 : 01 00 | dw 1 ; currentOption 680 | 1 ASSD.DRIVER.S 521 | Empty | 00 | | 0 | 00/02D8 | 681 | 1 ASSD.DRIVER.S 522 | Comment | 00 | | 0 | 00/02D8 | * 16 bytes 682 | 1 ASSD.DRIVER.S 523 | Data | 00 | | 2 | 00/02D8 : 01 00 | dw 1 ; formatOptionNum 683 | 1 ASSD.DRIVER.S 524 | Data | 00 | | 2 | 00/02DA : 02 00 | dw 2 ; linkRefNum 684 | 1 ASSD.DRIVER.S 525 | Data | 00 | | 2 | 00/02DC : 0D 00 | dw %0000_1101 ; flags 1101 - GB size - Apple format 685 | 1 ASSD.DRIVER.S 526 | Data | 00 | | 4 | 00/02DE : FF FF FF FF | adrl {$ffffffff} ; blockCount is the max for HFS 686 | 1 ASSD.DRIVER.S 527 | Data | 00 | | 2 | 00/02E2 : 00 02 | dw {512} ; blockSize is 512 bytes 687 | 1 ASSD.DRIVER.S 528 | Data | 00 | | 2 | 00/02E4 : 00 00 | dw 0 ; interleaveFactor 688 | 1 ASSD.DRIVER.S 529 | Data | 00 | | 2 | 00/02E6 : 20 00 | dw 32 ; mediaSize 11 - GB size 689 | 1 ASSD.DRIVER.S 530 | Empty | 00 | | 0 | 00/02E8 | 690 | 1 ASSD.DRIVER.S 531 | Comment | 00 | | 0 | 00/02E8 | * 16 bytes 691 | 1 ASSD.DRIVER.S 532 | Data | 00 | | 2 | 00/02E8 : 02 00 | dw 2 ; formatOptionNum 692 | 1 ASSD.DRIVER.S 533 | Data | 00 | | 2 | 00/02EA : 00 00 | dw 0 ; linkRefNum 693 | 1 ASSD.DRIVER.S 534 | Data | 00 | | 2 | 00/02EC : 09 00 | dw %0000_1001 ; flags 1001 - MB size - Apple format 694 | 1 ASSD.DRIVER.S 535 | Data | 00 | | 4 | 00/02EE : 00 00 01 00 | adrl {65536} ; blockCount is 65536 for ProDOS 8 695 | 1 ASSD.DRIVER.S 536 | Data | 00 | | 2 | 00/02F2 : 00 02 | dw {512} ; blockSize is 512 bytes for ProDOS 8 696 | 1 ASSD.DRIVER.S 537 | Data | 00 | | 2 | 00/02F4 : 00 00 | dw 0 ; interleaveFactor 697 | 1 ASSD.DRIVER.S 538 | Data | 00 | | 2 | 00/02F6 : 20 00 | dw 32 ; mediaSize 10 - MB size 698 | 1 ASSD.DRIVER.S 539 | Empty | 00 | | 0 | 00/02F8 | 699 | 1 ASSD.DRIVER.S 540 | Empty | 00 | | 0 | 00/02F8 | formatOptionsTableEnd 700 | 1 ASSD.DRIVER.S 541 | Empty | 00 | | 0 | 00/02F8 | 701 | 1 ASSD.DRIVER.S 542 | Comment | 00 | | 0 | 00/02F8 | *--- Default formatting options 702 | 1 ASSD.DRIVER.S 543 | Empty | 00 | | 0 | 00/02F8 | 703 | 1 ASSD.DRIVER.S 544 | Data | 00 | | 4 | 00/02F8 : FF FF FF FF | fBlockCount adrl {$ffffffff} ; 65536 704 | 1 ASSD.DRIVER.S 545 | Empty | 00 | | 0 | 00/02FC | 705 | 1 ASSD.DRIVER.S 546 | Comment | 00 | | 0 | 00/02FC | *---------------------------- 706 | 1 ASSD.DRIVER.S 547 | Empty | 00 | | 0 | 00/02FC | 707 | 1 ASSD.DRIVER.S 548 | Data | 00 | | 2 | 00/02FC : 00 00 | fgSTARTED ds 2 ; 0: not started, 1: started 708 | 1 ASSD.DRIVER.S 549 | Data | 00 | | 2 | 00/02FE : 00 00 | fgFORMAT ds 2 ; 0: GS/OS Format never called, 1 instead 709 | 1 ASSD.DRIVER.S 550 | Data | 00 | | 2 | 00/0300 : 00 00 | errCODE ds 2 710 | 1 ASSD.DRIVER.S 551 | Data | 00 | | 4 | 00/0302 : 00 00 00 00 | thePAGE ds 4 ; page to read/write: $hh/ll00 711 | 1 ASSD.DRIVER.S 552 | Data | 00 | | 2 | 00/0306 : 00 00 | nbPAGES ds 2 ; number of blockSIZEP pages to copy 712 | 1 ASSD.DRIVER.S 553 | Empty | 00 | | 0 | 00/0308 | 713 | 1 ASSD.DRIVER.S 554 | Data | 00 | | 4 | 00/0308 : 00 00 00 00 | MyDIB ds 4 ; +00 pointer to the next DIB 714 | 1 ASSD.DRIVER.S 555 | Data | 00 | 3 | 4 | 00/030C : 06 00 00 00 | adrl entryPOINT ; +04 driver entry point 715 | 1 ASSD.DRIVER.S 556 | Data | 00 | | 2 | 00/0310 : EC 8B | dw {$8BEC} ; +08 characteristics 716 | 1 ASSD.DRIVER.S 557 | Data | 00 | | 4 | 00/0312 : FF FF FF FF | adrl {$ffffffff} ; +0A block count 717 | 1 ASSD.DRIVER.S 558 | Data | 00 | | 32 | 00/0316 : 00 00 00 00 | MyDevName ds 32 ; +0E device name | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | 718 | 1 ASSD.DRIVER.S 559 | Comment | 00 | | 0 | 00/0336 | * str 'ASSDDevice' ; +0E device name 719 | 1 ASSD.DRIVER.S 560 | Comment | 00 | | 0 | 00/0336 | * ds 21 ; 32 - 11 = 21 720 | 1 ASSD.DRIVER.S 561 | Data | 00 | | 2 | 00/0336 : 00 80 | dw {$8000} ; +2E slot number 721 | 1 ASSD.DRIVER.S 562 | Data | 00 | | 2 | 00/0338 : 01 00 | dw {$0001} ; +30 unit number 722 | 1 ASSD.DRIVER.S 563 | Data | 00 | | 2 | 00/033A : 00 10 | dw {$1000} ; +32 version 723 | 1 ASSD.DRIVER.S 564 | Comment | 00 | | 0 | 00/033C | * dw devHDD ; +34 device ID 724 | 1 ASSD.DRIVER.S 565 | Data | 00 | | 2 | 00/033C : 0E 00 | dw {$000e} ; +34 device ID - LOGO 725 | 1 ASSD.DRIVER.S 566 | Data | 00 | | 2 | 00/033E : 00 00 | dw $0000 ; +36 first linked device 726 | 1 ASSD.DRIVER.S 567 | Data | 00 | | 2 | 00/0340 : 00 00 | dw $0000 ; +38 next linked device 727 | 1 ASSD.DRIVER.S 568 | Data | 00 | | 4 | 00/0342 : 00 00 00 00 | adrl $00000000 ; +3A extended DIB ptr 728 | 1 ASSD.DRIVER.S 569 | Data | 00 | | 2 | 00/0346 : 00 00 | dw $0000 ; +3E device number 729 | 1 ASSD.DRIVER.S 570 | Empty | 00 | | 0 | 00/0348 | ------+-------------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------