Page 1 of 2

Meteor

Posted: Tue Dec 31, 2013 2:09 am
by jgerrie
This is an arcade game originally programmed on the TRS-80 MC-10 and now ported to the Dragon and Coco as part of my Retrochallenge 2014 Winter Warmup project http://www.wickensonline.co.uk/retrochallenge-2012sc/. Thanks to Zephyr for the Speedkey routine. Enjoy!

Re: Meteor

Posted: Fri Jan 03, 2014 1:02 pm
by zephyr
I did my own customised version of this game. Here is a list of the changes:

(1) Ship launches with more fuel
(2) Ship speed does not change when firing weapons
(3) Firing continues when moving left or right
(4) The down arrow key increases ship speed (Engages Hyper-Drive)
(5) Modified the double speed routine
(6) Added a small machine code routine to hold SCREEN 0,1 at the title screen (Screen PRINT speed is quicker)
(7) Pressing the 'Q' key at the title screen quits the game (returns to BASIC with SCREEN 0,1 routine detached)

NOTE: You can't fire weapons when Hyper-Drive is engaged (like Star Trek Warp speeds).

All changes are compatible with both CoCo (Minimum 16K of RAM and Extended Color BASIC are required) and Dragon machines. You are welcome to keep any (or all) of the changes for the competition.

Re: Meteor

Posted: Fri Jan 03, 2014 8:03 pm
by jgerrie
Wow. Thanks. I had already been working on some changes myself that mirror some of yours. I added the "Q" to quit on the title screen. My son also requested more fuel for each refuelling when you run over a space station +O+ or fuel pod O in the "star trench." I modified LV on line 5110 from 99 to 125 to accomplish this. I also tightened the main loop and fixed a problem where the red warning light was not erased when you ran low on fuel while in the star trench sequence. I simply removed the SCREEN 0,1 from the title screen. On the MC-10 version I have a little machine language routine that actually reverses the screen so that the background is dark "space." This is the reason I added pokes to the Coco 3 double speed detection routine. It changes the colours to green on black.

I don't know, but I'm thinking I should add a rules/instructions screen. You say you added more starting fuel, which made me wonder whether you were aware that you can get more fuel by running into the space stations and Os. My son and I find that when we play we reach a point where we must decide whether to sacrifice lives by carreening recklessly to hit space stations to build up fuel rather than trying to shoot the alien ships. I should also mention that shooting also takes energy, so if you fuel light comes on, you should definately stop firing and start trying to hit stations to "fuel up." There is no max fuel level, so hitting stations to build fuel and then switching to shooting aliens is a good strategy.

Perhaps my changes are redundant know, but I'll include my latest version here anyway. I should mention that the retrochallenge winter warmup isn't a programming contest. It's just a lose bunch of people who set retrocomputing tasks for themselves over the month of January. As incentive some people offer "prizes"--in this case--an old ZX81 I think is being offered (taken from under someone's door?). My challenge is to finish up some programming projects and convert as many of my MC-10 programs to Coco and Dragon compatible format as possible.

I'll have to take a look at your machine language routine for SCREEN 0. Does it speedup printing you say? Perhaps it could also be used on the game screen? Thanks for the feedback.

Re: Meteor

Posted: Fri Jan 03, 2014 11:21 pm
by zephyr
jgerrie wrote: You say you added more starting fuel, which made me wonder whether you were aware that you can get more fuel by running into the space stations and Os.
Yes, I saw your demo of the MC10 version of the game on YouTube.
jgerrie wrote: I'll have to take a look at your machine language routine for SCREEN 0. Does it speedup printing you say? Perhaps it could also be used on the game screen? Thanks for the feedback.
It works for anything printed to the text screen. Try the following to see the difference in speed: Press break at the game title screen, enter "NEW", and type in the following example. Then try it on the same machine (or emulation) just after power-up.

Code: Select all

10 CLS:TIMER=0
20 FOR I = 1 TO 1000
30 PRINT"QWERTY"
40 NEXT:PRINT TIMER/50   << (Change this to TIMER/60 for NTSC CoCo's)

Re: Meteor

Posted: Fri Jan 03, 2014 11:48 pm
by zephyr
I would like to try your MC-10 version (the one which uses machine code to reverse the screen). Where can I download it?

Re: Meteor

Posted: Sat Jan 04, 2014 12:12 am
by jgerrie
The following will link you to a zip file from my home page that contains an emulator and all my latest games in its cassette directory: http://www3.ns.sympatico.ca/jimgerrie/VMC10_073D.zip

Re: Meteor

Posted: Sat Jan 04, 2014 2:46 am
by zephyr
Thanks, Jim. :) I liked the reverse screen of the MC-10 version so much that I quickly extended my original machine code routine to add the same feature to the CoCo/Dragon version. The new routine is compatible with CoCo 1, 2 (Minimum 16K of RAM and Extended Color BASIC are required), 3, and Dragon 32/64 machines.

EDIT: Attachment (METEOR-Z2.zip) removed.

Re: Meteor

Posted: Sat Jan 04, 2014 4:08 am
by zephyr
I just remembered that reading the keyboard by peeking the keyboard rollover table won't work properly on CoCo 2's without adding extra lines to constantly call the INKEY$ function in the same loop. The attached update fixes that problem by the addition of two extra lines (A$=INKEY$) to the code. I recommend that the two lines are deleted before playing the game on any machine other than a CoCo 2.

EDIT: Attachment (METEOR-Z3.zip) removed.

Re: Meteor

Posted: Sat Jan 04, 2014 7:24 am
by jgerrie
Zephyr, I've integrated some of your routines into a new version of my own. It has some of the existing quirks, but it has the speed my son and I like. Thanks for the code. Do you have a name I could add to the splash screen? Zephyr?

Re: Meteor

Posted: Sat Jan 04, 2014 2:12 pm
by zephyr
jgerrie wrote:Zephyr, I've integrated some of your routines into a new version of my own. It has some of the existing quirks, but it has the speed my son and I like.
The keyboard controls don't work properly when the game is running on a CoCo2. You will need to add the extra A$=INKEY$ to prevent the problem of the ship drifting when moving left or right.
jgerrie wrote:Do you have a name I could add to the splash screen? Zephyr?
Thanks, Jim. :) My name is Steve Evans. I would prefer you to just give me a quick mention on your home page somewhere, followed by a link to The DRAGON Archive.

e.g.
Steve Evans (Zephyr)
http://archive.worldofdragon.org

zephyr wrote:I just remembered that reading the keyboard by peeking the keyboard rollover table won't work properly on CoCo 2's without adding extra lines to constantly call the INKEY$ function in the same loop. The attached update fixes that problem by the addition of two extra lines (A$=INKEY$) to the code. I recommend that the two lines are deleted before playing the game on any machine other than a CoCo 2.
The attached version does not need to have the extra lines deleted. I have added a test for the CoCo2 which bypasses the A$=INKEY$ when the game is running on any other CoCo or Dragon machine.


EDIT: Attachment (METEOR-Z4.zip) removed.