Archive for July 2013


Isn’t it amazing how just the right amount of news happens to fill the newspapers? Obviously not, because Editors pick and choose which news stories to publish. Here’s a story which could easily have happened, but AFAIK never appeared in any newspaper. Of course, this story is fictitious, but to give it a more authentic feel, a magazine and a computer dealer mentioned in it actually existed. The quote from Commodore is based on a letter I received from them about my complaint to the computer magazine that conned me into buying the Commodore 64, as well as their quotes in the computer press and a phone call I received from them offering me a 1541 disk drive after I’d sold my Commodore 64. I took great delight in telling them this over the phone that I didn’t have a Commodore 64. I forgot to add “any more”. Their reply was “Have you got a VIC-20?”, an even worse computer than the Commodore 64, with a 20 column display and no high resolution graphics., which I think was also compatible with the 1541 disk drive. I then said “I’ve got an Amstrad CPC664”, to which they replied “Oh YOU!!” before slamming the phone down. The 1541 disk drive was painfully slow, although it offered random access instead of sequential access. In theory, this could have made it possible for someone to write an extended BASIC compiler that produced a machine code program which would run without a copy of the extended BASIC being needed. Of course, this wasn’t possible using cassette. A compiler called PETspeed 2 was available which as the name suggests could only compile the crappy Commodore PET style BASIC, such as Commodore BASIC V2. The story was mainly inspired by me being kept behind after school by a nasty maths teacher with instructions not to go home before I’d finished a certain set or a page of problems which I didn’t know how to do. This meant I could have been there all night, or at least until the night classes began at about 7:30PM in the school. Luckily, I made sure I got his agreement that I could go home after half an hour before he left me there. There was another boy sitting in the same room doing absolutely nothing at all, while I was staring at my book with a pen in my hand racking my brains about how to do the maths problems I’d been set and just waiting for the half hour to end. After I went home, I had to get my Dad to show me how to do that particular type of maths problem, which used to happen a lot with that teacher. Our story takes place in May 1984


C64ISOviewA Commodore 64, the computer involved in this incident

A schoolboy at a school in SE London, was recently subjected to a four hour long unsupervised detention, which ended with him on the verge of a nervous breakdown!

Mr Wells, a maths teacher at the school, had a creative idea for a detention, which according to him, was supposed to be educational and could even have been completed in less than the standard half hour long period for detentions. Mr Wells said “Our school has recently bought computers of a few different types, instead of teaching pupils about just one type of computer. These computers are the BBC Micro, the Sinclair Spectrum, and the Commodore 64. I put three pupils each in front of one of these computers, gave them the accompanying User Guides, plus some other books and manuals for each computer, and told them to learn how to draw any geometric shape on the computer they were using, then print out the result, as well as the program listing before handing them in to the School Secretary, along with their computer, which would then be put away in a storage cupboard. Two of the pupils managed this, but the other one didn’t. I think that modern computers make programming very easy on youngsters today. I started programming in COBOL and PL/1 on mainframe computers”.

The Headmaster, Mr Smith said “This wasn’t actually an official detention. All our detentions at this school are supervised by a teacher. The incident has brought to my attention this maths teacher’s practice of keeping pupils behind after his lessons when they occur just before the lunch break, as well as at the end of the school day. The School Secretary, as well as some other members of staff, were also told to keep an eye out that pupils didn’t leave before he said they were supposed to. I’ve told him not to do this any more and suspended him for the time being”.

Steve Green, the schoolboy who ended up with the four hour detention, said “At home I’ve got a Sinclair ZX Spectrum. Mr Wells asked us all first if we owned a computer and if so, which one it was, then we weren’t allowed to use the same computer we owned. We had to use a different one instead, to learn about it. I was put onto the Commodore 64. I’ve been doing lots of things on my Spectrum, including writing some simple games, quiz programs, and programming graphic art, so I felt sure I’d get the hang of it, but I couldn’t find any way of plotting points or drawing lines on the Commodore 64. I couldn’t believe it! I had to start writing down and memorising 5 digit numbers representing memory locations. Most of these numbers seemed to begin with 532, representing the letters L, M, and N in a memory system I’ve studied. I thought up bizarre mental images featuring lemons to help me remember. Then, before I knew it, my head was swimming with 5 digit numbers and lemons!” Another pupil, John Sweeney said “I looked through the manuals for the BBC Micro and drew a square using the commands MODE, MOVE, and DRAW. It was all fairly quick and simple”. The other pupil, Amanda Parker, said “I read parts of the manuals for the Spectrum, and wrote a short program to draw a right angled triangle, using the commands PLOT, INK, and DRAW, but had problems typing it in because of the way the keyboard works. You have to use various key combinations instead of typing each command in letter by letter. Steve spent a few minutes showing me how to do that. He really seemed to know what he was talking about. I couldn’t believe it when I heard what had happened to him!”

