May the Force be with you!

Download and use DMDE - one of the most powerful free low level disk utility. It will edit the unformatted drive, including copying drive image to or from the file.DavidCooper wrote:Windows doesn't want anything to do with it once it's no longer a FAT32 drive - it won't even let the hex editor access it unless I agree to format the drive first
Code: Select all
color light-gray/blue black/light-gray
timeout 10
title Link 0.52 (current version)
kernel /system/link.os system
module /system/link.fs
title Link 0.51 (previous version)
kernel /system51/link.os system51
module /system51/link.fs
Thanks for pointing me towards that - it'll make the first option viable if the second option doesn't work out. For the moment I'm going ahead with the idea of keeping the disk in a form that Windows can treat as FAT32 while having partitions on it which Windows doesn't notice.Yoda wrote:Download and use DMDE - one of the most powerful free low level disk utility. It will edit the unformatted drive, including copying drive image to or from the file.
The trouble with FAT32 (although I'm making some assumptions about how it works as I haven't read up on it fully) is that things can move around and files aren't necessarily stored in continuous blocks. I need my own partition(s) so that I can stick data somewhere and know it's fixed in place and can be expanded into the space following it. I only want a FAT32 partition as an addition which Windows can access so that it's easy to export and import data - I'll probably restrict it to a gigabyte and use the rest of the space my own way, while the code I use to read from or write to the FAT32 partition will be the absolute minimum necessary to do that job, avoiding long filenames and initially only dealing with files stored as contiguous blocks, never deleting a file unless it's the last one in the partition (typically they'll all be deleted at the same time anyway as it's only going to be used for data transfer and never for longterm storage).egos wrote:Maybe the better way to have configuration with multiple versions is to put each version in different folder of FAT partition and to use something like GRUB to make choice between versions. For example:
My kernel/taskman takes system configuration files from system folder (which is a kernel parameter) so I can use "Multiple versions on single volume" configuration.Code: Select all
color light-gray/blue black/light-gray timeout 10 title Link 0.52 (current version) kernel /system/link.os system module /system/link.fs title Link 0.51 (previous version) kernel /system51/link.os system51 module /system51/link.fs
Show the code.DavidCooper wrote:[Edit: Just done Int 13h with AH=41h etc. to see if LBA access is available, and the carry flag was clear, so it definitely should be - that means it really should be able to boot now, and yet it's still crashing.]
It is insufficient to check just carry flag for LBA access availability test.DavidCooper wrote:Just done Int 13h with AH=41h etc. to see if LBA access is available, and the carry flag was clear, so it definitely should be - that means it really should be able to boot now, and yet it's still crashing.
I'm not looking for help debugging it just yet, and it's complex - it goes through tables of data loading them into registers and a DAP, then it calls Int 13h after loading AH with 2 or 42h depending on whether it's using CHS or LBA. The CHS version definitely works when loading from a floppy, and the values that end up in the DAP look correct. When attempting to boot from a flash drive, the code is definitely running through as it displays the CHS track number on the screen as it goes along (which doesn't have any impact on where it's actually reading from if it's using LBA), but it gets to a point where it stops loading and the beeper goes off repeatedly and I have to switch the thing off, so it isn't so much a crash as a freeze, though a very noisy one. I'll get it sorted eventually - it just takes so a long time setting up each experiment and my hands are falling to pieces due to RSI.egos wrote:Show the code.DavidCooper wrote:[Edit: Just done Int 13h with AH=41h etc. to see if LBA access is available, and the carry flag was clear, so it definitely should be - that means it really should be able to boot now, and yet it's still crashing.]
I'm not getting any option to change the USB mode - when I boot from USB floppy it calls it a USB floppy in the boot menu, and when I boot from a flash drive it just offers "USB:" (I think, from memory). The only choice is between booting from that and the internal hard drive with no way to change the mode of anything.Try to use other USB-XXX option. This helped me in 100%.
Don't worry - I'll get there. My priority in posting here at the moment is just to correct errors in my earlier posts which could mislead other people who might be thinking about trying to boot from flash drives.Yoda wrote:It is insufficient to check just carry flag for LBA access availability test.
Yet there may be a crash for other reasons, not concerning LBA availability.