Archive for August 2015

De debunking “Debunking Happy 30th anniversary to the Amstrad CPC664!”   Leave a comment

De debunking “Debunking Happy 30th anniversary to the Amstrad CPC664!

Amstrad's three CPC computers

The three Amstrad CPC computers

Following my post celebrating the 30th anniversary of the amazing Amstrad CPC664 computer, my opponent TMR on his blog had the cheek to post a debunk which you can read on

I’m sorry I haven’t posted here recently. I’ve had a lot of distractions, including my fantastic, banned or censored from all English speaking countries (meaning countries where English is the main language), MSX2 computer‘s on/off switch breaking. This means I haven’t been able to use my MSX2 computer for a couple of months, but I‘ve just managed to get it repaired!

Meanwhile, here’s a de debunk of TMR’s last debunk. It was getting too long, so I decided not to quote TMR at all.

I never said that TMR was a hacker, just that a document I remember writing about MSX BASIC 2.0 sprite collisions and joystick use has mysteriously disappeared.

Commodore, after purchasing a perpetual licence for BASIC from Microsoft in 1977, went on to make some improvements to this BASIC by themselves, instead of paying Microsoft for the improvements they’d made. These included cassette and disk filing commands. Commodore made some more improvements, including commands for colour, graphics, and sound, but then decided not to build these in to their VIC-20 or Commodore 64 computers, instead insisting that the unsuspecting, unlucky buyers of these computers should have to pay extra for a cartridge with the missing commands built in. These cartridges were called the VIC Super Expander and the Super Expander 64. They were early versions of the Commodore BASIC 3.5 later built in to the Commodore 16 and Commodore Plus 4. These cartridges couldn’t even produce programs that would run on another VIC-20 or another C64 which didn’t have one of these cartridges plugged in!Commodore also marketed Simons’ BASIC, which was influenced by lots of other BASIC dialects and had procedures like the amazing BBC BASIC. TMR often likes to pretend that it doesn’t matter that these cartridges couldn’t produce stand alone programs, because years later someone produced a compiler which could compile these programs. Of course it DOES matter because this compiler came out years after the C64 and probably required a disk drive as well. I didn’t have a disk drive for my C64 and I don’t remember seeing anyone at my local computer club who had one either.

The general attitude with lots of people, including my Dad, was that if you could buy a computer for between £100-£200 then there was no point paying more than that. Of course, a Commodore 64 disk drive cost about another £200. Meanwhile, owners of other computers, such as the Sinclair Spectrum, BBC Micro, Atari 400/800/XL, Spectravideo 318/328, MSX, etc, who didn’t even have disk drives, were running rings round Commodore 64 owners who couldn’t even draw a line across their graphics screens! The lucky owners of these other computers were able to do a multitude of things using the standard BASICs for their machines, which were used in most programming books and magazine articles about these computers.

Not many books or articles ever appeared about Simons’ BASIC (although it was used a lot in INPUT magazine), let alone Commodore’s very own Super Expander 64 extended BASIC, which seemed to be less popular than Simons’ BASIC, or the Turbo BASIC which I bought, the more expensive Ultra BASIC, etc.

Commodore BASIC V2 shares the commands LEFT$, MID$, and RIGHT$ with the advanced MSX BASIC and Amstrad’s Locomotive BASIC, but of course MSX BASIC has additional, totally amazing, string handling commands such as INSTR, which can detect a sequence of characters in a string, helping programmers to build a parser for text adventure games, which could also easily include graphics, BIN$ for converting strings into binary, LINE INPUT which doesn’t display a question mark prompt and can input up to 254 characters, INPUT$(N) for inputting only the number of characters specified by N polling the keyboard continuously for as little as one character even better than INKEY$ and light years ahead of the C64 GET$, INKEY$ for detecting key presses then reacting to them much more efficiently than the antique GET$, STRING$(N, character) for creating strings of the length of N and the character specified, PRINT USING format;list of items, and of course even sprite definitions are held in strings by the SPRITE$ command. Most of these commands are also present in Locomotive BASIC on Amstrad’s CPC computers.

Amstrad 128 Plus

An Amstrad 128 Plus with bundled monitor

