Ultima 4’s Native MIDI Support

I had (and still have) plans for numerous things to write about on here this year but real life has been taking precedent for the last few months. I’ve started a new job which currently means many hours of commuting every day and when I’ve not been doing that, I’ve had my hands full getting my house ready to sell. That’s now on the market so in the hopefully brief lull before I have to worry about moving, I might manage a post or two.

I’m sure all Ultima fans are aware of the fan patches that add MIDI support to some of the early DOS Ultimas. What is somewhat less well known is that the earliest two Ultima games to support music had built-in MIDI support from the beginning on the Atari ST. This is something I’ve been wanting to try out for ages.

First off, a quick look at Ultima 4 running without MIDI. Apologies as ever for the usual quality of the video on here as I’m still just pointing my phone at the screen. The built-in Yamaha sound chip on the Atari ST is in effect the same as on the ZX Spectrum 128 or Amstrad CPC, i.e. a 3 channel beeper. It’s not horrible but it lags way behind the Amiga which would come out mere months later.

The built-in MIDI support of the ST was a unique feature, leading to the machine being used for years in music production. Watch enough 80’s Top Of The Pops and you will see the occasional ST driving synths. MIDI didn’t see a whole lot of use in ST games in truth. Sierra included MT-32 support for some of their games and were the main proponents. I can’t imagine many gamers took advantage of this given that the MT-32 would have cost far more than the ST itself. If you had that sort of money, you probably had an Amiga or PC by then. To the best of my knowledge, Ultima 3 and 4 were the only Origin games to support MIDI on the ST.

IMG_20170411_202825IMG_20170411_202831

For the purposes of trying them out, I’ve connected up my SC-155 to the ST’s MIDI out. While fairly ancient, this synth is still more modern than what was available at the time. On starting the game, this is what I got:-

You’ll no doubt have noticed that the music is being played entirely on piano. This is because, while the game is outputting MIDI instructions, it doesn’t send any more than just the notes so it all defaults to the grand piano. Several years layer, general MIDI was introduced with a standard set of instruments but at this time every device would simply do its own thing. This means I have to fiddle around on the SC-155 picking instruments myself. I let the title screen cycle through tracks while changing instruments. After some effort, I came up with this:-

There is certainly room for improvement but that sounded reasonable to my ears at least. A whole lot better than the original beeps anyway. There doesn’t appear to be any subtlety in the instructions, in terms of volume and the like. The notes are simply being switched on and off. The music is split into 6 channels giving me 6 instruments to choose for the various parts. The snag is that those same instruments will then be used on every other piece of music. No doubt there is a suitable combination that will work in all cases but I tried restarting with my new settings and it sounded a little off to my ears:-

A little more experimentation is definitely required but I ran out of time. It’s certainly a nice extra to have included in the game for those ST owners who had the extra hardware. Ultima 3 works in the same way, except all the notes are on the one channel meaning you can only pick the one instrument (at least without more advanced equipment to process the MIDI).

Art D’s Batch Adventures

It’s time at last to get around to the first post of 2017. I’d like to say I’ll be posting more regularly this year but realistically that is unlikely to happen. When I do get round to it, there are still old games to play so lets start with a handful of Origin games I forgot about when I was originally blogging through them all.

Probably the most significant Easter eggs ever to make their way into Origin products were 3 text adventure games hidden away in the files for Privateer, Privateer – Righteous Fire and Wings Of Glory. These were all created by Arthur DiBianca, a coder at Origin during the 90’s.

IMG_20170120_215243

To find these hidden games, you need to search through the files for each game and look for the one starting with tab. The filename is actually reversed and in this case should be advent.bat, so it simply needs renaming and copying into an otherwise empty directory.

IMG_20170120_215341

You then type advent setup to start, except I discovered at this point that with all this batch file trickery going on, DOS ran out of environment space.

IMG_20170120_215451

To fix this, you just need to edit your config.sys file and reboot. The relevant line is shell=c:\dos\command.com /P /E:1024. This maxes out the environment space in DOS and will fix the errors running these games.

