Okay, looks like the Tempest code project has come a long way in the
last couple of years...
I will elaborate a bit....
Looks like you have plenty of spare RAM space after $071D so you could
use $071E for the
Player 1 new digits and $0721 (see below for reason for skipping bytes)
for Player 2's.
You may want to use two higher ones in case
The TCP (Tempest Code Project) missed a few used locations.
The main score add routine is at... $CA6C and the core functionality
ends at $CAAD(inclusive).
DOH!... But... Looks like there is no space to add more code as the ROM
images are bound up tight.
Never mind.....
I guess you will have to squash bytes and make the code smaller by
looking for in-efficient code.
You probably only need about 30 bytes. Here is what you would have to do
with the code...
SCORING ROUTINE:
Here is entry @ CA6C.. Notice how the final add is done on RAM $0042 at
the end, we will take this out and put
A JMP to a new location (the new space you found somewhere). Once there,
we will run the code that we just took out
Plus our new digit functionality...
CA6C F8: SED:imp Set Decimal ; Decimal math mode used for
scores.
CA6D 24:05 BIT:zp Zp RAM 0005
CA6F 10:7E BPL:rel Branch->$CAEF
CA71 A4:3D LDY:zp Zp RAM 003D ; If we are dealing with player
2,
CA73 F0:02 BEQ:rel Branch->$CA77 ; offset the memory location of
the
CA75 A0:03 LDY:imm #03 ; score by three bytes.
CA77 E0:08 CPX:imm #08
CA79 90:16 BCC:rel Branch->$CA91
CA7B A5:29 LDA:zp Zp RAM 0029
CA7D 18: CLC:imp Clear Carry
CA7E 79:40 00 ADC:abs,y $0040,Y ; Update the score.
CA81 99:40 00 STA:abs,y $0040,Y
CA84 A5:2A LDA:zp Zp RAM 002A
CA86 79:41 00 ADC:abs,y $0041,Y
CA89 99:41 00 STA:abs,y $0041,Y
CA8C A5:2B LDA:zp Zp RAM 002B
CA8E B8: CLV:imp Clear Overflow
CA8F 50:15 BVC:rel Branch->$CAA6
CA91 BD:F1 CA LDA:abs,x $CAF1,X
CA94 18: CLC:imp Clear Carry
CA95 79:40 00 ADC:abs,y $0040,Y ; Update the score.
CA98 99:40 00 STA:abs,y $0040,Y
CA9B BD:F9 CA LDA:abs,x $CAF9,X
CA9E 79:41 00 ADC:abs,y $0041,Y
CAA1 99:41 00 STA:abs,y $0041,Y
CAA4 A9:00 LDA:imm #00
CAA6 08: PHP:imp Push P
----->CAA7 79:42 00 ADC:abs,y $0042,Y ;Take
this code out...
----->CAAA 99:42 00 STA:abs,y $0042,Y
<-----CAA7 4C:XX XX JMP:abs (NewLocation @$XXXX)
;Replace with this
CAAA 00:00 00
CAAD 28: PLP:imp Pull P
CAAE F0:0B BEQ:rel Branch->$CABB
CAB0 AE:56 01 LDX:abs $0156
CAB3 F0:06 BEQ:rel Branch->$CABB
Now at $XXXX put in this code....
79:42 00 ADC:abs,y $0042,Y ;Our exisiting code
99:42 00 STA:abs,y $0042,Y
A9:00 LDA:imm $00 ;Clear A, only use carry
79:1E 07 ADC:abs,y $071E,Y ;We need to maintain the offest
between P1 and P2 scores so Y
99:1E 07 STA:abs,y $071E,Y ;still works for us
4C:AD CA JMP:abs $CAAD ;Go back
Now we have to modify the vector routines..... I have go get back to
work but you get the idea.
If people want to explore this further let me know...
(This ad sponsered by the 'Who wants to work on Monday' Committee.)
> -----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:52:51 2001
This archive was generated by hypermail 2.1.8 : Fri Aug 01 2003 - 00:33:47 EDT