My post was about the Amstrad CPC664 computer, which was only marketed for about 4 months in 1985. It was compatible with the CPC464 and the CPC6128, so long as programmers followed Amstrad’s guidelines about how to use the many ROM routines, didn’t use RAM which was reserved for the disk drive interface, and didn’t use more than 64K. Even so, there was a type in program which could be loaded from disk that disabled the disk drive interface, freeing up the extra RAM for badly written software which used that RAM, as well as third party RAM upgrades which gave the CPC664 and CPC464 128K or more. The DK’tronics RAM upgrade I bought could even run software designed to only be compatible with the CPC6128, by using the ROM based command |EMULATE. All ROM based commands were prefixed with the symbol | , which was pronounced bar.

TMR was waffling on about a quite different couple of computers, released years later. These computers were called the Amstrad 464 Plus and the Amstrad 6128 Plus, not CPC at all. My post about the CPC664’s 30th anniversary, is nothing to do with what Amstrad did years later on the Amstrad 464 Plus and 6128 Plus! By this stage, Alan Sugar and Amstrad had gone way past the “sharp practice” which was how a magazine I phoned described his stunt of discontinuing the CPC664 after only 4 months. With the Amstrad 464 Plus and 6128 Plus, Alan Sugar turned into a conman selling 8 bit computers in an Amiga style case, designed to make gullible people who hadn’t bothered to read the specs or reviews in computer magazines (assuming that the journalists were accurate and truthful unlike the evil writers behind “The A-Z of Personal Computers”), that they were getting a better deal than the Amiga A500 computer, because the Amstrad 6128 Plus computer came with a monitor and had as many colours as the Amiga A500, as well as sprites, but for the same price as an Amiga A500 WITHOUT a monitor, meaning about £399. Alan Sugar and Amstrad followed this up with satellite receivers that required an add on when more than 16 channels became available from the Astra satellites and another add on when encryption of Sky TV channels started, as well as bringing out a very cheap video camera without any zoom and without playback through the viewfinder, then later still with cheap and nasty Sky Digiboxes that were more likely to break down than those by other manufacturers, such as Grundig. By the time the Amstrad 464 Plus and 6128 Plus computers came out, I’d bought an Amiga A500 WITH a monitor, 512K RAM upgrade, and second disk drive, for about £1,000, after reading all about the Amiga computers in the general computer press, such as “Popular Computing Weekly” for roughly 3.5 years.

As I said before, I bought my beloved Amstrad CPC664 on May 7, 1985. I don’t think it had been manufactured in the few days before that, more like a few weeks or several weeks before. The CPC6128 was released in September 1985 without an announcement, and the news appeared shortly after that on the front page of “Popular Computing Weekly”. I don’t think any dirty trick like this had been played by any computer manufacturer before then, although someone out there may know different. The situation was compared by the computer press to the Sinclair ZX80 being replaced by the ZX81, although the ZX80 computer had a ZX81 ROM upgrade available and the same amount of RAM. I don’t think the Apple Lisa, more powerful than the first Mac, on the market for a year before the Mac was released and which continued to be marketed even after that, can be compared to this.

As for me, being an Amstrad CPC664 owner whose computer had been discontinued after only 4 months, I was heartbroken and felt betrayed. It was a severe blow to my confidence and self esteem. Unfortunately, legally I didn’t have a leg to stand on, because I owned a computer whose exact specifications I knew about before buying it. I don’t think I’d have bought it if I’d known that it was going to be discontinued 4 months later, though. All of a sudden, I was swamped by reviews and articles about the CPC6128 which used its 128K RAM mainly for the CP/M Plus operating system. There was a section in “Amstrad Computer User” or “Computing with the Amstrad”, called “Amstrad Business Computing”, which there was no point me reading at all, because almost everything in it was about CP/M Plus software. The other computers I considered buying instead of the CPC664 included the BBC Micro, and MSX, so it’s possible I would’ve gone for one of these if “Popular Computing Weekly” had printed another scoop that Amstrad was planning to bring out an even more powerful CPC model not long after the CPC664.

The BBC Micro had more or less taken over at my local computer club, and had a lot of support, but most games weren’t released for it, although the mind blowing “Elite” was originally created on the BBC Micro, while the Amstrad CPC became a newly supported third format for most games. MSX never became popular in Britain, but programming it in MSX BASIC would have given me a head start on AmigaBASIC, and GW BASIC. As you probably remember, I got a Yamaha CX5M Music Computer, which was MSX, later on, but I used it mainly for writing music and was even slightly brainwashed against doing any programming on it.

