Archive for October 2014



MSX2bootAn MSX2 boot screen

I’ve decided to expand the scope of this blog now to look beyond my personal period of Commodore 64 hell of 1984-1985 to what happened after that and what might have been. This is all still to do with programming, as well as creating graphics and sound, though.

I must just briefly mention the last post by TMR of the blog , though. In his de de debunk called “Intro to BASIC – The Aftermath” on he had the cheek to claim that it wasn’t possible to write any commercial software in BASIC, in spite of the “Cassette 50” compilation he mentioned, the many BASIC type in listings that were published while I owned a C64, as well as him often reminding me about a compiler I never even heard of at the time I owned a C64, and ignoring my previous revelation that there was an excellent course published in an MSX magazine which taught me how to convert between different dialects of BASIC, including converting screen coordinates. He then repeated his usual delusions that the Commodore 64 was something other than a set of Commodore PET ROMs cobbled together with 64K of RAM chips, plus a graphics chip and a sound chip tacked on to this collection of mass produced trash. The fact is it WASN’T any more than that. End of story!

The following information has been compiled from my memories of a computer show in London, probably at Earl’s Court Olympia, as well as from reading the British magazines “MSX User”, “MSX Computing”, a SONY manual about MSX BASIC 2.0, as well as the Dutch “MSX Computer Magazine” of the mid 1980’s. I also used to own a Yamaha CX5M Music Computer, which was one of the original MSX or MSX1 standard computers and WAS released in Britain as well as the USA. It certainly isn’t a collection of rumours or half truths “cherry picked off the Internet”!

