-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[direct floppy] Assume 360k floppy if no CMOS drives set #1753
Conversation
In Amstrad 1640 the static RAM is called the Non-Volatile RAM (NVR) and used to store system configuration data such as number of disk drives, memory size, serial I/O parameters, and default VDU screen mode. The ROS firmware maintains a checksum of the NVR and will reset the configuration data to 1sensible values1 during startup whenever the checksum value is incorrect (thus destroying your actual configuration). I am working on my custom power supply for my Amstrad 1640, so it will be able to test later. Thanks! |
Hi @ghaerr, Can you please provide me an image? |
Thank you for testing the latest DF driver @toncho11! After all the modifications its been through it is very nice to know it is still working on real hardware. I can see from the image above you have booted from DF, have a two partition hard disk, that both the BIOS and DF drivers are recognizing the floppy as 360k, and that the DF driver is defaulting to 360k with no CMOS. The image you have has both BIOS and DF drivers linked in, allowing for 1) boot from DF (default), 2) boot from HD using BIOS driver and use DF for floppy, 3) boot from floppy or HD using BIOS driver only. These would be controlled using the |
Maybe the df driver should become the default at some point? |
Perhaps. Its not well tested at this point - few have used it for real work on real hardware, and that means a reasonable chance of failure on quasi-compatible systems that it seems lots of users try ELKS on. It has the big benefit that the system doesn't wait for I/O and can do other things while waiting for the floppy. But that doesn't usually mean anything for the average user running typical commands from the shell. which needs to wait for floppy input anyways. If you're running networking off of floppy or writing data a lot and sitting at a console, it would really help. The DF driver has a disadvantage that it only works for a floppy that is the same type as specified in CMOS; it doesn't (yet) auto probe more than one other format. (I don't know to what degree this matters, though). In contrast, the BIOS driver supports all floppy types and attempts to read the MSDOS FAT and/or ELKS EPB CHS format off the floppy, and supports full probing. (After having fully understood the DF driver, I also don't know to what degree supporting incompatible floppy types matters as well - few people try to use floppies that their disk drive doesn't support!) Given all that, I kind of like the idea of booting from BIOS by default with async I/O enabled, but allowing for an easy user-specifiable upgrade to the DF driver with a quick /bootopts edit should they want to try async I/O. In this way, ELKS doesn't fail when a user first tries it, which is a real turn off. What do you think? |
So the user boots safely with the fd driver and then he is able to switch to the df driver in /bootopts. Then he needs to restart to switch to the df driver. Yes, sounds logical. |
This will allow systems such as @toncho11's with no CMOS to use the direct floppy driver without special compilation.