Changes

Jump to: navigation, search

Firmware

325 bytes added, 23:49, 19 October 2018
[[Category:Operating System]][[Category:Amstrad Products]][[Category:CPC Internal Components]]
[[Image:Amstrad firmware.jpg|right|thumb|250px|The CPC firmware]]
 
Hardware and software, we all know about. One means wires and silicon chips, the other means word-processors and shoot-em-ups.
==The Firm==
Firmware means hard software, I suppose. In the CPC's case, it's the software that's embedded permanently into the computer, as opposed to the software you load from tape or disc. That's the operating system, plus BASIC, plus (on disc-based machines) [[AMSDOS]]. All three were written by a Dorking-based software house called [[LocomotiveSoftware]].
We've already covered BASIC. Quite rightly, [[Locomotive BASIC]] is recognised as a model of its type, a remarkably flexible language with fewer obscure nooks and crannies to confuse the beginner than (say) the revered BBC BASIC.
You might think this is a given. After all, you couldn't really expect people to guess these obscure addresses. But several computer companies did, among them Sinclair.
The book was called the [[Firmware Guide]], and you can tell how essential it was by the fact that when it went out of print – late ’80s, I think – practically every other issue of [[Amstrad Action]] would carry a letter begging for information on where to get a copy. It's also known by its Amstrad catalogue number, [[Soft SOFT 968]], though there was an earlier version ([[Soft SOFT 158]]) which just detailed the features of the 464. The firmware was substantially expanded with the advent of the 664, and a couple of minor improvements were made for the 6128.
==Measure for measure==
The operating system took up 16k of memory - one ROM chip. BASIC took up another 16k chip. AMSDOS takes up 8k (the spare memory in its chip is taken up either by [[CP/M ]], [[Logo]] or by [[ParaDOS]]). So we have 40k of firmware in total: as big as most games, and a lot bigger than the 16k of [[Protext]].
Discounting BASIC, this is 24k of ready-written code that the machine code programmer can use. Why's this such a big deal?
==Real programmers don't use firmware==
The firmware isn't a universal panacea. By and large, it's not suitable for fast-moving action, which means arcade games or demos, though can be implemented into simple [[Programming:Coding_a_simple_BASIC_game_into_Assembly#Assembly_Version|Text Orientated games]] from Assembly. But it's a robust, bug-free piece of programming that was a key factor in the CPC's progress.
'''This article was written by [[ChaRleyTroniC|Richard Fairhurst]] for [[WACCI]] issue 141, which was never published.'''
423
edits