Sunday 29 April 2018

RetroChallenge 2018/04: The Golden Sphinx


The Matra-Hachette Alice was a home computer sold in France starting in 1983. It was a clone of the TRS-80 MC-10 produced through a collaboration between Matra and Tandy. The Alice was distinguished from the MC-10 by its red case.

Unlike the MC-10, the Alice became a fairly popular computer and Matra later released two successor models with much improved graphics and a built-in assembler. The Alice 32, released in 1984, shared the case of the original, but was a different computer inside with the EF9345 video chip in place of the MC-10's Motorola MC6847. It had 16K memory as standard. The Alice 90, released in 1985, featured 32K and a full-size keyboard.

Because of the introduction of the EF9345 not much of the Basic software for the Alice will work with the MC-10. The EF9345 is capable of 40 and 80 column text and most of the software you can find on the Net uses one of these modes. However, a few programs still use the 32 character mode. In order to maintain some backwards compatibility, Matra made a special screen using the 40 X 24 screen with a 32 X 16 window positioned in the middle and a black border around it consisting of the unused rows and columns. This means that you can still gain access to the columns and rows around the 32 X 16 screen through the use of PEEKS and POKES. I found a Basic game for the Alice that uses this 32 X 16 mode (mostly) with only a few hires embellishments and a few screens that use 80 column mode directly: The Sphinx d'Or.

As you can see from its intro screen (with the pyramid--not the Sphinx), there is a colourful banner around the standard semigraphics screen. There are also some hires embellishments to the standard semigraphics block graphics of the MC6487. The sides of the pyramid have been smoothed, and in the second picture there are some rays that have been added to the sun.

But besides little details like these, it is essentially a Basic graphic text adventure that uses mostly standard SET/RESET block graphics. Of course, it is in French, but with the help of my son Charlie, who was home from Dalhousie University and a graduate of late French immersion for grades 6-9 here in Sydney, and Google translate, it wasn't long before we had English versions of all the text messages. Thanks Charlie (there's an Easter egg in the code in honour of you)!

Then I just had to convert a few of the screens that used the 80 column mode. Also, the original program from the Alice was split in two parts and had a multiple- loading process for different parts of the story. I think this was because the Alice 32 only has 16K RAM (and a 16K ROM--hence the name Alice 32). But I was able to combine both programs into one that fits entirely in a 20K MC-10 (4K + 16K RAM pack) by using the RENUM command that comes with MCX Basic. The first part of the program had the starting screens and also the final game completion puzzles and win routine. A value was POKED into memory that was preserved between loadings that re-directed program execution to the intro or completion routines depending. So you had to load the game, then load the second part, and then re-load the first part to complete the game. There is a version of the Master Mind game in the completion routine that used the 80 column screen and graphics. I was able to create new semi-graphic images for this and all the other aspects that used hires. The only hires thing I couldn't recreate was that fancy permanent woven banner around the screen. But you can't have everything. But, banner aside, we now at least have a new piece of software for the MC-10 compliments of the French. Merci beaucoup citoyens du france et Monsieur Schwartz!


I still have to solve all the riddles of the adventure, but I have tested most of the individual parts of the game. When I'm confident that it is bug free I'll post about in the Interactive Fiction Database, etc. and see if I can find some volunteers willing to try to solve the game and test it more fully.
Original tape cassette box art
I also have completed some minor projects such as adding James Diffendaffer's speed-up POKE to a bunch of my existing arcade games and Darren's Atkinson's (Mechacoco's) keypoll routine that allows multiple keys being pressed at the same time on the keyboard to be registered at the same time. This allowed me to create a version of Tandy's two player Pong game that does't allow the other player to block your key input by holding down his keys. This represents true two-player arcade action coming to the MC-10 for the first time.

Here is a partial list of my activities over the last several months that I have been wanting to blog about:

