Why the author is wrong about the PET and VIC

Debunking Why Commodore PET and VIC-20 programmers had a head start programming the Commodore 64

A typical model, as listed in the lying buyers’ guide “The A-Z of Personal Computers” was the Commodore 4016, released in 1980 with a 40 column 25 row screen, built in mono monitor, no graphics except character graphics, a cassette recorder, only beep as audio and 16K RAM, but the model 4032 came with 32K, although their RAM could be upgraded. Of course, some of this information could be misleading or lies, as in their C64 review.

This lack of certainty on the author’s part also indicates yet another lack of proper research.

My opponent TMR of the rival blog https://c64crapdebunk.wordpress.com has had the cheek to claim in his post on https://c64crapdebunk.wordpress.com/2015/12/18/code-notes-taurus-2/ accompanying a demo by famous C64 games programmer Jeff Minter (who programmed games featuring Mutant Camels as well as light synthesisers) that Commodore PET/20XX/30XX/40XX programmers and VIC-20 owners such as Jeff Minter and himself weren’t somehow well prepared for programming the C64 by programming the PET/20XX/30XX/40XX or VIC-20 before.

This is because they weren’t, certainly not for the things the author has described as “impossible” on several previous occasions. For example, the video that the author included is of the Jeff Minter game Sheep In Space, which uses the C64’s hardware sprites, smooth scrolling and raster interrupts; neither the PET series or VIC 20 have these features, so there’s no magical way to get a head start by learning on those platforms. The Atari 8-bit could perhaps have taught would-be C64 coders more than the PET or VIC in that context, the features that they share aren’t available from BASIC on the Atari either though, and there was the aforementioned delay before documentation was released!

Jeff Minter started using a Commodore PET/20XX/30XX/40XX as long ago as the late seventies, when hardly anyone had a computer, so this means he probably had quite an easy time of it, under no pressure to write any programs quickly to compete with anyone, because there was basically no competition.

Learning before everybody else doesn’t make things easier dear reader, having to work everything out for yourself and use primitive tools makes it significantly more difficult instead! The author also talks about “pressure” but amateur programmers have never had that to worry about regardless of when they started so this is a completely false “argument” on his part.

I think that Jeff Minter is a bit of a mystery, allegedly born in April 1962, but obsessed with “Psychedelic” concepts which were fashionable when he was supposed to be only about 5 years old and the Wikipedia article on https://en.wikipedia.org/wiki/Jeff_Minter claim he was still at some kind of “school” when he was 18-19, but this isn’t likely in Britain where he might have been at a college or university not a “school”.

The author seems to be desperately trying to build sad little conspiracy theories based on nothing at all; your correspondent was still at the secondary school he’d attended previously when 18 and doing A levels for example, and there’s absolutely nothing at all to stop people being fascinated with concepts, styles or music which were fashionable before they were born either since culture doesn’t have a “sell by” date on.

This article also contradicts itself by saying he wrote a game for the Commodore PET in 1979, but only “took up computer programming in earnest” in December 1981-January 1982, and also says that in 1981 he had been studying at The University of East Anglia, then gave up.

When someone is said to have taken a pastime up “in earnest” that means they were already doing it but are now putting more time and effort it, so there is no contradiction in those statements. It is, however, amusing to watch the author simultaneously question the accuracy of information whilst expecting people to take the bilge he writes at face value, especially when he’s contradicted himself in the same post!

TMR even said that the featured Jeff Minter demo “Taurus 2” worked by “adding values together from a sine curve”, as if people who aren’t good at maths would understand how this was done!

Your correspondent learnt about sine curves in GCSE mathematics at school and it only took a little trial and error to work out how to apply that knowledge but, whilst the author is almost painfully desperate to make out that this is genius level mathematics when it really isn’t, it would only require a miniscule amount of imagination to create similar data with at most addition and subtraction… in fact it’s possible to simply draw the required shape on graph paper and get a series of co-ordinates from that which will work without any calculations whatsoever.

BASIC V2 for the VIC-20 and C64 was based on PET BASIC 4.0, but had the disk drive commands deleted, because the evil Jack Tramiel and his cohorts thought that home users wouldn’t need them! They even required disk users to specify the device number 8 because they thought most users would only have cassette drives.

This is just the author trying to mislead his readers yet again; the version of Commodore BASIC V2 is a revision of the same BASIC V2 used on earlier models of PET and not a version of BASIC 4 modified to remove features – as established previously, the author has no real programming experience and struggles with logic at the best of times so probably doesn’t understand that it’s both quicker and far more sensible to tweak the PET version of BASIC V2 to add a finite number of extra features rather than spending lots of man hours potentially introducing bugs to BASIC 4 by first removing commands and then having to add those extra features anyway.

As for the device number, LOAD is a universal command for multiple devices so a means to identify which device to access is, obviously, a requirement in the same way it would be for other platforms; the disk drive being device 8 actually comes from the PET and wasn’t added to BASIC V2 for the VIC 20.

The Commodore 64 operating system is the Commodore Kernal, built in on ROM. This is a collection of about 39 routines accessed by a jump table of addresses which, as explained on https://en.wikipedia.org/wiki/KERNAL are almost all the same on the Commodore PET/20XX/30XX/40XX range of computers and the VIC-20. […] None of these routines would have enabled Jeff Minter or TMR to program graphics and sound demos, but they would have helped them doing some Machine Code programming and encouraged them to learn more.

And if those ROM routines are an encouragement on one platform then they’ll be an encouragement on all of them including the C64 itself so, demonstrably, there is no advantage gained from this learning process happening on the PET or VIC rather than the C64; all three machines use a similar BASIC interpreter and assembly language so the same amount of dedication is required regardless of which route is taken, meaning that what we shall laughingly call the “argument” at the centre of the author’s post is, essentially, debunked by the author himself.

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