Eventually, Steve was rescued from his ordeal when the Caretaker found him crying his eyes out in the toilets as people were coming into the school to attend night classes.

The magazine Popular Computing Weekly, which covers just about every make and model of computer told us “Unfortunately, the Commodore 64 has a very old fashioned dialect of the programming language BASIC built in. It contains no commands for colour, graphics, or sound, so it’s much more complicated to learn how to program these features on it. It would certainly take a lot longer than 4 hours and most Commodore 64 users never learn how to do it. If you look through various magazines specialising in Commodore computers, or in the Commodore 64 specifically, then you’ll soon come across comments such as ‘Neanderthal BASIC’, as well as lots or articles with listings to extend the BASIC, plus reviews and adverts for extended BASIC packages. There are several of these at least, but there’s no real market for any programs written using these extended BASICs, because people buying any such programs would need a copy of the same extended BASIC to run the program. This could encourage software piracy, as extended BASIC programmers may try to write a special loader which first loads a copy of the extended BASIC from cassette, while trying to cover up that this has been done, including preventing the name of the extended BASIC and the Copyright message from being displayed. Word would get round, then before you know it there would be stories such as ‘Buy this cheap game or application, don’t follow the loading instructions, but do this instead, then you’ll find you’ve got a free copy of UltraBASIC’, which is one of the most advanced and expensive extended BASICs for the Commodore 64”.

SilicaAdatari800xlISOviewAn Atari 800XL computer, one in a range of several models which are fairly compatible

A spokesperson for local computer dealer Silica Shop said “We specialise in Atari computers, but we sell various other computers as well, including the Commodore 64. We try and tell people what to expect with each individual computer, but we also stock current as well as back issues of specialist Atari magazines, which emphasise the power, creativity and ease of use of the Atari range of computers. Of course, the Commodore 64 is totally different, with far fewer colours and a very backward version of BASIC. This incident would never have happened with an Atari computer, because the problem would only require the commands GRAPHICS, PLOT, and DRAWTO. Additional commands such as SETCOLOR and COLOR could be used to select any particular colour from the palette of 256”.

Commodore_Plus_4ISOviewThe forthcoming Commodore Plus 4 computer

A spokesperson for Commodore Business Machines (UK) Ltd said “It can take thousands of hours to produce any piece of software, but it’s well worth persevering, because the results make it worthwhile. There are various graphic editor software packages for the Commodore 64 which enable users to draw any geometrical shape quite quickly. Some of these are available on disk only, but we often have special offers on disk drives for registered Commodore owners. We’ve taken on board criticisms of the BASIC supplied with the Commodore 64 and these have been addressed in our two new models the Commodore 16 and the Commodore Plus 4, which will go on sale in September. We advise people to learn Machine Code for serious programming anyway. I personally think it’s as easy as quantum theory”.

Posted July 30, 2013 by C64hater in Uncategorized

The Opposite to the Commodore 64   Leave a comment


SinclairCirclesA short Sinclair Spectrum BASIC program for drawing circles with increasly large diameters. This is impossible in Commodore BASIC V2 without the use of a seemingly endless sequence of POKEs, but according to TMR Spectrum components were obsolete!

I’m sorry for the lack of any new articles on this blog recently. I was doing some work on a planned quite long article revealing how to draw some lines on the Commodore 64 graphics screen, and although I managed to find out a bit about this from old Commodore 64 magazine articles, it was totally mind bending. Before the line drawing program there was a program about plotting points, but it didn’t work! It was impossible to debug it because of all the PEEKs and POKEs. When I tried to adapt these techniques to draw lines in a slightly different pattern, not surprisingly I found I couldn’t work out how to do it, because this involved complicated geometrical equations. I was persecuted by a maths teacher who was obsessed with geometry and often had to miss half an hour of the lunch break to stare at geometry problems in a text book because he thought I would somehow magically realise how to do them. Not everyone can do geometry, although everyone can learn to speak another human language, as proved by people in lots of non English speaking countries speaking two or more languages. BASIC is also a language, but not a human one.

The whole point of this blog is computer literacy versus computer illiteracy. A prime example of computer illiteracy is Commodore 64 BASIC V2, which, because that computer was released in 1982, was designed to put people off learning to program, leave it to the “experts” and just play games and use other software instead. This version of BASIC might have been OK to use in 1977 on the original Commodore PET, but definitely a crime against computer literacy when reused on the Commodore 64 in 1982! Microsoft, who developed this version of BASIC for the 6502 processor, never intended for their BASIC to be used on hardware like this, and they remained hard at work improving their BASIC for various processors to take account of new hardware used and reused by various manufacturers. Lots of people, or even most people, have also had problems learning BASIC, so it seems that a more human language such as Logo may be needed. Logo is a dialect of Lisp, while BASIC, C, and various other languages are based on FORTRAN.

