Hi, On Mon, Jun 17, 2024 at 6:41 PM Jim Hall via Freedos-devel <freedos-devel@lists.sourceforge.net> wrote: > > You might be interested in this video I recorded yesterday about > running FreeDOS on the Pocket386: > https://www.youtube.com/watch?v=2h96UseZs6Q > > It shows several apps and games on the Pocket386, mostly running some > shareware games, plus Word for DOS, and As Easy As spreadsheet.
Definitely cool. More videos of testing would be interesting. Try rebuilding the FreeDOS kernel with OpenWatcom on it, heh. Or install ZipSlack [Slackware 11, 2006??] Linux atop your FAT partition, I think it supports 8 MB of RAM. (Seriously, people always suggest an old Linux distro instead of DOS, but I think that's not realistic in most ways. Still, no worse than trying to run ancient Windows 3.1.) > If you're curious about its performance, here's a quick rundown of some > games and apps: [not all of these are shown in the video] > > Games: > > - Doom - runs fine at small size I did leave a comment suggesting Fastdoom from Github, which has been specifically optimized for 386s and 486s. * https://github.com/viti95/FastDoom > - Duke Nukum - runs fine, uses PC speaker 3D, right? Not the original 2D one? > - Rise of the Triad - runs fine at small sizes, uses AdLib for sound I forgot this was 386 DOS4GW. (It's based upon an improved Wolf 3D engine, which was 286 / VGA.) I assume Wolf 3D would run faster but maybe not. Hmmm, I vaguely recall some OpenWatcom 386 rebuilds of Wolf 3D. * https://github.com/TobiasKarnat/Wolf4GW > - Shadow Warrior - doesn't run (requires 9MB, this has 8MB) I have no idea. DOS4GW 1.97 is limited in total RAM available, but it does supposedly support VM swapping. But maybe they disabled that here (and/or it's too slow to be usable). You could also try "CWSTUB blah.exe" which supports swapping, but that may not work. > - Tomb Raider - crashes during setup (not a surprise, this is a 1996 > game and requires way more memory and CPU than this laptop has - the > game should have done a memory check) I don't think the Pentium (1993 debut) was really widespread even in 1996 (too expensive), but indeed it was much faster. But I also don't think a lot of things were optimized for legacy hardware (actual 386s) even back then. Quake (1996) has no chance on this machine, for instance. > - Wolfenstein 3D - runs great! Oh, okay, you did test this (it wasn't shown in the video). > - Biomenace - runs fine 286 / EGA, I love that game! > Apps: > > - Borland Turbo C++ compiler - editor runs fine, I've used the > compiler to write a few test programs, no issues there It seems quaint, but back in the day they told us the "optional" math coprocessor was an unnecessary expense and "wasn't needed" unless we were going to do a lot of scientific calculations. Normal home users didn't "need" it. (And of course every cpu since the Pentium has it included by default, go figure. Some software like GCC always assumed an FPU present.) Even ignoring that, the 386 itself was not pipelined like the 486, so the fastest instruction was like 2 clocks. So a comparably-clocked 486 (40 Mhz) would, in theory, run twice as fast. Also 486s often had (very small) on-chip caches which helped. But as far as cpu instructions, the 486 only offered very little advantage. Some expert (Michael Abrash??) once said that the 8086 and 386 preferred small code while the 486 was very sensitive to (code and data) alignment and preferred more RISC-y simpler unrolled code. I'm far from an expert, but docs always warned about AGI stalls and using suboptimal code sequences, even suggesting "blended" code (or separate code paths for distinct cpus). One thing that always bugged me was how much slower GCC (DJGPP) got in later versions after 2.7.2.1. That version ran okay on my 486, but later versions like 2.95.3 (even with -O0) ran much slower. In the race to constantly upgrade to newer hardware, a lot of software was just never optimized properly because nobody cared enough. In fact, I recall that GCC claimed that their 486 code was just the exact same 386 code only with extra alignment. Sad, really, that it never got the full support it deserved. (You can actually rebuild GCC 2.7.2.1 in DOS, I've done it. On my old Pentium it took about 10 minutes. I miss the days when things were simpler and faster!) I don't think GCC even got Pentium support until later (2.8.1). Pentium-scheduled code (U and weaker V pipes) was a big improvement on those machines (and no huge slowdown on older cpus). Not everything can be "fixed" or optimized to run at lightning speeds on such machines, but at least some noticeable improvements are definitely possible. Seriously, most code is just suboptimal, and without proper testing on old hardware you'll never be aware of it. _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel