THE MACHINE LANGUAGE BOOK OF THE COMMODORE 64 – PART 2   1 comment

THE MACHINE LANGUAGE BOOK OF THE COMMODORE 64 – PART 2

The_Machine_Language_Book_for_the_Commodore_64

The book in question

 

Now for another instalment about this amazing book, which wasn’t published or promoted by Commodore at all, but I think copies should have been given away with every Commodore 64 sold. At the very least, I think Commodore should have included a business reply card in each C64 box saying something like “Are you serious about programming your C64? If so, then you need this book! Please register your C64 with Commodore within 28 days of purchase to get a copy of this book at the discounted price of… Meanwhile we hope you enjoy using the built in Commodore BASIC V2, which is designed to produce text based applications only”. This card could also have mentioned some other amazing books by Data Becker/Abacus and by Compute! , where the exclamation mark is actually part of the name.

As I pointed out in the last post of this series, I couldn’t get the LEA Assembler I typed in to work, and couldn’t find a working copy of it for download either, so this means that I’d need to alter the Assembler Directives and syntax slightly to get any of the code in this book to Assemble and run on another Assembler.

The Merlin 64 Assembler seems to be a popular Assembler for the C64. I managed to download a PDF of this, which says that it was published in 1984, so that means I could have bought a copy while I owned my Commodore 64. The Table of Contents lists the Pseudo Opcodes or Directives as EQU (=), ORG, PUT, VAR, SAV, DSK, END, DUM, and DEND. It follows these up with lists of commands for what it calls formatting, strings, data and allocation. Some of these may be necessary, such as TXT, ASC, and .DFB, so I’ll look at the Directives and those other three commands first, then may come back to the several other commands listed in the manual later. The Directives are used as follows. Label EQU expression , or label = expression. Another one is ORG expression , which the manual explains is $8000 by default. This is much lower than the commonly used $C000 which LEA seems to use by default. PUT filename allows the user to place a filename in RAM for assembly at the location of this opcode. DSK filenme will assemble directly to disk. END denotes the end of your source file. TXT “ABC” will Assemble ABC as Commodore PETSCII, but ASC “ABC” will Assemble ABC into standard ASCII. It seems that DFB can be followed by any one byte long numbers or text, or even a list of these separated by commas.

The Machine Language Book of The Commodore 64 doesn’t list any Directives in its Table of Contents, so I’ll have to go through it to find out what they are. I’ve already mentioned in the previous post in this series that = is EQU and .EN is END , though. On page 94 it starts by telling us to define a label as some optional text in the first column. The example given is called simply LOOP , which isn’t followed by anything in that column. After this, we can use BNE LOOP to get back there. Labels can have a maximum length of five characters, which is much better than Commodore BASIC V2 limit of two significant characters for variable names. As I mentioned earlier .EN means that your source code ended with the previous line. The Directive ORG , meaning put the code at the following address, doesn’t seem to be needed, because there’s no mention of this or an equivalent in the first few example programs. On page 99, we learn that labels can also be used to stand for addresses in the memory map. In that case they have to be inputted using all three columns in the BASIC V2 editor. An example of this is VIDEO = $400 , which defines the screen memory as beginning at $400 or 1024 decimal. After this, we’re introduced to the use of *= instead of ORG. The Directive *= is placed in the second column, followed by the address $C000 in the third column. The address $C000 or 49152 decimal seems to be the most commonly used location for storing Machine Language programs on the C64, at least while the BASIC V2 interpreter is still turned on. The book explains that 4K of space is available at that location. It seems there’s a lot you can do with 4K on an 8 bit computer. On pages 100-101, we’re introduced to the Directive .BY , where it’s explained that this is used to store data or text which follows it. I think this would be .DFB in Merlin 64, DB, DEFB, or BYTE or some other Assemblers I’ve read about some time ago, but I can’t remember which ones. I think this knowledge may now be enough to convert some listings from this book for other Assemblers! Examples of .BY given are .BY 100 , .BY $7F , and .BY CR , which I think stands for carriage return, but there’s no mention of if or where this is defined. It may be that .BY is more complicated than similar directives in other Assemblers, because it can also divide a 16 bit value into two 8 bit values using the operators < and > , but I think we’ll leave that til later. Immediate addressing is carried out by prefixing operands with the # character, while zero page addressing is achieved by prefixing operands with the * character. After this, we’re told we now know enough to start using the LEA Assembler.