IMG_20170120_215645

Running the setup generates a load of little batch files for all the commands in the game. These text adventures play entirely from a tweaked command prompt so there is a look.bat and n, s, e and w.bat files, etc. Each command in the game is actually a call to run the relevant batch file.

These files pass along their calls to the main advent script which does the heavy lifting. If you supply a second word, i.e. look lamp, then lamp is passed as a parameter into the batch file. Presumably all the variables for the game are stored in the DOS environment. It’s kind of ingenious really and shows how much you can do with batch scripting. I would imagine it’s not the most practical language for the job but it clearly works.

Of course with the whole game being played from a DOS prompt, you don’t want to be typing any unwarranted DOS commands while playing this (other than dir which gives a verb list).

IMG_20170120_220127

Having spent a while getting it running, the first game took all of a couple of minutes to beat. I won’t give away too much but it essentially revolves around learning a few magic words to teleport around the world. There isn’t a plot to describe in any of these games, it’s along the lines of Zork with somewhat random locations and puzzles to conquer. At the end of the game, I’m rewarded with a magic word to carry into the next game which was included with Righteous Fire.

IMG_20170121_104404IMG_20170121_110047

The second and third game are substantially larger with maybe 10-20 locations each and a good deal more puzzles. That isn’t to say they will last more than 5 minutes a piece but they did make me think. I’m glad to say there was no resorting to that staple of text adventures, large mazes with identical locations. Did anyone ever actually enjoy those things?

I can’t say I’m any the wiser having got to the end of these as to what exactly is going on. There is some mention of a crowned man apparently obsessed with breadsticks. This has to be Lord British but don’t ask me where the breadstick interest comes from.

Unfathomable as they may be, all 3 games are a fun little diversion and if you want to try them out without using the original files, they can be played through a browser at https://archive.org/details/wcadvent

Building A Composite CGA PC

Back in October, I did a post with my first attempts at getting some CGA games running on an Apple composite monitor that I’d just picked up. I sort of got this to work on a Tandy 1000 with composite colours being produced. Just not the right colours since the Tandy’s aren’t really compatible. I’d been expecting this and the intention was to use an original CGA card instead, except at this point I noticed that my CGA card was far too large to fit into the Tandy’s case. I therefore needed a suitable PC to try it out with. The next post where I got this working properly was supposed to follow shortly after but as ever with these old machines, it wasn’t that simple.

IMG_20161210_194628

This is the CGA card I’m intending to use. It’s a full length giant of a card with an 8 bit ISA interface. ISA was the original PC expansion port interface before PCI Express, AGP, PCI, Vesa and all the others. PC’s still came with ISA slots into the Pentium era but my options with this card are more limited. With the advent of 286’s the 8 bit ISA interface was expanded with a second slot to make the bus 16 bits. As a rule, this was entirely backwards compatible except my CGA card predates the 16 bit slot and doesn’t leave a gap for the extra connector on the motherboard. In short, I need an 8 bit slot if this thing is ever going to work which limited my options.

s-l1600

So with that in mind, I bought myself the above Vanilla 286 PC. OId PC’s have started to get a bit expensive and I no doubt paid more than I should but a machine that has been refurbed, tested and comes with a guarantee is worth a bit with a PC of this age. At any rate, it all worked perfectly in every respect except the minor factor that as soon as I tried to use composite out, I could only get monochrome.

IMG_20161013_201716

Having tried everything I could think of, I wasn’t sure whether it was the PC or the graphics card since I’d never used the CGA card before this. It occurred to me that given how long it was, there was enough flex in the CGA card that I could fit it into my Tandy if I bent it around the side of the case and I insulated it against the edge of the metal case with an antistatic bag. I really don’t recommend trying this at home but it did give me a means of testing it.

IMG_20161013_201908IMG_20161013_201911

Sure enough, it worked perfectly as shown in Ultima 2 above. Ultima 2 was one of the better composite games on the Tandy but comparing this to the screenshots from the last post, there is still a big difference. The blue Ultima text and green dragon more or less merged into one colour using the Tandy but are clearly defined here. In theory, I could have left it at this and just used my Tandy but there is no way I’m going to torture my one and only CGA card like that. It makes me wince just looking at the photo above.

