Hi Jerome :-)
I notice that in what probably gets installed to harddisk https://github.com/shidel/FDI/blob/master/FDISETUP/AUTOEXEC.BAT you have "outsourced" loading CD-ROM drivers to a separate file. It would be nice to avoid that, there are not so many drivers, I believe. Also, you load no CD cache (cdrcache or, better, load uhdd before udvd2 and only use cdrcache for eltorito and gcdrom) and have commented out, but not given explanations for FDAPM, DOSLFN and LBACACHE. The syntax used for LBACACHE is a deprecated one: Instead of your rem FDAPM APMDOS rem DOSLFN rem LBACACHE.COM buf 20 flop I would suggest for example "LBACACHE 2048 FLOP" but as said, UHDD would be even better, in particular because it can share cache RAM with UDVD2. Only when using the other CD drivers, you will have to add CDRCACHE, as in: 1. Load UHDD with options for your choice to cache harddisk 2. Load CD-ROM driver to provide device e.g. RAWCDROM 3. Load CDRCACHE.SYS RAWCDROM CDRCACH$ 12 4. Load SHSUCDX /D:CDRCACH$,N to assign drive N: to it When using UDVD2, you would instead: 1. Load UHDD with options of your choice to cache both 2. Load UDVD2 and let it connect to UHDD for caching 3. Do not load CDRCACHE and enjoy the low XMS usage :-) 4. Load SHSUCDX /D:YourChosenUDVD2Name... Note that you can also tell SHSUCDX to try several device names and silently skip those which are not present, making it easy to add some flexibility. Please add ";" in front of comment lines even if you skip them with a "goto". That helps for syntax highlighting in editors. As https://github.com/shidel/FDI/blob/master/FDISETUP/CONFIG.SYS is very minimalistic, I would suggest to: 1. not use SHELLHIGH, it could fail in some cases and does not make much difference in RAM usage because we already have the XMS Swap feature. 2. use IDLEHALT=1 in config.sys to lower CPU usage on real and virtual systems even if you insist on avoiding to spend 912 bytes on FDAPM APMDOS ;-) 3. You may also consider options such as: SWITCHES=/E BREAK=ON COUNTRY=049 lastdrivehigh=Z fileshigh=20 stacks=0,0 fcbs=4,0 ... but of course that depends on country and taste ;-) Not sure what generates your CDROM.BAT so I cannot say whether I have suggestions for that, but of course feel free to ask for details if any of the other suggestions above lack clarity. Note that FDAPM is supposed to only use 386 specific code in situations where the BIOS already supports things only present on newer computers. So if there are problems on 8086 or 286 PC, please let me know. That would simplify your current approach to have it in CPU model dependent autoexec variants in setup, as FDAPM is built with UPX --8086 by default. https://github.com/shidel/FDI/tree/master/FDISETUP/SETUP Also, you can use the 2 kB "CPULEVEL" tool instead of VINFO but I guess you install VINFO everywhere anyway. > C:\>cpulevel > CPULEVEL - public domain by Eric Auer 2004-2007 > CPU brand is GenuineIntel / CPU is family 5 model 2 revision c > > CPUID level 1 EAX_.... EBX_.... ECX_.... EDX_.... > values are: 0000052c 00000000 00000000 000001bf > > CPUID level 1 feature bits in EDX: > [FLOATING POINT] [VM EXT FLAGS] [debug ext] [Page Size Ext.] > [TIMESTAMP COUNT] [Pentium MSR] [mce exception] [cmpxchg8b op] > > C:\>echo %errorlevel% > 5 Of course you can do cpulevel > NUL if you prefer silence. You may also like my LOCALIZE tool for a low disk space, but less elegant way of having language-specific strings in batch scripts, for example for your floppy distro. Another useful trick is to load FDAPM ADV:REG (see fdapm.txt) instead of FDAPM APMDOS, to avoid possible slower performance with Novell network and Norton Utilities because ADV:REG is slightly more humble in energy saving. Why are you avoiding CTMOUSE on 8086 PC? I think there had been a thread about a patch to fix some forgotten 286-only instructions, has that not been applied to CTMOUSE yet? It seems important to use FDAPM APMDOS or similar in your dosbox specific autoexec, too. Are there compatibility bugs? As above, please use ";" in the dummy dosbox config.sys ;-) Your 286 config tries to use UMB and SHELLHIGH: Neither of the two is possible because you do not load any UMB driver and both EMM386-style and UMBPCI-style drivers would need 386 or newer anyway. Few 286 mainboards had UMB, which did come with special proprietary drivers at that time. Also, the DOS=HIGH can only work for option 1 and you basically only have 2 actually distinct options anyway: XMS or not. https://github.com/shidel/FDI/blob/master/FDISETUP/SETUP/CONFIG.286 Because your AUTOEXEC does not seem to make choices based on which MENU item people select in config.sys, your 186 config probably should not have any menu at all: https://github.com/shidel/FDI/blob/master/FDISETUP/SETUP/CONFIG.186 As far as I remember, I=TEST could be too aggressive in your https://github.com/shidel/FDI/blob/master/FDISETUP/SETUP/CONFIG.DEF and you should change "Expanded Memory" to "EMS 3.2 compatible" and the "no EMS (most UMBs)" into "(EMS 4.0 only, more UMBs" to reflect what the NOEMS option of JEMM386 and JEMMEX *really* is. Also, please remove the I=B000-B7FF from the JEMM386 line and into the JEMMEX line: This option belongs to the category of extreme efforts to get most UMBs, not to standard EMM386 use. For similar reasons, I suggest to use SHELLHIGH only for the "max RAM free" option and not for the normal, JEMM386 item 2. While menu claims item 4 would have no drivers, I would just call that "HIMEM only" or something like that, because you do load HIMEM for all items anyway (in JEMMEX, it is a built-in). Alternatively, you could switch to NOT even loading HIMEM in item 4 to actually let it load "no drivers", as the menu says. Please make sure to use DOS=HIGH for item 3 and, if you keep HIMEM for that, item 4. This gives you significantly more RAM. Last but not least, I think option 2 instead of the aggressive "try to have most UMB and most free DOS RAM" choices of item 1 should become the default. I think both option 1 and 2 *have* caused problems for people so the proposed default "2" will be more "humble" while option 1 will try everything to save RAM. Obviously, I suggest the same options for CONFIG.VBX and would like to ask why Virtual Box has a separate config in the first place: It looks pretty much identical to the default config? I hope I have not overlooked too many other issues :-) As said, let me know if you need more exact examples for some cases. Thanks for updating! Regards, Eric _______________________________________________ Freedos-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-devel