I’ve recently found a quite obscure book about 6502 Assembly Language and there’s also Jim Butterfield’s book, but I’ve decided to deal with them in a later post.

Unfortunately, it looks like I can’t afford to buy another C128 or even a C64 at the moment, especially as I still need to buy a frying pan, a saucepan, a sharp knife, a plunger, and go for some more badly needed nights out.

That’s all for now! The next stage is for you to absorb what you’ve read and I plan to try and convert some of the source code listings from this book for the Merlin 64 Assembler. Perhaps you’d like to have a go at this yourself.

Posted May 22, 2016 by C64hater in Uncategorized

THE MACHINE LANGUAGE BOOK OF THE COMMODORE 64 – PART 1   Leave a comment

THE MACHINE LANGUAGE BOOK OF THE COMMODORE 64 – PART 1

The_Machine_Language_Book_for_the_Commodore_64

The book that reveals lots of C64 mysteries

You can download a copy of this book from the page http://www.bombjack.org/commodore/books.htm about two thirds of the way down.

My original version of this post, or even of the whole series of these posts, was lost when my laptop was stolen by a schizophrenic bastard madman who had given me shelter under his roof, but then kicked me out on the street to die after just eight days because of his mad fantasies that I had stolen his rail card and was also trying to set fire to his house. Now I’m starting to write it again from scratch.