I didn’t lie to my Dad about the Amstrad CPC664 not having 128K, I just kept it to myself, because I thought my Dad would prevent me from having one if he found out it didn’t have 128K. This was because of his attitude, which I called IKBA (I Know Best Attitude), more commonly called ITA (Ivory Tower Attitude). This can be summed up as although I had read countless reviews and articles about the Amstrad CPC464, including the BASIC, sound chip, disk drive, CP/M, etc, and as many details about the Amstrad CPC664 as were available, the CPC664 was just an appliance, which could be compared to a TV, a video recorder, or a washing machine. As my Dad had bought lots of these appliances in the past and he was lending me the money to buy this one, that somehow proved he knew best, including suggestions such as buying a Tatung Einstein because “That looks like a nice one!”, although it had hardly any third party software support, depending on software by Tatung’s own label Einsoft, CP/M software, and a Spectrum emulator.

Of course, I cared that the Amstrad graphics had no colour bleed or attribute modes, a top resolution of 640×200, twice as high as the C64 was capable of, as well as that the CPC664 and the CPC464 had enough RAM to handle these display modes, which they certainly did have, while graphics on the BBC Micro could take up to 20K out of its 32K.

I remember standing in a branch of WH Smith when another customer came up to me and quoted a review of the Amstrad CPC464 saying that “unfortunately, it hasn’t got any sprites”, then asking me “What’s a sprite?” As I tried to explain, a sprite is a type of graphic which is totally independent of the background graphics, meaning that it can move across the screen without disturbing the graphics already there. At the time, we were surrounded by a selection of computers running games in demo mode, with some particularly good software sprites on the Amstrad CPC464, so I pointed this out to him. It was all done on the same 6845 video chip as in the BBC Micro, but with a palette of 27 colours instead of only 8 colours.

TMR confessed that with the C64 some users were forced to buy second hand disk drives because they were so expensive. The drives ran painfully slowly, and used the old fashioned 5.25” really flimsy floppy disks, which had to be stored in envelopes, and users weren’t allowed to write on the disk labels when the contents changed! They were easily damaged and corrupted, while Amstrad’s disks were quite secure.

I suffered a severe blow to my confidence when my beloved CPC664 was discontinued after only 4 months, as well as serious distractions from CP/M Plus, and put downs from various sources saying that I needed to learn Z80 Machine Code. I started to learn Z80 Machine Code even before buying the CPC664, but I often read letters and articles saying how it was essential to buy “The Concise Firmware Manual” by Amstrad, which I didn’t think I could afford, so that held me back. I eventually got hold of a cheaper book called “The Ins and Outs of The Amstrad” by Melbourne House, then I was suddenly able to read about and use lots of or even any of the many ROM firmware routines, which the C64 had hardly any of, which enabled me to draw lines on the screen in Machine Code.

Whatever new releases have appeared for the C64 since mid February 2015 doesn’t prove anything. The only thing which would make any difference is if someone published an article explaining how to quickly and simply program something on the C64, such as drawing a line across the graphics screen, or playing a little tune without having to remember lots of numbers, or PEEKing and POKEing yourself half to death! Drawing lines and playing little tunes can be done quite easily in BASIC on a Sinclair Spectrum, an Amstrad CPC, a BBC Micro or Acorn Electron, MSX, etc, etc.

One thing I’ve realised in recent years is the absolute necessity of flowcharting. It’s impossible to create anything more than a short, simple program without doing a flowchart first. I read about flowcharts in books, but there were also articles and comments from people like TMR who said that flowcharts didn’t matter, or weren’t that important. Basically, to create a flowchart you use the symbols a circle or a sausage shape to indicate the beginning or end, a rectangle or a trapezoid to represent a stage a program goes through, and a diamond to represent a decision or conditional branch. You write a description of each action inside each symbol. I’ve now realised that the lack of emphasis on flowcharts is what’s prevented me from ever creating a long and impressive program. This applies to the Amstrad CPC664, Atari 8 bit and all other computers. My MSX2 demo of sprite collisions and the later joystick detection which you haven’t seen yet, has now degenerated into a complete mess, due to the lack of a simple flowchart. This means I need to start again, then show you the difference between what can be achieved with a flowchart, compared to the mess made without a flowchart. I could also show you how to do this on a Commodore 128. Of course, I have no idea how to create such a program in Commodore BASIC V2 on the C64!

