Wednesday, 26 June 2019

"Coup D'Etat" for the Sharp MZ80


The Sharp MZ is a series of personal computers sold in Japan and Europe (particularly Germany and Great Britain) by Sharp beginning in 1978. In a 2017 posting on AtariAge some people were discussing possible games they would like to see ported to TI99. Oracle Jedi made a  few suggestions:
Coup d'Etat - a Sharp MZ80 magazine listing game published back in 1982. Wraithchild was going to take a stab at converting it to the 8-bit Atari.Subspace Striker - a ZX81/VIC20 game from Pixel.
Trader - a three-part "adventure" for the ZX81 and VIC20 - also from Pixel.
Football Manager (the VIC version had no graphics)
Looking forward to trying Oregon Trail when I get my TI out next.
A little searching on the Net didn't turn up any scans of the particular magazine.  However I found an interesting reference in a users magazine for fans of the Sharp 8-bit systems. The magazine had some grainy pictures of the original article, but the details of the listing were unreadable.  However, the author's comments confirmed that the program had been well thought of.


However, I was still no closer to getting a listing. I thought I would try looking for a version of the program possibly converted to another system. The Sharp was a 40 column screen machine, so I thought I would try to see if there had been a Commodore conversion. Sure enough I found a loadable cassette version for the C64. I was able to use WinVice to load it up and print it to a text file.

Now I had the code, but it was obviously, as the Sharp fan went on to note, a "huge" program. The bulk of the listing was taken up with a dozen very detailed full screen character-graphic pictures of the various locations in the simulation ranging from the President's Palace to the TV Station-- Well over 30K. I'd have to bump off over 10K to get it to fit into an MC-10. There was also a very elaborate intro screen with a graphic of a Tank, which would turn its turret to point at the viewer before firing and the display would then switch to a large letters spelling the title. Cutting out all of these pictures and title screen stuff got me down to around 20K. Then I just had to spend a few hours condensing the code, such as taking multiple lines and putting them on one line separated by colons. Distinct line numbers for single commands really eats a lot memory. These old games, typed in using primitive editors, really prevented such efficiencies, since it was so difficult to move code around.  Some of the IF statement lines were also doubled up, probably because the C64 has an 80 character line length, which severely limited what could be done with one IF command. All this got me the space I needed for the variables and arrays used in the program.

I found a number of annoying bugs in the program, such as lines that would never be reached in program flow. For example, there was a funny remark, about your "liberation" of a "case of beer" that was missed. Sometimes this was just because a random number wasn't big enough to trigger all the possibilities in ON/GOTO commands, in other cases, lines were orphaned by the way checks for IF commands occurred. Again, such aspects could easily be lost when one only had easy access to a program via an awkward line editor, which doesn't really allow for a bird's eye view of the code (printouts might... but few would bother continually printing out code as they developed it). However, there was what appeared to be a catastrophic error in the C64 which would prevent one from winning:
389 if(ac=1)*(bz=0)thenprint".....";me$;"been wiped out":goto392
I thought the variable bz was a typo because it was never used anywhere else in the program (I did a search).  It will always contain a zero and therefore trigger the result that "your men" are "wiped out" no matter what happens in your attack on the palace of El Presidente. You could "take" the Palace, but your men would still be wiped out and you would be taken to the losing screen. However, after (finally) getting a copy of the original MZ80 source from Wrathchild on the Atari forums, I discovered that the original source set bz to 1 when you take the barracks and capture a Bazooka.  The Commodore source also sometimes transcribes the "FO" variable for "FD," which means food boxes will not be handled correctly. 

The attack routine also seemed a little messed up. For one thing, there was no difference between the "Capture" and the "Raid" options, except that you wouldn't take control of the site under the Raid option, even if your attack succeeded. I made the RAID option use the same attack routine as assassinate, except you choose the number of soldiers involved rather than a standard 30.  The casualties for both of these types of attack are consistently reported back to their calling routines for the various locations which can be attacked (Bank, Barracks, Police Station, Prison, Palace). There seemed to be an error in the C64 and MZ80 source involving the variable FA for a failed Capture attack. In some cases the variable used in the checks after the return from the attack subroutine was "A" and not "FA." I think this was a typo.


