RE: Tempest score modifications?

From: jess askey <jess_at_askey.org>
Date: Mon Dec 17 2001 - 16:51:07 EST

I haven't looked at the tempest code project lately but the limiting
factor will be RAM space. If you wanted one digit added on each, then
you would need one spare byte of RAM. However... Since the code is not
currently in a form to be completely re-compiled you would need to hack
the ROM scoring routine to rollover the score into the 'new' nibble
which will obviously not be in contiguous space with the existing score
locations. If the code were in compilable form, it would be really easy
;-)

Actually, you only need to do a few things to accomplish this hack...

1. Find two empty RAM locations (then you could have XX,XXX,XXX scoring
per player) since 1 byte is two digits.
2. Find the score add routine, take out the code for the whole thing,
replace it with a jump to empty ROM space and paste in that code up
where you have room to play. Make sure there arent' any relative
branches that will be broken, if there are, replace them with jmp's. Be
aware that since is jmp is 3 bytes and relative branches are 2, all your
local routine branches will break then as well. Modify the add routine
to carry over into the new RAM location. If the original score routine
ended with an RTS, then just end the newly located routine the same. If
it fell through to other code, then do a JMP back to where you need.
3. Find the score display routine, take out the code for that whole
thing, replace it with a jump to empty ROM space and paste the existing
code there. Do the same as above. These routines will be relatively
small (60-100 bytes). In this code you simply have to expand the loop to
go to your new RAM locations after it finishes with the existing score
locations. There will be a subroutine that is called with each digits
value to actually draw the vectors into VRAM. Numbers are drawn from
Left to Right with the drawing routine automatically moving to the start
of the next position. So, you actually, have to do your new RAM values
first, then just fall back to the original code. You will need to adjust
starting location and the long invisible vector between the scores (P1
an P2) to get them centered. These should be constants in code.
4. Since the 'extra man' routines simply look at the six existing
digits, you will have effects like an extra man at 1,020,000, etc. But,
at that point, you probably deserve an extra man. :-) Ideally, this
would not effect the cheat codes either. Just *be sure* that the RAM you
used is truly unused. Using mame and the tempest code project for RAM
location definitions this should be pretty straightforward. (grin!)

Have fun...

Jess Askey, NFT
Software Engineer
Handel Information Technologies Inc.
P.O. Box 1453, Laramie, WY 82070
307-742-5555 Ext. 106
 

> -----Original Message-----
> From: owner-vectorlist@synthcom.com
> [mailto:owner-vectorlist@synthcom.com] On Behalf Of Jonathan Koolpe
> Sent: Monday, December 17, 2001 1:35 PM
> To: vectorlist@synthcom.com
> Subject: VECTOR: Tempest score modifications?
>
>
> Hi all!
>
> I was just wondering if anyone out there has had any progress on the
> possibility of modifying a Tempest to keep track of scores beyond
> 999999?
>
> I have the "level select" chip in mine that allows me to start on any
> level I want with the machine in "normal" mode (and still keep track
> of high scores) along with a switchable tubes chip, but I would
> absolutely love being able to keep track of scores higher than
> 999999:). I'm sure many other Tempest owners would love to see this,
> too...
>
> So is anyone out there working on this and/or has
> accomplished a hack already?
>
> Just wondering,
>
> Jonathan
> --
> Jonathan Koolpe
> Staff Research Associate
> University of California, San Francisco
> Department of Microbiology & Immunology
> Tel: (415) 476-9371 Fax: (415) 476-8201
> mail to: jkoolpe@itsa.ucsf.edu
> --------------------------------------------------------------
> -------------
> ** To UNSUBSCRIBE from vectorlist, send a message with
> "UNSUBSCRIBE" in the
> ** message body to vectorlist-request@synthcom.com. Please
> direct other
> ** questions, comments, or problems to neil@synthcom.com.
>

---------------------------------------------------------------------------
** To UNSUBSCRIBE from vectorlist, send a message with "UNSUBSCRIBE" in the
** message body to vectorlist-request@synthcom.com. Please direct other
** questions, comments, or problems to neil@synthcom.com.
Received on Mon Dec 17 14:10:05 2001

This archive was generated by hypermail 2.1.8 : Fri Aug 01 2003 - 00:33:47 EDT