Archive for March 2014

DE DE DE DEBUNKING “SECRET SQUIRRELS”   Leave a comment

DE DE DE DEBUNKING “SECRET SQUIRRELS”

CPC664Mar121985 was the year I got an Amstrad CPC664 and I certainly wasn’t reading any more about programming the Commodore 64!

As I warned him before, TMR has dared to criticise my last DE DEBUNK, so now I have to DE DE DE DEBUNK him! You can read what he said on http://www.c64crapdebunk.wordpress.com , but you’ll need a good sense of humour!

As I mentioned previously, lots of people were buying computers in 1984 and they expected documentation to be available for them! I was shocked by all the PEEKs and POKEs required to get the Commodore 64 to do graphics and sound, which was possible by using commands such as DRAW, LINE, DRAWTO, PLOT, COLOUR, COLOR, INK, PAPER, etc on non Commodore computers. I tried very hard to cope with this system, but after several months of what felt like banging my head against a brick wall, I had to give up. Why make life more difficult for myself when I could just buy another computer which was relatively easy to program?

The book “Progamming The Commodore 64: The Definitive Guide” came out in April 1985, according to Amazon as pointed out on http://www.amazon.co.uk/Programming-Commodore-64-Definitive-Guide/dp/0950765023/ref=sr_1_2?ie=UTF8&qid=1394478900&sr=8-2&keywords=Programming+the+Commodore+64 . This means it was simply TOO LATE for me!

Amstrad_CPC_464_advanced_user_guideA book I read in 1985, because my CPC664 was compatible with the CPC464

Raeto West had previously written a book called “Programming the PET/CBM”, which came out in January 1982 http://www.amazon.co.uk/Programming-PET-Raeto-Collin-West/dp/0950765007/ref=sr_1_1?s=books&ie=UTF8&qid=1394479076&sr=1-1 . Using his knowledge of the much more simple PET gained over God knows how long a period of time, he was able to find out how to program the Commodore 64, which used the 6502 CPU, compatible with the C64’s 6510 CPU, as well as a compatible ROM based OS called the “Kernal”. Most Commodore PET computers even had a Monitor built in.

While we’re on the subject of the PET, here’s something to consider. In late 1980, I saw a documentary (possibly on the BBC TV series “Horizon”) featuring computers including a sequence where a Japanese team had written a program to translate simple business letters into any of several languages and I remember I was really interested in this program which I think was running on an 80 column green screen display. It could display not only the western alphabet, but also Japanese, as well as Russian characters. Unfortunately, at that time, computers were quite expensive and I think my Dad was probably too mean to consider buying one, although he was quite interested in new technology and we hired a video recorder just before Christmas 1979. I never heard of the Sinclair ZX80 until years later. As they were Japanese, I think it’s likely that the team had written this translation program on an NEC PC-8000, although obviously I can’t be sure about this. Although lots of people thought the Commodore PET was OK, so long as you only wanted to display text, it had other problems. the NEC PC-8000 could display graphics at a resolution of 160×100 pixels and in 8 colours. It also ran N-BASIC, which was a 24K version of Microsoft BASIC, while the Commodore PET was stuck with the older 8K Microsoft BASIC. According to “What Micro” magazine, the NEC PC-8000 was available in Britain during 1983 for £397, compared with the cheapest Commodore PET style computer, the Commodore 4016 for £632, and the Commodore 64 at about £339-£345. Apart from this, according to http://en.wikipedia.org/wiki/Commodore_PET the Commodore PET didn’t allow users to redefine its character set, so in that case, it wouldn’t have been possible to display Japanese or Russian characters on a PET, unless it was one of the special Japanese models sold in Japan, but even then it wouldn’t display Russian characters! This means that if anyone was inspired to do translations from English or other western European languages into Japanese, Russian, or any other language using a different alphabet, then they’d have been totally let down by the Commodore PET. The NEC PC-8000 could at least do graphics and use the BASIC commands GET and PUT to manipulate graphics on its screen. I’m not sure if it could redefine its characters. Atari computers COULD redefine their characters, though.

Advertisements

Posted March 12, 2014 by C64hater in Uncategorized

DE DEBUNKING “SECRET SQUIRRELS”   Leave a comment

DE DEBUNKING “SECRET SQUIRRELS”

ProgrammingC64DefGuideThe amazing book I couldn’t read!