From my limited understanding, the CGA card can be told to run in either monochrome or colour by a bit that is stored somewhere in memory. None of the BIOS settings helped me out here though and I came to the conclusion that this PC may simply be hardcoded to only do monochrome. The other alternative is that there was an adjustable trim switch on the motherboard of a genuine IBM for CGA timings which was entirely missing from this Vanilla PC. Whatever the cause I couldn’t get it to work. These early PC clones were rarely 100% compatible so I gave in and sent it back for a refund.

IMG_20161211_115030

I’d not looked at trying again until earlier this week when having finally got over the post flood house insurance bill, I felt like I could spare the cash to try again with another machine. The one I picked up was a Televideo Telecat-286. This cost more than the Vanilla PC but had the bonus of coming with a working hard disk.

IMG_20161210_190226IMG_20161210_190415

For a supposedly tested machine, this thing was truly filthy inside to the extent that there is no way on earth I’d have tried switching it on without cleaning it out first. I’ve spared you the photos of 30 years worth of decaying clumps of dust and hair. Underneath everything still appeared solid at any rate with no bulging capacitors or the like. I’m not sure if weight is an indication of build quality but this is the single heaviest PC I’ve ever owned. I wondered what exactly was weighing that much until I opened it up and saw the man-size power supply taking up about 1/3 of the case.

This thing was full of expansion cards which I didn’t strictly need . The big one on the left is a monumentally large modem. As for the other two, the bottom one is a network card and the other must be a CGA or EGA graphics card at a guess but I’m not 100% certain.

I slotted my CGA card in to one of the freed up slots and then worked on getting the PC to start up. After being initially alarmed at the turbine like noise produced by the PSU fan, I ultimately decided it was supposed to sound like that and I’d just forgotten how noisy PC’s used to be. It got as far as attempting to boot up but with none of the drive lights flashing couldn’t find a system disk.

All these clone machines are different and since I have no manual and couldn’t find one on the web, I was stuck with trial and error. After a lot of fiddling around, I spotted that the floppy drive did work but was connected to B instead of A and since the BIOS was at default values the drive wasn’t detected. This got me to a DOS prompt but with no hard drive. I ignored this for now and tried to get the composite CGA working since that was the whole point of this exercise.

IMG_20161211_101520

At the first attempt, I managed to get some composite colour but only in a thin band with most of the screen remaining black and white. A bit of searching later and I found that like a genuine IBM, this motherboard does have a small variable resistor for CGA timing located at one end of the motherboard. It’s the small round orange thing in the photo above. A tiny tweak on this with a screwdriver and my graphics suddenly sprung into full colour.

IMG_20161211_114958

You may remember the day glow colours I got when trying King’s Quest 2 on the Tandy in composite. This time I actually got the correct colours which are not all that dissimilar to the 16 colour Tandy graphics on the left. The image is far less sharp in composite and this probably isn’t the best way to play these Sierra games but for the games not supporting Tandy graphics, it’s a massive improvement over the usual CGA palette.

IMG_20161211_111040

I still hadn’t got the hard disk working which was a bit of a learning curve. This machine is using a surprisingly modern 670Mb IDE drive, which allegedly had Windows 98 on it at some point if I can believe whoever wrote on it. I seriously doubt this PC ever ran Windows 98 so I assume this has come from another machine. The drive wasn’t being detected in DOS and I had no idea how to set it up. Aside from an array of unlabeled dip switches on the motherboard (standard in this era), this PC does have something resembling a BIOS except you apparently have to run a setup program from the DOS prompt to set the values rather than holding a key on startup.

Much Googling later, I gave in trying to find that setup program but did come across something called gsetup.exe which is a universal BIOS setup program for 286/386 machines. As luck would have it, this was mostly compatible with my machine. I was only allowed to pick from 19 predefined hard disk types, the largest of which was 120Mb. I really didn’t expect this to work but the drive formatted 120Mb and I’ve been able to get this thing booting up without the floppy drive. I can live with the missing 550Mb. For the software I’ve got in mind for this machine, 120Mb will be plenty.