I was very surprised to read on the blog criticism of various computers just because they used hardware which was a few years old, 5 years old, or even older. I don’t think I’ve ever objected on this blog to the age of hardware components. This is totally irrelevant to the point I’m making about computer literacy! It’s also interesting to note what year various processors came out compared with when they became popular. Some examples of this are the MOS 6502,  the Zilog Z80 and the Motorola 68000 CPU. The 6502 first came out in 1975, while the Z80 followed in 1976 and the 68000 in 1979! I can’t think of any computers which used a 68000 family CPU (including the 68008, 68010, 68020, etc) until the original Apple MacIntosh (68000) and Sinclair QL (68008), which both came out in 1984, so according to this line of thinking they were using totally outdated technology, because they were based round a 5 year old CPU!



An example of Sinclair Spectrum graphics programming complete with the short program which produced it. This suffers slightly from the 8×8 colour attribute mode colour bleed, but when using higher resolution graphics of 320×200 the Commodore 64 suffered from the very same shortfall! This was programmed in the FUSE emulator running under UNIX OS.

Another post which was totally irrelevant was a graphics screen of a tortoise or a turtle done on a Commodore 64! I assume this was done using a graphics editor, not actually programmed by calculating which one of 16 colours to make each pixel on the screen. I assume it was in the low resolution 160×200 display mode, so that’s 32,000 pixels to POKE!

Commodore designed some custom new hardware in the form of the VIC-II video chip and the SID sound chip. This may have been a good idea, but it was certainly a very bad idea when they failed to provide unsuspecting buyers of the Commodore 64 with a built in programming language which could make use of this hardware. I was also conned by a certain magazine which was a buyers’ guide to computers available at the time. It may be best not to mention its name. I hope the Editor has suffered a painful death since then for all the stress she caused me. I think this magazine was the only buyers’ guide about computers that I read before going shopping for one. As there were various members of staff working on it, I assume that reviews of different computers were written by different members of staff, then it would have been up to the Editor to read them, and check they were OK before she made some final edits so they all fitted together. Unfortunately, however it happened, some compatible computers got quite different scores in the reviews. I particularly remember the reviews of the Acorn Electron and BBC Micro (also by Acorn). Both computers should have scored the same on almost all points, but they didn’t! The Electron was just a cut down, cheaper version of the BBC Micro, which at one stage was the same price as the Commodore 64, meaning £199. They only shared one component, the 6502 CPU, though. The only differences in using those two computers were that the Electron had no Teletext Mode 7, fewer interfaces, one channel sound instead of 3 channel sound, slightly less RAM (although both officially had 32K), a poorer quality keyboard, and various BBC software wouldn’t run on it, so Electron versions were often produced. They had star ratings for various things, including “User Friendliness”. The Commodore 64 scored 4 stars, the same as the Atari 8 bit, but the BBC Micro only score 3 stars! Since being conned by that magazine into buying a Commodore 64, I’ve always read at least two buyers’ guides about any electronic device before buying it. This saved me from experiences with analogue satellite receivers such as “crap sound on Hot Bird”, caused by fixed instead of programmable audio sub carrier tuning on lots of analogue satellite receivers. They only had a choice of 2 or 3 audio sub carriers. This was OK for Sky and other channels carried on the Astra 1 satellites at 19.2 degrees east, but not for some channels on the Hot Bird satellites at 13 degrees east. All that buyers had to do was read the technical specifications listed in at least two satellite equipment magazines over a period of a few days to know what they were getting. As with computers years before that, good receivers were often the same price or cheaper than the receivers with crap sound on Hot Bird, etc.