(To read where TMR first mentioned it, visit http://www.c64crapdebunk.wordpress.com )

For some time now I’ve been busy at work on some more articles which will be posted here soon, including continuations of the series about LOGO, as well as DRAWING THE LINE, and even an exposé of the buyers’ guide which convinced me it was OK to buy a Commodore 64. They will be named and shamed! In the meantime I thought I should take this opportunity to de debunk TMR’s post “Secret Squirrels”. Better late than never!

Obviously, as people who have read much of this blog already know, I got a Commodore 64 in about April or May 1984, but couldn’t avoid being exposed to and using the BBC Micro with its advanced Pascal/Comal influenced BBC BASIC during the same time period as well. Due to all the frustration trying to program the Commodore 64 caused me, I was totally and thoroughly sick to death of it before the end of 1984. By that time, I had read a lot of magazines and made various visits to department stores in the West End of London, as well as Silica Shop in Sidcup, SE London, where I was drooling over and programming BBC Micros, Acorn Electrons, MSX computers, Amstrad CPC464s, and Atari 8 bit computers. I got some books about BBC BASIC from my local library, but I don’t remember seeing any books at the library about the Commodore 64. Perhaps my local library didn’t have any, but at least this shows I was looking around there. Later on, I borrowed books from the library about CP/M, to help me with CP/M on my Amstrad CPC664, and “Running MS-DOS” by Van Wolverton, Microsoft Press, as a new skill or even a passport to employment, so this shows I was using the library a lot. Of course, by the time TMR’s recommended book “Programming The Commodore 64: The Definitive Guide” by Raeto West came out in about April 1985 (in the USA anyway), I had either already sold my Commodore 64, or at least I was no longer interested in making any further attempts to program the Commodore 64, due to all the stress it had caused me, as well as the fact that I knew that Commodore had reused an old BASIC because they didn’t care. I would rather have watched paint dry, stuck pins in my eyes, or walked over red hot coals! Apart from all that, the book was published by “Compute!”, which I’ve already mentioned I had never heard of when I owned a Commodore 64. This explains why I never even read any of that book at a newsagent, a bookshop, or a library in 1985 or later. At that time I was busily reading magazines such as Amstrad Computer User, Computing with the Amstrad, MSX Computing, and MSX User. These magazines all mentioned interrupts from BASIC, as well as Z80 Assembly Language/Machine Code. Neither of these facilities was available on the Commodore 64, apart from Z80 Assembly Language to users with early production Commodore 64 models which were compatible with the CP/M Z80 cartridge.

ProgC64DefBLACKAnother edition of the same book

After downloading and reading most of the book “Programming the Commodore 64: The Definitive Guide” recently, I can tell you that like other books published by “Compute!”, it’s quite detailed and well written, but it seems that Raeto West is an expert on “Commodore computers”, so that suggests he learnt about the Commodore 64 in the same way as Jim Butterfield and others, by first of all studying the Commodore PET and/or VIC-20. It takes the book until page 201 out of about 611 pages to start teaching 6502 Assembly Language/Machine Code, but they even include a type in listing for the program Supermon, which the “Compute!” Proof Reader or MLX program will check after each line is entered to guarantee no errors. In spite of the title, it seems to me that it’s not really the definitive guide to programming the Commodore 64, because it doesn’t contain all the information I’ve previously listed in my post about the semi secret stash of information on programming the Commodore 64. Bitmapped graphics only gets a total of 9 pages, although for lots of people this is the most interesting aspect of a computer. The book contains a very annoying statement about a deliberately planned design fault of the Commodore 64 done just to save money. This is that although Commodore PET computers needed a time consuming, troublesome, and expensive ROM upgrade to fit a new, debugged version of BASIC, this wasn’t “necessary” on the Commodore 64, because the BASIC could be copied from ROM into RAM, the BASIC ROM disabled, then the RAM BASIC edited or extended. This is exactly what was WRONG with the Commodore 64!!!! It was crying out for a BASIC ROM upgrade ever since it was first shown at the CES!!!! Following this logic, Commodore should have supplied cassettes or disks of upgraded versions of their crappy BASIC V2 to all Commodore 64 owners who had registered with them.

AtariGraphicDifferenceAn ad from 1981 where, in the bottom right of the page, Atari offer technical notes for the fee of $27

TMR goes on to criticise Atari for not releasing any proper documentation for a couple of years. However, as the first Atari computers came out in 1979, this didn’t affect many people. Atari released more information called the “Technical User’s Notes” for $27 in 1981. Meanwhile, at least these early adopters had Atari BASIC, Atari LOGO, etc, which enabled them to do all kinds of things with their Atari computers.

The MLX Machine Code Loader program used by “Compute!” in their magazines and books is a sophisticated program that checks every single line of Machine Code against a checksum before accepting it. This means that errors couldn’t creep into users’ programs. I think this program would have been even better if it had used hexadecimal numbers instead of decimal, though. Using decimal instead of hexadecimal was a limitation of the crappy Commodore BASIC V2, but the program MLX was already quite long, so including a routine to accept hexadecimal numbers wouldn’t have increased its length by all that much. I’ve seen a routine which enables this in another book about the Commodore 64.

I hope TMR won’t DE DE DE debunk this post, otherwise I may have to DE DE DE DE debunk him!

Posted March 8, 2014 by C64hater in Uncategorized