Re: [SEGA Space Ship] Some update...

From: Mark Shostak <shostakmark_at_gmail.com>
Date: Tue Feb 23 2010 - 16:33:44 EST

Hey Fab,

Welcome to the world of vector games, CCPUs and 30 year old electronics!

If you need another ram, just let me know. Alternately, you could take the
ram out of your other (actual) CCPU board. You don't know whether that ram
works or not, but the odds of all 3 being bad are very small. Following the
same logic, the odds of _your_ 3rd Sega ram chip being bad are also small,
but it's certainly possible.

Getting random sounds is normal when you don't have CCPU sanity, which is
indicated by the repeated assertion of the watchdog timer. This happens
because there is no reset signal to initialize the sound hardware, and the
CCPU is not available to perform the initialization, so the state of the
controls for the effects are all indeterminate.

Writing a ram test for the CCPU is an interesting exercise. There is no
place to stuff temporary variables or pointers, so you end up doing a lot of
cut and paste, or duplication of the test routines. Fortunately, program
memory is cheap these days.

As you pointed out, once you actually do have a ram test routine,
communicating the results becomes the next challenge. To solve this, my CCPU
test profiles report their results via the CCPU video output, but not to the
vector display. Since a defective CCPU can't drive the video display, plus
you risk damaging the display, I instead output to an adjunct LCD.

Here's a picture of my CCPU test setup:
http://www.ionpool.net/arcade/cine/cmg/cine2.jpg

Note the TIL311 with the "Rat Eyes" as you guys call them.

Are you recording this under the same WIP or did you start a new one for the
new problem?

Keep up the good work!

-Mark Shostak

On Tue, Feb 23, 2010 at 2:04 AM, Fabrice GIRARDOT <f4brice@gmail.com> wrote:

>
> 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
>

---------------------------------------------------------------------------
** 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 16:34:09 2010

This archive was generated by hypermail 2.1.8 : Fri Feb 26 2010 - 05:50:01 EST