Another apparently incoherent aspect of the code was the management of the various observation towers of the game (see the numbered items in the C64 screenshot above). They were supposed to be attached to specific sites, but the locations didn't seem to match the map, which you occasionally are allowed to view in the game revealing the numbers for each tower. This meant that choosing to destroy a specific tower based on the map wouldn't necessarily aid you in your attacks on a specific location. I thought this was a result of an incompletely implemented system for shuffling the towers locations from game to game. There was an array PT(13) assigned this task, and randomized list of the tower numbers were assigned to it at startup, but then no other major references were made to that array. It turned out after seeing Wrathchild's source file, that I had simply hacked out the complex poke routines attached to the original map. However, this mistake worked to my advantage, as the MC10 version of the map that I made was too crowded to handle possible two digit numbers being displayed next to all the towers by a reshuffling routine. I rejigged the combat routines and other references to towers to use fixed locations of the towers. Your chances of taking a site are reduced if you do not subdue its specific tower.


I was also able to create some simple graphics for each location. Icons really. They're not full screen text graphic wonders like the original, but they get the job done. There were also some simple text graphics displayed when you win and lose: A firing squad for when you lose and you being carried in litter by two lackies, from which you get un-ceremoniously dumped (by mistake I'm sure) when you reach the right side of the screen. Since I was still somewhat pressed for memory I replaced the litter routine with a re-display of the statue of "the leader" displayed when you visit the "Square." The game now concludes with the observation that the statue the people erect to you in gratitude looks a lot like the one for the old El Presidente.

Even with these changes and fixes the game seemed extremely hard to win, so I added a level option and used it to nerf many of the hazards you face and to increase the magnitude of the possible benefits. I have now been able to win on level one (see below). However, this is using my intimate knowledge of the program. I suspect it will be harder for the uninitiated to figure out the optimal strategies needed.  But if you want to play the game like the original author intended, try level 3 but it seems way too hard to me. One benefit I added for all levels, was main menu option to visit the Towers. On any level it is pretty important to blow up towers as you seek to take-over various sites, and the random appearance of the option for attack towers, which only happened when visiting the barracks, were simply too rare in my opinion. So now there are 0-13 options for the main menu, which make for a slightly more balanced menu screen display.


If you view the video at the start of this article, you will notice that I changed the map slightly from my original. This was a result of trying to make it more clear which towers are connected with which specific sites. Unlike the original, I have attached only a single tower to each site.