IMG_20161211_105141

Something I haven’t done yet is swap out the CMOS battery meaning I have to go through the whole setup process every time I switch the machine on. I’d usually expect to see a little CR2032 battery on a motherboard but this has a sizable Lithium battery stuck on the side of the drive bay. This is the same voltage as lots of remote control car batteries so I’ve ordered one of them which I’ll replace it with when it arrives.

IMG_20161211_111159

One last job was to install my first ever sound card which I’ve still got nearly 30 years later. I’ve sold or thrown away nearly every bit of hardware from that era but for some reason this got kept so I may as well make use of it now rather than just having the box on a shelf.

I’ve still got to set up the hard disk with a proper installation of DOS but 6 months after I started, I’m nearly there at last. I’ve been curious about composite CGA ever since I played my first PC games back in the 80’s. I fully intend to dig out a few of those of those relics next week and see what they look like with some extra colours.

Descent Reviews

As I suspected, the UK press liked Descent a whole lot more than I did with all of the reviews I found scoring around 90%. The bulb on my scanner has gone so it’s photos only I’m afraid until I get it fixed/replaced. I’ve uploaded the images unaltered so everything should be just about legible.

The first is a matter of fact review from the April 1995 PC Review:-

img_20161102_195028

Next, the March 1995 PC Format describing Descent as the first game to better Doom:-

img_20161102_194931 img_20161102_194945

This is the harshest of the reviews at 89% from the March 1995 PC Gamer:-

img_20161102_194840

It scored 94% in the April 1995 PC Zone write-up, featuring an alleged guest appearance by David Hasselhoff:-

img_20161102_194601 Zimg_20161102_194614

And finally by request, here is a review for Descent 2 from the April 1996 PC Zone:-

img_20161102_194313 img_20161102_194418 img_20161102_194500 img_20161102_194533

Descent

VR has been hitting the headlines again recently with the release of the PlayStation VR not so long back and it made me realise that I’ve not made use of it’s 90’s equivalent in a year or two, the VFX-1. There aren’t a whole load of supported games to pick from, so I went for one of the more obvious choices Descent.

img_20161031_181432

Descent was originally released in 1995 in the wave of Doom clones that was hitting around then. Its twist on the genre was to allow full freedom of movement in all directions making for quite a unique experience to this day. It’s a game I already know fairly well having played it back at the time but I’ve never spent much time on it in VR.

img_20161031_181900 img_20161031_181911

First as always, the plot. At some time in the future, a virus has taken over the robots being used to mine resources on the various planets and moons of the solar system. These robots have turned on their creators and started producing more deadly robots of their own. This threat could soon spread to Earth if nothing is done so for reasons that aren’t entirely clear, the player is drafted in by the bureaucratic PTC mining corporation to go in single handed and blow up the reactors in all of these mines destroying them entirely and shutting down the threat. This story is told with a static screen intro overlaid with text. Each mission then has a little briefing text before you start to advance the plot. I’m usually all for a storyline in my games but none of this adds anything in particular. It’s nice that the developers appear to have put a little effort but in truth the game would have better off taking Doom’s approach and ignoring it.

img_20161031_181923

The basic gameplay formula is certainly pure Doom. In essence, blast your way through 30 levels, finding the 3 coloured keycards to get access to wherever you need to go. There is a boss of sorts at the end of every level in the shape of the reactor which doesn’t move but will shoot red spheres at you. The levels are huge and sprawling and the complete antithesis of your modern FPS where the player is led through the map. You should fully expect to get lost when playing Descent but there is a confusing 3D automap to help guide you back to the right path.

img_20161031_182833

The control system is quite something to get your head around with a myriad of different weapons and options. It is fully redefinable but will still take some getting used to whatever you go far. The control system is more comparable to the lights of Tie Fighter than Doom really with steering the ship best done with a joystick since this is part flight sim. It’s also part FPS and as such has strafe controls but this time you get four of them since you can also go up and down. Not to mention rolling left and right if you don’t want to end up with the ceiling underneath you. Navigating a 3D map is hard enough without having to cope with being upside down.

