Monday 20 June 2016

Just Call me a Type-in Fanatic

Robot R29


I have been very busy lately porting programs from various sources. Mostly I have been using the large number of PDFs available from various archives of classic 8-bit computer magazines you can find on the net. Often I simply stumble across someone's post in some forum about a classic Basic game they remember playing. They might mention a magazine and sometimes even an issue and other details that allow me to track down a version of it.
 
This is how I stumbled across the source code for my very latest porting project. I think I probably did a search on Google like "GOTO GOSUB robot." Maybe I also added the term like "Atari" and tweaked Google to show only sites added in the last year, to see if anything fresh had shown up (i.e. I know I've already searched on "GOTO GOSUB robot" before). Somehow I ended up running across Computer Science by Rafal Bujakowski in which he talks about his programming exploits porting an old Basic type-in game to the Commodore Amiga dialect of the language. It was called "Robot R-29" from a Polish computer magazine from his youth called "Moje Atari" or "Your Atari." Maybe what drew me to his site was a graphic image. I often switch Google to display images rather than sites and then quickly browse for obvious 8-bit computer "screen shots" (i.e. employing simple text graphics).

After finding his site and reading about his interest in the game and where he found it (he had included the graphic image of the actual page you see above) I was able to find the entire magazine on the net. Then I could get a proper printout of the page and begin the process of typing in the program and converting it to MC-10 Basic. Luckily, I didn't have to type in all the maze info because Rafal had helpfully supplied the source code of his update of the program to Commodore Amiga Basic. His listing included DATA statements with strings containing the 5 maps of the original program. It was a very elegantly written program and the elements unique to Atari Basic were not too difficult to figure out.

Still, I also found it helpful to download the Altirra Atari 8-bit computer emulator and search for a program rom/cassette file for the game. It was a bit of learning curve getting the emulator up-and-running, loading the image figuring out how to connect a joystick to my PC and to get the emulator to use it (the game only used joystick for input). But once I got it working I was able to see how the game played, which was helpful in figuring out the program logic of the original listing. I have emulators now for all the major 8-bit machines that used the Motorola MC6847 video chip that the MC-10 used (Coco, Dragon, NEC PC6001, Dick Smith VZ-200, etc) and also for Atari, Commodore and TI. This really helps with my porting activities and is a fun way to learn about other machines and their quirks. For instance, I learned (after a little frustration) that Atari Basic doesn't like "LIST 100-200" to list a range of program lines, but rather requires "LIST 100,200." So "un-microsoft!"

After overcoming all these little hurtles I was able to get a neat little puzzle game going for the MC-10, which should also be easily portable to Coco and Dragon with a few edits. Here's a vid:


I have also done a lot of other porting exercises since my last post, each with its own quirky adventures of hunting down the code, figuring out the quirks and differences between types of Basic and tweaking the code to Micro Color Basic. Here's a brief rundown:

WILLBURG

A classic text adventure found on some virtual Coco disk and transferred to PC using the utility decb.exe. Here's the command I use: decb copy -a blank.dsk,WILLBURG.BAS WILLBURG.TXT Of course I have already saved WILLBURG.BAS onto the blank.dsk using the VCC Coco emulator. It can be saved as an text file using the standard disk Basic command SAVE "WILLBURG",A
The comma followed by A means the program is saved as ASCII text.

KORPS

A text based tank simulator. I think from a DEC system archive, or a computer like the DEC.

CAVMARS * (for Homeputerium 10Liner Contest)

Original 10-liner program. You must descend a cavern on mars and land at the bottom. Based on the Atari game "Caverns of Mars."

KLONPUZZ

Back from the Klondike is an original program that implements one of Sam Loyd's most famous puzzles, first printed in the New York Journal and Advertiser in 1898.

SEABATL

Sea Battle, is, I think, a classic Basic game from one of David Ahl's collections. You command a sub which must maneuver around a grid map destroying enemies and sea monsters while avoiding being hit or eaten.

QUATRAIN

Quatrainment from Compute! magazine.  Logic puzzle game.

ATLBALN

Atlantic Balloon crossing simulator. Ported from TRS-80 Model 1/3. Inspired by a talk on TRS-80 games presented at the Games Developers Conference (GDC) by Jim McGinley.  Thanks for the inspiration Jim!

TBIRD

Breakout game with a twist, from Coco magazine.

DTRAP (By Dave Maunder)
HUNTER

Two games from VZ-200.  Thanks Dave!

GALTREK

Galaxy Trek.  Star Trek themed text adventure.  I have restored all the character's original names.

BDOWNS

"Bringmee Downs" horse race simulation from coco magazine. Cleaned up the display and added a horse race animation.

MARSLAND

10-Liner Mars lander game.  Maybe for next year's 10-Liner Basic contest, if there is one.

SKETCH

Update to the drawing program I use to create images for use in games.  Now with large text entry and circle draw routine added. Also took out some bugs. You can print the screen to text file in the emulator and then edit the result in Notepad for easy inclusion in programs.

SPCTRK1

Another Star Trek text adventure with the original cast member names restored (which had been altered to protect the guilty in the past when copyright still applied).

ORANGE 

Weird puzzle game from a Coco magazine.

STOCKSIM

Stock Market simulator.  All text.

MOUSE

Space Mouse an original program created from an idea found on YouTube of a game for the NEC PC-6001. That video is now gone, but here is a page with info about the origins of the game on a number of early Japanese 8-bit systems: http://www.hardcoregaming101.net/space-mouse-windows-2016/
Some more info about the original game can be found on this Old Game Site.


Space Mouse NEC PC6001

HLANDER 

Hyperspace Lander. A variation on the Lunar Lander theme, with some neat quirks. From one of the more obscure Color Computer publications.

CAPTCHEM

Captain Chemistry.  Quiz program for chemical elements. ported from Coco. Son tried it. Got perfect (or almost perfect), but he was studying for his Grade 12 IB Chem exams at the time. Way to go Charlie!

DRAGON

Simple Dungeon crawl, with a Dragon that must be defeated to win it.

AMAZIN

Simple navigation of a moving pixel through a maze game. From Compute! magazine when they were still covering the Coco. Compute's coverage of the Coco didn't last long but it provides a rich ground for finding programs to convert to the MC-10. Compute typically made programs that had versions for many 8-bit platforms, so concepts had to be simple and usually stick to simple screen graphics.

WARBIRDS

Original game program with a panning star field as you move in any of 8 directions and two Romulan Warbirds who dart forwards and backwards towards you. You must try to move your ship using the 8 direction keys:
 T Y U
G        J
 V B N
until a warbird is in the centre and then zap it using SPACE. You must be quick or they will get too close and zap you!  Five different sized images simulate the warbird's distance from you. You only have 3 lives.

JACK

Jack'o lantern graphic from Coco Magazine

ZODIAC 

Low res graphic images of constellations of the Zodiac and some other info.

SABOT

Sabotage. An original program based on idea from Sinclair ZX-81:


REBOUND

Bounce a ball around a screen using only symbols  \ and / entered to deflect the ball in a direction. Must try to hit unfolding sequence of numbers.

64MAZE

Program ported from Commodore 64 three dimensional maze program. Here's the link to the blog posting about how it came about: http://codegolf.stackexchange.com/questions/15932/dungeon-construction-set
I hope I might be able to use it for some future dungeon crawl game.

UMANSION

Unexplored Mansion reviewed by Gaming After 40 guy. Originally a Coco game. Thanks for the inspiration!

SUCCESS

Success Mansion. A text adventure for the Coco from Rainbow's Book of Adventures.  Original version supported Speech Synthesizer Cart.  had to remove all that stuff and perform my regular pare-down techniques to fit it into 20K. Load in two parts. First part is the program. Second part is the DATA for the main array of locations. This saves having to have DATA statements and memory for the array. By loading array directly from tape you, only need the memory for the array. I don't think I have ever seen a walk-through published so here's a map:
Instructions:
You start on the porch. MOVE or PUSH the MAT to GET KEY1. Don’t GO SOUTH or you will be forced to exit the game. Basically GET every object mentioned, MOVE every object, LOOK every object and OPEN if possible. Once you have the keys you can UNLOCK all the doors (--[]--). The PAPER and the CARD reveal codes to type into the PANELs. Type OPEN PANEL and then the prompt will switch to one to allow you to type the codes.  Once you have all 13 scrolls go to the exit. Use INVENTORY for list of items (No max, but will not list all if you have too many). You really only need to keep KEYS and SCROLLS.


SLIDER

Game ported from magazine found on-line, probably just while browsing through an archive. I believe it is from Your Computer magazine, which was a general home computer magazine in Britain in the 80s. Because it covered all 8-bit computers, it sometimes had games for the Dragon 32 (i.e. British Coco), especially in the 1982-1984 period. Just stumbled across "Time Slider" (the article title) which had a listing of "Time Switch" (the title used in the program itself). Called the version I created for the MC-10 "Slider" because I already had program called switch. Probably should have used the filename "TSWITCH" but I prefer complete names. It's a thinly veiled Dr. Who text adventure, which again tries to avoid copyright infringement. I added a little graphic of a blue box at the end to overcome any such confusion.


References:

Programming projects and experiments.
http://rafal-bujakowski.blogspot.ca/2014/11/amiga-amos-programming-robot-r-29.html