Lots of countries, or even every country used to have currencies which weren’t at all decimal. These were based on or influenced by different bases of numbering systems, invented by people such as the Babylonians with their base 6 which we still use to measure units of time less than one day. The last surviving of these systems was £ s d, LSD, or Pounds Shillings and Pence, where 12 Pence made 1 Shilling and 20 Shillings made one Pound, so it actually used base 12, base 20, and decimal when it got up to Pound based values, although often goods over £1 had their prices advertised in Shillings. It was used in Britain, Ireland, Australia, New Zealand, and earlier on for at least part of the time in North America. This system was finally abolished in Britain and Ireland in 1971, but had been used by people for hundreds of years, claiming that they had no trouble using it. I think it was a similar situation with the Commodore 64, which people who had previously owned a Commodore PET or a VIC-20 (like TMR) claimed they had hardly problems with at all. Based on this logic, wouldn’t it be a wonderful idea if all countries had a new currency based on hexadecimal instead of decimal? Lots of people are quite good at using hexadecimal and it would encourage people to learn more about computers, so why not?

The aftermath of all these computers with BASIC on ROM instead of an operating system, most of them using either a Z80 or a 6502 CPU, or a CPU which was compatible with the Z80 or 6502, which have now been replaced by PCs or Macs running an OS such as Microsoft Windows, Mac OSX, or Linux, is that lots of people are desperate to program anything at all on a computer in a simple programming language, and even to somehow take control over a computer, instead of the computer denying them access to its hardware. This is the thinking behind the astounding Raspberry Pi computer. Users are recommended to program either in Scratch, which is totally graphic, or in Python, which can easily do graphics, in stark contrast to Commodore 64 BASIC V2 or even C, where most people who start learning these languages will probably get bored and give up because they can’t get any graphics on the screen! This is what happened to me.

So, to sum up, the Amstrad CPC664 computer was an amazing computer aimed at home users, with a cool keyboard in off white and pastel blue, with large diamond shaped MSX style cursor keys, which was killed off after only four months. It could have had a long and bright future, with a price point between the CPC464 and CPC6128, as well as free or cheap official RAM, ROM, CP/M Plus and instruction manual upgrade packs from Amstrad. September 2015 marks the 30th anniversary of its replacement the CPC6128 quietly appearing in shops without even an announcement from Amstrad. I thought I should just mention this, but I won’t be making a post about the CPC6128’s 30th anniversary, because that was how my beloved CPC664 was scrapped, becoming obsolete, while the older CPC464 was allowed to continue.

Amiga introduction 1985

The Amiga being unveiled to the World by Andy Warhol (RIP) and Debbie Harry in 1985

Finally, I’d like to a wish happy 30th anniversary to the Amiga computer again! The Amiga was designed by ex Atari engineers, and was a “super Atari” computer. They planned to sell it to Atari, but meanwhile Jack Tramiel’s price war had turned Atari into a loss making division of Warner Brothers. Jack Tramiel also left Commodore because his sons weren’t allowed onto the board, taking some of the staff with them. The people who remained at Commodore had been indoctrinated into Jack Tramiel’s designs of computers, which from the first PET to the Commodore 128 and the Commodore 8000 series, all used basically the same “Kernal” of ROM text based routines and all used a version of Commodore BASIC, although some had commands for graphics and sound, while others didn’t. Commodore bought the Amiga computer and hired the team who created it, but of course Commodore didn’t understand the Amiga because it was a “super Atari” computer, not a Commodore computer. After this, they were quick to get rid of the Amiga’s creators and got their own Commodore engineers to repackage it into the A500 and A2000 versions. What Commodore couldn’t do was redesign the graphics, sound and other chips, because they didn’t really understand them. All they did was increase the amount of RAM the chips could directly access (Chip RAM) from 512K to 1Mb. Eventually, in 1992 Commodore managed to release an upgraded graphics chip in the new A1200 and A4000, which increased the palette from 4,096 to 16,777,256 colours, with the ability to display at least 256 colours simultaneously, but this was just enough to keep up with PCs, while the sound chip wasn’t upgraded. HAM mode was able to display about as many colours as there were pixels, but this was really only suitable for still pictures. This is how Commodore managed to kill the Amiga computer, which was at least nine years ahead of the competition. It was all thanks to Jack Tramiel.

Posted August 13, 2015 by C64hater in Uncategorized