The original MSX standard had been well designed around tried and tested technology, but revamped with the addition of external, easily accessible, cartridge/expansion slots, instead of the internal expansion slots found on the Apple ][ and IBM PC computers, although Apple ][ and IBM PC owners preferred internal cards. They wiped the floor with the C64’s “user port”. It was equipped with MSX BASIC 1.0, which was even more powerful than BASICA or GW-BASIC on the IBM PC, supported the MSX hardware configuration (unlike Commodore BASIC V2 on the C64), and could even perform interrupts from BASIC, while C64 owners like me were left wondering WTF an IRQ was. IMHO MSX BASIC is one of the best BASICs, sharing joint first place with BBC BASIC (which had procedures, long variable names, and REPEAT… UNTIL loops), and Amstrad’s Locomotive BASIC (with long variable names and WHILE… WEND loops, as well as interrupts). MSX BASIC lacks procedures and long variable names, though. Of course, it was essential in these early days of 8 bit home computers that all computers were supplied with a programming language that was easy to learn and supported their hardware. People unlucky enough to buy a computer with an unnecessarily complicated language, or a language which didn’t support their computer’s hardware would probably be put off the whole idea of programming. Once this standard had been set in 1983 and established, it was possible to take things much further with the backwards compatible MSX2, including more detailed graphics, a 512 colour palette, 80 column text, more video RAM or VRAM, and more system RAM. One of the main features was that it was backwards compatible, meaning that users of the original MSX1 computers wouldn’t have to forget about or throw away their MSX1 peripherals or software, unlike with most other computers of the time.

The official minimum specs for MSX2 were as follows. At least 64K main RAM (but sometimes supplied with 256K RAM), at least 64K VRAM (often supplied with 128K VRAM), 32K BASIC/BIOS and 16K subROM with MSX BASIC 2.0 or 2.1, Yamaha V9938 VDP video chip allowing SCREEN modes of 0-8, with up to 256 colours on screen at once, or up to 512×212 graphics with 16 colours from a palette of 512, as well as 16 colour multicoloured sprites, and real time clock with rechargeable battery. The original Atari 520ST only has 3 graphics modes of 320×200 with 16 colours from a palette of 512 colours , 640×200 with 4 colours from a palette of 512 colours, and 640×400 in mono. A disk drive was often built in to MSX2 computers, but not as standard. It really pushed the 8 bit Z80 CPU to the limit, until MSX2+ that is! This meant that it wasn’t necessary to buy a 16 or 32 bit computer to perform a whole host of tasks, but there was a lot of hype at the time about why people “needed” 16 bit or 32 bit computers, as well as criticisms that the IBM PC with an 8088 CPU was actually only 8 bit, while the Apple MacIntosh, Atari ST, and Amiga with the 68000 CPU were “only” 16 bit instead of 32 bit. In all these cases it was because of their data bus connections, instead of the internal CPU registers’ width.

This Philips produced MSX2 demo could have sold more MSX2 computers than the demos of “Antarctic Adventure” did for MSX1

I went to a computer show in London where MSX2 was shown by Philips as well as Toshiba, and where I got video digitised in near photographic quality by Philips. After this, there was no sign in Britain of MSX2, except a few articles in the magazines “MSX Computing”, “MSX User”, and possibly some other magazines. MSX had set a new standard, although it was a mixture of very advanced BASIC combined with tried and tested hardware. After setting this standard, they were free to upgrade it, so they did. I managed to touch and even write a short MSX BASIC program on a Japanese spec Toshiba MSX2, then I checked that it didn’t respond to commands in Japanese characters. I was told these were for word processing. I also wrote a short program on a Philips MSX2, which used the display mode SCREEN 7 or SCREEN 8.

Unfortunately, I had hardly any information about the new MSX BASIC 2.0 commands when I saw those computers at the show, but I’ve recently found out about commands such as COLOR=(n,r,g,b) , which assigns any of the 512 colours in the palette to colour n, where the values r, g, and b are in the range 0-7. There’s also COLOR SPRITE$(n)= , and COLOR SPRITE which allow multicoloured sprites with different colours on each of their 8 or 16 horizontal lines, SET PROMPT “message” to change the BASIC prompt from “Ok” to whatever the user wants. Meanwhile, C64 and even C128 owners could only dream of doing things like this. People would have had to buy a much more expensive Amiga A1000 computer to surpass MSX2 graphics. At this time, even the Atari ST cost £749 from Silica Shop and US$799 in the USA, while the Amiga cost US$1,295, or US$1,395 with a monitor in the USA. I haven’t been able to find any mention of the Amiga’s price in the UK at that time, but it was common practice to just replace the $ sign with a £, followed by the same figure, or a slightly lower figure. Of course, I should remind people at this point, that the Amiga wasn’t developed by Commodore, it was designed by ex Atari engineers, including the legendary Jay Miner, who always liked to try and push hardware to the limit, the antithesis of Jack Tramiel. It was a “super Atari” computer, which Commodore didn’t know how to market. Obviously, no price was set for MSX2 computers in any English speaking country, because they weren’t released there, but they used cheaper 8 bit chips, including 8 bit RAM chips, and could be plugged into a TV without an external RF modulator. Prices in the Netherlands were listed as fl.1,949 for early Philips and fl. 2,500 (fl.=Gulden or Guilder, the pre Euro Dutch currency) for early Sony MSX2 computers (source: Dutch “MSX Computer Magazine” No. 7), but I’m not sure what the exchange rates were at that time.

Mixing external video signals with MSX graphics had already been thought of in MSX1 when they chose to make COLOR 0 out of its 16 colours transparent. In spite of the MSX1 Pioneer PX7 with its laser disc, the greater resolution of MSX2 made this more practical. Video pictures could be grabbed and edited at resolutions of 512×212, or even 512×424 with interlace. There’s even a BASIC command COPY SCREEN to deal with it! This made video editing applications, later called genlocking, possible. You can even copy sections from part of a screen to another part of the screen, or part of one screen onto part of another screen using COPY (x1,y1) to (x2,y2), TO (x3,y3),[destination page]. The SET PAGE [display page],[active page] command also makes it possible to hold 2-4 graphics screens, depending on their resolution, in VRAM and switch between them, to draw screens before displaying them, or to produce animation, like on the Amiga! A small minority of C64 fanatics fluent in 6502 or 6510 Assembler may be able to do something similar.

More MSX2 standard features include setting up a RAM disk with CALL MEMINI. This is also a standard feature on the Amiga. The position of the screen display could also be set without a special monitor using the command SET ADJUST (X,Y), while the command SETSCREEN saves all the display adjustments made by the user for future use.

There are also commands to customise the system such as SET PASSWORD “password”, SET BEEP , to change the standard BEEP sound to any of 4 sounds and 4 volume settings, and SET TITLE “title”,[colour] to display a title below the MSX logo on power up or reboot, as well as to set the colours for the logo. This information is stored in battery backed up RAM. This facilities weren’t even built in to the Amiga A500!

Years ago, PC compatible computers surpassed the capabilities of MSX2, but even now you can have lots of fun installing an MSX emulator such as openmsx, BlueMSX, or fMSX on your PC and experiencing the whole attitude behind MSX, which was firmly aimed at users in the home for fun, leisure and organising their lives, perhaps running a small business, not at big business users in offices.

I recently downloaded and read a book called “The MSX Standard: The New Computers” by Robert Chapman Wood (TAB Books, USA, 1985). The author had spent a lot of time studying MSX from its beginnings in 1983 and said that based on his understanding of the market he thought that most MSX computers released in the USA would be MSX2 instead of MSX1. He described MSX-DOS features including sharing data with computers running MS-DOS, and running CP/M software. Little did he know that, thanks to the price wars started by Jack Tramiel, as well as some other more obscure tactics that could be described as “restraint of trade”, only the Spectravideo SVI-728 and Yamaha CX5M (both MSX1) computers would ever be released in the USA.

I plan to continue this series of posts about MSX2 computers, but first of all I need to find out more about MSX2.

Finally, here’s a demo of the software Philips Designer running on an MSX2 computer, showing how up to 256 colours can be selected from. It clearly shows how MSX2 graphics wipe the floor with the Commodore 64 and the Atari 520ST. No C64/Spectrum/MSX1 colour bleed here!

Posted October 27, 2014 by C64hater in Uncategorized




In his so called debunk of my last article in the series about “An Introduction to BASIC”, TMR said the following…

“We are, thankfully, getting to the end of the author’s series on the Introduction To BASIC books, partly because he struggled in vain to keep on topic for most of these five posts but mostly because he rather obviously didn’t learn anything from them.”

I actually learnt the fundamentals of Microsoft BASIC (1977 version), enabling me to program text only applications and games. I was very upset to find out from this, or from a few more books that I couldn’t use the built in BASIC for the very things I bought the Commodore 64 to do. These were to compose music and write interesting commercial software, with colour, graphics, and music, such as games.

TMR had the cheek to point out that the Commodore 64 outsold most other computers on the British market! This happened because when people who wanted to learn programming in 1984 bought a Commodore 64, by and large they had no idea what a mess they were getting themselves into! All they knew about was that it had lots of software generally available from shops, while Dragon and Oric software was thin on the ground, or even mainly by mail order. The BBC Micro and Acorn Electron were “only” 32K, but consumers were told they “needed” more than 32K, and the C64 was advertised as having 64K (which they probably couldn’t access), with hires colour graphics, as well as a 3 channel synthesiser chip. This was thanks to “The A-Z of Personal Computers” with their filthy lies, and the lack of warnings or any outcry about the antiquated BASIC on the C64 from the Advertising Standards Authority (ASA), as well as the consumer magazine “Which?”, or the computer press in general. Apart from this, the Commodore 64 cost about £200 when I got one, but the BBC Micro cost £399.

TMR failed even once to mention the amazing Music Macro Language developed by Microsoft, extended with some additional work by Yamaha. This is because it’s totally superior to the C64’s list of PEEK and POKE commands. When I had a Commodore 64, I was really keen, or even desperate, just to play a little tune, before I went on to making full use of the SID chip’s sound enveloping and waveform facilities, because I had no real idea what these concepts meant at first. All I wondered was “Why can’t I just play a little tune?”, which I thought should sound a bit like synthesised strings or playing a saw, like in the classic TV series “Lost in Space”. Later on, after editing the DATA statements in a type in listing containing lots of PEEK and POKE commands, I began to wonder “Why can’t I play more than one note at a time?” Of course, I could soon have been well away writing monophonic tunes using the Sinclair Spectrum’s BEEP , command, or the Dragon’s PLAY command. After this, if I’d had a Dragon computer, then I could have copied or even written a 6809 neo 16 bit multitasking Assembly language routine to play three note polyphonic music on the Dragon 32! Of course, I never ever managed to program any polyphonic tune I’d written myself on the C64!

TMR also made the false claim “The difference between BASIC dialects means that knowledge picked up on one machine doesn’t work on others when it’s bespoke commands as well; the author has apparently forgotten that he demonstrated this point whilst trying to claim that the Spectrum used the PEN command and later had to admit that, as a former Amstrad CPC owner, he was “confused”.” I must reply by pointing out that although colour, graphics, and sound commands were often different on different computers, they were often the same or very similar. There’s not much difference between the BBC and Amstrad Locomotive BASIC DRAW command, especially because Amstrad’s Locomotive BASIC is actually a rewrite of BBC BASIC for the Z80 processor! Dragon, Tandy, Spectravideo, Thomson, MSX, early PCs, and early Apple MacIntosh, and Amiga computers all used fairly similar versions of Microsoft extended BASIC. At the end of the day, concepts such as drawing using cartesian graphics screen coordinates could be transferred onto most other computers, so long as you took account of the different screen resolutions and coordinates.

The Commodore 128 has an extra video chip called the VDC, which has a 16 colour palette, where ONE of the colours is different from the VIC-II chip. This means that it can only display 16 colours at a time. As for C128 demos which claim to use more than 16 colours, but don’t run on C128 emulators, running them on emulators wouldn’t prove anything, because it’s possible to make emulators with additional features not available on the computers they’re emulating. I’ve got a real C128 sitting next to me at the moment, although I need to get a new video lead for it, as well as a special VDC lead which can display the output in colour. I know it’s possible to create optical illusions which make it look like classic computers have more colours by switching between 2 or 3 colours very quickly. I look forward to TMR sending me any C128 demos that use more than 16 colours!

Andrew Colin’s example was the only method of programming polyphonic music in Commodore BASIC V2 which I could find at the time and it was in an official Commodore book!

As TMR pointed out, in 1984, Clive Sinclair famously criticised MSX, saying “it’s as if all the car manufacturers had got together and said let’s all have the same engine, the same gearbox, the same axle and let’s use the one that was designed five years ago”, but most of the components in his Sinclair Spectrum were also 5 years old, apart from the Ferranti ULA. He claimed that the Spectrum was 2-3 times as powerful as an MSX computer, but didn’t explain why. It was the ULA chip that was responsible for limiting the Sinclair Spectrum’s colour graphics to only one foreground and background colour per 8×8 pixel square, while MSX was limited only to 8×1 pixel colour attributes. Apart from this, in general, if one computer can emulate another, then the computer doing the emulation must be at least as powerful, if not more powerful than the computer it’s emulating. I’m not aware of any Spectrum emulation software for MSX1 computers, but I’ve certainly heard of Spectrum emulators for the Tatung Einstein and Memotech MTX computers, both of which use the same Z80 processor, graphics chip, and sound chip as MSX1. The Spectrum expansion bus carried all the signals, as did the MSX cartridge ports, so no disadvantage there either. Their BASIC dialects were quite different, because MSX was Microsoft BASIC descended from DEC BASIC, while the Spectrum used Sinclair BASIC descended from Data General BASIC.

Of course, there were plenty of British micro computers in the early to mid 1980’s which had superior specs to the Sinclair Spectrum, depending on your opinion, such as the Oric-1/Atmos, Dragon 32/64, Memotech MTX range, Camputers Lynx, and Elan Enterprise 64/128, but these were wiped out, because people weren’t told enough about them and didn’t read up on the specs, so they didn’t understand why they should pay more for a computer than the asking price of a Sinclair Spectrum! The Sinclair Spectrum may have had more peripherals to upgrade it available than any other computer, but these often weren’t supported by third party software.

I think it’s no coincidence that MSX2 wasn’t even released in the main English speaking countries of Britain, Ireland, USA, Canada, Australia, and New Zealand. It seems like a conspiracy! There were various anti apartheid sanctions against South Africa at the time, although INPUT magazine had a price for South Africa printed on its cover. I’ve checked with a South African about what computers were available there and he told me they had “all of them”, but further questioning led to him telling me that, as far as he knew, there were no Dragon computers, no MSX and no MSX2 in South Africa. He wasn’t aware of any clones or South African made computers either. The other countries are all ones I’ve recently heard as part of my extensive research, including reading magazines from that time, which didn’t have MSX2 released. Lots of computer magazines from Britain and the USA, putting down MSX, circulated round the other countries on that list. They criticised it for using “old” components, although these were no more old fashioned than the components that made up the Sinclair Spectrum, C64, BBC Micro, Acorn Electron, and Amstrad CPC computers. Amstrad received little or no criticism for releasing the CPC464 in 1984 with the same 6845 graphics chip as the BBC Micro released in 1981 but with a lower vertical resolution, and the common 8912 sound chip already used in lots of computers and arcade machines. MSX1 specs were 256×192 hires graphics in 16 colours with attributes only affecting each 8×1 pixel group, 32 sprites, and a 3 channel synthesiser chip. The lack of Internet and satellite TV in the mid 1980’s meant that people in Britain were isolated from news of events on the Continent, where a small MSX2 explosion was taking place, especially in the Netherlands, because of Philips’ adoption of MSX and MSX2. Meanwhile, the best Commodore could do on the 8 bit front was to recycle the chips in the C64, add 64K RAM, a second video chip that required a special cable, and tack on a Z80 processor to make the C128.

It seems there was a plot against MSX in Britain, which involved preventing MSX software from being widely distributed, although MSX computers were available in lots of shops. After the poor sales of the relatively basic MSX1 in Britain during 1984 and 1985, the UK subsidiaries of Japanese companies supporting MSX2 didn’t bother to import any of the more advanced, killer MSX2 computers from the Far East and Philips didn’t bother to market their MSX2 computers in Britain either. These computers had a brand new graphics chip from Yamaha which could display up to 256 colours from a palette of 512, surpassing the Atari 8 bit 256 colour palette for the first time, and up to 80 columns of text. This restriction to particular markets shouldn’t have been allowed to happen! It was a new standard, even more standardised than CP/M or MS-DOS! At that time, MS-DOS ran on lots of computers which weren’t compatible with the IBM PC, such as the ACT Apricot. At some stage after this, I read about a lot of “grey imports” of Atari ST and Amiga computers, so obviously the lack of “grey imports” for MSX2 was due to lack of computer press coverage explaining to people why MSX2 was a “C64 killer”, the most advanced type of 8 bit computer so far with its photo realistic 512 colour palette, up to 256 colours on screen at once, graphics resolution of up to 512×212, even more advanced BASIC than MSX1 and bank switched RAM, with 128K RAM for video alone, as well as up to 256K system RAM.

Of course, the Sinclair Spectrum was an amazing computer when it came out in 1982, and had an equally amazing new version Sinclair BASIC, including commands for colour and graphics, but even Sinclair’s partner Timex felt the need to upgrade it for the US market AND the Portuguese market, although Portugal was considered to have a lower standard of living than Britain at that time. The upgrades included decreasing the colour attributes or colour bleed from 32×24 to 32×192, as well as fitting an 8910 sound chip, both the same as on MSX! Unfortunately, this made them incompatible with most Sinclair Spectrum software, meaning that users had to buy software specially programmed for the Timex Sinclair machine, but there wasn’t much software available. Timex Portugal dealt with this by bringing out a Spectrum compatible plug in ROM. I think this means that Sinclair Spectrum users could have had a graphics chip upgrade without sacrificing compatibility!

Several years later, after a lot of complaints about software piracy on all computer platforms, there was a lot of hype about new Japanese games consoles, which used cartridges to try and prevent piracy. There were new marketing strategies to get round the linguistic censorship. MSX was criticised for using cartridges and tapes, because it didn’t have disk drives at its launch, although these arrived in 1984, but these new devices were just games consoles. Some of these systems were remarkably similar to MSX and ran some games which had originally been developed on MSX, such as Metal Gear!

Finally, TMR said “In other words the author has absolutely no idea what he’s commenting on since he apparently can’t tell the difference between MSX1 and MSX2 graphics after singing their praises. The probably comes as little surprise to you dear reader as it does to your correspondent.” Actually, most of the additional MSX2 screens, numbered 4-8, had the same horizontal resolution of 256, the same as MSX1, although the vertical resolution was slightly better at 212 instead of 192. Some of these screens could use palettes instead of fixed colours, while one could use up to 256 colours. Only two of the 8 display modes, SCREEN 6 and SCREEN 7, had a higher horizontal resolution than MSX1, which was 512 pixels. Some or all of these screen modes also supported interlace from MSX BASIC 2.0, which doubled the horizontal resolution, but most people never heard of interlace before they heard about it on the Amiga. After this, some C64 fanatics managed to copy this idea.

That’s the end of this de debunk! I won’t do another debunk of a de de debunk TMR might write, but if he dares to do this I will mention it later, to stop him having the last word. Look forward to another post soon.

Posted October 20, 2014 by C64hater in Uncategorized



C64IntroBASIC2Commodore’s course about their crappy antique BASIC

After completing this course, I was totally frustrated, because I still couldn’t use the colour, graphics or sound facilities of my C64. After reading several more books, which I hoped would supply this missing information, I was demoralised, because I realised that the built in Commodore BASIC V2 was totally inadequate to produce hires graphics and sound on the Commodore 64, although almost every other “home computer” on the market costing under £500, or even under £300, in 1984 came with a built in BASIC which could do hires graphics and sound using dedicated commands, instead of resorting to PEEK and POKE and trying to memorise a list of numbers that seemed as long as the contents of a phone book! The only exceptions I’m aware of, apart from portable calculator type computers, were the Sinclair ZX81 (no hires graphics or colour), TI99/4A (no hires graphics or sprites using its built in BASIC), the Jupiter Ace (with built in Forth instead of BASIC), and the Sharp MZ80K (BASIC had to be loaded from tape). This meant that I may as well just have written the names of all the available computers on pieces of paper, put them into a bag or a hat and drawn one out, instead of reading the filthy and obscene lies in “The A-Z of Personal Computers”, claiming that the Commodore 64 was easier to use than the BBC Micro! The chances are that the name of the computer I’d have pulled out wouldn’t have been one made by Commodore, Texas Instruments, or Sharp, so then I’d have been happy. On this basis, the Sinclair Spectrum, as well as the Acorn Electron, Dragon, Tandy, Oric, Atari, and Colour Genie computers all wiped the floor with the Commodore 64!

People who had programmed the Dragon, Tandy, or MSX computers (which weren’t officially available outside Japan until about 5 months after I got my C64), were using Microsoft extended BASIC, so were well prepared to move on to programming applications and games using the very similar versions of Microsoft BASIC supplied with the Amiga, Apple MacIntosh, and PC compatible computers, while the truly amazing BBC BASIC continued on the Acorn Archimedes, then was ported to Microsoft Windows as BBC BASIC for Windows (which also runs under Linux using WINE), and has been reborn as Brandy BASIC for Linux, including the current absolutely astounding Raspberry Pi computer, which was designed to encourage people to learn programming. As for people who managed to learn most of the locations to PEEK and POKE on the C64, these were totally useless on any other computer, except for most things on the Commodore 128 where they could type them into the built in Monitor, or an assembler as decimal, but then they’d be immediately converted into hexadecimal, so they wouldn’t recognise the numbers unless they learnt them all over again in hexadecimal. It seems that most C64 locations when used in Commodore BASIC 7 with POKE commands don’t work on the C128, because of the area of RAM reserved for BASIC 7, as well as the use of “shadow registers”, meaning different memory locations!

This course was called “An Introduction to BASIC”, so you’d think that Commodore would have published a follow up for the C64, but it seems they never did. There was actually a kind of follow up called something like “Advanced BASIC” which referred back to “An Introduction to BASIC”, but this book was for users of the Commodore 128 with BASIC 7, as well as the Commodore 16 and Commodore Plus 4 with BASIC 3.5. Each exercise in this book was marked according to whether or not it was compatible with BASIC 3.5 and BASIC 7, just BASIC 7, or possibly just BASIC 3.5. In general almost all BASIC 3.5 programs which don’t use PEEK or POKE commands will RUN under BASIC 7, but the C128 officially only has the same 16 colours as the C64 and I have yet to see any evidence that it has more than 16 hardware colours, although you can use stipple effects to simulate more colours or quickly alternate between colours to create an optical illusion, so the COLOR commands of BASIC 3.5 have to be changed, as well as the SOUND commands, because the C16/Plus 4 sound chip is very rudimentary compared to the C128 SID chip.

At the end of the day, the course “An Introduction to BASIC” was published by Commodore, so this was their officially sanctioned way of teaching C64 owners how to use the crappy Commodore BASIC V2 they’d lumbered them with, due to the lack of any warnings to C64 buyers. This makes Andrew Colin’s own music notation the officially approved Commodore way to play 3 note polyphonic music on the C64 in Commodore BASIC V2, even though I never read any articles in other books or magazines using this method. The magazine and book listings I found could only play monophonic music on the C64.

As for other methods of playing music on the C64, such as obscure or very expensive music editors, mostly not even available until after I sold my C64 in early 1985, it’s as if you’d bought a washing machine, then someone who didn’t work for the manufacturer told you the manufacturer’s manual was crap, but if you read their book about how to get the most out of your washing machine, including making hardware upgrades, fitting an external control device to override the manufacturer’s controls, and even a new ROM, then your clothes would be much cleaner, last longer, and it could show you how to convert your washing machine into a full blown computer, or even get it to repair worn out clothes!

An amazing musical alternative to Commodore BASIC V2 with all its PEEK and POKE commands is a Music Macro Language (MML), which was developed by Microsoft and used in versions of Microsoft BASIC built in to systems released on the market before or at about he same time the Commodore 64 came out. These systems include the NEC PC-6001 or NEC TREK (1981), NEC PC-8801 or “PC-88” (1981), Tandy “Coco” (model 1 1980, model 2 1983), Dragon 32 (1982), and MSX (1983 in Japan, 1984 outside Japan). There were also similar languages such as Yamaha’s “FM Music Macro” (product No. YRM-11) language on cartridge for their CX5M computers and SFG-01 or SFG-05 FM sound generator modules which could be plugged into other MSX computers, as well as the MSX Audio and MSX Music hardware cartridges with their own MML. The MML syntax enables programmers to define sequences of musical notes as strings. These strings were easy to write, because they used the actual names of musical notes, along with sharps or flats, octave selection with O followed by a number, note lengths AND rests! These could be played either with a command such as PLAY “CDEFGAB” or A$=”CDEFGAB”:PLAY A$ to play a major scale or some other note sequence. It seems this PLAY command only allowed monophonic music until the arrival of the amazing, even more advanced MSX BASIC V1.0, which allowed strings to be separated by commas to play multichannel tunes. Of course, the Commodore 64 required an extended BASIC or a special language like Synthy to do this, but then you couldn’t share your creations with other C64 owners who didn’t have a copy of the same software. Yamaha released a Music Macro cartridge which enabled users of their CX5M MSX music computer as well as other MSX users of their SFG-01 and SFG-05 FM sound modules to program FM sound in a BASIC type language, instead of just the standard 8910 chip sound with the MSX BASIC command PLAY. This Music Macro cartridge could even speak or sing, but only using syllables which exist in the Japanese language, such as YA, MA, HA, WA, NA, RA, BA, FA, KA, SHI, CHI, YU, MU, RU, SU, BU, etc. Unfortunately, I never used the Yamaha Music Macro cartridge on my CX5M, although I did see a demo in a music shop in London’s West End. I think it’s safe to assume this language is quite similar to the standard upgrades MSX Audio and MSX Music. Of course, the important point is that these languages were standard, unlike some obscure pieces of software for the C64 which may have copied them, like xpmck, but I think this was probably released after I was forced out of mind numbing frustration to sell my Commodore 64 in early 1985. Don’t forget, Microsoft never intended their 1977 version of 6502 BASIC to be built in to a computer with colour, graphics and sound, which was released FIVE YEARS LATER!!!! When computers with colour, graphics, and sound started to be released, Microsoft wrote commands to use these facilities.

People in Britain, Ireland, the USA, Canada, Australia, New Zealand and some other countries, could have been programming amazing music on MSX computers with a plug in cartridge containing MSX Audio or MSX Music if not for Commodore’s price war, as well as no Internet and extreme linguistic censorship. These cartridges worked on MSX, as well as MSX2, but MSX2 was never officially released in these countries. It seems a bit like fitting a Soundblaster card to an early PC. This upgraded sound standard was supported by various games, such as “F-1 Spirit: The Way to Formula 1”. Here’s a playthrough of that game, which last for 1 hour 25 mins, but even if you only watch the first few minutes, you’ll soon be able to hear it’s better than the Commodore SID chip. Even MSX1 graphics at 256×192 are better than the C64 and more colourful than the Sinclair Spectrum as well, but this game may be in an MSX2 graphics mode!

MSX2 was available in continental Europe, the Far East, the USSR, and South America. I saw and used some MSX2 computers at a show in Earl’s Court, London in 1985 or 1986 and have never forgotten this experience! They included near photo quality video digitising similar to 16 bit computer quality. I didn’t get a chance to play any music on them, only on a Toshiba keyboard with MSX1, though. These computers’ graphics generally looked better than Jack Tramiel’s Atari ST, were totally superior to the C64, but not as good as the Amiga A1000, although the A1000 was so expensive that not many people could afford it. The Amiga and Atari ST dominated the computer news in the magazine “Popular Computing Weekly”, although most people were still using and buying 8 bit computers.

Unfortunately, I could never even get an MSX2 upgrade kit for my MSX1 Yamaha CX5M Music Computer. I’d probably have had to go into a shop in the Netherlands to find one, because Dutch firm Philips produced MSX computers, but there was no Internet and no Dutch computer magazines available. I wasn’t doing much travelling at the time either. I might have been able to get a Dutch pen pal to buy an MSX2 upgrade kit and post it to me, but they may just have kept the money for themselves instead.

Finally, here’s a video about programming music on MSX, which was actually converted from a C64 tune! The main things to look out for in this video are that, although the start screen says MSX BASIC 2.1 and doesn’t mention any extensions or upgrades, these are contained in the standard MSX Audio or MSX Music cartridge. It starts up with the command CALL MUSIC, which was used on the Yamaha CX5M in direct mode only. On the CX5M it just brought up a screen allowing users to play the FM sound module in real time, without buying any additional composer software. The actual commands used in MSX Audio or MSX Music may be similar to Yamaha’s own “FM Music Macro” cartridge, certainly going beyond the standard MSX BASIC V1.0 Music Macro Language in any case. The commands in this example include PLAY#2 , with a more advanced type of macro than MSX BASIC 1.0 in the strings, and TEMPO$=””. All of this without a PEEK or POKE in sight!

That’s all for this series about “An Introduction to BASIC”. Look forward to another article about programming in the near future!

Posted October 5, 2014 by C64hater in Uncategorized