From 74ed233ff5f9ceafcc1e69b636631f3db24f6093 Mon Sep 17 00:00:00 2001 From: "Mario Smit (S0urceror)" Date: Fri, 19 Jun 2020 23:16:21 +0200 Subject: [PATCH] Added Flash ROM support --- .vscode/tasks.json | 10 +- drivers/NextorUsbHost/dist/driver_low.rom | Bin 16336 -> 16336 bytes drivers/NextorUsbHost/dist/driverrd.rom | Bin 16336 -> 16336 bytes drivers/NextorUsbHost/dist/nextor.rom | Bin 131072 -> 131072 bytes .../NextorUsbHost/dist/nextor_complete.rom | Bin 0 -> 458752 bytes drivers/NextorUsbHost/dist/nextorlow.rom | Bin 131072 -> 131072 bytes drivers/NextorUsbHost/dist/nextorrd.rom | Bin 131072 -> 131072 bytes drivers/NextorUsbHost/src/Makefile | 5 +- .../NextorUsbHost/src/driver_helpers_low.asm | 12 +- drivers/NextorUsbHost/src/driver_low.asm | 206 +++++++----- drivers/NextorUsbHost/src/flashdisk.asm | 305 ++++++++++++++++++ 11 files changed, 454 insertions(+), 84 deletions(-) create mode 100644 drivers/NextorUsbHost/dist/nextor_complete.rom create mode 100644 drivers/NextorUsbHost/src/flashdisk.asm diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 8755e64..f260c68 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -7,7 +7,10 @@ "label": "Driver - Nextor+UsbHost", "type": "shell", "command": "make -C ./drivers/NextorUsbHost/src/", - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "problemMatcher": "$errmatcher-sjasmplus" }, { @@ -42,10 +45,7 @@ "label": "Software - flash", "type": "shell", "command": "make -C ./software/ -f makeflash.mk", - "group": { - "kind": "build", - "isDefault": true - }, + "group": "build", "problemMatcher": [] }, { diff --git a/drivers/NextorUsbHost/dist/driver_low.rom b/drivers/NextorUsbHost/dist/driver_low.rom index 9e62da295dab39f5e256e4ca2fd3f2e0e60abff2..04920392913110261ec60fded64fa4fcc192ccd1 100644 GIT binary patch delta 2967 zcmZ`*eQ*=U72iEeXUW*|9bgb(>^qE!2*eSP+AgsVA-npp{A~wkCgai;$fVFr9U%BC zmE2*5keSZ3otsJ0Kay#iX=zAX!DL#sC2cJW0f)R(do-GwI#+U?5uKEQR3!?eaB|?CcE_G=iT$ue5$l-971HA-LvFG1OXPhIIonQdw2&u#xEzt|0dm^sEEc~FVwO93@ad;wL9OoiUtE5;2>R@z2>j566vPTEk5KT(TcQl%O!IU^K{9~eOK zUxt(6zBv-G5q5X;(-(g0sY$&Ti*gOz^8qKuNsLcb)(IQaY+yr`WhF*@aKoj;q1B+q6V zi;33TSZ+6yt$mFa5Z2yJo((I|fmZsIMGEx>9?FFM)Ed}^rp~v@?=j+lv1)8Vx6XxE zD*c1_;j%HeC~7D~0-N$82`kx=92Qn&z^xVBa(0{v)79lY-)SX1a#hhfVF_i>2Nakt z!aix0-9=kMY8v8%*E81iO>tK%UJY~bXhK9T%%I&1E{kMQHC*rfEZ&K_n|7k1TjwkfyGq7smhM3e^1)KSrXEqhjMRNNm3TC< zArYdFW&iO@maf_H8`Upgat&0Wn{i+UnGuasDx(-Ny7)$cN;L73!vs7_xxeKj9acti z$WabKSqVYekSlU*mKdcT*VLmhgjPJ@S&FmxyeA*w78-T&CC{?p)+4Z}sb`F5zW>>w zgp`iHr=RL`3n!d)_3xf2dIX2I^>%d#2fu#oh;Z=G@k0lWA39i8g8G~<9zAgA=r@ld z&o{n$>^XsAS^(NV zo+44t7)Zw9KO4;`U1ZubFiK`T`;}_>L(_q6<$gulo#Z7~k_#s}Qtr=fyxQT-t-kt< zw?QEfe4~+uE7FrmJ|=nPVY46@fLAEswPk>(05Il_DAGQ8+`OSJ@d*76P;XUNrzuzk z@L0rA#=6LDUxhRP_}>HGE43&2ktAogc%^{Rqc*D>Cev|xv>*87N_KN7F9Pq6CwUte zyfs=AncC@7By*Biq%}!?o{Ko{E7Hy+U$6#fVX(Jh5(c#tSdeTqB)jrhV=&L(m{6oA z$m_m_N$C}%q0Cs|b9*7l&C7peEp>|=b}XC4D^(bz*@by7*K;-H)RE0kFM<(Me0u3mzJ3XoZ)36KFBm>Nh#mAF?j8LN#% zmF9rIogjpZUkxCm^%dHMLi>Y4`$nOCtI+8I5R0>av^|^ z*RY-)>LYafYeKB!6b(!;f?2Dd%!4`b-UCQSNp6D?`5FO$Bxe0h^U zwQdRhquq%WdeXqN>M16#cg(42UBfGpZmmL~Fo9xV98@-|4oPe6nA1C%acEgURH{M# zf^ZEcOU1MJWt=Zs_%Hbm+)-X~vfXCkEl7P4tH&92xJVr`sq4ywkF-p5R@LM;OX|7~ zyTuN_+OH1c({S77t;GjzhQtLDG2Bgy8eLNyFVFx+A%0dv027a8p-#X~UTe=lGMs9Y zH>_9}y4D^|L!BIE)EC$>yVa%dKrAeoN##a_0L+scrUBN$B*y|rMGZ~`g z-1COa*W(`fe(9$2pLOcNqTB*4 zRuL$E^7gXN%LdCfg+7CWml4Q{V@S2?L9>_UgdQ}(1>D#%3&+aHIvVUWE-@0EZYJ}v zPSa`*d$F%X^^~c>Qm`>B{=Y*=!H`CN2dNlj^kKWV3fnB>gzcQG9oxAYajhz#;T?@P}@S%!4B^=Nb(i@ PQic`|*t?hc+U@@VV>ntW delta 2440 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 Bf}j8Z literal 16336 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 Y1~djV1~djV1~djV1~djV1~dl#3s0{58UO$Q diff --git a/drivers/NextorUsbHost/dist/nextor.rom b/drivers/NextorUsbHost/dist/nextor.rom index e3e98e5b7a670c106a6ea5f389348f6b9b777c95..a767520cc341c3f86b5054497e2f00b52cbda306 100644 GIT binary patch delta 72 ycmZo@;Am*z*ucfXbacaJ9*$4uKzftIKYI|>0HF?msV$6PYMTR;Zh+DUAT$875F(8L delta 72 ycmZo@;Am*z*ucfX6nb?t5635SAic@qpFN0bfKUg()D}iCwao!aH$dqF5E=kmHy`Q% diff --git a/drivers/NextorUsbHost/dist/nextor_complete.rom b/drivers/NextorUsbHost/dist/nextor_complete.rom new file mode 100644 index 0000000000000000000000000000000000000000..9a54c1e7fd02eca87402e60221ea1741a19e1fea GIT binary patch literal 458752 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 zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1m0r;1N{7tCh#8LPRx!3NPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L;5U@Oe*)gc BQ>g#| literal 0 HcmV?d00001 diff --git a/drivers/NextorUsbHost/dist/nextorlow.rom b/drivers/NextorUsbHost/dist/nextorlow.rom index 94ba2dbdac607b75baf9a38fa97ad163e782c267..67d60f7c330e3fc383a2fc1aea5076ea6ddaba47 100644 GIT binary patch delta 3074 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 delta 2548 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

q=-r~d} zTWnyOdJ4&Ndv4IQEa6flo2w8A^dLAe3L=YHhH71CxgodeMu8duaTg8RE^>bXZ*z$( zeg>=iH-1OGfhOxE!z~t*&4lPFOb2x|P(b_ibae^$k(7zeQYk$7Hm=>ez_P+O_-PmI z#y^IQLbbr(Zc;cd;P9`svpt>-EP)w5Ts?y;OfxMRD1p;W;axL$b!es~mWFdeKu1p+ zN8~QK8ziw=3HBK&x9T!%Drr!*B9h0A006{`Le~-@9ngPCzCABLsSIWrWDRpL*VUbX zjbYJ;fLMGV&EWDo@%0%;W`VaPFgeXM6A)eBqNZL!EsbA;CGg{U6bnNMb15zh(;^2- zX|PZZ7&0O}>g7Ng6@msipqICm0xO~LR#A^Z4wk>panxg!gB7_2N5Sh{8O*jEtW+P2 zG^mpU1@gACaO^6!hm3Z^t&kijl(((Qh;RflBB;0=o~~)l>87`|=JeAKx8@Afr(5M< z={RSRgJt8KNe-?W=X7>GHQT3^qXa9l0YuHh0<#^^3nn>GE*RxNh0rbsD#;6=UXWX0 zCxPfPg-~7tqS7?L#@A@%70gTlF&AI2AO{UzR`haE4|~i5duE|=DC>$9RwxZ88CK@3 zRCVfVmXw146yE+K>M5bYVo+KZ^p`EdB9q7jtTmQgySEBkOrzwBJvZ*Mekupqa{?9{ zUX9F5b(GBQiQNb$y?-oiufNNh787%$7CnO})TJDQaCbugAiib@Hl4_h3H5?cryyVVCa1rtr))ylaKFQfK+=?cvH4{tg_~vQU25tqw?**x~`({I$;c z2`L7>bbcZ>3*{%#z7l%ULI+H=-;DpTAVYvIsKA|az?I2vH_~Kr&W>Pka9luK-F3qlhTPH z+G?U6=sx5>IJ^~{{spJ*EI zzEenxt71h059Qky^sJ@*d9~J{1xy1jco(tJfK@DoSJ;{}vs=p?aHefo@;+Mt_e{t> c4wWd^d(Urr^u=}OU60mV&Rl)y0eHv$ABq+R=Kufz delta 3834 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 $(OUTPUT_DIR)/nextor_complete.rom $(OUTPUT_DIR)/nextorrd.rom: $(OUTPUT_DIR)/driverrd.rom $(OUTPUT_DIR)/chgbnkrd.bin $(OUTPUT_DIR)/extra1k.dat $(KERNEL_DIR)/mknexrom $(KERNEL_DIR)/Nextor-2.1.0-beta2.base.dat $(OUTPUT_DIR)/nextorrd.rom \ diff --git a/drivers/NextorUsbHost/src/driver_helpers_low.asm b/drivers/NextorUsbHost/src/driver_helpers_low.asm index 01e5902..f388f27 100644 --- a/drivers/NextorUsbHost/src/driver_helpers_low.asm +++ b/drivers/NextorUsbHost/src/driver_helpers_low.asm @@ -37,7 +37,7 @@ WANTED_PROTOCOL DB STRUCT WRKAREA BASE: ; Offset to the base of the data structure -STATUS: db ; bit 0 = CH376s present, bit 1 = initialised, bit 2 = USB device present, bit 3 = USB device mounted, bit 5 = DSK changed +STATUS: db ; bit 0 = CH376s present, bit 1 = initialised, bit 2 = USB device present, bit 3 = USB device mounted, bit 5 = DSK changed, bit 7 = Flash disk present MAX_DEVICE_ADDRESS: db 0 USB_DEVICE_INFO: _USB_DEVICE_INFO STORAGE_DEVICE_INFO: _USB_DEVICE_INFO @@ -52,9 +52,10 @@ USB_DESCRIPTOR ds 140 ; memory area to hold the usb device+config descriptor o USB_DESCRIPTORS ds USB_DESCRIPTORS_END - USB_DESCRIPTORS_START NXT_DIRECT ds NXT_DIRECT_END - NXT_DIRECT_START JUMP_TABLE ds JUMP_TABLE_END - JUMP_TABLE_START +FLASH_READ ds FLASH_READ_END - FLASH_READ_START ENDS -TXT_START: db "MSXUSB v0.5 (c) Sourceror\r\n" +TXT_START: db "MSXUSB v0.6 (c) Sourceror\r\n" db "GNU General Public License\r\n" db "=============================\r\n\r\n",0 TXT_FOUND: db "+MSXUSB cartridge found\r\n",0 @@ -67,4 +68,9 @@ TXT_STORAGE_CHECK_OK: db "+Found USB Storage:",0 TXT_INQUIRY_OK: db "\r\n ",0 TXT_INQUIRY_NOK: db "\r\n-Error (Inquiry)\r\n",0 TXT_TEST_START: db "\r\n+Testing storage device",0 -TXT_TEST_OK: db "\r\n+All systems go!\r\n",0 \ No newline at end of file +TXT_TEST_OK: db "\r\n+All systems go!\r\n",0 +TXT_FLASHDISK_OK: db "+ROM disk detected\r\n",0 + +RD_MANUFACTURER: db "S0urceror",0 +RD_DEVICE_NAME: db "Flash ROM Disk",0 +RD_SERIAL: db "v0.1",0 \ No newline at end of file diff --git a/drivers/NextorUsbHost/src/driver_low.asm b/drivers/NextorUsbHost/src/driver_low.asm index e6c496e..be8c25e 100644 --- a/drivers/NextorUsbHost/src/driver_low.asm +++ b/drivers/NextorUsbHost/src/driver_low.asm @@ -37,8 +37,8 @@ CODE_ADD: equ 0F1D0h ; ;Driver version -VER_MAIN equ 1 -VER_SEC equ 5 +VER_MAIN equ 0 +VER_SEC equ 6 VER_REV equ 0 ;----------------------------------------------------------------------------- @@ -262,22 +262,32 @@ DRV_INIT: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; call USBHOST_INIT - ; reset USB bus and device - call USB_HOST_BUS_RESET + ; enable the flash rom driver + call FLASH_INIT + + ; reset CH376s + call CH_RESET + ; wait ~250ms + ld bc, WAIT_ONE_SECOND/4 + call WAIT ; check if CH376s in the cartridge slot call CH_HW_TEST jr nc, _HW_TEST_OKAY ld hl, TXT_NOT_FOUND call PRINT - and a ret _HW_TEST_OKAY: - ld (ix+WRKAREA.STATUS),00000001b + ld a,(ix+WRKAREA.STATUS) + set 0,a + ld (ix+WRKAREA.STATUS),a ld hl, TXT_FOUND call PRINT + ; reset USB bus and device + call USB_HOST_BUS_RESET + ; enumerate and initialise USB devices push ix call FN_CONNECT @@ -296,7 +306,9 @@ _USB_MODE_OKAY: add 0x30 call CHPUT pop af - ld (ix+WRKAREA.STATUS),00000011b + ld a,(ix+WRKAREA.STATUS) + set 1,a + ld (ix+WRKAREA.STATUS),a ld hl, TXT_DEVICE_CHECK_OK call PRINT ld a, (ix+WRKAREA.STORAGE_DEVICE_INFO.DEVICE_ADDRESS) @@ -334,7 +346,9 @@ _INQUIRY_OKAY: call PRINT ; pop ix - ld (ix+WRKAREA.STATUS),00000111b + ld a,(ix+WRKAREA.STATUS) + set 2,a + ld (ix+WRKAREA.STATUS),a ld hl, TXT_TEST_START call PRINT @@ -347,7 +361,11 @@ _SCSI_TEST_OKAY: ld hl, TXT_TEST_OK call PRINT ; return status disk present but changed - ld (ix+WRKAREA.STATUS),00111111b + ld a,(ix+WRKAREA.STATUS) + set 3,a + set 4,a + set 5,a + ld (ix+WRKAREA.STATUS),a ret ;----------------------------------------------------------------------------- ; @@ -412,7 +430,10 @@ INIWORK: ; A = 0: Ok ; 1: Configuration not available for the supplied index ; BC, DE, HL = Depends on the configuration -; +DRV_CONFIG: + call MY_GWORK + dec a + jr nz, _DEFAULT_CONFIG ; * Get number of drives at boot time (for device-based drivers only): ; Input: ; A = 1 @@ -421,7 +442,20 @@ INIWORK: ; (by pressing the 5 key) ; Output: ; B = number of drives -; +_NR_DRIVES_AT_BOOT_TIME: + ld a,(ix+WRKAREA.STATUS) + ld b, 0 + bit 7,a ; ROMDRIVE + jr z, _CHECK_USB + inc b +_CHECK_USB: + bit 3,a ; USB DRIVE INITIALIZED + jr z, _CHECK_COMPLETE + inc b +_CHECK_COMPLETE: + xor a + ret + ; * Get default configuration for drive ; Input: ; A = 2 @@ -430,18 +464,11 @@ INIWORK: ; Output: ; B = Device index ; C = LUN index - -DRV_CONFIG: - dec a - jr nz, _DEF_CONFIG ; A was 2 - ; A was 1 - ld b, 1 ; number of drives requested, iregardless of DOS version - ret -_DEF_CONFIG: +_DEFAULT_CONFIG: + ld b, c + inc b + ld c, 1 xor a - ld b, 1 - ; LUN index = relative drive number at boot time + 1 - inc c ret ;----------------------------------------------------------------------------- @@ -535,22 +562,37 @@ DRV_DIRECT4: ; _SEEK: Seek error. ; B = Number of sectors actually read (in case of error only) DEV_RW: - push af - cp 1 ; device 1 only - jr z, _DEV_RW_NEXT_2 + push af ; preserve A + flags + ld a, c + cp 1 ; lun 1 only + jr z, _DEV_RW_CHECK_DRIVE ld a, _IDEVL ld b, 0 pop af ret -_DEV_RW_NEXT_2: - ld a, c - cp 1 ; lun 1 only - jr z, _DEV_RW_NEXT_3 + +_DEV_RW_CHECK_DRIVE: + pop af ; restore A + push af ; preserve flags + cp 1 ; drive A: + jr z, _DEV_RW_DRIVE_A + cp 2 ; drive + jr z, _DEV_RW_DRIVE_B + ; ld a, _IDEVL ld b, 0 pop af ret -_DEV_RW_NEXT_3: + +_DEV_RW_DRIVE_A: + call MY_GWORK + ld c,(ix+WRKAREA.STATUS) + bit 7,c + jp nz, DEV_RW_ROMDISK ; Drive A is ROM disk + ;jr DEV_RW_SCSI ; Drive A is USB Storage + +_DEV_RW_DRIVE_B: ; Drive B is always USB storage +DEV_RW_SCSI: ; CAPS ON in a, 0xaa res 6,a @@ -582,6 +624,7 @@ _DEV_RW_ERR ld b, 0 ret + ;----------------------------------------------------------------------------- ; ; Device information gathering @@ -600,7 +643,7 @@ _DEV_RW_ERR ; When basic information is requested, ; buffer filled with the following information: ; -;+0 (1): Numer of logical units, from 1 to 7. 1 if the device has no logical +;+0 (1): Number of logical units, from 1 to 7. 1 if the device has no logical ; units (which is functionally equivalent to having only one). ;+1 (1): Device flags, always zero in Beta 2. ; @@ -619,9 +662,19 @@ _DEV_RW_ERR ; provided, not the leftmost. DEV_INFO: - cp 1 ; only device 1 + cp 1 ; drive A: + jr z, _DEV_INFO_DRIVE_A + cp 2 ; drive + jr z, _DEV_INFO_DRIVE_B jr nz, _DEV_INFO_NOT_INSERTED - +_DEV_INFO_DRIVE_A: + call MY_GWORK + ld a,(ix+WRKAREA.STATUS) + bit 7,a + jp nz, DEV_INFO_ROMDISK ; Drive A is ROM disk + ;jr DEV_INFO_SCSI ; Drive A is USB storage +_DEV_INFO_DRIVE_B ; Drive B is always USB storage +DEV_INFO_SCSI: ld c, a ld a, b cp 0 @@ -646,7 +699,6 @@ _DEV_INFO_MANUFACTURER: ld de, hl ld bc, WRKAREA.SCSI_DEVICE_INFO.VENDORID call WRKAREAPTR - ld hl,ix ld bc, 8 ldir @@ -658,7 +710,6 @@ _DEV_INFO_DEVICE_NAME: ld de, hl ld bc, WRKAREA.SCSI_DEVICE_INFO.PRODUCTID call WRKAREAPTR - ld hl,ix ld bc, 16 ldir @@ -670,7 +721,6 @@ _DEV_INFO_SERIAL: ld de, hl ld bc, WRKAREA.SCSI_DEVICE_INFO.PRODUCTREV call WRKAREAPTR - ld hl,ix ld bc, 4 ldir @@ -713,12 +763,32 @@ _DEV_INFO_NOT_INSERTED: ; DEV_STATUS itself. Please read the Driver Developer Guide for more info. DEV_STATUS: - cp 1 - jr nz, _DEV_STATUS_NO_EXIST + ; check LUN + push af ld a, b cp 1 jr nz, _DEV_STATUS_NO_EXIST + pop af + ; check drive + cp 1 ; drive A: + jr z, _DEV_STATUS_DRIVE_A + cp 2 ; drive + jr z, _DEV_STATUS_DRIVE_B + jr _DEV_STATUS_NO_EXIST2 +_DEV_STATUS_NO_EXIST: + pop af +_DEV_STATUS_NO_EXIST2: + xor a ; not available + ret +_DEV_STATUS_DRIVE_A: + call MY_GWORK + ld a,(ix+WRKAREA.STATUS) + bit 7,a + jp nz, DEV_STATUS_ROMDISK ; Drive A is ROM disk + ;jr DEV_STATUS_SCSI ; Drive A is USB storage +DEV_STATUS_SCSI: +_DEV_STATUS_DRIVE_B: ; Drive B is always USB storage call MY_GWORK ; bit 0 = CH376s present, ; bit 1 = initialised, @@ -737,6 +807,7 @@ DEV_STATUS: ld (ix+WRKAREA.STATUS),a ld a, 2 ; available, changed ret + _DEV_STATUS_NO_CHANGE: ld a, 1 ; available, no change ret @@ -745,10 +816,6 @@ _DEV_STATUS_ERR: xor a ; not available ret -_DEV_STATUS_NO_EXIST: - xor a ; not available - ret - ;----------------------------------------------------------------------------- ; ; Obtain logical unit information @@ -784,12 +851,32 @@ _DEV_STATUS_NO_EXIST: ; For other types of device, these fields must be zero. LUN_INFO: - cp 1 - jr nz, _LUN_INFO_NO_EXIST + ; check LUN + push af ld a, b cp 1 jr nz, _LUN_INFO_NO_EXIST + pop af + ; check Drive + cp 1 ; drive A: + jr z, _LUN_INFO_DRIVE_A + cp 2 ; drive + jr z, _LUN_INFO_DRIVE_B + jr _LUN_INFO_NO_EXIST2 +_LUN_INFO_NO_EXIST: + pop af +_LUN_INFO_NO_EXIST2: + ld a,1 + ret +_LUN_INFO_DRIVE_A: + call MY_GWORK + ld a,(ix+WRKAREA.STATUS) + bit 7,a + jp nz, LUN_INFO_ROMDISK ; Drive A is ROM disk + ;jr LUN_INFO_SCSI ; Drive A is USB storage +LUN_INFO_SCSI: +_LUN_INFO_DRIVE_B: ; #0 ld (hl),0 ; block device ; #1 @@ -824,36 +911,6 @@ LUN_INFO: ld a, 0 ret -_LUN_INFO_NO_EXIST: - ld a,1 - ret - - ;;;;;;; 720KB diskimages - ; device 1, lun 1 - ; TODO: read actual boot sector of DSK file - ;ld (hl),0 ; block device - ;inc hl - ;ld (hl),00h - ;inc hl - ;ld (hl),02h ; 512 byte sector - ;inc hl - ;ld (hl),0a0h - ;inc hl - ;ld (hl),05h - ;inc hl - ;ld (hl),00h - ;inc hl - ;ld (hl),00h ; 1440 sectors - ;inc hl - ;;ld (hl),00000001b ; removable + non-read only + no floppy - ;inc hl - ;ld (hl), 80 - ;inc hl - ;ld (hl), 0 ; cylinders/tracks - ;inc hl - ;ld (hl), 1 ; heads - ;inc hl - ;ld (hl), 9 ; sectors per track ;===== ;===== END of DEVICE-BASED specific routines @@ -863,6 +920,7 @@ _LUN_INFO_NO_EXIST: ; ; End of the driver code + include "flashdisk.asm" include "driver_helpers_low.asm" include "print_bios.asm" include "ch376s.asm" diff --git a/drivers/NextorUsbHost/src/flashdisk.asm b/drivers/NextorUsbHost/src/flashdisk.asm new file mode 100644 index 0000000..2acea8b --- /dev/null +++ b/drivers/NextorUsbHost/src/flashdisk.asm @@ -0,0 +1,305 @@ + IFDEF __ROOKIEDRIVE +BANK_SWITCH_ADDR equ 6000h +DISK_START_BANK equ 10 ; * 16kB + ELSE +BANK_SWITCH_ADDR equ 5000h +BANK_SWITCH_ADDR2 equ 7000h +DISK_START_BANK equ 8 + ENDIF + +FLASH_INIT: + push ix + ; copy flash read code to WRKAREA + ld hl, ix + ld bc, WRKAREA.FLASH_READ + add hl, bc + push hl ; + points to FLASH_READ + ex de, hl + ld hl, FLASH_READ_START + ld bc, FLASH_READ_END-FLASH_READ_START + ldir + ; check contents of flash sector 0 + ld de, 8000h + ld hl, 4000h + ld bc, 2 + ld a, (CUR_BANK) + ex af,af' + ld a, DISK_START_BANK + pop ix ; - points to FLASH_READ + ld iy, _FLASH_INIT_NEXT + push iy ; return address + di + jp (ix) + ; update status in WRKAREA to indicate IF we have flash disk +_FLASH_INIT_NEXT: + ei + ld a, (8000h) + inc a + ld b,a + ld a, (8001h) + inc a + add b + pop ix + jr nz,_FLASH_INIT_OK + scf ; no flash disk at this place + ret + ; not FF's? +_FLASH_INIT_OK: + ld a,(ix+WRKAREA.STATUS) + set 7,a + ld (ix+WRKAREA.STATUS),a + ld hl, TXT_FLASHDISK_OK + call PRINT + ret + +FLASH_READ_START +; FLASH_READ - read a number of bytes from flash location +; Input: HL - source address +; DE - destination address +; BC - amount of bytes +; A = bank number +; A' = bank number to switch back to after done +FLASH_READ: + IFNDEF __ROOKIEDRIVE + rlca ; bank number multiplied times 2 to select right 8k segment + ENDIF + ld (BANK_SWITCH_ADDR),a + IFNDEF __ROOKIEDRIVE + inc a ; plus 1 + ld (BANK_SWITCH_ADDR2),a + ENDIF + ldir + ex af,af' + IFNDEF __ROOKIEDRIVE + rlca ; bank number multiplied times 2 to select right 8k segment + ENDIF + ld (BANK_SWITCH_ADDR),a + IFNDEF __ROOKIEDRIVE + inc a ; plus 1 + ld (BANK_SWITCH_ADDR2),a + ENDIF + ret +FLASH_READ_END: + +;----------------------------------------------------------------------------- +; +; Read or write logical sectors from/to a logical unit +; +;Input: Flags on stack: Cy=0 to read, 1 to write +; B = Number of sectors to read or write +; HL = Source or destination memory address for the transfer +; DE = Address where the 4 byte sector number is stored. +;Output: A = Error code (the same codes of MSX-DOS are used): +; 0: Ok +; _IDEVL: Invalid device or LUN +; _NRDY: Not ready +; _DISK: General unknown disk error +; _DATA: CRC error when reading +; _RNF: Sector not found +; _UFORM: Unformatted disk +; _WPROT: Write protected media, or read-only logical unit +; _WRERR: Write error +; _NCOMP: Incompatible disk. +; _SEEK: Seek error. +; B = Number of sectors actually read (in case of error only) +DEV_RW_ROMDISK: + pop af + jr nc,_DEV_R_ROMDISK + ld a, _WPROT ; not allowed to write to flash rom + ld b, 0 + ret + +_DEV_R_ROMDISK: + ; CAPS ON + in a, 0xaa + res 6,a + out 0xaa,a + ; + + ; calculate banknr and memory position based on (DE) + ld ix, de + ld e,(ix+0) + ld d,(ix+1) + push de + ; calculate banknr = sectornr / 32 + sra d ;/2 + rr e + sra d ;/4 + rr e + sra d ;/8 + rr e + sra d ;/16 + rr e + sra d ;/32 + rr e + ld a,e + add a, DISK_START_BANK + ld c,a + ; calculate memory location = ((sector MOD 32)*512)+#4000 + pop de + ld a,e + and %11111 + add a,a + add a,0x40 + ld d,a + ld e,0 + + ; DE points to source and HL points to destination => reverse + ex de, hl + + ; setup call to FLASH_READ + push bc + ld bc, WRKAREA.FLASH_READ + call WRKAREAPTR + pop bc + +_DEV_R_ROMDISK_AGAIN: + push bc + ld a, (CUR_BANK) + ex af,af' + ld a, c + ld bc, 512 + ld iy, _DEV_R_ROMDISK_NEXT + push iy ; return address + di + jp (ix) +_DEV_R_ROMDISK_NEXT: + ei + pop bc + bit 7,h ; need next bank ? + jr z,_DEV_R_ROMDISK_NEXT2 + ld hl,#4000 ; YES + inc c +_DEV_R_ROMDISK_NEXT2: + djnz _DEV_R_ROMDISK_AGAIN + + ; CAPS OFF + in a, 0xaa + set 6,a + out 0xaa,a + ; + xor a ; success + ret + +; Device information gathering +; +;Input: A = Device index, 1 to 7 +; B = Information to return: +; 0: Basic information +; 1: Manufacturer name string +; 2: Device name string +; 3: Serial number string +; HL = Pointer to a buffer in RAM +;Output: A = Error code: +; 0: Ok +; 1: Device not available or invalid device index +; 2: Information not available, or invalid information index +DEV_INFO_ROMDISK: + ld a, b + cp 0 + jr z,_DEV_INFO_ROMDISK_BASIC + cp 1 + jr z,_DEV_INFO_ROMDISK_MANUFACTURER + cp 2 + jr z,_DEV_INFO_ROMDISK_DEVICE_NAME + cp 3 + jr z,_DEV_INFO_ROMDISK_SERIAL + ; else + ld a, 2 + ret + +_DEV_INFO_ROMDISK_BASIC: + ld (hl),1 + inc hl + ld (hl),0 + xor a + ret + +_DEV_INFO_ROMDISK_MANUFACTURER: + ld de, hl + ld hl,RD_MANUFACTURER + ld bc, 8 + ldir + xor a + ld (de),a + ret + +_DEV_INFO_ROMDISK_DEVICE_NAME: + ld de, hl + ld hl,RD_DEVICE_NAME + ld bc, 16 + ldir + xor a + ld (de),a + ret + +_DEV_INFO_ROMDISK_SERIAL: + ld de, hl + ld hl,RD_SERIAL + ld bc, 4 + ldir + xor a + ld (de),a + ret + +; Obtain device status +; +;Output: A = Status for the specified logical unit, +; or for the whole device if 0 was specified: +; 0: The device or logical unit is not available, or the +; device or logical unit number supplied is invalid. +; 1: The device or logical unit is available and has not +; changed since the last status request. +; 2: The device or logical unit is available and has changed +; since the last status request +; (for devices, the device has been unplugged and a +; different device has been plugged which has been +; assigned the same device index; for logical units, +; the media has been changed). +; 3: The device or logical unit is available, but it is not +; possible to determine whether it has been changed +; or not since the last status request. +DEV_STATUS_ROMDISK: + ld a, 1 + ret + +; Obtain logical unit information +; +;Input: HL = Pointer to buffer in RAM. +;Output: A = 0: Ok, buffer filled with information. +; 1: Error, device or logical unit not available, +; or device index or logical unit number invalid. +LUN_INFO_ROMDISK: + ; #0 + ld (hl),0 ; block device + ; #1 + inc hl + ld (hl),00h + inc hl + ld (hl),02h ; 512 byte sector + ; #3 + inc hl + ld (hl),00h + inc hl + ld (hl),00h + inc hl + ld (hl),00h + inc hl + ld (hl),00h + ; #7 + inc hl + ld (hl),00000010b ; non-removable + read only + no floppy + ; #8 + inc hl + ld (hl), 0 + inc hl + ld (hl), 0 ; cylinders/tracks + ; #10 + inc hl + ld (hl), 0 ; heads + ; #11 + inc hl + ld (hl), 0 ; sectors per track + + ld a, 0 + ret \ No newline at end of file