Hopefully now there is a winnable version of this imaginative type-in  simulation from the early 1980s. My version can be played on-line using the MC-10 Javascript emulator provided by Mike Tinnes (with some additions by Greg Dionne:


Choose "Play Game" then "Classic BASIC games" from the menu.  Select COUP from the Cassette menu and then type RUN and hit Enter in the main screen of the emulator.

P.S. I added some "flag" graphics. When the flag is controlled by the regime, the colour is cyan.  When you take a site over, the flag becomes red. "The workers flag is deepest red!"  Vive la revolution!

P.P.S I added back a "partial shuffling" of the location numbers (the single digit important locations).

Sunday, 16 June 2019

MicroGouilles/MicroGargoyles: A Unique French Type-in Game

Science & Micro Life (#3, Feb 1984)
A few years back I ran across a neat type-in program in a french computer magazine called "Microgouilles" by Dominique Laroche.

It certainly is a wonder of the Internet age that I can lay my hands on a scan of a French magazine from 1983. A further wonder is Google Translate, which helped me read the article.  Here is the intro to the game from the magazine followed by a translation from Google (cleaned up a little by me):
Biologiste ou pas, si vous aimez jouer, vous prendrez plaisir à combattre les microgouilles, les derniers agresseurs en date de votre organisme. Un jeu de réflexes, en Basic standard, pour vous mesurer à votre ordinateur. 
Biologist or not, if you like to play, you will take pleasure in fighting the microgargoyles the latest aggressors to afflict our species. An action game, in standard Basic, to measure yourself against your computer.
The article continues:
Your body is invaded by a new kind of aggressor: Microgargoyles ("microbes + gargoyles"). These organisms have the ability to reproduce in abundance and die after a brief existence. Microgargoyles then become indestructible dead cells. There's only one way to win-- bring them into contact with a dead cell! To do this, your immune system has produced a new antibody. It's up to you to use it against the proliferation of microgargoyles. How long can you keep alive?
The game's rules
The game takes place on a checkerboard where you will find the microgargoyles " X", dead cells of "0", and the antibody cell "H". To play, you have 5 commands, four to move:
                  W  up
       left  A     S  right
                  Z  down
and the spacebar that allows you to choose your mode of travel, either to push one or more dead cells, or to draw one cell. Pressing the spacebar switches from one mode to another. Whenever a micrgargoyle encounters a dead cell, the microgargoyle is destroyed and you score a point. If the antibody strikes a microgargoyle, they will both become dead cells. As time goes by, the dead cells invade the checkerboard. It's up to you to score the maximum points before the end of the game.
Another neat thing about this program was that it was designed using only the most simple and universal BASIC language commands.  At that time the competing computer systems were completely unique in their operation. There were no standard operating systems like Windows, Android, Linux/Apple standards of today. The article provided alterations for 8 different systems:
Transpositions
The lines 90 and 100 of the program allow to position the cursor in XT, YT on the screen. Here's how to write this part of the program for different microcomputers.
TRS 80:
90 PRINT@ ((YT-1)*64+XT-1);
ATARI:
90 POSITION YT, XT
NEW BRAIN:
90 PLACE XT, YT
TI99:
90 CALL HCHARL (YT, XT, 1)
ZX81:
90 PRINT AT YT-1, XT-1
T07:
90 LOCATE XT, YT, 0
VIC 20:
90 POKE781, YT-1: POKE782, XT-1
100 POKE 783, 0 : SYS 65520
ORIC:
The program also illustrates another feature of the type-in program, the ability, or even expectation, of the users to hack the code.  I certainly applied as many tricks as possible that I have learned over the years for speeding up execution. So don't expect my code to look very much like the original. The program is not long.  If you're looking for a simple exercise to rekindle your BASIC programming skills, it is certainly worth typing in and modifying the original.  Try to get it to work on your specific system.  Even in un-sped-up form, the game is fun.  The following is a translation of the description of the code from the magazine.
The program
This program was written in a BASIC as simple as possible to be compatible with a large number of microcomputers, with the exception of two parts indicated in the listing.
The disadvantage is that this program does not exploit the possibilities of a specific machine (graphics, sound effects, optimization for the speed of execution).
It is possible and even advisable to modify this program to make it more compatible with your specific computer.
In lines 1980 to 2010, you can change the location of orders.
In lines 1780 to 1795, you can change the dimensions of the checkerboard.
In lines 1800 to 1810, you can change the maximum number of microgargoyles.
In lines 2030 and 2040, you can increase or decrease the difficulty of the game, by increasing the values of the variables DR or TM.
The game can be played using and emulator here: https://archive.org/details/@james_gerrie. Just search "Microgouilles" In my distro of the VMC10 emulator, the game file is in the JimG subdirectory of the Cassette directory and is labelled "MICROBES.C10" for the sake of providing a somewhat understandable English 8 character filename.

MC-10 Microgouilles with simple text graphics possible on any 8-bit computer
Fundamentally the game is a variation of the global arcade hit "Pengo" released in 1983. In that game the protagonist is a penguin who must slide and push ice blocks to crush the attacking sno-bees and their eggs. In this unique French variation this premise is modified to something more appropriate to the land that gave us the medical breakthroughs of Joseph Lister and his discovery of the microscopic world, with a little Gothic ambiance thrown in from the architecture of Notre Dame Cathedral.


Enjoy!

Sunday, 26 May 2019

Ken Fujisawa's "In the Woods"

"In the Woods" from partially converted Sanyo PHC-25 version
I ran across an interesting article on Japanese programmers who contributed to the explosion of Japanese gaming in the early 80s. "Gamasutra" aka John Szczepaniak discusses some of the seminal games and most influential programmers of the industry. In his notes at the end he lists "[*7] Ken Fujisawa. Creator of... In the Woods (AX-2)." AX-2 was a multi-game distribution for the NEC PC6001 that I was familiar with because it also contained "Nostromo," which is a game I converted a while back. I decided to look into "In the Woods" and see if I could also convert it. I found some info on the Net, including the screenshot above, provided by someone trying to see if the game could be converted to run on the Sanyo PHC-25. The Sanyo was an 8-bit machine of a similar time period as the NEC PC, and which also used a Z-80 processor and the MC-6847 as its graphics chip.

I looked back into my files and I still had the files from the AX-2 distro.  This was good because when I searched on the Net again, I couldn't relocate the file. Maybe it has been taken down-- AX-2 was a commercial product.  Seems like things are heating up a bit when it comes to copyright issues.  The Cocotalk folks were discussing the ethics of porting and re-coding on their last podcast. Don't know if I am doing anything wrong.  I am reusing old code I find on the Net, but I feel a little better about the fact that I don't sell any of the programs which result from my efforts. I'm just using code as material for my own little retrocomputing coding projects.  I always try to leave references or even add references to the original authors.

NEC Trek Intro (Compare with above)
I was able to load the game into James the Animal Tamer's "Virtual NEC Trek" emulator.  However, since the NEC Trek is a North American version of the PC 6001, its doesn't have all the hardware additions for displaying Japanese characters.  This means the screen doesn't display like it should.  So I had to use the screen shots from the Sanyo and send them to my son, who can work with the Japanese characters. He was able to give me a rough translation of the Sanyo instruction screen, which was helpful for both coding the game and trying to play the hobbled Nec Trek version.

NekTrek Game Screen
One feature that would be impossible to recreate on the MC-10 version is the use of two different color palettes on the same screen. It is neat to see the Orange and Red palette and the Dark Green and Green palette being used on the same screen. But the MC-10 just doesn't have the circuitry for running the MC-6847 in such a complex way.  Still, I made the instruction screen use the Red and Orange palette to hint at the look of the original. I also took out all the commands referring to the "STICK", since there are no joysticks for the MC-10. It's really easy to convert BASIC games from the NEC PC-6001. LOCATE X,Y commands become PRINT@X+Y*32.  SCREEN and COLOR commands are just omitted, since multiple palettes are out. There was some graphic animation using LINE commands that had to be redone using simple semigraphics text characters.  At the end a village is displayed and its gate opens up to permit the successful adventurer in after she has successfully navigated "the woods."  I say "she" because the story is evocative of Little Red Riding Hood.

The following is a transcript of my son Charlie's attempt at translation (via text messaging). You can see the english instructions I was able to get out of his attempts in the video of my MC-10 version of the game:

  • "Before the clock strikes 12:00, you must get to the village, marked by the diamond(♦)"...
  • "However, if:"...
  • "You run into a big tree(?) marked by the ♠"
  • Something about eating five ♣
  • "Then you'll die"
  • I don't know if it's saying if you do or don't eat them
  • Oh they're mushrooms!
  • I think the last part says something about waiting for the mushrooms before you get to the village
  • Do you know the gameplay for this?
  • Also just so you know, I'm saying the clubs are mushrooms
  • No, my final verdict is that the mushrooms are poisonous and eating 5 kills you
  • And then the last part is warning you to hurry before too many appear

Thanks Charlie! Your input, as always, makes a vital contribution to my programming efforts.  I also have to thank Darren (Mechacoco) for the use of his TIMER USR routine to allow me to properly keep track of the seconds countdown like in the original.

I used my replacement for the PLAY command to translate some of the music from the original using only the SOUND command of the MC-10. Here is that subroutine:
0 DIMN(21)
1 CC=1:FORC1=1TO63STEP3:N(CC)=VAL(MID$("087103113129142149161171181185193200203209215219221223229231233",C1,3)):CC=CC+1
2 NEXT:GOTO12
4 FORCC=1TOLEN(M$)STEP2:SOUNDN(ASC(MID$(M$,CC,1))-64),ASC(MID$(M$,CC+1,1))-48:NEXT:RETURN
11 FORC1=1TO250:NEXT:RETURN
12 M$="G4G4G4A4B4B4":GOSUB4:REM TEST SOUND
Because MC-10 Basic is usually faster than NEC Basic, I was able to add a little challenge. The delay loop on input gets shorter for each successfully completed screen. So controlling the player avatar, which I made an X (instead of an @) should get a little more challenging (faster) as you progress. I also added a cumulative score to tally your diamonds from each completed screen. The original didn't seem to keep track from screen to screen. I also added a high score routine. Not sure what characters were originally used, but I suspect that it was the card suit characters: the spade for trees, the diamond for your goal, and the club for mushrooms. I used the up arrow for trees, since they kind of look like pine trees, periods for "little" mushrooms and the astrix for the diamond.  I'll leave it to you to judge if they work.  Here's a vid of what I came up with:


Addendum

Based on some input from Keiichi Shiga on the Japanese Vintage Computer Users group on Facebook, I fixed up the instructions. I also, changed the way that the score is displayed. Now it counts down from the 20 diamonds that you start with every screen followed by your total cumulative score.  Also, your lives countdown from 5 for mushroom hits.  When you hit zero... you're dead.


The game "In the Woods" can be found and played under "Our Classic Basic Games" menu item on our GameJolt Page: https://gamejolt.com/games/jgmc-10games/339292. Just select "Play Game" then click "Play Our Classic Basic Games," select "In the Woods" from the cassette menu and finally type RUN and hit ENTER.  Then enjoy a classic Japanese 8-bit BASIC computer game from the early 1980s.

Addendum to the Addendum (Dec 2023)

I realized that the game port of In the Woods and my port of Nostromo were both originally part of a distribution of BASIC game programs put out by the Japanese software company ASCII Publishing called AX-2.  That distribution originally had a menu program with some fancy graphics to access the various games.  So I decided to try to update both Nostromo and In the Woods with a recreation intro screen from the AX-2 disto.  There are some other programs from that distro that I will also try to port, and when I do so, I will also use the intro screen:



Monday, 13 May 2019

Telengard in 20K TRS-80 MC-10


I have ported Telengard from TRS-80 Model 1/3 to TRS-80 MC-10. Had to sacrifice fountains, misty grey cubes, jewel encrusted thrones and mysterious boxes with buttons, but it now fits in a 20K 8-bit computer. Still present are altars, teleports, stairways, pits and elevators. It has a procedurally generated dungeon map, which means it has 50 levels and millions of rooms! Here's a link to an neat interactive map.

To get it down to under 20K I used MCX hardware add-on and its extended BASIC as emulated in VMC10 to renumber the code. The nice thing about the MCX hardware is that it allows for over 30K of memory, which provides the initial space required to work on the code while also being able to run and debug one's edits. Eventually I got to a point, where it fit in the regular 20K and I simply turned off the MCX and extra memory.

Lots of little sacrifices were needed. No character name. Separate screen (hotkey-H) to display items carried.  No command help screen (the original use of the H key). I shortened and standardized many messages, which means that some of the unique and quixotic ones have disappeared. No title screen.

All the spells and magic are there, although I have yet to test the highest level spells (above 2).  All the monsters are there.  All the special items (scrolls, rings, etc.).  You can save your game progress when you make it to an Inn, but unlike the original game, you can also save your game at any point in the dungeon by hitting the * symbol. When you save the game while in the dungeon you will be returned to your save point.

I used the senior TRS-80 Model 1/3 BASIC source as the start because is was already setup to use only 16 rows. Its graphics were simple semigraphic block character-based. In many ways my version looks more like the Apple or PET versions because it uses text character graphics, such as dashes and exclamation marks for doors and an X for the player. It is a complicated game with "permadeath" being the main experience of players at the beginning. A good manual is a must for playing it properly.

New Easter Egg

I have hidden "The Orb of Charlie" (in honour of my son Charlie) at a specific location on level 3 as a goal for play. Once you retrieve the ORB it will be permanently displayed in the bottom right of the screen. This addition is meant to be some minor recompense for the loss of the major location items (fountains, thrones, etc).

I really enjoyed finding out some of the complex and somewhat contentious history of this program by Daniel Lawrence, which stretches all the way back to the mainframe and mini-computer network systems, before jumping to the first home-computers in the late 70s.


Now the MC-10 can be numbered among those computers that have a version of this classic program-- albeit a somewhat simplified version-- but with some unique features of its own.

Tuesday, 23 April 2019

Shoplifting Boy-- the First Stealth Game-- Reprogrammed on TRS-80 MC-10

I have made a BASIC program recreating the game Shoplifting Boy (万引き 少年) for the NEC PC-6001.

The original version of the game was created by Hiroshi Suzuki for the Commodore PET 2001 in 1979. It is credited with being one of the first "stealth" games. I reprogrammed this version based on many viewings of a video which discusses the historical impact of Suzuki's game on the stealth video game genre:

The author of that video used a sequence of video showing what is apparently a port of the original to the NEC-PC6001. It's possible that it is being played on one of the other MC6847-based PCs from Korea or Japan, but the appearance of the title "N60 Basic on the startup screen makes me pretty confident it's on the NEC. Here are some screenshots of the original Commodore PET version for comparison:



You can see a transliteration of the original game name as "Manbiki  Syonen." Not really sure if "shoplifting boy" is a direct translation or simply the closest approximation in English of some idiomatic Japanese term for young male toughs who practice the art of the 5 finger discount.

In the Commodore PET version it looks like the shoplifter is carrying a bag for his loot. The bigger screen of the PET (40 X 25 versus 32 X 16 on the NEC) allows for more items. Things are a little more cramped in the NEC version, and even a little more so in my MC-10 version. Since the MC-10 doesn't have the special line-draw characters, only semigraphics characters, I had to extend the height of the figures to 3 character rows, to get "feet" on the bottoms of each leg. This necessitated a special routine that refreshes the entire background so that shelves can be redrawn after the character passes overtop them, etc. Still, from what I can see from the video, I think my version is much faster than the NEC version. Most Basic games are pretty slow on the NEC. Its combination of the Z80 and MC6487 video chip wasn't conducive to the creation of a speedy 8-bit system. So I suspect that my version will be more enjoyable to play than the NEC version. Can't say how the Commodore PET version would have played. Based on comments made by the game historian, Stealth Docs, in the video, it would appear to be very difficult to find the game on the Net in any kind of working form. Here's a video of my version in operation:


Since making that video I have added a musical refrain "Money Money" from Abba instead of the buzzer when you clear the screen. I have also better calibrated the timer and scoring with the help of my son Charlie. Thanks my good chum!  The game can be played from my GameJolt page. Just choose "Recodings of Classic Games" and then select "SHOPLIFT" from the Cassette menu. Then type RUN and hit Enter in the main emulator screen:


I now have quite a collection of classic Japanese Basic games ported to MC-10: Pitman, Fruit Panic, Space Mouse, Cavern 2160, Tacle Penguin, Arabian Rhapsody, Mt. Fuji Eruption, Space Freighter Nostromo, Binary Room, and Defense.  And a Nyan Cat animated graphic to boot.

I can add this collection to my other international collections:
"Romp in the Garden" (Bulgarian)
ZX81 game ports and remakes (England and Scotland)
VZ200/Laser games (Germany and Australia)
TRS-80 Model 1 and 3 games (U.S.A)
MC1000 games (Brazil)
Dragon 32 games (Wales)
Matra Hachette Alice 32 games (France)

I'm currently working on an empire building simulation called "World Governor," which I'm translating from a German program for the Laser 8-bit home computer. I added a nifty random "flag"generator routine for each country. The game has tactical nukes and you can enter your leader's name, so you can, like my son used to do in the modern game "Civilization," have Gandhi nuke an opposing country as he ruthlessly builds his empire.


I had to create a subroutine for putting commas in big numbers, since there are so many used in this game. The routine works pretty well. I will have WorldGov debugged soon. Also added the comma routine to my Wildcat game, since it also uses big numbers in simulating the finances of running a oil and gas wildcatting business.

Addendum (Dec 2023):

I recently spotted this graphic image on the Net which seems to show a shot of the cover of a magazine in which the original type-in version of Shoplifting Boy was published:



While viewing the old source code again for the game, I realized that my extensive recoding efforts described above might have disrupted some of the feel of the original game.  As I played it, I began to wonder whether what I had produced was more of a -recode than a port.  Part of the necessity of the extensive modification arose from the need to create the body and legs using the blocky semigraphic-4 characters of the MC-10, which doesn't have the more refined box and line-drawing characters as part of its character set like the NEC PC-6001 does.  This meant that I had to add an extra line to try to recreate the look of the line character body and legs of the original. I began to think about how I could perhaps more abstractly represent the body and legs using only in a single line of semigraphic-4 block characters and came up with some ideas.  I thought these looked pretty good, so I returned to the original source and did a more straightforward port of the code only tweaking it to account for the differences in syntax between the two versions of BASIC. What I came up with was a more direct port.  I also applied Greg Dionne's better key input methods, which allow for smoother more responsive input.  The result is, I think, a better representation of the original game:


And while I was scrounging through the old Japanese MICOM computer magazines I came across another game for the NEC PC-6001 which I thought I could port:


My work in animating the character using simple semgraphic-4 characters in Manbiki and in my recent port and graphic update of Football Manager from the Dragon 32 gave me the idea for slightly modifying the skiing character to look a little more like a real skier.  Here is a video of Football Manager:

I'm pretty pleased with how this graphic animation came out.  It makes the MC-10 version a little more like the popular Sinclair Spectrum version of the game by Kevin toms with its "game highlights."



Thanks Kevin for a great game now for the TRS-80 MC-10!

Saturday, 30 March 2019

RetroChallenge 03/2019: Last Post

The time is ticking down. Don't think I'll be able to add much more to my activities this month for RetroChallenge, so I think I'll wrap things up. Since finishing "Manic Miner" I have been just fooling around with a few back burner type-in projects. The first was one from my list that I mentioned at the start of the Challenge, "Convoy."  This program was one of a number of listings I found in Dragon 32 programming books. Had to type it in from the PDF. Few tweaks and it was running.


It takes a little knack to figure out the ranging. Each level adds more ships. I think it might be possible to add an animated shot flying from your cannon to the target, rather than simply have a numeric countdown and then "splash."  Maybe some speed ups could be done too, to make it a little more challenging.

The second project I completed since Miner was a program called "Geography." This one I got from a German VZ200/Laser Fan Club software repository on the Net: http://www.wolkenkratzerhaus.de/VZ/Historie.htm. It has been a really valuable resource in the past and I thought I would take another look. There are so many programs listed and all the descriptions are German, so it is hard to guess what's there. Some program descriptions mentioned "Englisch" so I took a look and found "Geography". The remarks in the program seem to indicate that it might have originally been from a Coco book and then migrated to VZ by way of a PET stage.

2100 REM GEOGRAPHY, CC BOOK 2
2110 REM FIT TO PET BY ANDY GAMBLE NOV 79
2120 REM FIT TO VZ 200 BY STEFAN ROEBBEL JUN 86
2130 REM COLUMBIA COLLEGE
2140 REM 1619W 10 AVE VANCOUVER BC

Added my name to the list. 2018 seems like quite a jump! But the program had already travelled from the Rocky Mountains to Germany in space, so a little leap by time is perhaps not that unusual.


It has quite a list of names stored in its DATA statements. I added a little graphic partial world map that I found in a Sinclair Spectrum program listing. Not sure if I translated the Speccy semigraphic characters completely correctly, but from the description of the graphics I found on the net, it seemed the best I could do. Here is the original listing:

AAAAAEEDDNPPLAAAIAAJAACIAAAAAAAA
AAAAGEADABPPKAABAAAJAAPEMAEAAAAA
MMEJPMIMKBPLCAAEMIAONPPPPPMPOMMA
PPPMPPCEDFLAMAANHONPPPPPPPPPPPPC
LHPOPOAPOACAAEBHBPPPPPPPPPPLDFAA
ABPPPPOPPIAAAGOONPPPPPPPPPPOABAA
AAPPPPJPDBAAAMLLPDHHHPPPPPPLIAAA
AAPPPPPCAAAAADABBDPNPPPPPPHAKAAA
AAFPPLLAAAAAANPOMMPHPPPPPPIBAAAA
AAAHPAEAAAAAEPPPPPHOJHPPPLCAAAAA

Each letter represents a semigraphic character from the following list


From various experiments it seemed like the order of the top 2 lines went like this

ABCDEFGH
PONMLKJI

But the resulting picture seems a little odd/fuzzier than it should. I tried some add hoc substitutions but it didn't seem to make much improvement so I left it pretty much as is.

Well that is the end of my RetroChallenge activities for this month. All the best to the other contestants. I've enjoyed popping into a few projects that looked interesting (mostly ones with programming aspects looking for ideas) and reading John's mid contest update. Thanks again to John for organizing and to all the other contestants for their efforts.  Keep on retrocomputing!

Addendum

Thanks to Solar Penguin (Pippa) I learned that the Speccy and the ZX81 don't use the same block character set.  Since my map data was from the Speccy, my map didn't look right.  Now it does.


Friday, 22 March 2019

RetroChallenge 03/2019: Some Updates to a former Retrochallenge Program


I have made some edits to a program I did for a RetroChallenge a few years back. It was a port of a text adventure coded by "Floyd" (aka Joshua Bell) in Applesoft Basic for Javascript. Since Floyd had lots of power to work with, speed was not a problem. He coded a clever encoding system to hide the game's text data from snooping eyes peeking at the source. However, on an MC-10 with plain old interpreted Basic, the setup time to decode all this data was way too long. So when Floyd contacted me about an error I had made in my Walkthrough map of his game, I decided to revisit his encoding routine and apply some of the Basic speedup techniques I've picked up over the last few years. I also decided to add a little reverse video to provide some visual distinction between room descriptions. I have also fixed up my standard word-wrap routine since then, so I updated that as well. If you click on the link to my original post you will be taken to an updated map of the game with hints about how to complete it, so beware if you don't want the game spoiled. It can be played online at Game Jolt and also find a link below to Github with the latest source code:

https://gamejolt.com/games/jgmc-10games/339292

https://github.com/jggames/trs80mc10/tree/master/quicktype/Text%20Adventures/UncleTay