I read years later that when the Commodore 64 first came out, hardly anyone knew how to program it at all, unless it was using techniques which also worked on older Commodore computers. What they had in common was the BASIC dialect, 6502 Assembly Language and Machine Code, as well as a collection of ROM routines being updated on every new Commodore model, which they called the “Kernal”, a misspelling of kernel. Apart from attempts at reverse engineering the Commodore 64 to find out what made it tick, people had to wait for the “Commodore 64 Programmer’s Reference Guide” to be published for the Commodore 64 to “give up its secrets”. I remember I got a copy of this book at the same time or very shortly after getting the Commodore 64. Unfortunately, my Commodore 64 came without the manual or “User Guide”. This was because the shopkeeper had sent the computer back “for checking”, but Commodore had failed to pack the User Guide with it. He also offered us “a cheap Dragon”. Little did I know that Dragon computers contained an advanced version of Microsoft Extended BASIC and would have been an amazing first computer, although the company Dragon Data went bust a few weeks later. I only knew it didn’t have a synthesizer chip, but a “tone generator” and just one channel sound. At that stage the dealer offered us a £20 discount, but I had the sense to realise that you wouldn’t buy a washing machine without a manual, so how could you buy a more complicated device like a computer without one?! I suggested we leave the shop and said to my Dad “I’ll GIVE you the £20!” Unfortunately, he had the wrong attitude, which I called the IKBA (I know best attitude), but other people call it the ITA (ivory tower attitude). At the time I received the threat it was that or nothing! I wish now that I’d just walked out of the shop there and then. I advise anyone against backing down to a threat like this. Your answer should always be “It’ll have to be nothing, then”. I think we bought the computer itself for £179, instead of the official price of £199. As we left, I asked the shopkeeper how to “access the synthesizer circuits”. He replied “It’s easy! You just use PEEK and POKE commands!” This was a total LIE! PEEK and POKE are only used when no dedicated command exists. Other computers had SOUND, ENVELOPE, PLAY, and BEEP commands! I could have walked out of the shop and bought myself a second hand Atari 400, as used by the amazing Frank Ostrowski, who had a fantastic introduction to computing on that model of Atari. He managed to extend the on board BASIC, command by command, until his extensions became “Turbo BASIC XL”. This was disk based, but I don’t think he had a disk drive when he started using the Atari 400. He was offered a contract by the company GFA to write a replacement BASIC for the Atari ST, after Jack Tramiel had managed to make a mess of that as well, which he called “ST BASIC”. I haven’t been able to find a list of ST BASIC commands, but have read that it was the same as ABasiC on early Amigas. This indicates to me that the commands were a mixture of Commodore BASIC 3.5 and Sinclair QL SuperBASIC. As Jack Tramiel had already left Commodore by the time they brought out the Amiga, they had no objection to paying Microsoft for a new version of BASIC, which they called AmigaBASIC. This was a port of Microsoft BASIC on the Apple MacIntosh. ST BASIC had various bugs and used 4 windows, which was the maximum number available under the GEM desktop on the Atari ST. I think this meant that programs written in ST BASIC couldn’t open a new window. At least the Atari ST was disk based, and ST BASIC wasn’t on ROM, only loaded from disk. GFA BASIC on disk could use a runtime module, enabling the programs to run on any Atari ST without the need for the owner to have a copy of the BASIC in question, unlike a cassette based Commodore 64. My Dad bought me the Commodore 64 complete with the course “An Introduction to BASIC”, to try and make up for the lack of the “User Guide” manual. This manual soon arrived back at the shop and we picked it up, but it was quite thin and not much good. Unfortunately, I didn’t manage to blow up the Commodore 64 or the TV by setting it up without the “User Guide”. I typed in programs from these books, including one which displayed a mouse tap dancing, but I had absolutely no idea how it worked, due to all the PEEK and POKE commands! There was even a section describing how to use something called the 64MON cartridge, which was a Machine Code Monitor. This was for editing or programming in Machine Code NOT Assembly Language! I have no idea why anyone would want to do this! Perhaps it was popular in the 1970s. The whole book had a historical, 1970s kind of attitude to it.

Computers such as the Sinclair Spectrum and MSX had the opposite attitude to the Commodore 64. This attitude was to use their own BASIC customised for their hardware, which wasn’t new, but tried and tested technology. The video chip used in MSX, Memotech MTX, and the Tatung Einstein had originally been used in the TI99/4A, powered by a 16 bit TI 9900 CPU, so you could even say it was 16 bit technology. The Sinclair Spectrum and MSX computers had high resolution graphics of 256×192 with 16 colours, the same as various other computers. Unfortunately, the Spectrum suffered from attribute mode, dot creep, or colour bleeding, because it could only display 1 foreground colour in each 8×8 character cell, while MSX had a similar system that could only display 1 foreground colour in each 8 pixel area of each horizontal line, although it had a lower resolution mode which didn’t suffer from this effect, but that was only 64×48 pixels or blocks. The Commodore 64 also suffered from colour attributes in each 8×8 area in its high resolution 320×200 graphics mode, so most games were written in the rougher, low resolution 160×200 mode. Most of the people who bought Sinclair Spectrums and MSX computers had probably never owned a computer before, so why would they care if its hardware had been used in older computers or not? When they got their computers home, they read manuals about programming this hardware using Sinclair BASIC or MSX BASIC, including colour, graphics, and sound, unlike on the Commodore 64.


Hypersports on the MSX with its “obsolete” TI 9918/9928/9929 graphics chip (256×192 display mode)


Hypersports on the C64, with its newer, custom, “more advanced” VIC II chip (160×200 display mode, as used for most C64 games to avoid attribute colour bleed)

So to sum up, it’s not the hardware you’ve got, but the attitude behind a certain computer and the programming languages available for it that decides what you can do with it! Finally, here’s a page I’ve just visited again, about how the Commodore 64 lost in a contest against the Sinclair Spectrum and NOT just because of its crappy BASIC!

Posted July 20, 2013 by C64hater in Uncategorized