HN2new | past | comments | ask | show | jobs | submitlogin

Many other microcomputers of the era used BASIC as their shell Apple II, TI 99-4a, and the Commodore 64 are all examples of this. So the machine would boot to BASIC, and then you would call something like this (Commodore 64) from the BASIC prompt:

LOAD "FILE",8

Computers with MS-DOS and CPM were different in that you would load a proper shell and launch basic from there. I seem to recall (I was 9 years old at the time) the original IBM PC having a less capable BASIC that could use a cassette tape for storage built in that would boot if you did not have a floppy drive or disk in the boot drive when the machine started.



Some, like the Commodore 128, had both: a "legacy" C64 style BASIC-enabled frontend, and another one: CP/M, the predecessor of DOS, quite popular in the 70s. I loved this combination of two very different worlds.


Its BASIC frontend was not really legacy, instead the CP/M environment was basically tacked on. It had an entire separate CPU, an actual Z80, for that purpose, but unfortunately running CP/M was almost unbearably slow (which was not really the fault of the Z80).

BASIC, in its upgraded version "BASIC 7.0" (compared to the C64's "BASIC 2.0") was quite obviously still the "main mode" and the one that supported all the C128's features.

However, there was also a third mode, a "C64 compatibility mode", which removed (almost) all of the new features and presented itself exactly like a C64 would, same ROM and all.


Why was running CP/M so slow? I never got to run it but I don't think of CP/M as being a particularly bloated/slow OS; but you say it wasn't the fault of the Z80. Something particular to the C128?


I haven’t done any independent research (other than trying it out in a C128 emulator and concluding that it indeed feels very slow 8) ), but there is a detailed answer here: https://retrocomputing.stackexchange.com/questions/2361/why-...

The issue does not seem entirely clear cut, but from the looks of it, while apparently the newer CP/M 3.0 used there does seem a bit slower than earlier versions, the majority of the reasons seem indeed pretty specific to the C128.


This was so much more background than I’d dared hoped for! Thanks, really interesting. What a mess.


The super Pets had a bunch of stuff in ROM: BASIC, Pascal and Fortran ... probably more I'm forgetting..


DOS as a 'proper shell' is missing the point.

BASIC as a shell was more capable than DOS. There is no reason to have DOS instead of BASIC other than it has fewer features to be implemented.

For all the bashing BASIC gets for favoring unstructured programming, you could do a lot in it as a first gear programming language. Think of the amount of bash scripts that shuffle strings around and ask if you would not rather program in e.g. python if it gave immediate access to files.


First, it's cool that someone is trying to make a BASIC shell. What I was pointing to is that most same-era computers used BASIC as their shell.


The most non-sh shell I've seen in recent >10years is scsh which is a scheme shell. I don't know if anyone is working on a Basic shell today and you're right about your observation.

As a programming language, Basic was more suited to be a shell than DOS was suited to be a programming language. :) that's probably why I avoided learning dos batch programming like mad.


I had an IBM PC XT in early 90-es, just like in the picture. Green monochrome monitor, dual 5 inch floppies, 20mb hard drive. Some company was throwing them out and my father brought one home.

At one point the hard drive failed and the PC booted into basic from ROM.


Unless you inserted a cartridge into the C64 ... in which case there was no typing required!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: