[HN Gopher] BASIC-DOS: PC DOS Reimagined
___________________________________________________________________
BASIC-DOS: PC DOS Reimagined
Author : elvis70
Score : 85 points
Date : 2022-02-03 14:26 UTC (8 hours ago)
(HTM) web link (basicdos.com)
(TXT) w3m dump (basicdos.com)
| tpmx wrote:
| It's quite neat, but I think that a major downside with this
| approach would be the extra memory consumption from including
| BASIC in the DOS. The demo uses 34kB (out of e.g. 64kB) for the
| OS.
|
| Not sure how that compares with PC-DOS 1.0, but it seems high.
| shadowofneptune wrote:
| I have a virtual machine open at the moment, so I loaded PC-DOS
| 1.1. It uses roughly 12.4k.
| bonzini wrote:
| BASICA.COM was another 16k roughly, not counting the parts of
| the interpreter that were in ROM.
| facorreia wrote:
| > All preview binaries shown here are DEBUG versions, which
| means that all run-time assertions are enabled, so file sizes
| and memory usage are larger than normal, and overall
| performance is slightly lower.
| indymike wrote:
| You know, CP/M and DOS computers were kind of the exception among
| their contemporaries: most 8bit (and some 16 bit) microcomputers
| of the era booted to a BASIC prompt, and would either user
| special BASIC commands or POKE calls to load stuff. Looking
| forward to seeing what comes out of this re-imagining.
| twmiller wrote:
| True IBM PCs (up until the PC-AT, I believe) would also boot
| into BASIC if the floppy drive was empty and there was no fixed
| disk. In fact, in early versions of PC-DOS, all the basic
| command did was bootstrap the ROM BASIC, so it didn't work on
| later clones.
| glhaynes wrote:
| The early PS/2 line, at least, would still boot into BASIC,
| if I remember correctly. I'm fairly certain my Model 70 386
| would do so, but I can't remember if I had to disconnect the
| hard disk or what. Anyway, I definitely remember the Model
| 25s doing so, but of course they were closer to XTs than they
| were to "real" PS/2s.
| flomo wrote:
| The ThinkPad 701 with the butterfly keyboard would bring up
| BASIC if you removed the hard drive. That was a 486, none
| of the later machines seemed to do so.
| indymike wrote:
| Anything that used IBM BIOS would do that. Not sure when
| it stopped, but I remember having some PS/2s Model 80 and
| 70s (386) do that.
| glhaynes wrote:
| Aw geez one more reason to want one of those things...
| EvanAnderson wrote:
| Agreed. Having commands for "the DOS" (in the generic sense of
| a disk operating system) commingled with BASIC was the norm for
| the Apple II, Commodore 64, and Atari 8-bit machines. The PC
| was definitely the oddball when it came to having a separate
| DOS command line and BASIC interpreter.
|
| ROM BASIC was available on IBM PCs but clones typically didn't
| have it.
| digisign wrote:
| Probably because it was aimed at business and IBM knew many
| of their customers would like to use something besides BASIC.
| So a separate minimal OS and development environments made
| more sense.
| indymike wrote:
| IBM didn't know what to do (no one really did), so you
| could boot to DOS or you could boot to PC-BASIC. The PC
| even supported boot to BASIC and load from cassette like a
| $300 home computer. Crazy times.
| digisign wrote:
| IBM had been established for decades before the PC, also
| the PC in general was established for years before their
| entry. I think they knew what to do. It was a bit of a
| gamble, sure. And you can make the argument they guessed
| wrong. But the success of the PC and subsequent crushing
| of the rest of the industry was incredibly successful.
|
| The flexible design did catch on, simultaneously a
| blessing and a curse to IBM.
| tssva wrote:
| The Tandy TRS-80 line of computers which were the bestselling
| 8-bit computers until 1982 also didn't have commands for "the
| DOS" commingled with BASIC. The various DOS's available for
| the platform booted directly from disk.
|
| The basic in ROM on IBM PCs was cassette basic and only
| supported loading and saving from cassette tapes. Although
| there might have been an obscure clone manufacturer or two
| which supported a cassette tape interface, in general clone
| makers didn't so there was no needed for an embedded cassette
| basic. Even IBM didn't support a cassette tape interface
| after the original IBM PC (5150). This meant that for years
| you could boot an IBM computer to cassette basic but not
| actually load or save any BASIC programs once you had done
| so.
| DerekL wrote:
| By the way, most Atari 8-bits had BASIC built-in, but the
| earliest machines, the 400, 800 and 1200XL, did not.
| shdon wrote:
| Really cool concept.
|
| Some oddness to be found: run MSBASIC.EXE, then enter the command
| "FILES" (which is the BASIC command to get a listing of the files
| in the current directory), essentially a DIR command. That gets
| stuck in an endless loop, showing ". .*"
| jhallenworld wrote:
| Yeah, they should have done it this way. Even today a combined
| BASIC / OS shell would be useful. BASIC would be the shell
| language.
|
| But how do pass arguments to commands that are in BASIC
| variables? Like: A$="MYFILE" TYPE
| A$ DEL A$
|
| Needs quoting work..
| mark-r wrote:
| I went to the link hoping to see what it was, or what was the
| motivation for the project. So disappointed.
| cestith wrote:
| https://basicdos.com/blog/2020/05/17/
| mark-r wrote:
| Yes, I went to that link immediately on landing on the page
| hoping to find what I was looking for. Didn't realize the
| titles were actually additional links that I needed to click
| through.
| guerrilla wrote:
| The splash image is a throwback to the early IBM PC DOS manuals
| which are freely available on pcjs [1]. Very entertaining to read
| these high quality manuals, especially the ones for 1.0 and 2.0.
| You can tell a lot of work went into refining those documents for
| an audience who barely had any idea what a computer was. They
| even have a bit of internal details (e.g. about FAT) and such at
| the end.
|
| 1. https://www.pcjs.org/documents/manuals/ibm/
| elvis70 wrote:
| By the way, BASIC-DOS is from the same author as pcjs.
| jbreckmckye wrote:
| I love this kind of 'alternate history' computing - OS concepts
| that could have been, should have been.
|
| It makes me wonder about what aspects of modern systems we take
| for granted. And also what kinds of OS research are going on
| today, the kinds of systems we might see in the future. Does
| anyone have any resources to help stay abreast of that?
| shadowofneptune wrote:
| If we're talking alternate history, DOS 2.0 is a completely
| different beast than the CP/M-based DOS 1.0. It added things
| like directories, pipes, device files, and hard disk support.
| If you look at the PC-DOS 2 manual, they broke compatibility
| with the existing API in a few places to make that happen. They
| even promised more, such as that it'd eventually have support
| for multi-tasking.
|
| Digital Research was in fact able to deliver on the idea of a
| multi-tasking DOS. https://en.wikipedia.org/wiki/Multiuser_DOS
| Compatibility suffered in some places, as the idea of having to
| share a system wasn't present in most DOS drivers. It filled
| its niche, but never broke out of it.
|
| I feel if MS-DOS did establish a stronger multi-tasking
| foundation in those early years, there may have been less of a
| need of NT for home users. Who knows how many more years the
| average person would have been using DOS?
| pjmlp wrote:
| They did try, that was when MS-DOS 4.0 failure took place.
| bitwize wrote:
| Microsoft already had a multiuser, multitasking platform --
| Xenix. They had an internal initiative called XenDOS that was
| intended to make Xenix and DOS more compatible with one
| another, allowing for development of programs source-
| compatible with both. That's where all the Unixisms in DOS
| 2.0 and later came from. DOS 2.0 had a few that later
| versions didn't -- like a configuration option to select / or
| - as the switch flag character and full compatibility with
| use of / as a path separator.
|
| XenDOS was likely abandoned when it was found that third-
| party programs had started assuming direct hardware access in
| the DOS 1.x days, making transition to a new DOS framework
| difficult.
|
| Windows 9x had full PMT and decent memory protection. It was
| a separate kernel that ran alongside DOS and populated DOS
| memory data structures to keep the two systems in sync. It
| _could_ have been a "home user" successor kernel, but the
| writing was definitely on the wall at Microsoft that NT with
| its more robust architecture was the future, as far back as
| the mid-90s, with 9x acting as a transitional phase.
___________________________________________________________________
(page generated 2022-02-03 23:01 UTC)