Allen Huffman recently posted on his blog about a unlicensed Dr. Who game he bought for the Coco back in the 1980s. He was a little disappointed back then when the game arrived and he discovered it was written in BASIC but I'm not disappointed today. Looks like another possible porting project for the TRS-80 MC-10! Thanks Allen! I've written in the past about one Dr. Who themed text adventure game I ported to the MC-10 from the original TRS-80
DrWho
I thought it would be useful to write a little about some other more recent who-themed additions to the MC-10 software library.
There is my adventure called "The Doctor," which involves navigating an overhead 2-D maze. You have to trick the very dumb Darlecs to chase you and then trigger reactors and exit the screen, leaving them to be blown up.
Doctor
There is also another text adventure taken from a Sinclair Spectrum type-in game called "Time Slider." 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. I just stumbled across Time Slider (the article title) which had a listing of "Time Switch" (the title used in the program itself). I 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.
Here's another 10-Liner Basic Programming Contest entry for 2017. Info about the contest can be found here: http://gkanold.wixsite.com/homeputerium/basic-10liners-2017. In addition to my entry of a 10-liner version of Mine Sweeper and the Monteiro Challenge, I have completed a simple flight combat simulator called "Combat Arien."
There were lots of other entries along similar lines in the contest. It's unlikely mine will impress, given the greater power and graphics of 8-bit systems like the Atari and others.
Interceptor
Space Ranger
A contest like this, which involves a bunch of classic 8-bit home computers spanning the entire 1980s reminds me that my beloved MC-10 was based on the TRS-80 Color Computer (Coco), which was a system built on hardware from before the late 70s. In particular its graphic chip, the Motorola MC6847, was a particularly early graphic chip for home computers. Don't get me wrong, I love this neon green wonder. I also appreciate how well Tandy worked at maintaining compatibility across its whole Coco line right into the 1990s. The Coco 1 (1980) was a contemporary of the VIC20. The Coco 2 (1982) was a contemporary of the Commodore 64. The Coco 3 (1985) was a contemporary of the Atari ST. Yet each of these machines was able to run the software from the earlier machines. The VIC20, for example, wasn't around in 1985 running a multi-user, multitasking operating system. But a Coco 1 (upgraded to 64K) could. And the MC-10 was a part of this venerable family.
The program was based on some code from a type-in book for the Matra Hachette Alice. I was browsing through it and saw that it was a flight combat game. I had seen the other games for the contest and I had been wanting to make an updated flight shoot-em-up game for some time. But I was really disappointed when I saw what the game code produced.
The program has the idea of the four white blocks to make a cross hair, but other than that the plane is just two blocks connected by a dash. And the sky is orange! The plane leaves behind a trail of cyan coloured blocks as it jigs around the orange sky. One shot on the plane brings victory and the end of the game, but the plane moved in increments of two, which makes its flight extremely jerky and erratic. I kept the basic gun shots converging on the target idea and the 4 block cross hair, but replaced just about everything else. The book "102 Programmes Pour Alice et TRS MC/10," which can be found here: http://alice32.free.fr/documentation/102-programmes/102-programmes.djvu
See page 166 for the original. Here's my code in short and long form:
0 CLS6:A=5:B=14:HT=0:TI=0:SH=0:N=15:POKE17026,6
1 PRINT@32*A+B,"ÞØÜ";:TI=TI+1:U=A:V=B:A=A+2-RND(3):B=B+2-RND(3):K=PEEK(2)ANDPEEK(17023):GOSUB7:IFK=32ORN<15THENGOSUB3
2 A=A-(K=90)+(K=87):B=B-(K=83)+(K=65):GOSUB7:PRINT@238,"ÏßÏ";:PRINT@302,"ÏßÏ";:GOTO1
3 PRINT@32*N+23-N,"Ù";:PRINT@32*N+N+7,"Ö";:PRINT@32*N+23-N,"ß";:PRINT@32*N+N+7,"ß";
4 SH=SH+1:N=N-1:Q=PEEK(9)AND128:POKE49151,0+Q:POKE49151,128-Q:IFN>7THENRETURN
5 IF(U=7ORU=8ORU=9)AND(V=13ORV=14ORV=15ORV=16)THEN?@32*U+V,"ÞÿÜ";:SOUND100,1:HT=HT+1:IFHT=5THEN8
6 GOSUB7:N=15:GOTO1
7 A=A-(A<0):A=A+(A>15):B=B-(B<0):B=B+(B>28):PRINT@32*U+V,"ßßß";:RETURN
8 ?@0,"YOU GOT HIM! ":SOUND219,9:SOUND241,7:SOUND200,9:SC=INT(10000/(TI+SH)):IFSC>HSTHENHS=SC
9 ?@16,"SCORE"SC:PRINT"HIGH SCORE"HS:PRINT@48,;:INPUT"HIT enter";M$:GOTO0
10 REM USE A,S,W,Z TO STEER
20 REM SPACE TO FIRE
30 REM 5 HITS TO SHOOT DOWN
P.S. Part of the reason I had my eyes peeled for a simple flight shoot-em-up game was I had been thinking for some time of a game that would re-create the experience of being a tail gunner in a Lancaster Bomber. I envisioned something with guns that would range up and down and left and right with their fire converging at a certain point. You would need to slew your guns to bring them to bear on a moving target. The target would look like the one in Combat Arien, although I think I had the idea that it would come closer and move farther back. I did create a game with some of these features, but I added a moving star field and it turned into my game Warbirds:
However, the original "Lancaster Turret" idea is still stuck in my head. The reason it did, besides the fact that my dad flew as a Bomb-aimer in a Handley Halifax bomber, is that his younger brother was a tail gunner in a Lancaster. His plan was shot down over France during the D-Day landing bombing campaign. He's now buried in Buran-sur-Oise Communal Cemetery. The recent 100 year anniversary of Vimy reminded me of him. I'd like to dedicate this game to his memory.
Gunnar Kanold and his friends run a really neat Basic programming contest. It has been going for a number of years. It started out, I believe, as an all Atari event but a few years back they decided to open it up to other classic 8-bit home computer systems. This year the contest is being held on Saturday April 22 at the NOMAM retro convention in Lubeck Germany. Details about the contest can be viewed here: http://gkanold.wixsite.com/homeputerium/basic-10liners-2017
I decided to try programming the classic puzzle game "Minesweeper." I managed to get the game boiled down to 10 lines of Micro Color Basic on my favourite computer, the TRS-80 Micro Color Computer (MC-10). The original version of the program only did a 4-way search (up,down,left,right) for doing the flood fill after you select a location:
However, as with so many of my programming projects, a little more effort allowed me to condense the program just that wee bit more to allow me to fit in a full 8-way search:
Hard Version with 40 Mines
Here are some brief instructions for
getting the game to run:
Get: VMC10_073D.zip
Unzip VMC10_073D.zip
Run VMC10.exe
Type CLOAD & hit ENTER. From the File
menu select “Play Cassette File…” and then select SWEEPER.C10 in the JimG
subdirectory of the Cassette directory. Type RUN...
(Any trouble running it, make sure under
the “Configure” menu that Memory is set to +16K Ram Expansion).
I should note that these instructions will work for getting any of my games to run, since all of the rest of my programs are also included in the JimG subdirectory of the zip compilation. This compilation includes the wonderful VMC10 emulator by James the Animal Tamer. Thanks so much James!
In addition to the 10 line limit, this year the rules were changed to require that the same program be submitted in a "long version", which means, with one command per line. Line jumps (GOTO, GOSUB) and other dependencies have to be adjusted so that the program remains fully functional. I'm not sure what this is all about, but perhaps it is to help with the judging, or perhaps Gunnar might want to use the programs to help teach students about Basic programming. I seem to recall that he was involved with teaching. In any case here is the original 10-line version and the long version:
0 CLS0:DIMF(10,10),K(255),A(2000),B(8),J,B,L,X,Y:B(1)=-1:B(2)=1:B(3)=-32:C=RND(-(PEEK(9)*256+PEEK(10))):D=1:B(4)=31:GOTO9 1 A$(1)=CHR$(96):I=0:FORY=1TO9:FORX=1TO9:J=-(PEEK(32*Y+X+M)=46):PRINT@32*Y+X,A$(-(F(X,Y)=1));:I=I+J:NEXT:NEXT:RETURN 2 SOUND9,1:B(5)=-31:B(6)=-33:B(7)=32:B(8)=33:K(65)=-1:K(83)=1:K(87)=-32:K(90)=32:FORY=1TO9:FORX=1TO9:POKE32*Y+X+M,46:NEXT:NEXT 3 L=RND(9):B=RND(9):ON-(F(L,B)=1)GOTO3:F(L,B)=1:J=J+1:ON-(J<10)GOTO3 4 POKEP,PEEK(P)+64:K=ASC(INKEY$+"@"):POKEP,PEEK(P)-64:ON-(K=0ORPEEK(P+K(K))=128)GOTO4:P=P+K(K):L=1:B=1:A(B)=P:IFK>32THEN4 5 Y=INT((A(B)-M)/32):X=(((A(B)-M)/32)-Y)*32:IFF(X,Y)=1THEND=2:ON-(P=A(B))GOTO9:D=1:FORJ=1TO1:GOTO8 6 C=F(X-1,Y-1)+F(X,Y-1)+F(X+1,Y-1)+F(X-1,Y)+F(X+1,Y)+F(X-1,Y+1)+F(X,Y+1)+F(X+1,Y+1)+48:IFC<>48THENPOKEA(B),C:FORJ=1TO1:GOTO8 7 POKEA(B),32:FORJ=1TO8:IFPEEK(A(B)+B(J))=46THENL=L+1:A(L)=A(B)+B(J):POKEA(L),32 8 NEXT:B=B+1:ON-(B<=L)GOTO5:GOTO4 9 M=16384:P=33+M:ONDGOTO2:GOSUB1:?@416,"SAFE!":IFI<>10THEN?@416,"DEAD!":FORC=1TO10:SOUND1,1:POKE49151,64:POKEA(B),64:NEXT 20 REM minesweeper 21 REM *********** 22 REM BASIC 10LINERS CONTEST 23 REM http://gkanold.wixsite.com/homeputerium/basic-10liners-2017 24 REM BY JIM GERRIE 2017 25 REM USE A,S,W,Z & SPACE. 26 REM AVOID THE 10 MINES. 27 REM WHEN DONE, HIT SPACE 28 REM ON A MINE TO SHOW MINES. ****************************************************************** 0 CLS0 1
DIMF(10,10),K(255),A(2000),B(8),J,B,L,X,Y 2 B(1)=-1 3 B(2)=1 4 B(3)=-32 5 C=RND(-(PEEK(9)*256+PEEK(10))) 6 D=1 7 B(4)=31 8 GOTO900 100 A$(1)=CHR$(96) 101 I=0 102 FORY=1TO9 103 FORX=1TO9 104 J=-(PEEK(32*Y+X+M)=46) 105 PRINT@32*Y+X,A$(-(F(X,Y)=1)); 106 I=I+J 107 NEXT 108 NEXT 109 RETURN 200 SOUND9,1 201 B(5)=-31 202 B(6)=-33 203 B(7)=32 204 B(8)=33 205 K(65)=-1 206 K(83)=1 207 K(87)=-32 208 K(90)=32 209 FORY=1TO9 210 FORX=1TO9 211 POKE32*Y+X+M,46 212 NEXT 213 NEXT 300 L=RND(9) 301 B=RND(9) 302 IFF(L,B)=1THEN300 303 F(L,B)=1 304 J=J+1 305 IFJ<10THEN300 400 POKEP,PEEK(P)+64 401 K=ASC(INKEY$+"@") 402 POKEP,PEEK(P)-64 403 IFK=0ORPEEK(P+K(K))=128THEN400 404 P=P+K(K) 405 L=1 406 B=1 407 A(B)=P 408 IFK>32THEN400 500 Y=INT((A(B)-M)/32) 501 X=(((A(B)-M)/32)-Y)*32 502
IFF(X,Y)=1THEND=2:ON-(P=A(B))GOTO900:D=1:FORJ=1TO1:GOTO800 600 C=F(X-1,Y-1)+F(X,Y-1)+F(X+1,Y-1)+F(X-1,Y)+F(X+1,Y)+F(X-1,Y+1)+F(X,Y+1)+F(X+1,Y+1)+48 601
IFC<>48THENPOKEA(B),C:FORJ=1TO1:GOTO800 700 POKEA(B),32 701 FORJ=1TO8 702
IFPEEK(A(B)+B(J))=46THENL=L+1:A(L)=A(B)+B(J):POKEA(L),32 800 NEXT 801 B=B+1 802 IFB<=LTHEN500 803 GOTO400 900 M=16384 901 P=33+M 902 ONDGOTO200 903 GOSUB1 904 PRINT@416,"SAFE!" 905
IFI<>10THENPRINT@416,"DEAD!":FORC=1TO10:SOUND1,1:POKE49151,64:POKEA(B),64:NEXT
In addition to the Sweeper game, last year I made a game based on a suggestion from someone from Brazil who commented on one of my programs a while back. He told me about a game he had made when he was a kid. Érico also sent me an image that had reworked using his old machine. He also described a little how it worked. Based on his recollections, I came up with another game, which I was able to cram into 10 lines in the hope of entering it into the NOMAM 2016 competition, but I was too late. So here is the "Monteiro Challenge," an arcade space flying game with 3 levels to get through, for this year's competition:
Anyway, I don't know if any of these game are any good as games, but they sure were a lot of fun to program. Thanks to Gunnar and the folks at the NOMAM retro event for organizing a great competition. Have fun in Lubeck this year!
P.S.
I had been hoping to get a car game going for the contest, But I can't for the life of me think of how I can get a game dynamic that wont sap the speed of the basic algorithm that I came up with for drawing a moving road graphic. I'll keep plunking away at it. It's called Formula1:
In addition to this program I have been busy lately making some ports of old code from other systems and reprogramming efforts based on videos I have seen. For example, RRUNNER.C10 is a game based on a Sinclair ZX-81 game, which can be seen on Villordsutch's page: https://youtu.be/0zJr3wPoi70.
Here is a modification of some code by my friend Robert Sieg from the MC-10 Yahoo group that draws a friendly frog. I was always intrigued by the starring white eyes of the frog and decided to animate them to make a version of what I call MC-10 Hynotoad:
Quite a bit of programming work had to go into converting a game from QBasic that recreated the Mattel Football classic handheld game from the 1970s. The Qbasic code was by bomberpunk. See this thread for info http://atariage.com/forums/topic/9013... and a vid of the original: https://youtu.be/jNKgpAFOsa0
In addition to the above I have also completed the following projects since I last posted:
Island of Secrets
Island of Secrets is a type-in listing in the book of the same name, which is a free PDF available for download from Usborne Publishing: https://usborne.com/browse-books/features/computer-and-coding-books/ As well as the listing the book contains an illustrated background story to the adventure. Some of the illustrations contain information that may aide the adventurer. I ported it from Commodore 64 version I found on-line. However, there were some bugs in it which prevented it from being winnable (or even playable). I fixed'em. Here's a video of a 64 version. Don't know if its the same one: https://youtu.be/Tstl9kjhpUE
Plunkit
Re-programming of Plunkit for the TRS-80 Coco by Roger Taylor. My MC-10 version was based on the Highretrogamelord video: https://youtu.be/1MFm7_zPTG8
Earthquake
Aardvark Software text adventure, ported from Commodore VIC 20 to TRS-80 MC-10. For original see: https://youtu.be/ulh2QWDoeSQ
Amazing!
A closer examination of the source has prompted some alterations to how the maze is drawn. Now level choice influences the amount of free space present on screen.
VicTron Port of Tron by F. G. Huerta
Originally for the Commodore VIC 20. This is a port of the program to Micro Color Basic for the TRS-80 Micro Color Computer. For the original see: http://blog.nanomuelle.com/2012/03/08/tron-3-0/
CupBall
Port to the TRS-80 MC-10 of a game for the Acorn Atom by Dino Dini called "CupBall." For the original see: https://youtu.be/Uwsm7TcvUao
Awful Green Things for the TRS-80 MC-10
Ported an Acorn Atom version of this classic board game to MC-10. See here for more details about the original: https://youtu.be/Es6WmwWxh50 (GREENTHI.C10)
Robot Nim
Ported from Acorn Atom to the TRS-80 MC-10. Original Basic source by P. Mainwaring, Sept 1981
Sniper 1K Game
Ported from a Sinclair ZX-81 1K games compilation. See: https://youtu.be/aANxm-v7P_M
(SNIPER.C10 in the 4K directory of JimG)
Orbit 1K Game
Ported from a Sinclair ZX81 1K game compilation. See: https://youtu.be/YPP-RhYWCUs
(ORBIT.C10 in the 4K directory of JimG)
I ran across an interesting looking game ported to the MZ-80 by Joachim Froholt. He mentioned in the blurb for his YouTube vid that:
I translated Takaya Arita's Sharp MZ-80K classic Cavern 2160 to the Sharp MZ-80A (& english).
When I hear someone describing a Basic game as a "classic" my ears immediately pluck up. What is this classic of which you speak? The original game was published as a program listing in the July 1980 issue of I/O Magazine in Japan. I asked Joachim if he had a copy of the original source. He kindly pointed me towards a place where I might find a scan of the article. In the end I decided to simply look up as many videos of the game being played as I could to recreate what I saw using my own code and coding tricks to get speedy animation out of the MC-10. I did eventually get a scan, which was helpful in resolving a few details of the operation of the game, although I am still not sure if I have fully implemented the game, or implemented it with complete fidelity. For example, in my version there is an ultimate time limit. You get quite a bit of time to build your score, but as you do the game gets slightly harder in regular jumps (signaled by some random beeping). At these points the time it takes for the snakes to come back to life after falling shortens. But also, you can reach a point when the time will simply run out. That being said. I have never been able to play to that time.
The original game is described as a classic because, to quote the retro gamer blog:
Dr Takaya Arita’s game is a milestone release from 1980 – it has been considered “the original sandbox game,” and is a strategic digging game that arrived a good couple of years before the likes of Dig Dug and Mr Do. 36 years on, Mindware is now releasing the game on PC, in three different forms. The original version for the Japanese Sharp MZ-80 computer will be converted, and two remixed versions will be provided – one built to the specs of the Sharp MZ-700, and another built as a classic Eighties arcade game.
The game seems like it would be simple, but it takes a lot of strategy to remove earth in a way that prevents the snakes from overwhelming you or sneaking past and making their way to your "base" and thus, defeating you. I was able to find various version and ports to other system, including one with a pixel text drawn version of the original Japanese name of the game, which I was able to recreate as a title screen for my version. Strangely enough when I sent Joachim a video of the game I had recreated he noticed my port of "The Valley" and sent this message:
BTW, I see your last project was The Valley, that's a fun coincidence,
because I was involved with a version for the Sharp MZ-80A just
recently. I only did playtesting for that one. An interesting little
game, more fun than I originally thought it'd be. Here's a video:
It's a small world when porting projects are being done in such similar succession. Perhaps it's a sign that the pool of "classics" is somewhat limited. Maybe I'm coming to end of it! Let's hope not. Anyway here's the vid of my version:
Nuclear Submarine Adventure was a text adventure published in 1980 by Aardvark Software. Its author was Robert J. Retelle, who also wrote the Star Trek Adventure that I ported recently. Versions exist for the C64/128, OSI/Compukit, TRS-80, TRS-80 and CoCo. It seemed time to make a version for the MC-10. The source code was provided to me after an inquiry to the Coco e-mail list, by Guillaume Major, who oversees the Coco Archive. I found out about the game because Colin Appleby of the Grundy Newbrain Emulator site, asked me on solution archive forum whether I had the source. That sent me to Curtis Boyle's Coco game website. An inquiry to Curtis via the e-mail list (maintained by Dennis of maltedmedia.com) prompted him to respond that he couldn't place his finger on a copy of it, but the posting prompted Guillaume to hunt up a copy from some obscure disk and put it up on the archive. That's a lot of work being done by a lot of different people sharing across the internet to facilitate the retrocomputing hobby!
Anyway, SPOILER ALERT! Below I have included a walkthrough and a map thatI created as I game tested the ported source code. I had to simplify all the fancy music. This included a routine that ran a submarine "ping" noise while you are prompted to enter your command. No great loss... I found the ping a little annoying.
I think I found an error in the save routine. It didn't seem to preserve the variable that recorded that you had used the chair to smash open one of the hatches. So every time you saved you had to get the chair again and re-smash the hatch. I added that variable to the save routine. I also added the synonym "GET" for the "TAKE" command, and the options to use U,D,F,A as shorthand for GO UP,GO DOWN,GO FORWARD and GO AFT.
Found out "The Valley" actually started out as a very popular type-in for the Commodore Pet, which was then ported to a variety of systems including the original TRS-80 Sharp MZ-80, BBC and Apple. Here are some links discussing it:
I think, from what I have read that this classic RPG was first published in Computing Today April 1982. I was able to get a listing and based on that and the viewing of many pictures of various versions, I realized that the Newbrain version had departed from the original in some ways. The most obvious was that instead of having two castles at each end of the central "path," the Castles were simply placed randomly. Also, the map was redrawn every time you entered the valley scene from one of the other scenes (Swamp, Forest, Tower). By pouring over the original listing I was able to restore the game's function to be more like the original Pet version. I was also able to clean up the graphics quite a bit, such as making the castles look a little more like castles and the tower more like a tower. Adding better collision detection also prevents attribute clash between these elements. Now the save game feature actually saves the map info so the valley remains steady from saved game to saved game. Lots of other minor fixes too. Here's how it looks now:
Now forests and swamps, like in the Pet version, are two characters wide. The tower is two characters high. Also revamped the beginning instruction screen to provide more detail about the keys used in the program and revamped and sped up the key input to allow for the option to use all eight directions, instead of just up down left and right, as I think it was in the Newbrain version (which made moving very tedious). Now you can use either:
QWE
A D
ZXC
or
TYU
GH
VBN.
The original used the numeric keypad for movement. Since mine uses the left letters of the keyboard you must press R instead of E to get a report of your rating level and what items you have recovered. I also changed the map routine for the Tower, Lair and Temple so that it used the original Pet routine:
Now the maps are much smaller (and less tedious to explore) and more interesting than the ones generated by the Newbrain code:
I also changed the lake and island drawing routine for the Swamp and Forest to use the Pet code. On the whole it has been a very satisfying project. I've learned about a classic RPG and done some intensive code fixing with the help of a very nice article published in Computing Today back in 1982...
Here's my final project of the October Retrochallenge. I finished just a little too late to make the 31st deadline, but in the spirit of better late than never, I'll post about a porting project I embarked on over the last week to help cheer myself during one of the most challenging times I have at work every year, midterms! Lot's of marking of exams and papers makes this a time, along with mid-winter, that I really need some pleasant distraction.
Grundy Newbrain 8-bit computer
I am a member of the CASA website "Solution Archive" dedicated to Interactive Fiction, including classic adventure games. Colin Appleby joined the group and asked a lot of questions in the "classic forum," about adventures with versions for the Grundy Newbrain 8-bit computer of the UK. He was looking for games for this quirky little 8-bit machine, which was a little like the MC-10, in that it never really gained a big enough market share to be considered one of the mainstream home computers. Like the MC-10, it was bit of an outlier, which is just one of the features that can make a machine so endearing as an object of retrocomputing interest.
One of the games Colin mentioned in his posting was a Basic RPG called "The Valley." This, of course. elicited some complaints from the IF purists in the group that it wasn't really an example of interactive fiction or text adventuring. I think such distinctions are rather arbitrary and was quite happy to hear that Colin had made the file available on the Newbrain emulator site. I am always on the lookout for basic source code!
Kayde Manual
The game is from the Kayde company and was originally distributed on tape. Colin's distro not only included a file for loading into the emulator but also the text source code. Oh how I wish everyone who distributed Basic games for emulators did this! It means you don't have to figure out a new system, its emulator and all the tricks about how to get a Basic file in text format out of the system. The source also lists Chris Despinidis as contributing some debugging. I think Chris is the maker of the Newbrain emulator. See: http://www.newbrainemu.eu/ for more info about the Newbrain.
The Newbrain has a 40X24 screen and the game uses simple "text graphics." Since the MC-10 doesn't have 24 lines, it was useful to be able to use the 64X32 8 color low-res graphics to recreate the text maps. Instead of using various characters to represent the objects on the map (forests, lakes, castles, dark tower, woods, safe path, swamp) I was able to use colours. I also had space left over on the right hand side to put a colour key to explain what each colour represented, since 64-40=24 dots or 12 characters. Luckily there weren't too many items, so 8 colors and black were basically enough to represent everything needed for the maps, with only a little careful doubling up of some colours for slightly different uses on the 3 basic types: terrain, forest/swamp, and castle/tower. The result is a little speedier than the original (I was able to get the game up and running on the Newbrain emulator to help with the porting project), which I think is simply because the MC-10 was developed about 3 years later. As usual, I never know if I have fully debugged, but I will continue to play the game for a while and hope to weed out any that may be left.
In fact, I think I might have spotted some bugs in the original source. I shared this info with Colin on the MC-10 Facebook page. I found an error in line 3820 of the original source that I had downloaded (back in September) that involved a missing colon before a PUT command (how the Newbrain outputs special characters to the screen). Having had my source for some time it's possible Colin or Chris has debugged it in the meantime. I also noticed that line 9000 should probably have had a GOSUB20000 in it instead of GOSUB2000, since the former was a commonly called subroutine, whereas the later was definitely not. However, this GOSUB would possibly never have been triggered in the original because it was in an IF statement looking for a character 230, which I could not find "PUTed" anywhere in the source. My best guess was that a code 254 was what was really needed and adjusted my MC-10 version accordingly to use the right POINT check (to sense the color of the screen locations and return a number from 0-8 for the color found). The command now randomly triggers a message that there is no entry to the buildings on the islands (in the middle of swamps and forests) from the direction one is coming and to seek another route in. So perhaps, the MC-10 version has a feature that even the Kayde original lacked?!
Thanks to John and the other participants in the Retrochallenge, and to Colin and Chris over on the Newbrain site for sharing their retrocomputing enthusiasm!