This is a truly amazing book by author Lothar Englisch published by Data Becker GmbH and republished by Abacus Software Inc about how people could manage to program the Commodore 64 to do lots of things that users of Atari 400/800/XL/XE computers, Apple ][ computers, Acorn computers, MSX computers, and virtually any non Commodore computer could do in BASIC. By that I mean write programs using colour, graphics, and sound which would run on any other computer of the same model or a compatible model. Of course, owners of the Commodore 16, Commodore Plus/4, Commodore 116, and Commodore 128 computers could do these things using their built in BASIC as well, although only the Commodore 128 has a synthesiser chip, while the others have just a tone generator.

Unfortunately, even in the Preface to this book there’s the statement “Many people try to learn it, but most quickly give it up because it is too complicated. Only a few actually use it”! This preface wasn’t written by the Author himself, but by someone higher up, involved with the Data Becker management, so I must assume from that that it’s very likely they know what they’re talking about. This means that most people attempting to learn 6502 Machine Language for the C64 would fail. After that, they probably have to wait for the Data Becker/Abacus BASIC compiler to be released, be lucky enough to hear that it existed, as well as probably buy a disk drive.

The Table of Contents doesn’t actually list everything in the book, but the back cover states clearly that readers will be able “to program high resolution graphics”! This simple statement would have been enough to persuade me, as well as thousands or millions of other C64 owners to buy the book. It includes a BASIC listing for an Assembler called LEA for Lothar Englisch Assembler, which is used alongside a program called UNTOKEN, that allows the user to type in Assembly Language using the Commodore BASIC V2 editor without the Assembly Language mnemonics being mistaken for short versions of BASIC commands, then tokenised and converted into the long versions of these commands. I typed in the whole Assembler, but then found that it didn’t work, so then I ran UNTOKEN, moved the cursor to some lines causing errors and re entered them, then found they worked. Unfortunately, there was another line causing errors, which I couldn’t really read in the book. I tried altering it, but couldn’t clear the error, so that meant I couldn’t get the Assembler to actually Assemble any code. You’re probably thinking now why not just use another Assembler? The answer to that is it’s not that simple, because some of the Directives and other syntax for this Assembler are slightly different to any other Assembler. This means that I need to make a list of Directives for all 6502 or C64 Assemblers, as well as make notes of what different syntaxes may be used before I understand what changes I need to make to the Assembler listings in this book to get them to Assemble and run on another Assembler. Labels are defined by = signs with a certain number of spaces, code ends with .EN , but I’m not sure what else. There seems to be no disk image anywhere for download with the contents of this book typed in. I eventually lost all my data after putting the disks in a suitcase which I couldn’t carry, so I placed it into Left Luggage at Victoria Coach Station, London at the rate of £10 per day. The suitcase was either dumped after a few hours, or destroyed three months later.

On page 167 this book finally gets down to drawing a diagonal line across the graphics screen, using five SYS calls, and four POKEs! This is obviously something that hundreds of thousands, or even millions, of C64 users had wanted to do ever since geting their C64s, otherwise why would it be in the book? This is followed by how to do that and more in Assembler/Machine Language. Later on, there’s even a section about how to extend the crappy Commodore BASIC V2.

Obviously, Commodore should have published a similar book to this one, at at least recommended it to all C64 owners, but AFAIK they didn’t do either of these things.

That’s all for now! I plan to make another post about this amazing book as soon as I can, but this will involve some more research into Directives on different Assemblers, buying a C128 or even a C64, etc.

Posted May 21, 2016 by C64hater in Uncategorized

WHY THE APPLE ][ COMPUTER IS NOTHING TO DO WITH THE COMMODORE 64 BEING CRAP   Leave a comment

WHY THE APPLE ][ COMPUTER IS NOTHING TO DO WITH THE COMMODORE 64 BEING CRAP

(DEBUNKING “CODE NOTES LANTERN OF D’GAMMA”)

AppleII

 

The amazing Apple ][ computer

TMR of the blog “C64 Crap Debunk” has recently been making posts about an Apple ][ demo called “Lantern of D’gamma” https://c64crapdebunk.wordpress.com/2016/05/12/code-notes-lantern-of-dgamma/ , as if this is supposed to somehow prove that the C64 isn’t crap. I’ll try to explain here why this is totally irrelevant to the C64.

The original Apple ][ computer was released in 1977 when people were amazed by any computer at all, but the ones I saw at my local computer club in 1984 were all either the later Apple ][e, or Apple ][europlus models, so I’ll concentrate on that. You can read the specs on http://www.apple-history.com/aiie

The Apple ][e or //e is a very sturdy computer, expandable by using plug in cards, but unfortunately it was too expensive for most people to consider buying at about US$1,395 or about £1,250. It was totally unnecessary for Apple to charge that much, because other companies round the World managed to make much cheaper clones of the Apple ][. All Apple products have been overpriced ever since.

Unfortunately, the basic Apple ][e had only a beeper instead of a synthesiser chip, so it wasn’t what I was looking for. It would have been even more expensive to buy an upgrade on a a plug in card. In the USA, Apple ][e users could plug into a TV and get colour graphics. I thought the computers and their green screen monitors looked quite professional, but I didn’t know that they couldn’t display colour on European PAL TVs without a graphics card.

The Apple ][e had a 32K ROM compared to the C64’s total of 16K ROM, including BASIC and an Assembler/Monitor, but as the system was mainly or entirely disk based, it was possible to load other versions of BASIC and other languages from disk.

Finally, here’s a graphics demo for the Apple ][e written in BASIC, without having to PEEK or POKE yourself to death!

https://www.youtube.com/watch?v=EI8AQrBCLH4#t=268.501

That’s all for now! Another post about how crappy the C64 is will be posted here soon.

Posted May 21, 2016 by C64hater in Uncategorized

How Jack Tramiel and his former company Commodore killed the Amiga computer!   Leave a comment

How Jack Tramiel and his former company Commodore killed the Amiga computer!

TramielGloats

Jack Tramiel gloating at all the mess he’s made

 

I’ll try to keep this post short and sweet, so I’ve used a bulletted list. I think that’s the best way.

jay-miner-1

Jay Miner the visionary with the Amiga computer he designed

 

  • Jack Tramiel bought Atari, the company which was supposed to buy the Lorraine Amiga computer from Amiga Inc
  • Jack Tramiel was only interested in a deal to buy the custom chips from Amiga Inc and not in employing the design team
  • Amiga Inc accepted a deal with Commodore who agreed to let them keep their jobs
  • Jack Tramiel tried to sue Commodore Amiga Inc over the rights for the Amiga custom chips
  • Jack Tramiel’s legal action delayed the release of the Amiga computer
  • Jack Tramiel brought out his own hastily cobbled together Atari ST computer before the delayed Amiga computer
  • Commodore soon kicked out the original Amiga design team because Jack Tramiel taught Commodore all they knew about doing business
  • Commodore’s own engineers didn’t really understand the Amiga
  • The original Amiga of 1985 was several years ahead of the competition but Commodore failed to upgrade it quickly enough so that it fell behind the competition
  • Commodore slashed their R&D budget

 

I think this proves conclusively that Jack Tramiel is responsible for killing the Amiga, leading to the rise of the big business IBM PC compatible computers (now just called PCs) and Apple Macs with home users, but with business software at business prices. You can thank Jack Tramiel for all of that.

KDE1

My Linux KDE Plasma interface

 

BTW, I’m writing this post on a Compaq Presario laptop, which cost me £81 on eBay http://www.xe.com/currencyconverter/  , onto which I’ve installed Linux Mint 17.3 Rosa KDE 64 bit edition, plus the Mac OSX like KDE Plasma interface, Cairo dock, and a Mac OSX theme, so this means I’ve saved a fortune by not buying an Apple Mac laptop.

 

For more details on how Jack Tramiel killed the Amiga click on the following links…

 

http://lowendmac.com/orchard/06/amiga-origin-commodore.html

 

http://classicgames.about.com/od/history/p/The-Life-Of-Jack-Tramiel-Part-3-From-Commodore-To-Atari.htm

 

http://classicgames.about.com/od/history/p/The-Life-Of-Jack-Tramiel-Part-4-The-Atari-Commodore-War.htm

 

That’s all for now! Another amazing post will follow soon.

 

Posted May 20, 2016 by C64hater in Uncategorized

The Commodore 64 Enigma   Leave a comment

The Commodore 64 Enigma

Bueie1d

Can anyone see a Commodore 128 computer, three electric guitars, a music keyboard,  a large satellite dish or any paintings in this builders’ mess?!

Since the destruction of my way of life by a wicked property developer and evil landlords who wouldn’t rent to me I have been considering what to do next. I think that suing the property developer is an option, due to his agreement confirmed in SMS text messages to give me a week to pick up any belongings I may not have been able to remove before the Bailiffs turned up, then the total mess shown above, which the builders caused by moving all my belongings into one of the four rooms, burying it under who knows what, as well as mixing it up in a quagmire of furniture and electrical appliances.

 

Normal service for this blog has now resumed, because I’m typing this post on a new (refurbished) laptop, onto which I’ve installed Linux Mint 17.3 Rosa with KDE Plasma Interface, looking quite like Mac OSX. I’m also in some better accommodation, with a WiFi connection, although the place isn’t as good as the flat I was evicted from. During the last few weeks I’ve cooked my first microwave meal since January, as well as cooking my first Chili con Carne since January and have been making cafetiere coffee for the first time since January too.

 

Unfortunately, the original version of this document was done on my Android phone, using the app Notes, which works fine whenever you haven’t got an Internet connection, although Microsoft Office online and Google Docs don’t always work without a connection, but then I happened to press my thumb down on the end of the document, which made it Select All then immediately Cut and the whole text was deleted without trace, so Android users should watch out for that!  

 

I lost most of my belongings including my Commodore 128 because of the eviction, so I ‘ve been considering how I can get another Commodore 128 or if not what I should do. The problem is that since I bought a Commodore 128 a couple of years ago this model of computer seems to have become rarer and more expensive than it used to be. I could always use a Commodore 64 emulator such as VICE, but that feels like cheating and encourages the use of development packages which simply weren’t available to bedroom programmers during the time period 1984 to 1985 when I owned a Commodore 64. I’ve just installed WinVICE onto Linux Mint and it runs under WINE.

 

I bought my Commodore 128 from eBay Germany. Most Commodore 128 computers which I’ve seen on eBay recently seem to be located in the United States instead of Germany or elsewhere in Europe, so this creates problems for me, due to the fact that they wouldn’t be compatible with my EU 230V 50Hz mains power supply, as well as the difficulty of finding a compatible TV or monitor, meaning an NTSC TV or a 60Hz monitor. Of course, while the Commodore 128 and Commodore 64 were being produced, the mains power supply in Britain was 240V and 220V on the Continent, but this didn’t make any real difference. This situation with it being more difficult to buy a C128 has led me to consider the possibility of buying a real Commodore 64 computer instead!

C64G1

A Commodore 64G

 

If I bought a Commodore 64 computer it would have to be a Commodore 64C, instead of the older bread bin model which I had before. Even a Commodore 64G model wouldn’t be different enough.

Commodore64Beige

A breadbin C64 with beige function keys like the one I owned

 

 

https://www.youtube.com/watch?v=ASfAPOiq_eQ

How The Enigma Machine worked

 

My  whole experience with the C64 makes me think of the WWII Nazi encryption machine The Enigma. Both machines produce incomprehensible code and both were created by evil people. The Commodore 64 is truly an enigma, due to Commodore manuals which hardly mention the graphics screen, online BASIC V2 courses which claim that hires graphics is beyond their scope, etc. It could be said to be a follow up to the Enigma machine, although the Enigma could be easier to understand, because it uses much older, therefore simpler technology than the Commodore 64, such as rotary wheels instead of chips, but don’t forget that lots of memory locations on the C64 can be either ROM or RAM.  Commodore left people to guess about lots of facilities. I previously wrote that it was impossible to access 64K on the C64, because that was one of the many mysteries which Commodore created, leading people to think it was impossible, as well as a big secret on how to detect the joysticks, as Sheldon Leemon wrote in a “Compute!” book. Even so, using the whole 64K on the C64 requires programmers to turn off not only the BASIC ROM, but also the Kernal, and the Character ROM to free up 16K, then they have to make up some kind of replacements for the contents of those chips in their actual program, like reinventing the wheel. For more details see http://www.atarimagazines.com/compute/issue32/112_1_COMMODORE_64_ARCHITECTURE.php

 

Another big problem with the Commodore 64 is that its built in BASIC V2 can’t deal with hexadecimal numbers, so that all the numbers to PEEK and POKE seem to be almost random, but when you see these numbers in hexadecimal instead of decimal, it immediately becomes clear there’s a pattern to them. Atari BASIC can’t handle hexadecimal numbers either, but doesn’t require nearly as many PEEK and POKE commands as Commodore BASIC V2.

 

https://www.youtube.com/watch?v=fmrtU7qsccM

“You Might Think” demo (1984)

 

TMR continues to post notes about demos and produce cloned versions of them, but this isn’t relevant because there were no demos in 1984 except perhaps one I’ve found called “You Might Think”, which was music only. Apart from this, he doesn’t explain how to get to that level of programming, but admits that it’s not for beginners. The only clue from him is that if you tried to program the C64 in your bedroom for long enough, then you’d succeed. Music was the very kind of thing I was hoping to do on my C64, but Commodore and Jack Tramiel made it impossible for me, although it was fairly easy to fry chicken breasts even with the pan spitting fat at me, bake cakes from pre packaged mixes with instructions on the back, etc, etc.

ToshibaMicrowave

The same model of Toshiba microwave my family used for several years

 

I had a few frustrating times while learning to cook, but nothing as bad as the C64. I thought that when cracking eggs into a pan to fry it was just pure luck whether the yolks broke or not, but then I found that you have to hold them not too high up from the pan when cracking them to avoid them breaking. If you start frying two eggs within seconds of each other, then they’ll be ready at the same time, so long as you remove the first egg from the pan first, unlike trying to play polyphonic music in Commodore BASIC V2, for example, where it seemed impossible to get the different sound channels to keep time with each other. Unfortunately, my Mum’s wrong instructions about how long to wait to defrost a chicken breast from the freezer or how long to defrost it in the Toshiba microwave caused me to miss the pilot episode of the sitcom “Mr Merlin”, which was never repeated, but there were no real disasters. The microwave in question had a digital display which was actually printed on rotary wheels instead of the more modern LED displays, but this was much better than just a dial with times printed round its edge because the cooking times could be programmed very accurately. We used that Toshiba microwave for several years, instead of having to sell it ASAP. This was because the manual wasn’t gibberish and it didn’t have to be programmed in Japanese or Commodore BASIC V2! If it actually did have to be programmed in Japanese or in Commodore BASIC V2, then you can bet there would be some smart alecs out there saying they could do it, so that in some way proved that anyone could do it. BTW, I advise everyone reading this to set an alarm if you’re drinking strong alcohol while boiling some rice in a saucepan, otherwise you could fall asleep, then wake up to a burning smell, and ashes in a ruined saucepan!

 

One way of “fixing” the Commodore 64 could be to plug in an Assembler cartridge so that it boots into the Assembler, but then you’d need to read some articles or books about some Assembly Language/Machine Code which produces some graphics and/or sound effects, which there didn’t seem to be many examples of back in 1984 when I was struggling with this. Quickly filling the text screen with occurrences of the same character, like in “Your 64” magazine, wasn’t much use. I don’t remember ever hearing of or seeing “The Commodore 64 Machine Language Book” by author Lothar Englisch for Data Becker/Abacus, which was certainly an eye opener for me when I downloaded it last year. More about this amazing book in another post soon.

 

https://www.youtube.com/watch?v=bIK3OYnD9MY

Sebastian (1968)

 

I think that code breaking, such as that done by Alan Turing and his team on the Enigma machine is inspiring. There have been plenty of films and documentaries about Turing recently, so above is a link to a half remembered Dirk Bogarde film called “Sebastian” I once saw, which could be a big inspiration to people trying to work out how the hell anyone could program the C64.

AlanTuing

Alan Turing (1912-1954)

I hope I’ll be inspired by the example of Alan Turing and his team to crack the Commodore 64 enigma!

 

 

 

Posted May 20, 2016 by C64hater in Uncategorized

TMR CAN’T COOK!   Leave a comment

TMR CAN’T COOK! 

Currywurst

A typical Currywurst (drool!)

In one of his recent posts entitled “Where to, guvnor?” (“Guvnor” is a term used in Britain by certain people who think that their customers are totally superior or of a higher class to them)  https://c64crapdebunk.wordpress.com/2016/01/17/where-to-guvnor/ TMR, the blogger behind “C64 Crap Debunk” mentioned that he can’t cook, or hardly at all. His exact words were…

“Your correspondent is a truly appalling cook and, although he’s just about capable of the basics, would expect anybody else to simply laugh at his opinion of what they’re doing in the kitchen;”

This is an amazing revelation! Now we can assume from this that C64 programmers are not only excellent at maths, but we can look into this new revelation that they can’t cook either!

TMR then went on to say…

“so why the author, as someone with no real programming knowledge, would expect to be taken seriously when writing about said subject is a mystery.”

This is actually quite simple to explain. The reason is that I’m playing a role like the character Jo Grant in classic Doctor Who (Third Doctor/Jon Pertwee era) https://www.youtube.com/watch?v=erx8RbignFs  , instead of the role of Liz Shaw from the same era. Liz Shaw was a qualified scientist, who tried to talk to the Doctor about technology on his own level, but most of the audience couldn’t understand what they were talking about. Jo Grant however, started off by telling the Doctor that she’d taken an ‘A’ Level in science, but then later admitted “I never said I passed!” This was so The Doctor would have to explain things to her to help the audience understand the technical terms The Doctor was talking about. What this means is that while TMR is just showing off as a know it all about programming the Commodore 64, I’m telling the vast majority of people how they might be able to learn to program it to do simple things, in spite of the shitty Commodore manuals.

Chili

Chili con Carne (yum yum!)

As for me, before the Commodore 64 came out, I was already cooking fried chicken breasts and baking cakes, so this explains why my brain wasn’t capable of programming the Commodore 64 in BASIC V2. Later on, I cooked potato, cheese and onion bake from a Toshiba microwave cookbook, then after abandoning the C64, I went on to creating my own BSE free recipes for Chili con Carne, and Spaghetti Bolognese, and even managed to assemble the ingredients for and cook a Currywurst, which a Danish/German woman from Flensburg said tasted quite authentic. This means I have no chance of ever coding a C64 demo, so I could only do the graphics, the music and cook the coders some of the  dishes mentioned above so they don’t have to live on fast food while coding!

commodore_c64_hr_2s

The type of Commodore 64 I owned (Yuck!)

TMR has spent quite a lot of time recently posting about C64 demos, but during my time as a Commodore 64 owner, I never heard about any demos at all, so I certainly wasn’t planning to create any. There may have been some official Commodore dealer demos, as well as a kind of demo of sprites and music on an official Commodore tape, bundled with my C64 or in the Introduction to BASIC course, but that’s it. If these demos required a disk drive, then obviously I couldn’t have loaded them. As far as I’m concerned, the type of demos he’s talking about only started with the Amiga and Atari ST computers. A further revelation about this was recently made by TMR, when it turned out that the first demos he ever saw weren’t actually released until 1986. This means that he never saw any demos during the period of time when I owned a C64.

 

That’s all for now! Look out for another revalation from me soon!!

 

 

 

 

Posted April 2, 2016 by C64hater in Uncategorized

SUMMING UP: WHY THE COMMODORE 64’S BASIC V2 WAS CRAP AND HOW SOME PEOPLE MANAGED TO PROGRAM THE C64   Leave a comment

SUMMING UP: WHY THE COMMODORE 64S BASIC V2 WAS CRAP AND HOW SOME PEOPLE MANAGED TO PROGRAM THE C64

screenshot

I was working on an amazing post explaining how to draw lines on the Commodore 64 in Assembly Language. This technique could have been used to enable people to create wire frame graphics, like in the amazing, ground breaking game Elite, created on the BBC Micro, with its beautiful BBC BASIC language, containing procedures, REPEAT…UNTIL loops, long meaningful variable names, and a built in Assembler, allowing lines of Assembly Language to be mixed with BASIC in the same program.

The article I was working on was based on a listing in “The Commodore 64 Machine Language Book” by Data Becker/Abacus. Unfortunately, this document was on my laptop which was stolen/thrown away by the same technophobic bastard I was staying with who threw me out on the streets to die after eight days. I should have kept a backup somewhere, even storing it on a cloud system. I’m now typing this on an Android phone with a 10cm screen using Microsoft Office Online and Google Docs and saving it by uploading to Outlook Microsoft Word Online as well as Google Docs. Unfortunately, Microsoft Office Online for Android doesn’t seem to have a Select All function!

Now, let’s get down to summing up why the Commodore 64’s BASIC V2 was crap and how some people managed to program the C64. I decided to write this in the form of a bulletted list, but I don’t know if I can format it like that on my Android phone.

Why The Commodore 64’s BASIC V2 Was Crap

  • It was an old BASIC available to Commodore at no extra charge under their perpetual licence from Microsoft bought FIVE YEARS PREVIOUSLY
  • Commodore founder Jack Tramiel was a miser
  • Commodore wanted to screw more money out of Commodore 64  owners by selling them cartridges,  such as “Simons’ BASIC” and “Super Expander 64”,  containing the missing commands,  but not even allowing them to create stand alone software
  • Commodore/Jack Tramiel  were too miserly to pay Microsoft any more money for an updated BASIC, unlike Tandy/Radio Shack, Dragon and the MSX Consortium
  • Jack Tramiel refused to pay a fee for BASIC for each computer sold because “I’m already married”
  • Jack Tramiel’s experience of being an Auschwitz survivor gave him the attitude business is war
  • Jack Tramiel was obsessed with destroying his rivals such as Texas instruments and Atari

How some people managed to program the Commodore 64

  • They had lots of experience using mainframe computers before microcomputers even came out (e.g. Jim Butterfield)
  • They had  owned an older Commodore computer which was less complicated than and partly compatible with the Commodore 64 (e.g. TMR, Jim Butterfield, Jeff Minter)
  • They didn’t pay much attention to the official Commodore 64 manuals telling them that they were supposed to program in BASIC V2 PEEKing and POKEing any numbers from 0 to 255 to five digit memory locations (most C64 programmers)
  • They were autistic (not many people like to admit they’re autistic, hence the lack of names)
  • They were excellent at maths (TMR)
  • They bought one or more really informative books by Data Becker (republished by Abacus) or Compute! instead of crappy books by Sunshine or someone else
  • They bought a Commodore 64 much later than 1984 when a lot more details of how to program it and software tools as well as cheaper disk drives were available (most Commodore 64 owners)
  • They learnt to program in BASIC, then 6502 Assembly Language on a non Commodore computer, such as the Acorn Atom, BBC Micro, Acorn Electron, Apple II, or Atari (eg Paul Roper, Dave Braben)

I hope you’ve enjoyed this post, written entirely on my Android phone*, then posted using the WordPress app. That’s all for now. I hope to make another post soon.

*Although the post above was written on an Android phone, it later had some headings emboldened, as well as bulletted lists added using the WordPress editor

 

Posted March 19, 2016 by C64hater in Uncategorized

Follow

Get every new post delivered to your Inbox.