[Techtoolslist] Jedi RAM testing
John Robertson
jrr at flippers.com
Thu Dec 3 13:05:59 EST 2009
John Robertson wrote:
> Danny Pearson wrote:
>> Hi, I've got a noob question regarding ram testing and using the
>> 9010. I'm
>> trying to build a script to do some basic testing on Return of the Jedi
>> using a known working board as a benchmark. So far I'm just
>> concentrating
>> on the main CPU, not the sound CPU and I've got the ROM test all
>> working,
>> now I'm moving on to the RAM. The schematics for Jedi list a ram
>> area at
>> 2400-27FF as Scrolling Playfield(high) and this appears to me to only
>> have 4
>> data bits. If you run the built in RAM test on the Fluke for this
>> area it
>> fails, and from what I've managed to glean from the reading I've done
>> this
>> is as it should be as only 4 bits of data area are returned (a nibble?),
>> whereas I assume the RAM test algorithm uses a whole 8 bits (byte).
>> I've
>> written the following script to exercise this (and other similar RAM
>> areas).
>> Can you tell me if I'm on the right lines? So far I've never done
>> anything
>> other than the built in 9010 tests so forgive me if this is a stupid
>> question;
>>
>> REG1 = 2400
>> 1: !LABEL 1
>> IF REG1 = 2800 GOTO 3
>> WRITE @ REG1 = FF
>> WRITE @ REG1 = AA
>> READ @ REG1
>> IF REGE = FA GOTO 2
>> dpy Failed Response = $1 = $E
>> aux Failed Response = $1 = $E
>> GOTO 3
>> 2: !LABEL 2
>> aux Success Response = $1 = $E
>> INC REG1
>> GOTO 1
>>
>> 3: !LABEL 3
>> dpy TEST COMPLETE
>> aux TEST COMPLETE
>>
>>
>> Cheers,
>>
>> Dan
>>
>>
> Looks like a good solution to the problems encountered with other
> 4-bit RAM (2101/5101/etc.) as well. However your test should include
> (at a minimum) F5 and FA to check that bits aren't locked.
>
> However if you only use FA and F5 then you have no way of finding
> stuck address nodes.
>
> So it wouldn't hurt to add an offset count - something like F0, F1,
> F2, F3, F4, F5, F6, F7...FE, then skip one space and run that again -
> this is to try and catch data/address rows or columns that are stuck -
> trying to check that bits in (for example) location 000h are not the
> same as location 010h which can happen if RAM internal (or external)
> addressing has problems.
>
> John :-#)#
>
Actually what would work is if you have the data count climb in one
direction then fall in the other.
Address - Data
000h - F0
001h - F1
002h - F2
...
00Eh - FE
00Fh - FF
010h - FF
011h - FE
012h - FD
...
01Eh - F1
01Fh - F0
I think that would catch stuck address nodes...
John :-#)#
--
John's Jukes Ltd. 2343 Main St., Vancouver, BC, Canada V5T 3C9
Call (604)872-5757 or Fax 872-2010 (Pinballs, Jukes, VideoGames)
www.flippers.com
"Old pinballers never die, they just flip out"
More information about the Techtoolslist
mailing list