Archive for August 2012

Sinclair BASIC v C64 BASIC   Leave a comment

Commodore 64 BASIC (Commodore BASIC V2) v Sinclair Spectrum BASIC.  While Commodore 64 BASIC had only 71 keywords (commands, functions, and statements), Sinclair Spectrum BASIC had 86 keywords.

List of Sinclair Spectrum BASIC commands

ABS, ACS, AND, ASN, AT, ATN, ATTR, BEEP, BIN, BORDER, BRIGHT, CAT, CHR$, CIRCLE, CLEAR, CLOSE#, CLS, CODE, CONTINUE, COPY, COS, DATA, DEF FN, DIM, DRAW, ERASE, EXP, FLASH, FN, FOR, FORMAT, GO SUB, GO TO, IF, IN, INK, INKEY$, INPUT, INT, INVERSE, LEN, LET, LINE, LIST, LLIST, LN, LOAD, LPRINT, MERGE, MOVE, NEW, NEXT, NOT, OPEN#, OR, OUT, OVER, PAPER, PAUSE, PEEK, PI, PLOT, POINT, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN, RND, RUN, SAVE, SCREEN$, SGN, SIN, SQR, STEP, STR$, TAB, TAN, THEN , TO, USR, VAL, VAL$, VERIFY

I don’t understand all these commands, because I’ve never owned a Spectrum, but I can point out the all important ones for colour, graphics, and sound.

BEEP, BORDER, BRIGHT, CIRCLE, DRAW, FLASH, INK, INVERSE, PAPER, PLOT.

Although the early Spectrum models could only produce monophonic beeps of different pitches, compared to more sophisticated notes, or even 3 note polyphonic synthesised music on other computers, at least the Spectrum had a dedicated BEEP command to do that. Of course, the Commodore 64 required various PEEKs and POKEs followed by 5 digit memory locations, followed by a comma, then any number from 0 to 255 to play notes, draw lines, define sprites, read joysticks, etc, etc. It was virtually impossible to play more than one note at a time using Commodore 64 BASIC. Even my attempts to modify a program which included a machine code routine to play 3 note polyphonic classical music failed miserably. That was when I realised I may as well have bought a monophonic Acorn Electron instead. During my 10-11 months in Commodore 64 hell, I saw an ad for an add on chip for the Spectrum, which gave it 3 channel sound similar to various other computers, probably using the General Instruments AY-3-8910 or 8912 chip. The 8912 chip could apply a different sound to each of the 3 channels, while the 8910 chip was limited to each of the 3 channels playing the same sound, although some variation could be generated by adding a “noise” effect to one or more of the channels.

Another amazing feature of Sinclair Spectrum BASIC was the command PRINT AT [y,x] . Strictly speaking, this wasn’t for graphics, but it enabled the user to specify the VERTICAL y as well as the horizontal x coordinates of a character to be printed on the screen. This enabled a custom UDG (user defined graphic) character to be positioned anywhere on the screen quite easily, as well as having its coordinates checked against other characters to help detect collisions in games. The Commodore 64 just had the PRINT TAB x command, which only allowed the x coordinate to be specified. Positioning a character vertically required the user to create a string of cursor up or down control characters, then use the command LEFT$, MID$, or RIGHT$ to extract some of these to position the character vertically! Of course, it seems that ALL non Commodore computers had the command PRINT AT [y,x] , PRINT TAB [x,y], LOCATE [x,y]:PRINT , or its equivalent.

Advertisements

Posted August 8, 2012 by C64hater in Uncategorized

Commodore 64 exposed on Wikipedia!   2 comments

nullSimon's BASIC

The relevant Wikipedia article about how Commodore expected C64 users to pay good money to fix their messed up antique BASIC and then not even be able to run these programs on any C64 whose owner hadn’t also paid for what was already built in on nearly  all other computers is here  http://en.wikipedia.org/wiki/Super_Expander_64 . I never even heard of it when I owned a Commodore 64. Commodore also marketed Simon’s BASIC, which was on a cartridge and seemed to be the most widely known extended BASIC, but lots of third party extended BASICs were available. I never heard of any extended BASIC which compiled programs, creating stand alone code. That would probably have required a disk drive, but the Commodore 1541 disk drive cost more than the f*ckin’ computer itself, so it made sense just to sell this pile of crap and buy an Amstrad CPC, a BBC Micro, an Acorn Electron, a Sinclair Spectrum,  an Atari 400/800/XL, a Dragon, an Oric, or any computer at all which wasn’t made by Commodore!

Posted August 6, 2012 by C64hater in Uncategorized

C64 magazine exposé!   Leave a comment

 

