ecm 2026-05a#103
Conversation
|
Don't merge yet. Need to fix the 1AAh bytes note, it is known that it isn't true for all DOS v3.00, I'll force push to this PR later in the day. |
|
I did figure out a little of the SDA offsets a long while back , see https://github.com/dosemu2/dosemu2/blob/a3d2ce995f240f3c5c7fa5e130244c7e771befdb/src/dosext/mfs/mfs.c#L1391. You can see that there are even differences between the DOS v3 variants that I tested, though I'm not sure that I nailed everything, just enough for the Dosemu redirector to work with old DOSes. |
It appears you pass in the "redirector version" as BH for a dosemu2 interrupt call: https://github.com/dosemu2/dosemu2/blob/a3d2ce995f240f3c5c7fa5e130244c7e771befdb/src/dosext/mfs/mfs.c#L1724 Where is the value to use detected then? |
|
Seems like a pretty rough determination here https://github.com/dosemu2/dosemu2/blob/a3d2ce995f240f3c5c7fa5e130244c7e771befdb/src/base/core/int.c#L2941 based on version and SDA size. |
|
I still have the binaries I used for testing this, if you'd like me to post them? At the time I found most DOS variants on WinworldPC, or perhaps here https://www.pcjs.org/software/pcx86/sys/dos/compaq/3.00/ |
Maybe you can upload these to the internet archive? I've used some of the files they host, so this would probably benefit the most people. (I don't want to look into these files just now.) |
|
Look like it's already there https://archive.org/details/msdos3vhd |
|
I force pushed with a few more updates and correcting the 1AAh bytes claim, correctly attributing it to the interrupt list (RBIL 61). |
Did you check that the system files are exactly the same? It seems there's several releases branded "v3.00" |
References: LoopZ#103 (comment) https://github.com/dosemu2/dosemu2/blob/a3d2ce995f240f3c5c7fa5e130244c7e771befdb/src/dosext/mfs/mfs.c#L1436 https://github.com/dosemu2/dosemu2/blob/a3d2ce995f240f3c5c7fa5e130244c7e771befdb/src/base/core/int.c#L2941 https://github.com/dosemu2/dosemu2/blob/a3d2ce995f240f3c5c7fa5e130244c7e771befdb/src/include/redirect.h#L68
|
@andrewbird Added a commit with your SDA info. Did I get everything right? |
Yes, it agrees with the dosemu2 source. As I'm sure you noticed there's an offset missing on the Compaq 3.00 set, I never figured out the source for rename, probably because we didn't need to use it. It's a long time since I tried booting Compaq 3.00 on Dosemu2 (git has those commits at 9 years ago), so I don't actually know if it will.
No, just eyeballed the version string in the image there. The sha1sums (they were embedded in the test script) of the files I used are: And the version string was |
|
Michal Necasek agreed to the current wording, so this is ready to be merged. |
Reference: https://www.os2museum.com/wp/learn-something-old-every-day-part-xiii-indos-is-not-enough/