Commits (14)
-
Jeffrey Lee authored
Combat slow USB devices on boot by making OS_FSControl 15 auto-retry when SCSIFS "drive empty" errors are generated Detail: s/FileCore60 - DoOsFunBootup now detects when a SCSIFS "drive empty" error is returned by IdentifyCurrentDisc. Instead of returning with an error, the boot operation will instead be retried, to give slow/unlucky USB devices a chance to finish initialising. Escape can be used to cancel the retry loop, just in case. Resources/UK/Messages - Added new 'RetryBoot' message which is shown when the retry loop starts Admin: Tested on rev A2 BB-xM. Machine now boots correctly in situations where the required USB device hasn't initialised by the time OS_FSControl 15 is called. New message token (RetryBoot) needs translating. Version 3.37. Tagged as 'FileCore-3_37'
d386afa3 -
Steve Revill authored
Version 3.38. Tagged as 'FileCore-3_38'
90136a90 -
Jeffrey Lee authored
Detail: s/FileCore, s/FileCore00, s/InitDieSvc - Try using OS_ReadSysInfo 6 to get IRQsema & CannotReset locations before falling back on legacy values. Store results in module workspace. s/FileCore05 - Commented out unused CheckEscape routine to avoid having to update it s/FileCore15 - Debugging code updated to use OS_ReadSysInfo 6 to fetch IRQsema ptr. Can't always rely on workspace version since workspace might not be set up yet. s/FileCore25, s/FileCore30, s/FileCore80 - Use IRQsema & CannotReset pointers from workspace Admin: Tested on rev A2 BB-xM Version 3.39. Tagged as 'FileCore-3_39'
82f55aab -
Ben Avison authored
Detail: The Density field in the disc record is a byte at a non-word-aligned address but it was being loaded here with an LDR instruction. There is actually a pre-existing bug here, since the code at lines 904-905 would only have been executed on earlier CPUs if SectorSize, SecsPerTrk and Heads were all zero too. This would correspond to an implausibly small hard disc, so arguably this part of the branch should perhaps be removed altogether? Admin: Untested at ROOL. Submission from Willi Theiß [comments above are my own - BA] Version 3.40. Tagged as 'FileCore-3_40'
3bd0b704 -
Robert Sprowson authored
Delete Doc.!ReadMe, update Doc.!Implement Collapse dead switches. s.MyMacros: Remove 'nop' macro, use NOP. s.Defns: Some definitions taken from global headers. s.Commands: Indentation and function calling parameter comments reviewed. Still produces the same binary as 3.40.
d752b027 -
Robert Sprowson authored
R5 was being reused as the loop exit instead of R9. Synced code with *CHECKMAP a bit since they have the same heritage. Untangle the spaghetti around TermCommon and UnTermCommon. In the module init, skip a store when the flags don't change. Tested with a RAM disc filled with autogenerated nested directories and a loop blindly trying to defect everything - works fine now. Ticket #114. Version 3.41. Tagged as 'FileCore-3_41'
ad94a5c8 -
Robert Sprowson authored
Entry macro renamed as SemEntry to avoid conflict with Hdr:Proc. Other macro bit rot fixed up. Tidy up switches. DebugFx switch is the only one that doesn't work. Non debug binary same as 3.41. Version 3.42. Tagged as 'FileCore-3_42'
55198f01 -
Robert Sprowson authored
R8 was being used to remember the C bit, by copying from the PC. Swapped to use RRX instead. Version 3.43. Tagged as 'FileCore-3_43'
2acecd72 -
Robert Sprowson authored
When failed to identify, and the last operation was format, the DiscSize2 field was not being copied (instead DiscSize is copied twice). Fix up some warnings from the assembler. Tested briefly with a RAM disc, still works. Version 3.44. Tagged as 'FileCore-3_44'
44133774 -
Robert Sprowson authored
Retagged as FileCore-3_44.
99a68099 -
Robert Sprowson authored
Now, for each SWI call there is a definition of any pertinent structures it asks for and definitions of any bitfields within those flags. This avoids the need for clients to endlessly redefine these locally (in practice it looks like sections of FileCore were simply copy and pasted into clients RAMFS/SCSIFS/ADFS). Delete private definitions. This binary was carefully checked to be identical since so many locations were changed. Then, the following additional changes: * InitDieSvc line 74, the floppy config is extracted using a mask and shift rather than reaching up the stack * Identify lin 1254, the superfluous instruction marked as such deleted * FileCore15 line 762 recoded the check for background op to not need the bit number defined any more * FileCore00 moved the label 'anull' to be word aligned guaranteed The duff pointer marker ('nowt' = &40000000) is no longer used to mark territory translation tables as invalid as that address is now quite reasonable. -1 is used ...
9ae2d7ca -
Robert Sprowson authored
From the change logs it was last fixed sometime around FileCore 2.50 era, but has been long broken. The boot block was in the right place, but was overwritten by the root directory, and the wrong size entry was claimed in the map, amongst other errors. Free'd up R6 in LayoutFreeSpaceMap to avoid having to keep reevaluating the number of zones - makes it a bit more readable. Corrected inaccurate comments. Checked the code paths for new map with and without boot block, with and without long filenames. Test app 'Make1Zone' generates a small disc image which can be inspected in a hex editor for correctness. In the identify code, be more strict about looking for a boot block only on fixed discs since they cannot occur on floppies (saves time, wasn't necessarily wrong). The concept of a boot block at &C00 only works when 2 copies of the map can be fitted underneath that address, for future 2k and 4k sector sizes these do not fit and it is likely that 1 zone fixed discs are forbidden (a drive with 4k sectors would typically be > 512GB and 1 zone would be ~32MB so spilling into a second zone would waste < 0.01%). Other minor changes: * Free command now groups the 'K' with 'bytes' to match OS_ConvertFileSize. * FileCore20 debug didn't assemble. * FileCore33 beefed up comments. * GenSWIs debug didn't assemble. Tested with a special cut of RAMFS manually loading various 1 zone images into its dynamic area and checking they mount, have a sensible *MAP and *FREE result, can be written to, and don't have broken directories. Version 3.46. Tagged as 'FileCore-3_46'
d52791ba -
Robert Sprowson authored
From 1989, probably safe to keep them. Binary unchanged. Version 3.47. Tagged as 'FileCore-3_47'
a4d790ff -
Robert Sprowson authored
Looks like a typo because there's a valid ASSERT above, and an LSR#16 below. Version 3.48. Tagged as 'FileCore-3_48'
49fa5460
Showing
Doc/!ReadMe
deleted
100644 → 0
Test/Make1Zone,ffb
0 → 100644
File added
Version
deleted
100644 → 0
s/AsmHdr
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
s/DevVersion
deleted
100644 → 0
This diff is collapsed.