STORM an original game using Semigraphics 6 mode.
ALATTACK is original game for the 10 Liner Basic Contest. Roughly based on game "Alien Attack" by Scott McCann and Peter Lear.
RACEDRIV is a port of some obscure code from a Dragon 32 Magazine I found on the net.  Taken from a page scan.
ALERT10 is an original game that tries to recreate a Defender style game in 10 Lines of Basic code.  Little slow in starting up, as it has to build the scrolling map, but interesting once it gets going.
MAZERACE was also for the 10 Liner contest.  Mechcoco moded it with some machine code to draw the maze in a blink of an eye! Not a legitimate entry for the contest but still amazing; literally! Thanks Darren!
TEMPEST is a port of a Coco game created by Carangil for the 10-Liner contest. It requires the hires commands of the MCX pack.
C-TREK is a port from a Coco Version of the Classic Star trek game.  I have about a half a dozen different variations of this type of game now for the MC-10. I added a little text graphic of the "Enterprise" to the title screen.
VAMPIRE is a text adventure from Australia, originally for the TRS-80 or possibly one of the other TRS-80-like clones. I took my source from the Commodore 64 version though (if I recall correctly).
Robert Moore posted on the Coco Facebook page asking whether there were any other "Stellar Empires" addicts out there. This prompted me to look this game up. STELLEMP is a port from the Coco variation, although I started using TRS-80 Model 1 source code that lacked an AI computer player. It's another variation on the space-trading-empire-building genre. This one has lots of combat and up to 4 can play. I have converted a number of similar games to MC-10, including what is likely the original of the genre, "Star Traders" by Dave Kaufman, and "Andromeda Conquest" by Avalon Hill.
Star Traders
Andromeda Conquest

Stellar Empires
I think this is likely my last post for the RetroChallenge month. To sum up: I was able to finish working on my MC-Chase game for the MC-10 and then convert it to Coco Basic in time for Coco Fest. And I did the same for Dig Dug. I also accomplished some bug testing of my port of Bruce Moore's "Forest of Doom" Coco hit. I'm pretty confident that version is bug free too. And I have a working version of the Golden Sphinx ported from the Matra Alice.

I send thanks to all the other RetroChallengers. I've been a very busy at work this month so I have had little time for looking at everyone else's projects, but I look forward to browsing them over the coming months.  And thanks to John Lineville for running the contest.

Friday 20 April 2018

RetroChallenge 2018/04: CocoFest Version of MC-Chase and Contest


In honour of CocoFest. MC-Chase! And a contest. Get your name on the splash screen by deciphering the secret mystery message!

10005 ' IF YOU CAN MAKE IT
10006 ' THROUGH  6 SCREENS AND
10007 ' DECIPHER THE SECRET
10008 ' MYSTERY MESSAGE OF
10009 ' MAP 3, AND CAPTURE IT
10010 ' SEND THE IMAGE TO
10020 ' JIMGERRIE@NS.SYMPATICO.CA
10030 ' AND YOUR NAME WILL 
10040 ' APPEAR ON THE OPENING
10050 ' SCREEN OF THE OFFICIAL
10060 ' VERSION OF THE GAME!
10070 ' WIN ETERNAL COCO GLORY!

I got a coco version working just in time for the Friday night start of CocoFest. In the course of completing it I was able to sniff out a few bugs in the later two maps. Hopefully got them all, but I'll have to wait till I have some more free time next week to do some through play testing. In my haste, to post the Coco version, I let a bug slip past. It involved the routine for managing the coloured sections of the walls. You can see in this video, when I move towards the end of the long side wall.  The end section remain the same color as I move towards it:


I also had a spelling mistake in the REM instructions for the contest. See if you can spot it (watch both videos)!  3DMCHASE.BAS can be found on JGGAMES12.DSK in my zip distro of my Coco BAsic games:

http://faculty.cbu.ca/jgerrie/Home/JGGAMES.zip

or from my Google drive file space:

https://drive.google.com/open?id=1YcAJtWJgjOzwosZ798lny1ZZvd0ioEeG

Not sure if anyone will even take notice of my challenge at Cocofest. It's difficult trying to participate from a distance.  And I don't have the promotional flair of Bruce Moore. But I hope someone might eventually take up my challenge. The trick is to get to the third map and then examine the maze structure for a secret mystery message. Tell me what the message says and show a picture or video of the screen, and send an e-mail to jimgerrie@ns.sympatico.ca and you will get you name on the splash screen in the official version of the game, eventually to be uploaded to the Coco Archive.  The winner will be the person with the earliest e-mail time stamp.

Also made a coco version of DigDug and included on JGGAMES12.DSK. The semi-graphic design was by Carlos Comcho, and he also contributed the intro theme song based on the original game.  My son Charlie (just home from Dalhousie University), contributed the fanfare when you complete screens.  A real cooperative effort. Thanks fellas.


