Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <MWayucb32sgc0oNH@violet.siamics.net>
Deutsch   English   Français   Italiano  
<MWayucb32sgc0oNH@violet.siamics.net>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Ivan Shmakov <ivan@siamics.netREMOVE.invalid>
Newsgroups: alt.os.free-dos,comp.misc
Subject: FreeDOS caveats
Date: Thu, 25 Apr 2024 18:42:02 +0000
Organization: Dbus-free station.
Lines: 271
Message-ID: <MWayucb32sgc0oNH@violet.siamics.net>
References: <slrnv2aagh.2fm.bencollver@svadhyaya.localdomain>
Injection-Date: Thu, 25 Apr 2024 20:43:00 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="cb905a80a3fc58390ffb47347e30b5dc";
	logging-data="3323626"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/nA65/8UnxBvhOqBfgHk3a"
Cancel-Lock: sha1:GQSglc83brsSrZaQ9qrsm70mTJo=
License: CC-BY-SA-3.0+ (original contributions only)
Bytes: 13838

	Being partial to DOS-era games, I've adopted FreeDOS for my
	Am386-based gaming box, which I also occasionally use for
	other purposes (such as taking notes or listening to .mod /
	.rad / etc. music.)  So I suppose I can add my $0.02 to the
	thread as well.

	The advantages of using such a setup are pretty obvious:

	* it's a system you can, with reasonable effort, get to know
	  very much inside-out; it's simple and stable enough that
	  it won't surprise you with a sudden change of, say, its
	  init system (if only for the reason that it doesn't have
	  any to speak of in the first place);

	* it can run on older hardware that you either already have
	  or can get for little to no cost; it won't require you to
	  shop for newer hardware, ever, not even when you decide to
	  upgrade to a newer version;

	* there's a decent selection of reasonably lightweight
	  software, written over the decades of DOS existence.

	Nevertheless, for the reasons I'll try to elaborate
	upon below, it's by no means a perfect solution for every
	concievable use case.  I hope it doesn't come off as
	discouraging, but I believe than one looking to make use
	of FreeDOS is better to have an idea of the obstacles they
	might face.

	Corrections and constructive criticism are of course welcome.


	First and foremost, FreeDOS doesn't seem to have much manpower
	behind it.  Some of its software was ported, rather than
	written from scratch, and going by the listing.gz [1] file,
	some of the ports lag behind the latest upstream versions.
	For example, of the software I use both in and out of FreeDOS,
	the latter's versions are:

vim 7.3a - Improved version of the "vi" editor
lynx 2.9.0-dev.10r2 - Lynx text and graphics WWW browser

[1] http://ibiblio.org/pub/micro/pc-stuff/freedos/files/repositories/latest
    /listing.gz (URI split for readability.)

	For comparison, on my Debian "Bookworm" (current stable)
	install, I have those at versions 9.0.1378 and 2.9.0-dev.12,
	respectively.  And while I'm hardly in the habit of chasing
	latest software features, I /do/ interact with the outside
	world, and as such, prefer to use software that is /maintained/
	at least for security issues.

	And despite of how unlikely this is to happen in practice,
	I'd hesitate to open a random .txt file with FreeDOS' Vim for
	the concern that such an old version might have an unfixed
	bug that'll cause it to, say, format my SSD (CF) C:.

	This is also a more pressing concern for FreeDOS than it'd
	be for a multiuser system, as not only it lacks the concept
	of user privilege separation, it also doesn't separate user-
	and kernel-spaces.  Attempting to access the IDE controller
	directly on a Unix-like x86 system outside of the system's
	kernel code will earn you SIGSEGV (or similar); not so in
	FreeDOS.


	Now, FreeDOS is a volunteer-driven effort anyone can contribute
	to, so the manpower issue is something the community, in
	principle, /can/ fix.  There's a catch, though.  If you're
	familiar with, say, NetBSD, you might expect to install GCC
	and tools, unpack the sources, patch them as strikes your
	fancy, run $ make, and have the system built.

	Won't be as simple with FreeDOS, alas: a lot of the software
	there was developed by volunteers over the course of decades,
	and often using whichever development tools the particular
	developer has had at hand.  The system appears to supply a
	plenty of compilers currently, such as DJGPP (DOS GCC x86-32
	port), Open Watcom C/C++, IA-16 GCC fork, and Bruce's CC...
	and yet you might stumble upon individual packages that
	require Turbo C, or Turbo Pascal, to build.


	One another issue is hardware compatibility.  As a somewhat
	"out of left field" example, one of my IRC pals [*] is living
	off-the-grid and hence during the winter, about the only
	computer they can run within their solar energy budget is an
	outdated Android tablet.  Quite obviously, they can't run
	FreeDOS there, and neither can they replace it with some
	random off-the-shelf FreeDOS-compatible machine, for power
	consumption reasons alone.