The ship has independent energy and missile weapons with 5 of each. None of the weapons are especially memorable if you ask me but it is important to save the heavy artillery for the tougher enemies. There are also mines to drop behind your ship which I can’t confess to ever using much when I’ve played in the past. The energy weapons draw energy from the ship which needs to be replenished by pickups off blown up enemies or by flying through a recharge station of which there is at least one on every level. Similarly shields are charged by picking up blue spheres dropped by enemies but you don’t get to charge these up any other way.

img_20161031_182053 img_20161031_182056

Very strangely for a game like this, there is a lives system which is probably almost entirely ignored by anyone playing through the campaign. If you do wish to make use of it, you can restart a level from the beginning with just the basic ship loadout. All of the enemies will still be dead and if you fly back to where your ship exploded you can pick up all the gear you had before. It can act as a get out clause if you save somewhere you shouldn’t provided you can make it back to all your lost equipment of course.

img_20161031_182032

There are a wide variety of enemies in the game starting with slow moving varieties that shoot equally slow fireballs and lasers at you. It starts getting tougher when you get enemies firing missiles, especially homing missles and the Vulcan cannon firing bots that are the equivalent of Doom 2’s chaingun guy. The enemies is this game are smarter than your typical Doom enemies being able to follow you around the map and you really need to be careful when entering new areas.

img_20161031_182051

For VR, Descent uses the side by side picture approach which the VFX-1 then splits up between the two eye pieces. This loses horizontal resolution which is exactly what doesn’t suit the headset since it has far more horizontal than vertical pixels. Descent 2 would support the alternative mode with interlaced horizontal lines and looks a good deal clearer because of it. As such, I wouldn’t say my view of the world is exactly crystal clear with distant objects vanishing in a blur of giant pixels. Another quirk is that the HUD is only shown on the left window and therefore in only one eye. This does make it float above the action but causes major eye strain after a while.

It does have to be said that the 3D is very effective and does draw you into the game when you can see all the laser blasts literally getting nearer and flying past. Descent is highly playable on the VFX-1 in this respect. What doesn’t work is the automap screen which doesn’t swap the mode of the headset meaning that I have to flip up the visor and use my monitor screen to see the map. Also the head tracking doesn’t appear to work correctly only moving the view a miniscule amount.

I played as far as the end of level 7 where the first boss is encountered. This is a giant ship that keeps teleporting around a circular cavern and firing smart missiles every time it pops up. This was the final level in the demo/shareware release as I recall with a lot of the enemies and weapons held back for the later levels of the full release.

7 levels is where I stopped however. Technically Descent is really impressive but I’ve always felt it lacked the spark to make me want to keep coming back to it. I love space sims and I love Doom, this should have been a game I adore but it still leaves me a little cold. Every level is large and challenging but the gameplay gets repetitive long before you make it through the first half of the game. The whole experience lacks character for me.

This really isn’t being helped by the 90’s VR experience. I’ve played a few games on the VFX-1 with no real side effects but by the time I have played two levels of Descent on it, I’m feeling quite ill. The motion sickness induced by the full 3D environment is considerable and is combined with eyestrain because of the single eye HUD. You simply can’t play more than one level on an evening unless you are prepared to suffer for it, and Descent isn’t a good enough game to justify the pain. If there was ever a game to show why 90’s VR didn’t work out, this could be it. I’m really curious to know what the motion sickness would be like on an Oculus with a full 3D game like this.

I played a little without the headset to grab a few quick screenshots and have to say the overall experience was much improved even with the screen still split in two. There are some modern source ports available which would no doubt be a much better option for playing this than DOS. I’d no doubt more positive if I’d used one of them instead but as it is, I can’t exactly recommend Descent. There are clearly people who enjoyed it a lot more than I ever did though.

Speaking of which, I’ll dig out all the UK magazine reviews I can find around here and post them up within the next couple of days.