And greetings to all the Cocoers at CocoFest 2018!  Have a great time. Wish I was there!

P.S. My son Charlie came home from University and helped me with testing both games.  More certain now that the MC-10 versions are clear of bugs.  Thanks Charlie. However, when we looked at my sister's old Coco2 (which lives in his bedroom), it turns out it had been left on for who knows how long, and I think  some of its ICS got cooked, so no way to test the games on a real Coco2.  Will have to swap out the Coco 2 for a Coco 3 and see if I can get the games running on it. Will let you know.

Tuesday 17 April 2018

RetroChallenge 2018/04: 3DMCHASE--Faster Yet!

I've been working on speeding up the wall rendering part of the program and a few other speedups.  Renumbered the code at one line increments, because that can also help a little with speed, as the main routines are at the top of the program and switch them from 3 digit line numbers to 2 means one less digit to interpret for GOTO and GOSUBs. You be the judge if you can discern any speed increase from prior versions (maybe turn the music off, as my choices might influence your perceptions:). Here's the latest:


And the prior version (demonstrating the multiple screens):



Also been testing the 3 new screens I added.  I have yet to play three three whole maps to get to the next map. Will have to do a full playthrough without tricks to make absolutely sure everything works. Right now you get a new map after completing the prior map 3 times. The third map/maze has a secret message, which you will be able to see if you get to it, or if you can read the code very carefully. But I think it will be hard to discern using the code reading method. Maybe this will entice someone to try to get to the third screen (i.e. nine successful clearings of the mazes). I won't, however, be offering an MC-10 mug for the first person who does and deciphers the message. But maybe someone out there who might be willing to put up a piece of MC-10 swag to encourage some friendly competition. Who knows...

My plan is still to port the code to Coco. Hopefully with the speedup poke it will be even faster. I'll wait until I've got all the bugs out of the MC-10 version before doing the conversion, as its annoying to then discover bugs and fixes and have to work on both versions simultaneously. I might also try to convert my DigDug program too, if I can find the time. I've been very busy with marking, as it is end of term at the University and I did an overload course. Still, Basic coding is a nice way to wind down after a day of marking exams and papers. Ah the joys of pure logic!

Saturday 7 April 2018

RetroChallenge 2018/04: MC-Chase the Continuing Evolution

I've added two maps to the game. You get a new map every 3 completions of a map. The third map contains a "secret message." The maps are saved as DATA statement lines. Since the speedup routine by James Diffendaffer also uses DATA statements, I had to create a routine to restart at the first map DATA statement after you lose your last man. Pippa's POKE/PEEK routine for doing a RESTORE to a specific POINT in the DATA statements was helpful in accomplishing this:

1 GOSUB8:PRINTJ:GOSUB9:GOTO1 8 OD=PEEK(173)+256*PEEK(174):READJ:RETURN 9 POKE174,INT(OD/256):POKE173,OD-256*PEEK(174):RETURN 10 DATA 1

Her routine effectively provides the same ability that other Basics have of including a specific line number with the RESTORE command to have data reading begin at that line. In fact, it is even more flexible because it allows you to choose which specific data item to restore READing to once you repoke the saved value (in the example above OD is used to restore the memory address located by the PEEKs done at line 8).

My plan is to convert the game to Coco after I've got all the bugs out. I'll then release both versions during Cocofest. I won't need Pippa's routine for the Coco version because I won't be using Diffendaffer's speedup M/L routine. Instead, I'll include a routine giving the option to use the standard Coco 2 or 3 (or Dragon) high speed POKES.

Sunday 1 April 2018

RetroChallange 2018/04: The 'B'

I have been working on my new game for Cocofest. I am calling "MC-Chase."  I have got the wall rendering  of the 3D maze about as fast as I will be able to get it. I have the giant "B" that eats you if you're not fast enough. I have an AI for the 'B' based roughly on the same routine I worked out for DigDig. I have the routines for displaying and converting Cocos to MC-10s and keeping track of the score and high scores. Not much more to do. I think I'll just take the rest of April to search out those minor speed-ups to the code that always seem to be possible.


Next post: Some more info on my 10-Liner games for the 10-Liner Basic programming contest. I think I will also try to make a version of Frogger in 10 lines based on a graphic by Carlos Camacho:

No automatic alt text available.

Thanks Carlos!