[*] I'm currently on a break from most of my usual IRC channels,
    but you can still find me on several low-traffic ones, such as
    irc://irc.efnet.org/%23coders .

	Most of the systems it'd be reasonable to run FreeDOS on are
	only available second hand, and those come with reliability
	implications.  If your DOS box breaks, it's unlikely you'll
	be able to replace it with the same model and make.  Older
	systems (up to about Pentium-class) are more of a collector's
	item at this point, and are probably overpriced as such.

	Newer systems will be cheaper, but will have their newer
	idiosynchrasies, and incompatibilities as well; such as:

	* system-wide drivers were more of an exception in DOS
	  software; you can run, say, Wolfenstein 3D on a relatively
	  recent x86 box, but the chances are that it won't have a
	  SoundBlaster-compatible audio card installed (on account
	  of most of those being ISA-based, and general purpose
	  mainboards haven't been equipped with ISA slots for some
	  15 years now); and it's one of the few ones the game
	  supports; same goes for audio players;

	* another particular example is USB support, or the effective
	  lack thereof; sure, FreeDOS will support whichever keyboard
	  is supported by BIOS, and depending on the BIOS version,
	  that might include USB keyboards; other than that, I've had
	  some success running usbdos.zip, but it only supports UHCI,
	  and the use of such chips was apparently shortlived; I've
	  only found one on an AGP-enabled "i686" box; furthermore,
	  my understanding is that FreeDOS will only support the USB
	  mass storage device it's booted from (yet again, so far as
	  BIOS supports it), while flash drives attached while
	  FreeDOS is running won't be accessible;

	* NIC packet drivers are somewhat of an exception: even
	  relatively recent NICs might have DOS-compatible drivers
	  available; they might be proprietary, though, and as such,
	  not part of FreeDOS;

	* another issue is that, as a rule, DOS software doesn't make
	  use of the x86 HLT instruction, and thus it will keep the
	  CPU core it runs on busy all the time (FreeDOS core
	  components are an exception, though: if all you want to run
	  is COMMAND.COM, it /will/ use HLT as appropriate, provided
	  you have IDLEHALT=1 in your FDCONFIG.SYS); it wasn't much
	  of an issue for 386-class CPUs, but on more recent hardware,
	  it might make quite a difference, whether to your battery
	  time, or to your utility bill;

	* the same applies to running FreeDOS under a virtual machine:
	  your idling good old text editor might be usable on a 286,
	  but it will still happily take 100% of one of your system's
	  GHz cores when run under QEMU.

	One of the rather few alternatives I'm aware of are weeCee
	(e. g., [2, 3]), which is a reasonably compact DOS-compatible
	machine with a CS4237-based SoundBlaster-compatible audio.

[2] http://vogons.org/viewtopic.php?t=80651&start=580
[3] http://en.wikibooks.org/wiki/History_of_video_games/Platforms/weeCee

	If you're interested in running DOS software (rather than
	a full standalone DOS system), the obvious choice is DOSBox.
	As it inherently limits the amount of CPU cycles available
	to guest software, the lack of HLTs is less of a problem.
	However, it doesn't aim to offer as good /isolation/ as,
	say, QEMU, so you might want to run it under a separate user
	account, lest DOS malware tamper your host system $HOME.


	For those curious, the following are specific issues I've
	noticed over the years of using FreeDOS.

	There're a few free (as in "free software") programs that I
	think should've been included in the distribution, but aren't.
	There's LDPCXTGA simplistic .pcx / .tga image viewer [4], and
	there're SBMIX and ISAPNP packages [5, 6] that are essential
	if your sound card is a software-configured (ISA PnP) one
	(see, e. g., [7].  Granted, there's sound/sbpmixer.zip in [1],
	now; no idea how it compares to SBMIX.)

[4] http://archive.org/download/simtelnet_bu_mirror_2013_04
    /simtelnet.bu.mirror.2013.04.zip/simtelnet%2Fmsdos%2Fgraphics
    %2Fldpcxtga.zip (URI split for readability.)
[5] http://roestockfox.co.uk/isapnptools/index.html
[6] http://bttr-software.de/products/sbmix/
[7] news:20220624105031.m6wk4sa7ztce6lkm@violet.siamics.net
    http://al.howardknight.net/?STYPE=msgid
    &MSGI=%3c20220624105031.m6wk4sa7ztce6lkm@violet.siamics.net%3e
    (URI split for readability.)

========== REMAINDER OF ARTICLE TRUNCATED ==========