Hacker News new | ask | show | jobs
by benj111 908 days ago
Define boot.

Booting doesn't require loading an os.

And if we include dos as an os, I'm not even sure of the conceptual difference between booting basic and booting dos.

The only major thing is device discovery and setup etc.

But even the 8 bits had to start up the screen output routines, so I would still classify that as 'booting'

2 comments

on the Amstrad computers, and that's the context, BASIC was an interpreter on top of AMSDOS, which is a DOS, and an OS (just without any UI) indeed.

It's AMSDOS that provided hardware and disk handling, while BASIC could focus on running BASIC code. I think even the graphics routines (like setting a pixel) may have been implemented in AMSDOS, but not sure - and the line between two is blurry from user perspective. While those are two ROMs by two companies, they were developed in cooperation.

> I think even the graphics routines (like setting a pixel) may have been implemented in AMSDOS

Since I just have the CPC Intern book lying around on my desk :)

The graphics routines were not part of AMSDOS, but of the GRA ROM pack (the CPC OS was modularized into "packs" each coming with a standardized interface jump table: Kernel (KL), Machine Pack (MP), Jump/Restore (JRE), Screen Pack (SCR), Text Screen (TXT), Graphics Screen (GRA), Keyboard Manager (KM), Sound Manager (SOUND), Cassette Manager (CAS), Screen Editor (EDIT).

The book doesn't tell much about the AMSDOS ROM, only that the 16 KByte ROM is split into 8 KByte for the actual AMSDOS, and the other 8 KByte are used for a part of the LOGO interpreter coming with CP/M 2.2

PS: also important to note that not all CPC models came with the AMSDOS ROM or builtin floppy drive, so the actual operating system and BASIC interpreter couldn't be built on top of AMSDOS.

> PS: also important to note that not all CPC models came with the AMSDOS ROM or builtin floppy drive, so the actual operating system and

Right, technically correct! On the other hand, the command to return to BASIC from CP/M was "AMSDOS" - the distinction to be seen by the user was to be AMSDOS vs CP/M as two operating systems.

Btw. which book describes these internals? ;>>>

There was a popular book series in Germany called 'xxx Intern' where xxx would be a computer model. For instance for the CPC:

https://archive.org/details/cpc-464-intern-bruckmann-english...

(I have a physical copy of the followup book "CPC 664/6128 Intern", archive.org doesn't seem to have that one though)

Awesome, thank you! Appreciated :)

(Amstrad community is the main reason I am thinking of learning German and Spanish :D)

>Define boot.

Good idea. Legitimate request.

As it was understood with 1980's microprocessor desktops, booting was a more complex stepwise startup procedure than simply running the fully-functional factory OS or video game instantly from ROM.

Booting required a storage medium other than memory (such as punch cards, paper tape, magnetic tape, disks) to peripherally store the actual OS or shell which had to be loaded into memory in a "bootstrapping" process before it could run. RAM was used for the working OS rather than ROM, so process control was "booted" to RAM right after the ROM code merely establishes a hardware interface and serves as an Initial Program Loader.

Nobody ever talked about "booting" a C64 or Atari400 if all you were going to run was the factory BASIC command line.

Which was the vast majority of non-gaming use. Far fewer users had external storage to begin with and almost all of them used it only for storing & loading their own code or non-ROM game files [0].

Only the uncommonly advanced operators (not me) were actually using their external storage to "boot" to a different OS or programming language, but it was necessary if you were going to use something like Pascal [1]:

"Kyan PASCAL consists of two programs: the editor program (ED) and the compiler/assembler program (PC). When your Apple (ATARI) is booted (to boot the ATARI, push the <OPTION> key during power-up) with a KyanPASCAL disk in the drive the following will be displayed:

KYANPASCAL VERSION 1.0 COPYRIGHT

1985 BY KYANSOFTWARE

1850 UNION STREET, SUITE 183

SAN FRANCISCO, CA 94123

>"

IOW when you didn't push the <OPTION> key during power up (which very few users ever pushed) you weren't booting the Atari, but merely powering up and running the game or command line directly from ROM.

It was not like an x86 PC which used its ROM firmware mainly as an Initial Program Loader, otherwise known as a bootloader, to load your desired OS from storage into RAM, giving you access to a correspronding command line the booting way. If you weren't going to run something like a Disk Operating System why would you want to boot anyway?

It may be obvious but I really did like it with computers that you didn't need to boot.

Sorry if I hurt anyone's feelings.

[0] so BASIC was dabbled in more often and widely as a "game" similar to the regular game cartridges, where they had to start from the beginning each time you turned on the computer, and all progress was lost when you powered down.

[1] http://www.atarimania.com/8bit/files/Kyan_Pascal_Manual.pdf