From: beeanyew Date: Thu, 27 May 2021 04:20:29 +0000 (+0200) Subject: Some more failed PiSCSI 1.3 autoboot ventures X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=5663203fe3891c9a2cf0bae8349bdd575f2ce7d5;p=pistorm Some more failed PiSCSI 1.3 autoboot ventures --- diff --git a/platforms/amiga/piscsi/device_driver_amiga/bootrom b/platforms/amiga/piscsi/device_driver_amiga/bootrom index 5058e9a..a1470cc 100644 Binary files a/platforms/amiga/piscsi/device_driver_amiga/bootrom and b/platforms/amiga/piscsi/device_driver_amiga/bootrom differ diff --git a/platforms/amiga/piscsi/device_driver_amiga/bootrom.s b/platforms/amiga/piscsi/device_driver_amiga/bootrom.s index 23b0aef..70f0af7 100644 --- a/platforms/amiga/piscsi/device_driver_amiga/bootrom.s +++ b/platforms/amiga/piscsi/device_driver_amiga/bootrom.s @@ -389,17 +389,33 @@ FSResource: dc.l $0 LoadFileSystems: movem.l d0-d7/a0-a6,-(sp) ; Push registers to stack move.l #30,PiSCSIDebugMe +ReloadResource: lea FileSysName(pc),a1 jsr OpenResource(a6) tst.l d0 bne FSRExists move.l #33,PiSCSIDebugMe ; FileSystem.resource isn't open, create it - lea FSRes(pc),a1 - move.l a1,-(a7) - jsr AddResource(a6) - move.l (a7)+,a0 - move.l a0,d0 + ; Code based on WinUAE filesys.asm + + moveq #32,d0 ; sizeof(FileSysResource) + move.l #$10001,d1 + jsr AllocMem(a6) + move.l d0,a2 + move.b #8,8(a2) ; NT_RESOURCE + lea FileSysName(pc),a0 + move.l a0,10(a2) ; node name + lea FileSysCreator(pc),a0 + move.l a0,14(a2) ; fsr_Creator + lea 18(a2),a0 + move.l a0,(a0) ; NewList() fsr_FileSysEntries + addq.l #4,(a0) + move.l a0,8(a0) + lea $150(a6),a0 ; ResourceList + move.l a2,a1 + jsr -$f6(a6) ; AddTail + move.l a2,a0 + bra.s ReloadResource FSRExists: move.l d0,PiSCSIAddr2 ; PiSCSIAddr2 is now FileSystem.resource diff --git a/platforms/amiga/piscsi/piscsi.c b/platforms/amiga/piscsi/piscsi.c index fd05bd9..c6251c7 100644 --- a/platforms/amiga/piscsi/piscsi.c +++ b/platforms/amiga/piscsi/piscsi.c @@ -790,7 +790,7 @@ skip_disk:; goto fs_found; } } - printf("[!!!PISCSI] Found no handler for file system %s!\n", dosID); + printf("[!!!PISCSI] Found no handler for file system %c%c%c/%d\n", dosID[0], dosID[1], dosID[2], dosID[3]); fs_found:; DEBUG("[FS-HANDLER] Next: %d Type: %.8X\n", BE(node->dn_Next), BE(node->dn_Type)); DEBUG("[FS-HANDLER] Task: %d Lock: %d\n", BE(node->dn_Task), BE(node->dn_Lock)); diff --git a/platforms/amiga/piscsi/piscsi.rom b/platforms/amiga/piscsi/piscsi.rom index 127f666..7388512 100644 Binary files a/platforms/amiga/piscsi/piscsi.rom and b/platforms/amiga/piscsi/piscsi.rom differ