Wednesday, 9 January 2013

Port of "Switchbox" from the Atari 520 ST to the Coco and MC-10

I used to remember reading computer magazines in the mid 80s.  I mostly read the ones available in my high school library, such as Compute! or Creative Computing.  Although they had the occasional article on the Color Computer (but obviously never the failed MC-10), they were for the most part Commodore, Atari and Apple focused, with some growing emphasis on the PC.  This meant that TRS-kids like me where left on the outside looking in at the vast cornucopia of type-in software made available in these magazines for these other machines.  I couldn't afford a subscription to Rainbow or Color Computer magazine of Hot Coco (except on the rare trip to the Mall magazine shop, when I happened to have enough).  So I remember gazing at all the amazing games and wondering (and sometimes trying to figure out) how they could possibly be converted to my little MC-10 (and its little 32X16 screen vs the more standard 40X24 screens of the other machines).

I recall being particularly intrigued by a game called "Switchbox."  It basically recreated on the screen something like one of those funny Japanese metal-ball-drop game machines, but for two players.  It was in Compute! magazine in the March 1986 edition:

I suspect there was simply something inherently intriguing to my young mind about the complexity of all the "switches"--like the allure of taking apart an old alarm clock.  The richness of the display and the complexity of the interactions were very attractive.  I think I might have tried to make a conversion then, but if I did, it didn't survive the interim to today (unlike some of my other software which I hope also to discuss here).  However, in the past few years I have been programming some of the projects I dreamt of then and have built a lot more competance in programming in Basic.  One things I have learned about is the similarity between TRS-80 basic and other more Microsoft compatible versions of basic for the PC and other later home computers.  So when I finally got around to digging up the old article on "Switchbox" in Compute! this last summer (2012),  I was pleased to note there was a PC version:
However, as I examined the code I realized that due to the PC having a 25 row screen, it was going to be especially difficult to cut the game down to fit the size of a Coco/MC-10 screen.  I was about to put the project aside when I noticed the Atari 520 ST version:
Because it was one of the first "windowed" machines, and because it still was used primarily with a TV, most games were still made for its 40 column 24 highres screen mode.  But because it was "windowed" it also lost areas of that screen to the ever present top menu bar and window borders.  Because of this, I realized when I counted, that its switchbox had been pared down to a smaller number of rows of switchs, which might be able to fit on a 32 by 16 screen!  Its version of basic was very advanced and well structured, but essentially Microsoft-like, so I only had to do a little digging to figure out the few distinct commands (eg. GOTOXY) and convert the bulk of the core logic for managing the switches.  Then all I had to do was come up with a way of representing these using the block graphics of the Motorola VDG, instead of using the line graphic features of the Atari 520ST.  Here's what I came up with:

You'll notice that the ST and the Coco/MC-10 version share the same four rows of switches, versus the 5 rows in the PC version.  Of course I had to come up with my own system of sounds for the dropping balls, as the STs sound commands far exceed those of the simple SOUND statement of the MC-10.  I think they came out quite nicely, but you might disagree.  Please try the game for yourself.  The MC-10 version can be downloaded as part of the ZIP file of all my games or you can download the coco version on the JGGAMES5.DSK virtual Coco disk at:

And so, at least in terms of this Compute! game, I'm no longer simply someone looking in from the outside...

No comments:

Post a Comment