X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=platforms%2Famiga%2Fpiscsi%2Fdevice_driver_amiga%2Fbootrom.s;h=70f0af7efc2eaad14732bcea077141a7ab7fc0c1;hb=5663203fe3891c9a2cf0bae8349bdd575f2ce7d5;hp=23b0aefd35b2a0d6f8df5675fb075a90129b7b36;hpb=17865d400d07075f82bfcc59e300500d67123678;p=pistorm 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