Stocking up on Software for a Spectravideo 318
Come on, admit it. Isn't the Spectravideo-318 the cutest toy-like microcomputer you've ever seen? I mean...that little red joystick. What an attention-getter! (-:
I just love the retro-design of this unit. It begs to be played with. However, until now not a lot of playing could be done. This unit arrived practically devoid of software. Its shipping box included a few cassettes but I could only ever get one (Armoured Assault) working. As I've had to do with many of my other computers, I needed to track down some software.
The SVI-318's turn had come!
Unlike with a lot of other classic computers, I found the Internet wasn't exactly swimming in Spectravideo web pages. Some probing around revealed Roger Samdal's site, which seem to be the best there was. Among the goodies was a link to a fantastic SVI-318 compatible-emulator (BlueMSX) and a large zipped software archive of virtual CAS files for Spectravideo emulators. It also has some beautiful photos which reinforces just what a visually attractive machine this is.
I downloaded and installed BlueMSX (seen opposite playing a pac-man clone called "Teeth"). This modern Windows-platform emulator proved to be extremely good. It has a "coolness" factor about it. Go to the web site and you'll see what I mean. As well as having "bling", it includes lots of functionality and options, and is easy to use.
So, I used BlueMSX to check out and select the software titles I wanted to snag for my own machine. Unfortunately MOST of the software in the archive was only suitable for the expanded Spectravideo 318 with 32K of USEABLE RAM (or the 328 model, which had expanded memory anyway), not the standard 12.8k I had (Damn!). I had to make do with the smaller (hence simpler) software titles.
When is 32k RAM not 32K RAM?
Now herein lies a tale so let me digress for a bit. As you can see from the image opposite and above, my Spectravideo 318 has a great big sticker on the front/top that proudly proclaims "32K ROM/32k RAM". In advertising (and often compared in a table with other machines), it is always listed with 32K RAM. However, when I switched my machine on for the first time, I was greeted with 12815 Bytes free.
12.8k? Huh!? Where was the other 19.2k?
My first thought was that I had a faulty RAM chip or two. Ah, but no. Reading the fine print in the specs. explains that, well actually, only 12.8 K RAM is available to the user because the rest is reserved for special graphics functionality. Hmmm.... 12.8 K user RAM when everything designed to catch the users eye is screaming 32K RAM is stretching it a bit methinks!
Misleading advertising anyone?
In saying that, this graphic RAM does give the Spectravideo very good graphics capability with sprites, and other "advanced" features for the time. It is a good games machine with a very good implementation of BASIC. Compare the 12k BASIC with the Commodore 64's 8k version. The standard user RAM is certainly a constraint on the SVI-318 though.
From the Internet to my SVI-318. Some options
Having a cassette-based unit only, my options for getting software onto the SVI-318 were limited. First, I had to find some way of converting the CAS files to WAV files, so I could output the software as audio from my PC. Utilities exist for this kind of thing for other platforms, and I was pleased to see a link on the web site above to SVI to WAV software for the SVI-318/328.
Thank you Johan Winge!
The next problem was getting the sound to the SVI-318. Unlike the TRS80 80 Model 1, ZX-Spectrum and a host of other computers the SVI-318 uses a special tape recorder, much like the Commodore VIC20 and C-64. This means there wasn't a standard audio plug on the cassette end of the computer <--> cassette cable to fix to the speaker socket on my soundcard.
I could do one of two things..
- Wire up a special cable WITH a standard audio plug, then just keep the software repository on the PC. Use the cable to load in programs when I wanted to.
- Plug a standard data cassette recorder up to the sound card, record the programs on cassette, which could then loaded into the SV318 using its own tape device.
I flirted with number 1 initially, getting some documentation off the web which showed me what pins did what on the DIN plug. However, given that motor control seemed to be fairly well integrated into program loading and saving functions I decided in the end to go with option 2. It was more messing around and potential existed for audio degradation, but loading in from real cassettes was more authentic after all. My PET software was all on cassette so my SV318 would be in good company.
The Cassette Recorder for WAV grabs
The cassette record I used to record the WAVs onto tape was badged a "Euromatic" (ironically from Hong Kong).
This cassette player was designed specifically for computer tapes. I'd received it with one of the Colour Genies and had pressed it into service for other computers on a number of occasions. It didn't have level controls, but was designed not to automatically limit input volume like most audio cassette players nowadays (which are mostly used for dictation). It also had a monitor volume so you could check when output and input was happening.
It is a reliable little unit.
Experimentation and File Manipulation
The freeware program Audacity had served me well on many occasions with similar projects so I made this my WAV editor/player.
It took a great deal of time getting volume levels right. I started by recording a short program written on the SVI-318 to tape, capturing this program as a WAV in Audacity through the soundcard, then copying this BACK onto a blank tape, and then reloading back into the SVI-318. I figured it would pay to get this bit right with a small program of 2k or so FIRST. If I couldn't get this to work, the rest was pointless. Once it was working, proof of concept would have been accomplished and all I would then have to worry about was the CAS-->WAV conversion.
After a lot of fiddling I eventually found volume levels for the soundcard that seem to work consistently. Interestingly, they were different from the ones I used for my other machines? No matter..they worked! Now to see if I could convert, record, then load the recorded program into the SVI-318.
I converted a file and checked the WAV file shape in audacity. The WAV looked similar to the WAVs produced by the real SV318 in earlier tests but there wasn't much amplitude. Hmmm...sure enough, The SVI-318 could not load these raw files. I figured they were just too quiet.
After some fiddling around I found a conversion formula that worked. After converting the file, I would then "Normalize" it using an Audacity effect function then "Amplify" it. This gave me a much louder WAV with good amplitude (see below).
WAV processing. Top image shows original waveform. Bottom image shows processed waveform
And it worked. I found these files could be recorded on the cassette, then loaded successfully into the SV318! Hooray!
So the process for each program was..
- Convert from CAS to WAV using Johan Winge's converter
- Load into Audacity, Normalize, then Amplify then Save
- Start recording onto tape in the Euromatic through the soundcard.
- When audio has stopped, keep recording silence for about 15 seconds more
- Rewind right back to the beginning of the tape
- Transfer the tape from the Euromatic to the SV318 Datasette
- Set the Datasette counter to zero and run the tape up just past the end value of the last program
- Start loading the new program
- As soon as the SVI-318 finds the program, check the counter on the Datasette. Note the start value and the name of the program on the cassette case sleeve
- Finish loading the program and check that it works. If it doesn't load, rewind to just before the start number, go to 13 and re-record.
- Note where the program ends on the SV318 Datasette counter. Note this end value and also write that detail alongside the start value and name
- Play the tape on the Datasette for about 10 seconds, just to leave a gap
- Take the tape back to the Euromatic and insert it
- Go to step 1
This process allowed me to verify each program as I recorded it, and to also record accurate positioning on the tape.
A Software Library
After a couple of hours I was done. With most being less that 12k in size (and the rest using overlays), the programs are not spectacular, but they are a fun mix of the usual cheesy space and maze-themed offers of the day. The Spectravideo 318 is no longer lonely but can now choose from the following titles: Armoured Assaut, Three Wall Smash, Emergency Landing, Treasure Chest, Parachute Jumping, Spectra Break, Horse Racing, Grave Digger, Crunch, Rescue, Juno Lander, New York Bomb Blitz, Mini Golf, Ghost Trap, Jumping Jack, Killer Car, Nomis, Kiwi Country, Swing Man, Spectron, Teeth, Roulette
Spectravideo 318 - Now locked and loaded
So there you have it. One more machine, now equipped and ready to entertain me, or any retro-curious visitors who might come along! Cool!
11th August, 2009
Postscript: Now here is something weird. Spectravideo International, an American company, put out an official catalogue of software (source courtesy of Roger Samdal's website above). There are only 90 titles and most are games. Yet, nestled in among them is one called "Kiwi Country" which is a quizz program testing users on towns in the South Island of New Zealand??!! The program is well designed but how an earth did a program about a small country like New Zealand ever end up in SVI's official catalogue, which only numbers 90 titles?? It's the only educational geographical game included. Being a New Zealander of course it's great to see it there, but I would have expected a quizz on the U.S states before the South Island of NZ! How bizzare!
If anyone reading this knows who wrote it and something about its history, please get in touch.