Another Classic Ported to TRS-80 MC-10
Moderator: Alastair
-
- Posts: 93
- Joined: Wed Mar 16, 2016 10:05 pm
Re: Another Classic Ported to TRS-80 MC-10
Hello Jim
I have now entered the MC 10 listing of "Planet of Death" into the NewBrain Emulator and am presently debugging the program to run on the NewBrain. It would greatly help me to have also the Spectrum Basic listing. So can you publish the Spectrum program listing for "Planet of Death" so I can compare to help me get a running POD on the Newbrain.
Thanks a lot.
I also note that there are other "ARTIC COMPUTER" adventure programs on the Spectrum like:
INCA CURSE
THE SHIP OF DOOM
ESPIONAGE ISLAND
KINDOM SPELDOME
Wonder if anyone has the Basic program listing for these ARTIC adventures.
Best Regards
Colin
I have now entered the MC 10 listing of "Planet of Death" into the NewBrain Emulator and am presently debugging the program to run on the NewBrain. It would greatly help me to have also the Spectrum Basic listing. So can you publish the Spectrum program listing for "Planet of Death" so I can compare to help me get a running POD on the Newbrain.
Thanks a lot.
I also note that there are other "ARTIC COMPUTER" adventure programs on the Spectrum like:
INCA CURSE
THE SHIP OF DOOM
ESPIONAGE ISLAND
KINDOM SPELDOME
Wonder if anyone has the Basic program listing for these ARTIC adventures.
Best Regards
Colin
Re: Another Classic Ported to TRS-80 MC-10
Sorry Colin,
There is no "Planet of Death Basic" code for the Speccy or ZX-81. The original games for those machines were written in Z-80 machine language. I wrote my version based on a C language port of those machine language originals. Paul Taylor ported them via C to the TI-89 calculators/pocket computer systems. Here's the header:
// "Planet of Death: Adventure A". Original by Artic Computing, ported to
// TI-89 and TI-92+ by Zeljko Juric, based on generic C port by Paul Taylor.
// You need TIGCC crosscompiler with library 2.0 or greater to compile it.
// Use "tigcc -O2 pldeath.c" to compile.
The file with this C source is pldeath.txt in the folder I pointed towards in a previous post on Github.
Jim G.
There is no "Planet of Death Basic" code for the Speccy or ZX-81. The original games for those machines were written in Z-80 machine language. I wrote my version based on a C language port of those machine language originals. Paul Taylor ported them via C to the TI-89 calculators/pocket computer systems. Here's the header:
// "Planet of Death: Adventure A". Original by Artic Computing, ported to
// TI-89 and TI-92+ by Zeljko Juric, based on generic C port by Paul Taylor.
// You need TIGCC crosscompiler with library 2.0 or greater to compile it.
// Use "tigcc -O2 pldeath.c" to compile.
The file with this C source is pldeath.txt in the folder I pointed towards in a previous post on Github.
Jim G.
-
- Posts: 93
- Joined: Wed Mar 16, 2016 10:05 pm
Re: Another Classic Ported to TRS-80 MC-10
You could also try this c compiler
http://www.z88dk.org/wiki/doku.php
start [z88dk]
www.z88dk.org
z88dk is a z80 C cross compiler supplied with an assembler/linker and a set of libraries implementing the C standard library for a number of different z80 based machines. It supports newbrain as well.
Regards
http://www.z88dk.org/wiki/doku.php
start [z88dk]
www.z88dk.org
z88dk is a z80 C cross compiler supplied with an assembler/linker and a set of libraries implementing the C standard library for a number of different z80 based machines. It supports newbrain as well.
Regards
Re: Another Classic Ported to TRS-80 MC-10
Thanks Colin.
So were you able to simply compile the generic C version for Newbrain?
Jim G.
So were you able to simply compile the generic C version for Newbrain?
Jim G.
Colin Appleby wrote:You could also try this c compiler
http://www.z88dk.org/wiki/doku.php
start [z88dk]
http://www.z88dk.org
z88dk is a z80 C cross compiler supplied with an assembler/linker and a set of libraries implementing the C standard library for a number of different z80 based machines. It supports newbrain as well.
Regards
-
- Posts: 93
- Joined: Wed Mar 16, 2016 10:05 pm
Re: Another Classic Ported to TRS-80 MC-10
That is my next task to compile the generic C version for Newbrain?
On my list to do. Will keep you posted on how I get on.
Regards
On my list to do. Will keep you posted on how I get on.
Regards
-
- Posts: 93
- Joined: Wed Mar 16, 2016 10:05 pm
Re: Another Classic Ported to TRS-80 MC-10
I have now got "Planet of Doom" converted from the TRS-80 version to the NewBrain. Quite a struggle converting, but now runs great on the NB Emulator. See below part of the BASIC code and some of the changes made.
1 CLEAR:PUT31:CLOSE#6:OPEN#6,6:GOTO10
2 ZZ=1:CC=32
3 IFMID$(M$,CC,1)<>""ANDMID$(M$,CC,1)<>" "THENCC=CC-1:GOTO3
4 PRINTMID$(M$,ZZ,CC-ZZ):ZZ=CC+1:CC=ZZ+31:IFZZ<=LEN(M$)THEN3
5 RETURN
7 I$=I$+", ":RETURN
8 I$=I$+" AND ":RETURN
9 FORCC=1TO10:NEXT:RETURN
10 NR=22:NT=31:NP=13:NV=35:NO=NT+NP
20 DIMAC(NT,8),VB$(NV),OB$(NO),RM$(NR),TD$(NT),VN(NV),TF(NT)
30 M$="WELCOME TO the planet of death.":GOSUB2
40 M$="(C) 1981 BY 'ARTIC COMPUTING'.":GOSUB2
41 M$="PORTED TO NEWBRAIN BY COLIN APPLEBY.":GOSUB2
45 REM DEBUGGED BY CHRIS DESPINIDIS
50 REM FROM TRS-80 MC 10 LISTING BY JIM GERRIE
Now need a Walkthrough to help me.
Regards
Colin
1 CLEAR:PUT31:CLOSE#6:OPEN#6,6:GOTO10
2 ZZ=1:CC=32
3 IFMID$(M$,CC,1)<>""ANDMID$(M$,CC,1)<>" "THENCC=CC-1:GOTO3
4 PRINTMID$(M$,ZZ,CC-ZZ):ZZ=CC+1:CC=ZZ+31:IFZZ<=LEN(M$)THEN3
5 RETURN
7 I$=I$+", ":RETURN
8 I$=I$+" AND ":RETURN
9 FORCC=1TO10:NEXT:RETURN
10 NR=22:NT=31:NP=13:NV=35:NO=NT+NP
20 DIMAC(NT,8),VB$(NV),OB$(NO),RM$(NR),TD$(NT),VN(NV),TF(NT)
30 M$="WELCOME TO the planet of death.":GOSUB2
40 M$="(C) 1981 BY 'ARTIC COMPUTING'.":GOSUB2
41 M$="PORTED TO NEWBRAIN BY COLIN APPLEBY.":GOSUB2
45 REM DEBUGGED BY CHRIS DESPINIDIS
50 REM FROM TRS-80 MC 10 LISTING BY JIM GERRIE
Now need a Walkthrough to help me.
Regards
Colin
-
- Posts: 93
- Joined: Wed Mar 16, 2016 10:05 pm
Re: Another Classic Ported to TRS-80 MC-10
Sorry I meant "Planet of Death" not Doom.
The conversion was from the BASIC TRS-80 listing by Jim Gerrie.
Regards
The conversion was from the BASIC TRS-80 listing by Jim Gerrie.
Regards
Re: Another Classic Ported to TRS-80 MC-10
Colin,
There are many walkthroughs here: http://solutionarchive.com/game/id%2C40 ... Death.html
I actually based my reprogramming of the game in Basic primarily on these (and Youtube videos). I used the C source mainly for its text strings of messages and room descriptions (to save having to type them myself). Just clipped them and turned them into data or print statements as necessary. But the flow of the game was reconstructed from the walthroughs and videos. Hope the game works well for you. I should mention that if you want the word wrap routine (lines 1-4 in my original source) to print a different screen width, just change it. For example:
Change
1 ZZ=1:CC=32
2 IFMID$(M$,CC,1)<>""ANDMID$(M$,CC,1)<>" "THENCC=CC-1:GOTO2
3 PRINTMID$(M$,ZZ,CC-ZZ):ZZ=CC+1:CC=ZZ+31:IFZZ<=LEN(M$)THEN2
4 RETURN
to
1 ZZ=1:CC=80
2 IFMID$(M$,CC,1)<>""ANDMID$(M$,CC,1)<>" "THENCC=CC-1:GOTO2
3 PRINTMID$(M$,ZZ,CC-ZZ):ZZ=CC+1:CC=ZZ+79:IFZZ<=LEN(M$)THEN2
4 RETURN
and the program will now print messages in 80 columns. What's the screen width of the Newbrain?
Jim G
There are many walkthroughs here: http://solutionarchive.com/game/id%2C40 ... Death.html
I actually based my reprogramming of the game in Basic primarily on these (and Youtube videos). I used the C source mainly for its text strings of messages and room descriptions (to save having to type them myself). Just clipped them and turned them into data or print statements as necessary. But the flow of the game was reconstructed from the walthroughs and videos. Hope the game works well for you. I should mention that if you want the word wrap routine (lines 1-4 in my original source) to print a different screen width, just change it. For example:
Change
1 ZZ=1:CC=32
2 IFMID$(M$,CC,1)<>""ANDMID$(M$,CC,1)<>" "THENCC=CC-1:GOTO2
3 PRINTMID$(M$,ZZ,CC-ZZ):ZZ=CC+1:CC=ZZ+31:IFZZ<=LEN(M$)THEN2
4 RETURN
to
1 ZZ=1:CC=80
2 IFMID$(M$,CC,1)<>""ANDMID$(M$,CC,1)<>" "THENCC=CC-1:GOTO2
3 PRINTMID$(M$,ZZ,CC-ZZ):ZZ=CC+1:CC=ZZ+79:IFZZ<=LEN(M$)THEN2
4 RETURN
and the program will now print messages in 80 columns. What's the screen width of the Newbrain?
Jim G
-
- Posts: 93
- Joined: Wed Mar 16, 2016 10:05 pm
Re: Another Classic Ported to TRS-80 MC-10
Hello Jim
Thanks for the advice to change to 80 column wide. The NewBrain is normally 40 column wide but I can switch it to 80 column within the program with a command OPEN#0,0,"L40"
1 ZZ=1:CC=80
2 IFMID$(M$,CC,1)<>""ANDMID$(M$,CC,1)<>" "THENCC=CC-1:GOTO2
3 PRINTMID$(M$,ZZ,CC-ZZ):ZZ=CC+1:CC=ZZ+79:IFZZ<=LEN(M$)THEN2
4 RETURN
Will incorporate these changes today.
Thanks again for your help.
Best Regards
Colin
Thanks for the advice to change to 80 column wide. The NewBrain is normally 40 column wide but I can switch it to 80 column within the program with a command OPEN#0,0,"L40"
1 ZZ=1:CC=80
2 IFMID$(M$,CC,1)<>""ANDMID$(M$,CC,1)<>" "THENCC=CC-1:GOTO2
3 PRINTMID$(M$,ZZ,CC-ZZ):ZZ=CC+1:CC=ZZ+79:IFZZ<=LEN(M$)THEN2
4 RETURN
Will incorporate these changes today.
Thanks again for your help.
Best Regards
Colin
Re: Another Classic Ported to TRS-80 MC-10
Thanks for the update. And if you want 40 just change the 80 and 79 to 40 and 39.
Re: Listing for Orient Express adventure on the NewBrain
I've been looking back through some of the older posts in this thread, and I noticed this in the Orient Express game:
Track 14? It's clear the original author of the program never used Victoria station...Colin Appleby wrote:Program Listing for NewBrain Computer:
450 PRINT "THE TAXI HAS DROPPED YOU AT VICTORIA STATION IN LONDON."
460 PRINT "THE ORIENT EXPRESS IS STANDING MAJESTICALLY ON TRACK 14."
[b]~~[i] Pippa [/i]~~[/b]
-
- Posts: 93
- Joined: Wed Mar 16, 2016 10:05 pm
Re: Another Classic Ported to TRS-80 MC-10
You are correct the Orient Express actually departed from Calais, France. The connection from Victoria track 14 is just a connection to get the Ferry to Calais to pick up the Orient Express. I will modify the NewBrain program version to incorporate this.
Simplon Orient Express 1939
This is the summer 1939 timetable for the Simplon Orient Express. At this period, the train consists exclusively of Wagons-Lits sleeping cars. Note that the departure time for London is just the time of the train and ferry connection - the Simplon Orient Express starts in Calais, France. The Taurus Express is a separate connecting train.
Thanks for the clarification.
Regards
Colin
Simplon Orient Express 1939
This is the summer 1939 timetable for the Simplon Orient Express. At this period, the train consists exclusively of Wagons-Lits sleeping cars. Note that the departure time for London is just the time of the train and ferry connection - the Simplon Orient Express starts in Calais, France. The Taurus Express is a separate connecting train.
Thanks for the clarification.
Regards
Colin
Re: Another Classic Ported to TRS-80 MC-10
I was thinking more that (a) in the UK we say "Platform 14", not "Track". And (b) Platform 14 is on the Brighton Line, so is no good for getting to the Calais ferry. (You would need a low-numbered platform on the Southeastern Lines. It's normally Platform 2 for special trains like that.)Colin Appleby wrote:You are correct the Orient Express actually departed from Calais, France. The connection from Victoria track 14 is just a connection to get the Ferry to Calais to pick up the Orient Express. I will modify the NewBrain program version to incorporate this.
Simplon Orient Express 1939
This is the summer 1939 timetable for the Simplon Orient Express. At this period, the train consists exclusively of Wagons-Lits sleeping cars. Note that the departure time for London is just the time of the train and ferry connection - the Simplon Orient Express starts in Calais, France. The Taurus Express is a separate connecting train.
Thanks for the clarification.
Regards
Colin
(Sorry, Victoria was on my daily commute for ages, so I know it really well by now.)
But there's no need to change or correct anything. You're converting the game, warts and all. Most players won't be anywhere near as obsessive as me! (I hope!)
[b]~~[i] Pippa [/i]~~[/b]
Re: Another Classic Ported to TRS-80 MC-10
If it helps you, my archive of basic detokenisers is on github now:
https://github.com/tautology0/detokenisers
They're not very consistent in how they work, mainly because I'm lazy and I just wrote for what I needed at the time, but I've used them a lot for general understanding of games.
https://github.com/tautology0/detokenisers
They're not very consistent in how they work, mainly because I'm lazy and I just wrote for what I needed at the time, but I've used them a lot for general understanding of games.
Re: Another Classic Ported to TRS-80 MC-10
Thanks for your comments Pippa. I can't recall specifically where I got the source code which I used to convert to the MC-10, but I think David Ahl was the original author. See:
http://www.computerscienceforkids.com/P ... tures.aspx
I believe Ahl was an American, so the confusions you mention might originate from that fact. He probably was unaware of British usage and details about the Waginlit tour start in London and the crossing of the channel. I'm pretty certain these aspects of the narrative didn't come from me. As a Canadian I'm sensitive to such distinctions (eg. post vs mail, mobile vs cell, colour vs color, etc.), but I generally try to preserve the narrative aspects of the classic 8-bit programs I convert, except for gross spelling errors and thinkgs like the use of "our" vs "or" and a few other quirks of Canadian usage...
http://www.computerscienceforkids.com/P ... tures.aspx
I believe Ahl was an American, so the confusions you mention might originate from that fact. He probably was unaware of British usage and details about the Waginlit tour start in London and the crossing of the channel. I'm pretty certain these aspects of the narrative didn't come from me. As a Canadian I'm sensitive to such distinctions (eg. post vs mail, mobile vs cell, colour vs color, etc.), but I generally try to preserve the narrative aspects of the classic 8-bit programs I convert, except for gross spelling errors and thinkgs like the use of "our" vs "or" and a few other quirks of Canadian usage...