Another Classic Ported to TRS-80 MC-10

Games for Spectrum, C64, Amstrad, Amiga, Apple ][ and the rest of the 8-bit and 16-bit platforms. Pleas for help, puzzles, bug reports etc.

Moderator: Alastair

Message
Author
User avatar
jgerrie
Posts: 168
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#91 Post by jgerrie » Sun Sep 03, 2017 1:44 am

Pippa

The crown is mine!

What does these POKEs do? You say you don't know much about the MC-10 but it seems that you have figured out how to reset the RESTORE point for use by the READ command. Have I got that right? If so, this is a very useful set of POKEs.

75 RD=PEEK(173)+256*PEEK(174):FOR I=1TO5*NR:READ J:NEXT:OD=PEEK(173)+256*PEEK(174)
5110 POKE174,INT(RD/256):POKE173,RD-256*PEEK(174):FORI=1TO R:READ N,E,S,W,M:NEXT

Thanks so much.

Jim
pippa wrote: A couple of warnings. First: first I'm not a very good programmer and I don't know much about the MC10 or the BBC Micro, so I've probably introduced loads of bugs. Second, it's not a very good game (only 4 locations but three ways to die), so it's probably not worth playing even without bugs.

But I enjoyed converting it anyway. :thumb:

User avatar
pippa
Posts: 57
Joined: Sun Jan 16, 2005 3:28 am
Location: London

Re: Another Classic Ported to TRS-80 MC-10

#92 Post by pippa » Sun Sep 03, 2017 4:59 pm

jgerrie wrote:Pippa

The crown is mine!

What does these POKEs do? You say you don't know much about the MC-10 but it seems that you have figured out how to reset the RESTORE point for use by the READ command. Have I got that right? If so, this is a very useful set of POKEs.

75 RD=PEEK(173)+256*PEEK(174):FOR I=1TO5*NR:READ J:NEXT:OD=PEEK(173)+256*PEEK(174)
5110 POKE174,INT(RD/256):POKE173,RD-256*PEEK(174):FORI=1TO R:READ N,E,S,W,M:NEXT

Thanks so much.

Jim
Yes. Those addresses hold the READ/DATA pointer. The original program made heavy use of the BBC's RESTORE line-number command, but that doesn't seem to work on the MC-10, so I had to use an ugly kludge to get round it.

With hindsight, it might've been simpler to just read everything into an array, but I wanted to follow the original program as closely as possible, to reduce the chance of mistakes! Luckily the emulator came with a complete ROM disassembly amongst the documentation, so it was easy to find the READ/DATA pointer. (Just open the file, hit ctrl-F and search for "data" until I found the right one!)

RD=PEEK(173)+256*PEEK(174) stores the start of room data. I then use a FOR/NEXT loop to READ through all the room data, then OD=PEEK(173)+256*PEEK(174) stores the start of the object data. These get POKEd back later when I need to read the room data or object data again.

(I don't know whether the MC-10's processor stores addresses big byte first or little byte first, but it turned out that didn't matter because even if I'm peeking them the wrong way round, it gets cancelled out when I poke them back the same way round again later!)
[b]~~[i] Pippa [/i]~~[/b]

ahope1
Posts: 42
Joined: Sun Mar 18, 2012 7:33 pm

Re: Another Classic Ported to TRS-80 MC-10

#93 Post by ahope1 » Tue Sep 05, 2017 8:16 pm

pippa wrote:Those addresses hold the READ/DATA pointer. The original program made heavy use of the BBC's RESTORE line-number command, but that doesn't seem to work on the MC-10, so I had to use an ugly kludge to get round it.
Interesting! The only BASIC I really know is BBC BASIC, so I didn't realise that other BASICs didn't have a RESTORE command, which is kind of surprising because you'd think it'd be very useful. E.g. a similar hack (or the same one?!) seems to be deployed in the following book about writing text adventures in TRS-80 BASIC:
Last edited by ahope1 on Tue Sep 05, 2017 10:59 pm, edited 1 time in total.

User avatar
pippa
Posts: 57
Joined: Sun Jan 16, 2005 3:28 am
Location: London

Re: Another Classic Ported to TRS-80 MC-10

#94 Post by pippa » Tue Sep 05, 2017 8:40 pm

ahope1 wrote: Interesting! The only BASIC I really know is BBC BASIC, so I didn't realise that other BASICs didn't have a RESTORE command, which is kind of surprising because you'd think it'd be very useful. E.g. a similar hack (or the same one?!) seems to be needed in the following book about writing text adventures in TRS-80 BASIC:
Jim can probably give you more details, but AIUI the MC-10 BASIC does have a simple RESTORE command to go back to the start of the DATA list, but can't do RESTORE <<line-number>> to somewhere in the middle of it.

Thanks for the link. Interesting. It looks like this is a standard hack to get round the problem.

ETA: It looks like that book uses a slightly more sophisticated approach, scanning the program's line numbers and noting the address of any it might want to restore to later. Clever.
[b]~~[i] Pippa [/i]~~[/b]

User avatar
jgerrie
Posts: 168
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#95 Post by jgerrie » Fri Sep 08, 2017 10:28 pm

RESTORE, as Pippa said, just returns to the beginning. Normally you either load arrays or simply do a number of "dummy" reads to get back to where you want. Alternatively, sine the MC-10 is a machine in the same vein as as the ZX81 and memory is at a premium, you load data directly into arrays from a tape file after running the program. That way, arrays get loaded but without needing redundant DATA statements in the program code.

I told the folks on the MC-10 groups about the game and have put it in my basic compilation (pretty sure I added a REM with "Pippa" in it). Hope that's okay. And the POKES have already been put to use streamlining a couple of old programs. Thanks so much.

User avatar
pippa
Posts: 57
Joined: Sun Jan 16, 2005 3:28 am
Location: London

Re: Another Classic Ported to TRS-80 MC-10

#96 Post by pippa » Mon Sep 11, 2017 7:09 pm

jgerrie wrote:RESTORE, as Pippa said, just returns to the beginning. Normally you either load arrays or simply do a number of "dummy" reads to get back to where you want. Alternatively, sine the MC-10 is a machine in the same vein as as the ZX81 and memory is at a premium, you load data directly into arrays from a tape file after running the program. That way, arrays get loaded but without needing redundant DATA statements in the program code.

I told the folks on the MC-10 groups about the game and have put it in my basic compilation (pretty sure I added a REM with "Pippa" in it). Hope that's okay. And the POKES have already been put to use streamlining a couple of old programs. Thanks so much.
Yes, crediting me as "Pippa" is fine. (It's not actually my real name. When I started on the internet I chose the pseudonym Pippa's Ghost as a pun on Pepper's Ghost, a sort of illusion. I later dropped the "Ghost" bit because people thought it looked silly.)

I'm still surprised you think my idea is that impressive. Maybe it shows the advantage of a newcomer bringing a fresh eye, spotting things that more experienced people take for granted.
:wink:
[b]~~[i] Pippa [/i]~~[/b]

User avatar
jgerrie
Posts: 168
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#97 Post by jgerrie » Mon Sep 11, 2017 11:33 pm

Ta.

User avatar
jgerrie
Posts: 168
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#98 Post by jgerrie » Fri Oct 06, 2017 5:15 pm

****** Zector Adventure Walkthrough ******
DARRELL ULM - AKA ADVENTURE #1
COPYRIGHT (C) T&D SOFTWARE 1984
zector.png
zector.png (3.95 KiB) Viewed 1136 times

Comes with a convenient MAP function (see above). Posted walkthrough in the database.

User avatar
Gunness
Site Admin
Posts: 1768
Joined: Tue Dec 07, 2004 7:04 pm
Location: Copenhagen, Denmark
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#99 Post by Gunness » Wed Oct 11, 2017 1:11 pm

Hi, a bit uncertain here - is this originally for the MC-10? If not, what machine was it originally written for? Thanks!

User avatar
jgerrie
Posts: 168
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#100 Post by jgerrie » Mon Oct 16, 2017 1:50 am

Gunness,

The original version was programmed for the TRS-80 Color Computer. It has a hires graphics "MAP" command to show you your progress. I ported it to the MC-10 and changed the MAP command to a simple text graphics map, with a circular "Death Star" motif. I also fixed up a tonne of spelling mistakes. So I guess you could call the MC-10 version a bit of a "fix." The author, for example had spelled "examine" as "exemine" and many of the words with "ie" were spelled with "ei" instead.

Jim
Gunness wrote:Hi, a bit uncertain here - is this originally for the MC-10? If not, what machine was it originally written for? Thanks!

User avatar
Gunness
Site Admin
Posts: 1768
Joined: Tue Dec 07, 2004 7:04 pm
Location: Copenhagen, Denmark
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#101 Post by Gunness » Mon Oct 16, 2017 6:31 am

Ok, thanks for the info. I always attempt to list the original platform, so I'll update the game entry.

User avatar
jgerrie
Posts: 168
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#102 Post by jgerrie » Fri Jan 26, 2018 2:48 am

Ported and fixed up Underground Adventure by Duckworth:
undrgrnd.png
undrgrnd.png (3.12 KiB) Viewed 984 times
Here's a link to a blog posting:
http://jimgerrie.blogspot.ca/2018/01/un ... worth.html

User avatar
jgerrie
Posts: 168
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#103 Post by jgerrie » Tue May 01, 2018 2:53 am

I have ported to TRS-80 MC-10 and translated to English the graphic text adventure "Le Sphinx d'Or" originally for the Matra Hachette Alice. Created a walkthrough and uploaded info about the game to the archive.
sphinx.png
sphinx.png (3.89 KiB) Viewed 843 times

User avatar
jgerrie
Posts: 168
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#104 Post by jgerrie » Tue May 08, 2018 5:23 am

First release of "Kinder Morgan" a new 8-bit Basic text adventure written for AdventureJam 2018. Think it is well bug proofed, but looking for feedback. Here's the link to download and the Virtual MC-10 emulator from GameJolt (host site for AdventureJam 2018): https://gamejolt.com/games/KINDER/337938

Alternatively, the file KINDER.C10 (in the JimG subdir of the Cassette dir) can be loaded and run from on-line Javascript emulator, but I don't think game save will work under that platform: http://mc-10.com/
Kinder3.png
Kinder3.png (19.22 KiB) Viewed 830 times

User avatar
jgerrie
Posts: 168
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Another Classic Ported to TRS-80 MC-10

#105 Post by jgerrie » Tue Aug 07, 2018 11:02 pm

Two new ports:
A One Room Adventure:
oneroom.png
oneroom.png (3.55 KiB) Viewed 671 times
and Lighthouse Adventure:
lhouse.png
lhouse.png (3.47 KiB) Viewed 671 times

Post Reply