View Single Post
Old 19 October 2016, 21:17   #1
Registered User
Join Date: Aug 2004
Posts: 2,829
More FFS patches needed for booting on pre-1.1 Kickstart?

WinUAE can patch FastFileSystem (version 36.03 as on Workbench 1.3.2) to allow booting on Kickstart 1.1 and earlier. It patches four calls to CopyMem() because that function was first implemented in Kickstart 1.2.

I was looking at the FFS code and noticed some other places that should be patched. Or maybe I just didn't see where in the WinUAE source you already handle this???

OpenLibrary (-$228) is not implemented in Kickstart 1.0 and earlier. That's called to open dos.library at offset $7F2 in FFS 36.03 ($7F6 in FFS 34.85). That should be changed to call OldOpenLibrary (-$198) on 1.0 or earlier.

(What I call) the ShowRequester function opens intuition.library then calls AutoRequest(). For Kickstart 1.0 and earlier the call to OpenLibrary (-$228) should be changed to OldOpenLibrary (-$198). However AutoRequest() doesn't exist in Kickstart 0.7, so ShowRequester should be patched out when running on a pre-1.0 Kickstart.

Patch offsets summary
FFS34.85 FFS36.03
07F6     07F2     JSR (_LVOOpenLibrary,A6) (dos) (for <= Kick 1.0)
2A2E     2A4A     BMI.W (change to BRA.W for pre-1.0 Kickstart)
2A50     2A6C     JSR (_LVOOpenLibrary,A6) (intuition) (for Kick 1.0)
For completeness, the CopyMem patch offsets for FFS 34.85 (as on Workbench 1.3) are:
0786	MOVEQ #$30,D0 / JSR (_LVOCopyMem,A6)
07BC	MOVEQ #$28,D0 / JSR (_LVOCopyMem,A6)
158C	MOVE.L D6,D0 / JSR (_LVOCopyMem,A6)
15A4	MOVE.L D6,D0 / JSR (_LVOCopyMem,A6)
(Maybe supporting FFS 34.85 could be helpful for some existing HDF with that version in the RDB?)
mark_k is offline  
AdSense AdSense  
Page generated in 0.09065 seconds with 9 queries