by Trixter » Tue Feb 14, 2017 8:27 pm
With respect, your understanding of how jrconfig works is not correct. It especially doesn't do a second/soft boot, since device drivers that print something onscreen that come before it don't print twice when you boot. And DOS does load in the first 128K, which is why a DIR takes 3x longer on a PCjr (even with jrconfig) than on a PC. Only drivers after jrconfig, and command.com, load after the first 128k. You can verify this by traversing the device chain after boot.
You wrote something that sounds trivial: "tell DOS where the first available page of RAM for the free list is". That is not trivial -- it 's completely undocumented, and is all I've been trying to figure out this entire time (it's alan's post heading). There are blunt ways to do this (fixed buffer sizes in the device driver), and some sneaky ways (modifying the very first MCB somehow after config.sys is done processing), but so far a disassembly of jrconfig doesn't look like it does either of these. It's a shame the source was lost since it would really shed light on this. If you know how to "tell DOS where the first available page of RAM for the free list is", please enlighten me.
Once I learn how to write device drivers, I'm going to start the disassembly of jrconfig.sys again (without ramdisk, to keep it simple) with an eye on trying to understand exactly what part of memory it is modifying and why to make the next memory allocation -- which could be another device driver -- start at 128k.
You're all insane and trying to steal my magic bag!