Rev 831 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 507 | savelij | 1 | |
| 1186 | savelij | 2 | ; LAST UPDATE: 16.02.2025 savelij |
| 507 | savelij | 3 | |
| 1186 | savelij | 4 | ; 横 饭 ᯥ |
| 5 | COMINT_ EQU 0x026E |
||
| 507 | savelij | 6 | |
| 1186 | savelij | 7 | ; ⠭騪 ࠩ NeoGS |
| 8 | SETUPSD EQU 0x5B00 |
||
| 507 | savelij | 9 | |
| 1186 | savelij | 10 | ; ࠩ SD-CARD NGS |
| 507 | savelij | 11 | |
| 1186 | savelij | 12 | ; 室 ࠬ 騥: |
| 13 | ; HL- 㧪 |
||
| 14 | ; BCDE-32- ᥪ |
||
| 15 | ; A-⢮ (=512 ) |
||
| 16 | ; ⮫쪮 筮 /⥭ |
||
| 507 | savelij | 17 | |
| 1186 | savelij | 18 | ; 訡 뤠 室: |
| 19 | ; A=0-樠 諠 ᯥ譮 |
||
| 20 | ; A=1- ⢥⨫ |
||
| 507 | savelij | 21 | |
| 22 | COMSDG EX AF,AF' |
||
| 23 | LD A,IYL |
||
| 24 | AND A |
||
| 25 | LD A,(NEXTBYTERST8) |
||
| 26 | JR Z,COMSDG1 |
||
| 27 | EX (SP),HL |
||
| 28 | LD A,(HL) |
||
| 29 | INC HL |
||
| 30 | EX (SP),HL |
||
| 31 | COMSDG1 ADD A,A |
||
| 32 | PUSH HL |
||
| 33 | LD HL,RET4SDG |
||
| 34 | EX (SP),HL |
||
| 35 | PUSH HL |
||
| 36 | LD HL,NGSSDT |
||
| 37 | ADD A,L |
||
| 38 | LD L,A |
||
| 39 | ADC A,H |
||
| 40 | SUB L |
||
| 41 | LD H,A |
||
| 42 | LD A,(HL) |
||
| 43 | INC HL |
||
| 44 | LD H,(HL) |
||
| 45 | LD L,A |
||
| 46 | EX AF,AF' |
||
| 47 | EX (SP),HL |
||
| 48 | RET |
||
| 49 | |||
| 50 | RET4SDG PUSH AF |
||
| 51 | LD A,IYL |
||
| 52 | AND A |
||
| 53 | JR NZ,RET4SDG1 |
||
| 553 | savelij | 54 | LD (RREG_L),HL |
| 507 | savelij | 55 | EX (SP),HL |
| 553 | savelij | 56 | LD (RREG_F),HL |
| 507 | savelij | 57 | EX (SP),HL |
| 58 | RET4SDG1 POP AF |
||
| 59 | RET |
||
| 60 | |||
| 1186 | savelij | 61 | NGSSDT DW GSDINIT ; SD |
| 62 | DW GSDCMP ; ઠ SD |
||
| 63 | DW SDRDMUL ; 'A' ᥪ |
||
| 64 | DW SDWRMUL ; 'A' ᥪ |
||
| 507 | savelij | 65 | |
| 1186 | savelij | 66 | ; 'A' ᥪ |
| 573 | savelij | 67 | SDWRMUL EX AF,AF' |
| 585 | savelij | 68 | LD A,_DEV_WRITE |
| 573 | savelij | 69 | CALL COMM2SD |
| 70 | EX AF,AF' |
||
| 71 | PUSH DE |
||
| 72 | PUSH BC |
||
| 73 | LD BC,GSDAT |
||
| 74 | SDWRSN1 EX AF,AF' |
||
| 75 | OUT (GSCOM),A |
||
| 76 | CALL WC_ |
||
| 1186 | savelij | 77 | LD DE,0x0200 |
| 573 | savelij | 78 | SDWRSN2 OUTI |
| 79 | CALL WD_ |
||
| 80 | DEC DE |
||
| 81 | LD A,D |
||
| 82 | OR E |
||
| 83 | JR NZ,SDWRSN2 |
||
| 84 | EX AF,AF' |
||
| 85 | DEC A |
||
| 86 | JR NZ,SDWRSN1 |
||
| 87 | CALL WN_ |
||
| 585 | savelij | 88 | IN A,(GSDAT) |
| 1186 | savelij | 89 | CP 0x99 ; ६ ⥭/ |
| 585 | savelij | 90 | JP Z,SD_CARD_LOST |
| 573 | savelij | 91 | POP BC |
| 92 | POP DE |
||
| 93 | XOR A |
||
| 94 | RET |
||
| 95 | |||
| 1186 | savelij | 96 | ; ⥭ 'A' ᥪ |
| 507 | savelij | 97 | SDRDMUL EX AF,AF' |
| 585 | savelij | 98 | LD A,_DEV_READ |
| 573 | savelij | 99 | CALL COMM2SD |
| 507 | savelij | 100 | EX AF,AF' |
| 101 | PUSH DE |
||
| 102 | PUSH BC |
||
| 573 | savelij | 103 | LD D,A |
| 104 | LD A,IYL |
||
| 588 | savelij | 105 | BIT 1,A |
| 106 | JR NZ,SDRDSN3 |
||
| 573 | savelij | 107 | AND A |
| 108 | JR NZ,SDRDSN5 |
||
| 680 | savelij | 109 | SDRDSN3 |
| 1186 | savelij | 110 | READ_7FFD |
| 111 | AND 0x10 |
||
| 573 | savelij | 112 | LD BC,(B0_CPU2) |
| 113 | JR Z,SDRDSN4 |
||
| 114 | LD BC,(B1_CPU2) |
||
| 1186 | savelij | 115 | SDRDSN4 LD A,0x37 |
| 588 | savelij | 116 | OR B |
| 117 | LD B,A |
||
| 118 | LD A,C |
||
| 573 | savelij | 119 | LD C,LOW (WIN_A0) |
| 120 | OUT (C),A |
||
| 121 | SDRDSN5 LD A,D |
||
| 507 | savelij | 122 | LD BC,GSDAT |
| 123 | SDRDSN1 EX AF,AF' |
||
| 124 | OUT (GSCOM),A |
||
| 1186 | savelij | 125 | .L1 IN A,(GSCOM) |
| 588 | savelij | 126 | RRA |
| 1186 | savelij | 127 | JR C,.L1 |
| 128 | LD DE,0x0200 ; த 浪 |
||
| 129 | .L2 IN A,(GSCOM) |
||
| 588 | savelij | 130 | RLA |
| 1186 | savelij | 131 | JR NC,.L2 |
| 507 | savelij | 132 | INI |
| 133 | DEC DE |
||
| 134 | LD A,D |
||
| 135 | OR E |
||
| 1186 | savelij | 136 | JR NZ,.L2 |
| 507 | savelij | 137 | EX AF,AF' |
| 138 | DEC A |
||
| 139 | JR NZ,SDRDSN1 |
||
| 1186 | savelij | 140 | .L3 IN A,(GSCOM) |
| 588 | savelij | 141 | RLA |
| 1186 | savelij | 142 | JR NC,.L3 |
| 585 | savelij | 143 | IN A,(GSDAT) |
| 1186 | savelij | 144 | CP 0x99 ; ६ ⥭/ |
| 585 | savelij | 145 | JP Z,SD_CARD_LOST |
| 1186 | savelij | 146 | LD BC,WIN_P2 |
| 573 | savelij | 147 | XOR A |
| 148 | OUT (C),A |
||
| 507 | savelij | 149 | POP BC |
| 150 | POP DE |
||
| 151 | RET |
||
| 152 | |||
| 1186 | savelij | 153 | ; ઠ 窨 |
| 154 | GSDCMP LD H,CMOS.BYTE_01 |
||
| 155 | ROMCALL READCMOS,ROM_RST82 |
||
| 585 | savelij | 156 | LD A,L |
| 1186 | savelij | 157 | AND CMOS_EC.M_SD_NGS_ONOFF ; ઠ ࠧ襭 㯠 SD NEOGS |
| 158 | JR Z,SD_NO ; 室 窥 饭 |
||
| 159 | LD A,(DEVMAN_VARS.FLAGS_DRV) |
||
| 585 | savelij | 160 | AND B_INST_SDG |
| 1186 | savelij | 161 | JR Z,SD_NO ; 室 ࠩ ⠭ |
| 623 | savelij | 162 | XOR A |
| 163 | OUT (GSDAT),A |
||
| 1186 | savelij | 164 | LD A,0x1D |
| 623 | savelij | 165 | OUT (GSCOM),A |
| 1186 | savelij | 166 | .L1 IN A,(GSCOM) |
| 623 | savelij | 167 | RRA |
| 1186 | savelij | 168 | JR C,.L1 |
| 623 | savelij | 169 | IN A,(GSDAT) |
| 170 | LD D,A |
||
| 1186 | savelij | 171 | AND 0x0F |
| 623 | savelij | 172 | LD E,A |
| 173 | LD A,D |
||
| 1186 | savelij | 174 | AND 0xF0 |
| 623 | savelij | 175 | RRCA |
| 176 | RRCA |
||
| 177 | RRCA |
||
| 178 | RRCA |
||
| 179 | CP E |
||
| 585 | savelij | 180 | LD A,1 |
| 623 | savelij | 181 | JR NZ,GSDINIT1 |
| 182 | CALL INSTSDD |
||
| 507 | savelij | 183 | |
| 1186 | savelij | 184 | ; 樠 窨 |
| 507 | savelij | 185 | GSDINIT XOR A |
| 585 | savelij | 186 | GSDINIT1 CALL COMM2SD |
| 507 | savelij | 187 | CALL WN_ |
| 585 | savelij | 188 | GSDINIT2 IN A,(GSDAT) |
| 1186 | savelij | 189 | GSDINIT3 CP 0x99 ; ६ ⥭/ |
| 585 | savelij | 190 | JP Z,SD_CARD_LOST |
| 1186 | savelij | 191 | CP 0x77 |
| 507 | savelij | 192 | JR NZ,SD_NO |
| 193 | XOR A |
||
| 194 | RET |
||
| 195 | |||
| 196 | SD_NO LD A,1 |
||
| 197 | RET |
||
| 198 | |||
| 1186 | savelij | 199 | ; ।稪 /ࠬ ࠩ NeoGS |
| 200 | COMM2SD OUT (GSDAT),A ; 諠 ࠩ |
||
| 201 | LD A,0x1E |
||
| 507 | savelij | 202 | OUT (GSCOM),A |
| 1186 | savelij | 203 | CALL WC_ ; 諠 訢 |
| 507 | savelij | 204 | LD A,B |
| 205 | OUT (GSDAT),A |
||
| 1186 | savelij | 206 | CALL WD_ ; 諨 31-24 ࠬ |
| 507 | savelij | 207 | LD A,C |
| 208 | OUT (GSDAT),A |
||
| 1186 | savelij | 209 | CALL WD_ ; 諨 23-16 ࠬ |
| 507 | savelij | 210 | LD A,D |
| 211 | OUT (GSDAT),A |
||
| 1186 | savelij | 212 | CALL WD_ ; 諨 15-8 ࠬ |
| 507 | savelij | 213 | LD A,E |
| 214 | OUT (GSDAT),A |
||
| 1186 | savelij | 215 | CALL WD_ ; 諨 7-0 ࠬ |
| 507 | savelij | 216 | EX AF,AF' |
| 217 | OUT (GSDAT),A |
||
| 218 | EX AF,AF' |
||
| 219 | DUPL 9,0 |
||
| 1186 | savelij | 220 | RET ; 諮 - ᥪ |
| 507 | savelij | 221 | |
| 1186 | savelij | 222 | ; NeoGS |
| 507 | savelij | 223 | WD_ IN A,(GSCOM) |
| 224 | RLA |
||
| 1186 | savelij | 225 | JR C,WD_ |
| 507 | savelij | 226 | RET |
| 227 | |||
| 1186 | savelij | 228 | ; NeoGS |
| 507 | savelij | 229 | WN_ IN A,(GSCOM) |
| 230 | RLA |
||
| 1186 | savelij | 231 | JR NC,WN_ |
| 507 | savelij | 232 | RET |
| 233 | |||
| 1186 | savelij | 234 | ; NeoGS |
| 507 | savelij | 235 | WC_ IN A,(GSCOM) |
| 236 | RRA |
||
| 1186 | savelij | 237 | JR C,WC_ |
| 507 | savelij | 238 | RET |
| 239 | |||
| 1186 | savelij | 240 | ; ⠭騪 ࠩ NeoGS |
| 241 | INSTSDD LD A,0x80 |
||
| 242 | OUT (GSCTR),A ; NEOGS |
||
| 507 | savelij | 243 | EI |
| 244 | HALT |
||
| 585 | savelij | 245 | EI |
| 507 | savelij | 246 | HALT |
| 585 | savelij | 247 | EI |
| 573 | savelij | 248 | HALT |
| 507 | savelij | 249 | DI |
| 1186 | savelij | 250 | LD A,0xF3 |
| 507 | savelij | 251 | OUT (GSCOM),A |
| 1186 | savelij | 252 | LD B,0x30 |
| 507 | savelij | 253 | ISDD1 EI |
| 254 | HALT |
||
| 255 | DI |
||
| 256 | DEC B |
||
| 257 | JR Z,SD_NO |
||
| 258 | IN A,(GSCOM) |
||
| 259 | RRA |
||
| 260 | JR C,ISDD1 |
||
| 261 | LD BC,GSDAT |
||
| 262 | IN A,(C) |
||
| 1186 | savelij | 263 | LD DE,0x0300 |
| 507 | savelij | 264 | LD HL,SETUPSD |
| 265 | OUT (C),E |
||
| 1186 | savelij | 266 | LD A,0x14 |
| 507 | savelij | 267 | OUT (GSCOM),A |
| 268 | CALL WC_ |
||
| 269 | OUT (C),D |
||
| 270 | CALL WD_ |
||
| 271 | OUT (C),L |
||
| 272 | CALL WD_ |
||
| 273 | OUT (C),H |
||
| 274 | CALL WD_ |
||
| 275 | LD HL,UKLAD1 |
||
| 276 | ISDD3 OUTI |
||
| 277 | CALL WD_ |
||
| 278 | DEC DE |
||
| 279 | LD A,D |
||
| 280 | OR E |
||
| 281 | JR NZ,ISDD3 |
||
| 282 | LD HL,SETUPSD |
||
| 283 | OUT (C),L |
||
| 1186 | savelij | 284 | LD A,0x13 |
| 507 | savelij | 285 | OUT (GSCOM),A |
| 286 | CALL WC_ |
||
| 287 | OUT (C),H |
||
| 288 | EI |
||
| 289 | HALT |
||
| 585 | savelij | 290 | EI |
| 507 | savelij | 291 | HALT |
| 292 | DI |
||
| 293 | LD B,3 |
||
| 294 | IN A,(GSDAT) |
||
| 295 | DEC B |
||
| 296 | JP Z,SD_NO |
||
| 1186 | savelij | 297 | CP 0x77 |
| 507 | savelij | 298 | JP NZ,SD_NO |
| 299 | XOR A |
||
| 300 | RET |
||
| 301 | |||
| 1186 | savelij | 302 | UKLAD1 ; 㤠 뢠 |
| 507 | savelij | 303 | |
| 304 | PHASE SETUPSD |
||
| 305 | |||
| 1186 | savelij | 306 | ; ᠬ ⠭騪 ࠩ NeoGS |
| 507 | savelij | 307 | DI |
| 1186 | savelij | 308 | LD A,0x9C |
| 309 | OUT (SCTRL),A ; 䨣 NeoGS |
||
| 507 | savelij | 310 | CALL AVTODET |
| 311 | AND A |
||
| 1186 | savelij | 312 | LD A,0x77 ; 0x77-NeoGS |
| 313 | JR Z,.L1 |
||
| 314 | LD A,0xCC ; 0xCC- OLDGS |
||
| 315 | .L1 OUT (ZXDATWR),A |
||
| 507 | savelij | 316 | OUT (CLRCBIT),A |
| 317 | JP NZ,COMINT_ |
||
| 318 | DI |
||
| 319 | IN A,(GSCFG0) |
||
| 320 | RES B_RAMRO,A |
||
| 321 | OUT (GSCFG0),A |
||
| 1186 | savelij | 322 | LD HL,0x1D00 |
| 323 | LD (0x0300+(0x1E*2)),HL |
||
| 507 | savelij | 324 | LD DE,UKLAD2 |
| 325 | LD BC,GSDDRVE-GSDDRV |
||
| 326 | EX DE,HL |
||
| 327 | LDIR |
||
| 328 | IN A,(GSCFG0) |
||
| 329 | SET B_RAMRO,A |
||
| 330 | OUT (GSCFG0),A |
||
| 331 | JP COMINT_ |
||
| 332 | |||
| 1186 | savelij | 333 | ; ઠ NeoGS 祭 24MHz |
| 507 | savelij | 334 | AVTODET IN A,(GSCFG0) |
| 1186 | savelij | 335 | AND 0xCF |
| 336 | OUT (GSCFG0),A ; ⭠ 襭묨 |
||
| 337 | ; ⠬ 5-4 砥 |
||
| 338 | ; ࠢ 24 |
||
| 507 | savelij | 339 | LD D,A |
| 340 | IN A,(GSCFG0) |
||
| 341 | CP D |
||
| 342 | LD A,0 |
||
| 343 | RET Z |
||
| 344 | DEC A |
||
| 345 | RET |
||
| 346 | |||
| 1186 | savelij | 347 | UKLAD2 ; 㤠 ४뢠 |
| 507 | savelij | 348 | |
| 349 | DEPHASE |
||
| 350 | |||
| 1186 | savelij | 351 | PHASE 0x1D00 |
| 507 | savelij | 352 | |
| 1186 | savelij | 353 | ; 窠 室 ࠡ SD ⮩ |
| 507 | savelij | 354 | GSDDRV DI |
| 1186 | savelij | 355 | IN A,(ZXDATRD) ; ਥ ࠩ |
| 356 | OUT (CLRCBIT),A ; COMANDBIT |
||
| 507 | savelij | 357 | LD HL,COMINT_ |
| 358 | PUSH HL |
||
| 585 | savelij | 359 | PUSH IY |
| 1186 | savelij | 360 | LD IYH,0x77 |
| 507 | savelij | 361 | ADD A,A |
| 362 | LD E,A |
||
| 363 | LD D,0 |
||
| 364 | LD HL,TABLSDG |
||
| 365 | ADD HL,DE |
||
| 366 | LD E,(HL) |
||
| 367 | INC HL |
||
| 368 | LD D,(HL) |
||
| 369 | EX DE,HL |
||
| 370 | CALL WDY |
||
| 1186 | savelij | 371 | IN A,(ZXDATRD) ; ਥ ⮢ 31-24 ࠬ |
| 507 | savelij | 372 | LD B,A |
| 373 | CALL WDY |
||
| 1186 | savelij | 374 | IN A,(ZXDATRD) ; ਥ ⮢ 23-16 ࠬ |
| 507 | savelij | 375 | LD C,A |
| 376 | CALL WDY |
||
| 1186 | savelij | 377 | IN A,(ZXDATRD) ; ਥ ⮢ 15-8 ࠬ |
| 507 | savelij | 378 | LD D,A |
| 379 | CALL WDY |
||
| 1186 | savelij | 380 | IN A,(ZXDATRD) ; ਥ ⮢ 7-0 ࠬ |
| 507 | savelij | 381 | LD E,A |
| 382 | CALL WDY |
||
| 1186 | savelij | 383 | IN A,(ZXDATRD) ; ਥ - ᥪ |
| 507 | savelij | 384 | JP (HL) |
| 385 | |||
| 1186 | savelij | 386 | TABLSDG DW SDINITG ; 0 ࠬ ॡ, 室 'A' |
| 387 | ; ᬮ 2 祭 |
||
| 388 | DW SDCMPG ; 1 ઠ SD |
||
| 389 | DW RDMULG ; 2 'A' ᥪ |
||
| 390 | DW WRMULG ; 3 'A' ᥪ |
||
| 507 | savelij | 391 | |
| 585 | savelij | 392 | SDCMPG LD A,CMD_58 |
| 393 | LD BC,SD_RSTR |
||
| 394 | CALL OUT_COG |
||
| 395 | CALL INOOUTG |
||
| 396 | IN A,(C) |
||
| 397 | NOP |
||
| 398 | IN H,(C) |
||
| 399 | NOP |
||
| 400 | IN H,(C) |
||
| 401 | NOP |
||
| 402 | IN H,(C) |
||
| 403 | INC A |
||
| 404 | JP NZ,OK_WORK |
||
| 1186 | savelij | 405 | LD IYH,0x88 ; 諠 稥 |
| 585 | savelij | 406 | JP OK_WORK |
| 507 | savelij | 407 | |
| 1186 | savelij | 408 | ZAW003G LD IYH,0xEE ; 㦥 |
| 585 | savelij | 409 | JP OK_WORK |
| 410 | |||
| 507 | savelij | 411 | SDINITG CALL CSHIGHG |
| 412 | LD BC,SD_SEND |
||
| 1186 | savelij | 413 | LD DE,0x20FF |
| 414 | .L1 OUT (C),E |
||
| 507 | savelij | 415 | DEC D |
| 1186 | savelij | 416 | JR NZ,.L1 |
| 507 | savelij | 417 | LD BC,SD_RSTR |
| 418 | XOR A |
||
| 419 | EX AF,AF' |
||
| 420 | ZAW001G LD HL,CMD00G |
||
| 421 | CALL OUTCOMG |
||
| 422 | CALL INOOUTG |
||
| 423 | EX AF,AF' |
||
| 424 | DEC A |
||
| 425 | JR Z,ZAW003G |
||
| 426 | EX AF,AF' |
||
| 427 | DEC A |
||
| 428 | JR NZ,ZAW001G |
||
| 429 | LD HL,CMD08G |
||
| 430 | CALL OUTCOMG |
||
| 431 | CALL INOOUTG |
||
| 432 | IN H,(C) |
||
| 433 | NOP |
||
| 434 | IN H,(C) |
||
| 435 | NOP |
||
| 436 | IN H,(C) |
||
| 437 | NOP |
||
| 438 | IN H,(C) |
||
| 439 | LD HL,0 |
||
| 440 | BIT 2,A |
||
| 441 | JR NZ,ZAW006G |
||
| 1186 | savelij | 442 | LD H,0x40 |
| 507 | savelij | 443 | ZAW006G LD A,CMD_55 |
| 444 | CALL OUT_COG |
||
| 445 | CALL INOOUTG |
||
| 446 | LD BC,SD_SEND |
||
| 447 | LD A,ACMD_41 |
||
| 448 | OUT (C),A |
||
| 449 | NOP |
||
| 450 | OUT (C),H |
||
| 451 | NOP |
||
| 452 | OUT (C),L |
||
| 453 | NOP |
||
| 454 | OUT (C),L |
||
| 455 | NOP |
||
| 456 | OUT (C),L |
||
| 1186 | savelij | 457 | LD A,0xFF |
| 507 | savelij | 458 | OUT (C),A |
| 459 | CALL INOOUTG |
||
| 460 | AND A |
||
| 461 | JR NZ,ZAW006G |
||
| 462 | ZAW004G LD A,CMD_59 |
||
| 463 | CALL OUT_COG |
||
| 464 | CALL INOOUTG |
||
| 465 | AND A |
||
| 466 | JR NZ,ZAW004G |
||
| 467 | ZAW005G LD HL,CMD16G |
||
| 468 | CALL OUTCOMG |
||
| 469 | CALL INOOUTG |
||
| 470 | AND A |
||
| 471 | JR NZ,ZAW005G |
||
| 585 | savelij | 472 | JP OK_WORK |
| 507 | savelij | 473 | |
| 474 | CSHIGHG PUSH AF |
||
| 1186 | savelij | 475 | LD A,M_SDNCS+M_SNCLR ; 0x81 |
| 507 | savelij | 476 | OUT (SCTRL),A |
| 477 | POP AF |
||
| 478 | RET |
||
| 479 | |||
| 480 | CSLOWG PUSH AF |
||
| 1186 | savelij | 481 | LD A,M_SDNCS ; 1 |
| 507 | savelij | 482 | OUT (SCTRL),A |
| 483 | POP AF |
||
| 484 | RET |
||
| 485 | |||
| 486 | OUTCOMG CALL CSLOWG |
||
| 487 | PUSH BC |
||
| 1186 | savelij | 488 | LD BC,0x0600+SD_SEND |
| 507 | savelij | 489 | OTIR |
| 490 | POP BC |
||
| 491 | RET |
||
| 492 | |||
| 493 | OUT_COG PUSH BC |
||
| 494 | CALL CSLOWG |
||
| 495 | LD BC,SD_SEND |
||
| 496 | OUT (C),A |
||
| 497 | XOR A |
||
| 498 | OUT (C),A |
||
| 499 | NOP |
||
| 500 | OUT (C),A |
||
| 501 | NOP |
||
| 502 | OUT (C),A |
||
| 503 | NOP |
||
| 504 | OUT (C),A |
||
| 505 | DEC A |
||
| 506 | OUT (C),A |
||
| 507 | POP BC |
||
| 508 | RET |
||
| 509 | |||
| 510 | SECM20G PUSH HL |
||
| 511 | PUSH DE |
||
| 512 | PUSH BC |
||
| 513 | PUSH AF |
||
| 514 | PUSH BC |
||
| 515 | LD A,CMD_58 |
||
| 516 | LD BC,SD_RSTR |
||
| 517 | CALL OUT_COG |
||
| 518 | CALL INOOUTG |
||
| 519 | IN A,(C) |
||
| 520 | NOP |
||
| 521 | IN H,(C) |
||
| 522 | NOP |
||
| 523 | IN H,(C) |
||
| 524 | NOP |
||
| 525 | IN H,(C) |
||
| 585 | savelij | 526 | INC A |
| 527 | JR NZ,SECN20G1 |
||
| 1186 | savelij | 528 | LD IYH,0x99 ; |
| 585 | savelij | 529 | SECN20G1 DEC A |
| 507 | savelij | 530 | BIT 6,A |
| 531 | POP HL |
||
| 532 | JR NZ,SECN20G |
||
| 533 | EX DE,HL |
||
| 534 | ADD HL,HL |
||
| 535 | EX DE,HL |
||
| 536 | ADC HL,HL |
||
| 537 | LD H,L |
||
| 538 | LD L,D |
||
| 539 | LD D,E |
||
| 540 | LD E,0 |
||
| 541 | SECN20G POP AF |
||
| 542 | LD BC,SD_SEND |
||
| 543 | OUT (C),A |
||
| 544 | NOP |
||
| 545 | OUT (C),H |
||
| 546 | NOP |
||
| 547 | OUT (C),L |
||
| 548 | NOP |
||
| 549 | OUT (C),D |
||
| 550 | NOP |
||
| 551 | OUT (C),E |
||
| 1186 | savelij | 552 | LD A,0xFF |
| 507 | savelij | 553 | OUT (C),A |
| 554 | POP BC |
||
| 555 | POP DE |
||
| 556 | POP HL |
||
| 557 | RET |
||
| 558 | |||
| 559 | INOOUTG PUSH DE |
||
| 1186 | savelij | 560 | LD DE,0x80FF |
| 507 | savelij | 561 | INWAITG IN A,(SD_RSTR) |
| 562 | CP E |
||
| 563 | JR NZ,INEXITG |
||
| 564 | DEC D |
||
| 565 | JR NZ,INWAITG |
||
| 566 | INEXITG POP DE |
||
| 567 | RET |
||
| 568 | |||
| 1186 | savelij | 569 | CMD00G DB 0x40,0x00,0x00,0x00,0x00,0x95 ; GO_IDLE_STATE |
| 570 | CMD08G DB 0x48,0x00,0x00,0x01,0xAA,0x87 ; SEND_IF_COND |
||
| 571 | CMD16G DB 0x50,0x00,0x00,0x02,0x00,0xFF ; SET_BLOCKEN |
||
| 507 | savelij | 572 | |
| 1186 | savelij | 573 | ; । ᥪ SD |
| 585 | savelij | 574 | WRSECTG LD BC,SD_SEND |
| 575 | OUT (SD_SEND),A |
||
| 1186 | savelij | 576 | .L1 IN A,(ZXSTAT) |
| 507 | savelij | 577 | RRA |
| 1186 | savelij | 578 | JR NC,.L1 |
| 507 | savelij | 579 | OUT (CLRCBIT),A |
| 1186 | savelij | 580 | LD HL,0x0200 |
| 585 | savelij | 581 | WRSECTG1 CALL WDY |
| 582 | IN A,(ZXDATRD) |
||
| 507 | savelij | 583 | DEC HL |
| 585 | savelij | 584 | OUT (C),A |
| 507 | savelij | 585 | LD A,H |
| 586 | OR L |
||
| 585 | savelij | 587 | JR NZ,WRSECTG1 |
| 1186 | savelij | 588 | LD A,0xFF |
| 585 | savelij | 589 | OUT (C),A |
| 507 | savelij | 590 | NOP |
| 585 | savelij | 591 | OUT (C),A |
| 507 | savelij | 592 | RET |
| 593 | |||
| 1186 | savelij | 594 | ; । ᥪ ᯥ |
| 585 | savelij | 595 | RDSECTG IN A,(ZXSTAT) |
| 573 | savelij | 596 | RRA |
| 1186 | savelij | 597 | JR NC,RDSECTG |
| 573 | savelij | 598 | OUT (CLRCBIT),A |
| 585 | savelij | 599 | LD BC,SD_RSTR |
| 1186 | savelij | 600 | LD HL,0x0200 |
| 585 | savelij | 601 | RDSECTG1 IN A,(C) |
| 573 | savelij | 602 | DEC HL |
| 585 | savelij | 603 | OUT (ZXDATWR),A |
| 604 | CALL WDN |
||
| 573 | savelij | 605 | LD A,H |
| 606 | OR L |
||
| 585 | savelij | 607 | JR NZ,RDSECTG1 |
| 608 | IN A,(C) |
||
| 573 | savelij | 609 | NOP |
| 585 | savelij | 610 | IN A,(C) |
| 573 | savelij | 611 | RET |
| 612 | |||
| 1186 | savelij | 613 | ; 'A' ᥪ |
| 573 | savelij | 614 | WRMULG EX AF,AF' |
| 615 | LD A,CMD_25 |
||
| 507 | savelij | 616 | CALL SECM20G |
| 585 | savelij | 617 | LD A,IYH |
| 1186 | savelij | 618 | CP 0x99 |
| 585 | savelij | 619 | JR Z,ERR_WR_LOST |
| 620 | WRMULG3 CALL INOOUTG |
||
| 573 | savelij | 621 | INC A |
| 585 | savelij | 622 | JR NZ,WRMULG3 |
| 573 | savelij | 623 | EX AF,AF' |
| 624 | WRMULG1 EX AF,AF' |
||
| 1186 | savelij | 625 | LD A,0xFC |
| 573 | savelij | 626 | CALL WRSECTG |
| 585 | savelij | 627 | WRMULG2 CALL INOOUTG |
| 573 | savelij | 628 | INC A |
| 585 | savelij | 629 | JR NZ,WRMULG2 |
| 573 | savelij | 630 | EX AF,AF' |
| 631 | DEC A |
||
| 632 | JR NZ,WRMULG1 |
||
| 633 | LD C,SD_SEND |
||
| 1186 | savelij | 634 | LD A,0xFD |
| 573 | savelij | 635 | OUT (C),A |
| 1186 | savelij | 636 | .L1 CALL INOOUTG |
| 573 | savelij | 637 | INC A |
| 1186 | savelij | 638 | JR NZ,.L1 |
| 507 | savelij | 639 | JR OK_WORK |
| 640 | |||
| 585 | savelij | 641 | ERR_WR_LOST LD BC,SD_SEND |
| 642 | OUT (SD_SEND),A |
||
| 1186 | savelij | 643 | .L1 IN A,(ZXSTAT) |
| 585 | savelij | 644 | RRA |
| 1186 | savelij | 645 | JR NC,.L1 |
| 585 | savelij | 646 | OUT (CLRCBIT),A |
| 1186 | savelij | 647 | LD HL,0x0200 |
| 585 | savelij | 648 | ERRWRLOST1 CALL WDY |
| 649 | IN A,(ZXDATRD) |
||
| 650 | DEC HL |
||
| 651 | LD A,H |
||
| 652 | OR L |
||
| 653 | JR NZ,ERRWRLOST1 |
||
| 654 | JP OK_WORK |
||
| 655 | |||
| 656 | ERR_RD_LOST IN A,(ZXSTAT) |
||
| 657 | RRA |
||
| 1186 | savelij | 658 | JR NC,ERR_RD_LOST |
| 585 | savelij | 659 | OUT (CLRCBIT),A |
| 660 | LD BC,SD_RSTR |
||
| 1186 | savelij | 661 | LD HL,0x0200 |
| 585 | savelij | 662 | ERRRDLOST1 XOR A |
| 663 | OUT (ZXDATWR),A |
||
| 664 | CALL WDN |
||
| 665 | DEC HL |
||
| 666 | LD A,H |
||
| 667 | OR L |
||
| 668 | JR NZ,ERRRDLOST1 |
||
| 669 | JP OK_WORK |
||
| 670 | |||
| 1186 | savelij | 671 | ; 㧪 'A' ᥪ |
| 507 | savelij | 672 | RDMULG EX AF,AF' |
| 673 | LD A,CMD_18 |
||
| 674 | CALL SECM20G |
||
| 585 | savelij | 675 | LD A,IYH |
| 1186 | savelij | 676 | CP 0x99 |
| 585 | savelij | 677 | JR Z,ERR_RD_LOST |
| 507 | savelij | 678 | EX AF,AF' |
| 679 | RDMULG1 EX AF,AF' |
||
| 1186 | savelij | 680 | .L1 CALL INOOUTG |
| 681 | CP 0xFE |
||
| 682 | JR NZ,.L1 |
||
| 585 | savelij | 683 | RDMULG5 CALL RDSECTG |
| 507 | savelij | 684 | EX AF,AF' |
| 685 | DEC A |
||
| 686 | JR NZ,RDMULG1 |
||
| 687 | LD A,CMD_12 |
||
| 688 | CALL OUT_COG |
||
| 585 | savelij | 689 | RDMULG3 CALL INOOUTG |
| 507 | savelij | 690 | INC A |
| 585 | savelij | 691 | JR NZ,RDMULG3 |
| 507 | savelij | 692 | OK_WORK CALL CSHIGHG |
| 585 | savelij | 693 | LD A,IYH |
| 694 | POP IY |
||
| 507 | savelij | 695 | OUTSTAT OUT (ZXDATWR),A |
| 1186 | savelij | 696 | ; ᯥ |
| 507 | savelij | 697 | WDN IN A,(ZXSTAT) |
| 698 | RLA |
||
| 1186 | savelij | 699 | JR C,WDN |
| 507 | savelij | 700 | RET |
| 701 | |||
| 1186 | savelij | 702 | ; ᯥ |
| 507 | savelij | 703 | WDY IN A,(ZXSTAT) |
| 704 | RLA |
||
| 1186 | savelij | 705 | JR NC,WDY |
| 507 | savelij | 706 | RET |
| 707 | GSDDRVE |
||
| 708 | DEPHASE |