There was a computer magazine called “INPUT” designed to teach readers  how to program in the language BASIC, which was built in on ROM to nearly all “home computers” of the early 1980’s, with the exception of the Jupiter Ace, which had the language Forth on ROM instead.
INPUT magazine was published in 52 instalments  which built up into a kind of encyclopedia. Binders were available for it. I really regret that the first issue I bought was No. 4 and I didn’t get my hands on No. 3 until years later. In that issue, INPUT exposed the Commodore 64 as having an inferior BASIC to all other computers which they had program listings for. These computers were the Sinclair Spectrum, the BBC Micro and Acorn Electron (both using BBC BASIC) and the Dragon computer. Apart from this, they pointed out that some of their programs would also run on the Sinclair ZX81, Commodore VIC-20, and Tandy Colour Computer. In practice, MOST or even all of the Dragon listings ran on the Tandy, a lot of the listings also ran with some modifications on the ZX81 and Commodore VIC-20.

Issue No. 3. of INPUT had a feature called “HOW TO PLOT, DRAW, LINE AND PAINT”. This contained a short explanation saying that the Commodore 64 had no provision for accessing its “very sophisticated” (i.e. high resolution) graphics facilities from BASIC. To do that, you had to buy an add on cartridge called “Simon’s BASIC”. This provided Commodore 64 owners with the commands that were built in to all other computers, with the exception of the Commodore VIC-20, so it was the SECOND time Commodore had pulled this dirty trick. Obviously, Commodore should have provided these cartridges free of charge to all Commodore VIC-20 AND Commodore 64 owners!

 

 

Posted August 5, 2012 by C64hater in Uncategorized

Commodore 64 roots   Leave a comment

The roots of the Commodore 64 problem were twofold.
1. Jack Tramiel, founder of Commodore (who later left an took over Atari’s computer division, but not Atari Games), bought a version of the programming language BASIC from Microsoft for a one off flat rate fee of US$25,000 instead of US$3 per unit. This allowed Commodore to use it as much as they liked, no matter how many computers they sold. The deal took place in 1977 or even earlier! The version of BASIC that Commodore bought from Microsoft wasn’t customised for any particular computer and may have been just Microsoft 6502 BASIC, written for the 6502 processor before anyone had even built a computer to go round it! This BASIC, obviously had no commands for colour, graphics, or sound. Other   manufacturers, such as Apple and Tandy had the common decency to add commands for colour, graphics, and sound, as much as these could be applied to the very limited hardware of the time. Tandy’s first computer came with a B&W monochrome display, but included the commands SET and RESET to plot and unplot points on the graphics screen, and this was back in 1977! Apple started with their own versions of BASIC, including graphics commands, but then had some different graphics commands written into the Microsoft BASIC they called Applesoft BASIC. Commodore just didn’t bother and couldn’t have cared less!

2. Commodore released a games console called the Max in Japan only. This console failed miserably, but instead of forgetting all about it and cutting their losses, they had the cheek to use its custom chips VIC II  (graphics) and SID (sound) in another version which they claimed was a computer. This they called the Commodore 64!

http://www.northnet.org/rayzor/cbm/max.html

Posted August 5, 2012 by C64hater in Uncategorized

Why was the Commodore 64 such crap?!   14 comments

I hope to sum up in this post why the Commodore 64 was such crap, then go into more detail later on. Here’s a list of reasons why it was crap.

1. It was a revamped version of a failed games console called the Commodore Max, which was only released in Japan. It should never been marketed as or called a computer.

2. It didn’t have 64K RAM. There may have been 64K of RAM chips in the Commodore 64, but it was impossible to access 64K RAM, no matter what programming language you used, due to gobbledegook excuses such as “some memory locations can be RAM or ROM” and “some chips overlay portions of the RAM”. WTF?!

3. The version of BASIC on the Commodore 64 wasn’t even written for the Commodore 64, but recycled from years before. It was standard PET BASIC, as used on Commodore PET computers from 1977 onwards! It was V2 of this BASIC, but that made no real difference. In 1977 or 1978 hardly any individuals owned a computer, only companies and governments. People in those days were amazed to have a computer at all. By 1982 when the Commodore 64 came out, things had changed a lot, thanks partly to cheap Sinclair and Acorn computers, and people had higher expectations of what they wanted to do with a computer. Unfortunately, they wouldn’t be able to do these things with Commodore 64 BASIC, which was stuck firmly back in the 1970’s, had only 71 commands, none for colour, graphics, or sound. The on board Commodore 64 BASIC, on ROM like almost all other computers, never had any commands added to it, which could have been done with a ROM upgrade. ROM upgrades were offered by Sinclair, and Atari, amongst others.

Posted August 5, 2012 by C64hater in Uncategorized

Commodore 64 crap!   Leave a comment

This is the blog Commodore 64 crap. It exposes how and why the Commodore 64 was crap and just a games console masquerading as a computer. I had the misfortune to buy a Commodore 64 as my first computer. I had to sell it 10-11 months later with some books and software for about half price of the total.

Posted August 5, 2012 by C64hater in Uncategorized