[SEGA Space Ship] Some update...

From: Fabrice GIRARDOT <f4brice_at_gmail.com>
Date: Tue Feb 23 2010 - 03:04:46 EST

Hi all.

This is an update to my Sega Space Ship fixing task.
The PCB is a 99% clone of Cinematronics's Space Wars.

Some weeks ago, I could successully fix the PCB.
For the first time I could see the game picture... :-)

Only player #1 's fire button was not working.
I quickly checked that the button itself was wrong.
So I simply removed it from the panel, open it and
fix it.
When I powered again the game, bad sound could
be heard and no picture was displayed...
Scope says the PCB is reseted again by watchdog timer !

When I press a fire button, fire sound can be heard
which is good but abnormal when game is not credited.
I highly suspect the last chip of RAM (I already changed
2 bad chip of 3).

This time it'll more difficult to have proof of a bad RAM,
because CCPU is able to execute a lot of instruction before
failing/looping.

Last week-end, I wrote a software tool called an "assembler"
for the CCPU planet.
This tool reads a input text file called "source code",
generally written by hand. In this file CPU instructions
are written in an (almost) human readable format.
The tool writes corresponding CCPU hex opcodes to a binary
output file.
This binary file is to be written into an EPROM.
I'll spread the tool source code under the GPL license.

Now, I'm writting my own CCPU program to test RAM chips.
It's not that easy because one would need little RAM storage
to test RAM.
So my program test at first 2 RAM storage before being able
to test the whole banks & addresses.

Since I can't ouput anything as debug display, if a bad
RAM storage is found, my program makes CPU jumps to an
infinite loop doing :

1: read last RAM storage to B accumulator
2: read any input (so activate signal /READ)
3: reset watchdog timer
4: jump to 2

If my CPU is caught in this infinite loop, I'll use the DSO
to find what is the current selected RAM bank & address.
"I" register stored in chips I12 & J12 will give me this info.
By comparing A & B registers, I'll kown what was wrong.

If all RAM storage is found good, then 2 possibilities :
A/ my test is incomplete ;-)
B/ something else is wrong

In case of (B), I'll write an other program that makes CPU
execute every possible instruction and I'll check them with scope.

I already scanned and converted to PDF all the SEGA
documentation I have.
The PCB pinout file is updated.
The screen pinout file is in progress.

To be continued...

-- 
Fab
---------------------------------------------------------------------------
** Unsubscribe, subscribe, or view the archives at http://www.vectorlist.org
** Please direct other questions, comments, or problems to chris@westnet.com
Received on Tue Feb 23 03:04:53 2010

This archive was generated by hypermail 2.1.8 : Tue Feb 23 2010 - 16:50:01 EST