About Introduction To BASIC – part 4

Debunking An Introduction To BASIC: Tramiel torture – part 4

There’s also a program to extract surnames from full names, but I soon realised in 1984 that this program didn’t work on Dutch names such as Jan van den Heuvel, where the surname is van den Heuvel and even my Commodore 64 group leader couldn’t see a solution to that.

The author is of course completely missing the point here; the examples in a programming book are there to teach the commands and program structure, not to be practical code. It really doesn’t matter if they measure things in “obsolete” units or can’t deal with international surnames[1] because these programs are never going to be employed in the real world and the author should have been concentrating on how the commands work.

Later still, the author lies to the reader by saying that because the Commodore 64 can display 40 column text, that this was “as good as any other home computer and better than most”, although 40 column text was more or less standard, while the BBC Micro and Acorn Electron could display 80 column text, which I saw in shops could even be read using a TV screen.

To restore what could almost be interpreted as deliberately omitted context, Introduction To BASIC – Part 2 says the following:

Home computers which use television sets for their screens are generally limited in the number of characters they eon display across the screen. This is not the fault of the computer, but arises because a domestic television receiver cannot handle a sufficiently detailed picture to show small characters legibly. The 64 gives you 40 characters in each line. This is as good as any other home computer, and better than most. If you want more than 40 characters, you’ll have to buy a much more expensive machine with its own monitor screen.

So the author is misrepresenting what was written and what is actually there works in context; the C64 had comparable or indeed better picture quality than most other contemporary systems at that resolution and, whilst the BBC Micro’s 80 column mode could be used on a television, it was meant for use with an RGB monitor which made it, as noted, a “more expensive machine with its own monitor”.

Unit 23 starts off with “A closer look at the Commodore 64” saying that it’s OK just to think of it as a machine that plays games that come on cassettes or plug in cartridges! What a thing to say, even though this is near the end of a programming course! It also says it’s OK not to want to know about programming!

This is a blatant lie on the author’s part. Here’s what the book actually says:

A computer is an extremely complicated device. If you try to explain everything about it to a beginner, all at once, you’ll leave him bewildered and hopelessly confused long before he can do anything Interesting or useful. Instead, you can treat the machine like a parcel at a kid’s party: something with lots of paper wrappings which you can strip off one layer at a time. If you conceal unnecessary detail, you can always arrange for the outermost layer to look quite simple. For example, some people will always think of the Commodore 64 just as a machine which plays games which come on cassette or plug-in cartridges. If you don’t want to know about programming, this is a perfectly reasonable and useful level of understanding.

So no, it doesn’t say that “it’s OK just to think of it as a machine that plays games”, just that some people will always think of the Commodore 64 just as a machine which plays games”.

This is accompanied by a diagram of the system, as well as a diagram of the Commodore VIC-20 memory map, calling it “a machine with a one layer store”, showing how this is much simpler than the messy C64 memory map, with some locations that could be either RAM or ROM, etc. I think that most “home computers” of this era had what this unit calls “a one layer store”, as shown in INPUT magazine, to keep things simpler for their programmers.

The “logic” here is that programmers would prefer less memory in exchange for a relatively tiny difference in ease of use. “I’m glad they didn’t give me all of that memory so this computer is a bit easier” said no programmer. Ever.

Only 48K RAM was really needed for 8 bit computers, as proven by all the software written for the Sinclair Spectrum 48K and Atari computers fitted with 48K.

No dear reader, as we can see that doesn’t prove anything; the machines had 48K so software was written to use 48K because obviously it would be impossible to write something bigger.[2] And ,since both of those machines mentioned were followed by a 128K model, it would seem that Sinclair, Atari, most other computer manufacturers and indeed the users who wanted and purchased those larger machines completely and utterly disagreed with the author on this particular “point”. And we shall, for a moment, pause to note that those 128K machines have a complicated memory map which involves paging in chunks of memory that sit outside the 64K usually addressed by the 6502 or Z80; this process is just as complex as the C64’s memory map if not more so but, since the author has no experience of it, he simply doesn’t understand.

The Spectrum and Atari 8-bit were fitted with 48K at that time (or not, since there were 16K models of both and even smaller options for the Atari) because that was as much as the companies could add without pricing their machine out of its intended market; as soon as the cost of RAM went down the available space on 8-bit computers went up because that’s what consumers wanted.

It’s not as though the C64’s memory model is even vaguely difficult to understand; granted it confuses the author but he gets confused between simple BASIC commands like PEN and INK so that really shouldn’t come as a surprise, dear reader.

I think a lot of the POKE commands are just printing characters on the screen but this is still at the speed of BASIC so there’s no need.

So despite not actually knowing for certain what these POKEs are doing the author somehow magically knows that there’s “no need” for them.

After this, the reader is set a problem of trying to write their own game using the same principles, with suggestions that it could be based around shooting aliens from outer space, searching a maze with a monster chasing you, or catching randomly thrown balls. As for me, I felt lost in a whirlpool of POKE commands and certainly didn’t feel that just the one example given here prepared me to write my own, simple, character graphics based game.

And that’s because, as we’ve already noted during previous installments, the author simply wasn’t paying proper attention to the book and was instead worrying more about Dutch surnames or the use of gallons and inches than learning programming. Your correspondent hasn’t looked but assumes that, like other text books, the example program and previous units will have handed over what was required to produce a game and the author merely had to put a little creative thinking in… which is where he rather unsurprisingly failed, of course.

[1] The problem is quite easy so solve with a little thought; simply add a search that hunts for “van” with a space at either side and the beginning of that is one character before where the surname starts.

[2] A lot of Atari 8-bit software was actually written to run on a 16K machine, but that doesn’t “prove” anything about what consumers wanted either, just that the publishers wanted to maximise their sales by releasing a product that the majority of owners could purchase rather than limiting sales to the minority with larger RAM sizes.

Advertisements
This entry was posted in Debunking and tagged , , , . Bookmark the permalink.