Op Wolf High score save?

WeeBo

New member
Joined
Apr 14, 2012
Messages
57
Reaction score
0
Location
ON, Canada
I searched around and did some google work, but nothing on operation wolf.

I'd like to be able to save the high score, would the NVRAM trick to the job or could one of the other kits be made to work with op wolf.
I don't mind getting dirty if someone has any suggestions.
TIA
 
Bumping this old topic up as I now own a good working Op Wolf and would love to be able to save HS.

Anyone here smarter than me know if this is possible?
 
It's a 68k game, so a CPU plugin is pretty much out of the question.

I'm sure it's doable, but my 68k asm is *really* rusty and the schematics I've found are pretty terrible.
 
Yes the schematics for this game are ruff at best. I dug around this afternoon but couldn't find any documentation with helpful specs.

I'm inclined to think there must be a specific RAM that that could be swapped with an NVRAM like Pole Position.

Maybe I'm oversimplifying it.
 
Yes the schematics for this game are ruff at best. I dug around this afternoon but couldn't find any documentation with helpful specs.

I'm inclined to think there must be a specific RAM that that could be swapped with an NVRAM like Pole Position.

Maybe I'm oversimplifying it.

According to hiscore.dat, the high score table is saved here:

Code:
opwolf:
@:maincpu,program,100a42,75,00,54
@:maincpu,program,100e28,3b,00,01

According to the MAME source, that memory space part of a BIG ram:

Code:
void opwolf_state::opwolf_map(address_map &map)
{
    map(0x000000, 0x03ffff).rom();
    map(0x100000, 0x107fff).ram();
    map(0x200000, 0x200fff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
    map(0xc00000, 0xc0ffff).rw(m_pc080sn, FUNC(pc080sn_device::word_r), FUNC(pc080sn_device::word_w));
    map(0xd00000, 0xd03fff).rw(m_pc090oj, FUNC(pc090oj_device::word_r), FUNC(pc090oj_device::word_w));  /* sprite ram */

That's 16k x 16 of RAM, but I don't see any rams that big in the schematics other than the 43256s hanging off the PC080. There's some 2018s hanging off the PC090.

The only RAMs I see that are actually on the MD/MA busses are palette RAMs on page 6 -- schems may just be missing a page.
 
According to hiscore.dat, the high score table is saved here:

Code:
opwolf:
@:maincpu,program,100a42,75,00,54
@:maincpu,program,100e28,3b,00,01

According to the MAME source, that memory space part of a BIG ram:

Code:
void opwolf_state::opwolf_map(address_map &map)
{
    map(0x000000, 0x03ffff).rom();
    map(0x100000, 0x107fff).ram();
    map(0x200000, 0x200fff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
    map(0xc00000, 0xc0ffff).rw(m_pc080sn, FUNC(pc080sn_device::word_r), FUNC(pc080sn_device::word_w));
    map(0xd00000, 0xd03fff).rw(m_pc090oj, FUNC(pc090oj_device::word_r), FUNC(pc090oj_device::word_w));  /* sprite ram */

That's 16k x 16 of RAM, but I don't see any rams that big in the schematics other than the 43256s hanging off the PC080. There's some 2018s hanging off the PC090.

The only RAMs I see that are actually on the MD/MA busses are palette RAMs on page 6 -- schems may just be missing a page.
I appreciate someone with your knowledge looking at this in such detail.
If you can narrow it down to an IC and replacement I'll order field test it.
 
I appreciate someone with your knowledge looking at this in such detail.
If you can narrow it down to an IC and replacement I'll order field test it.

Just swapping in NVRAM won't help... you need to change the code that clears the RAM and writes the default HS table as well.
 
Just swapping in NVRAM won't help... you need to change the code that clears the RAM and writes the default HS table as well.
Copy that. Changing code would not be a path I would want to go down.
At least now we know.
Thanks for looking into this, I can live without it knowing it's not just a clever hardware tweak.
 
If I had to guess:

You're not going to find an NVRAM in a skinny DIP package, so if those chips in the bottom corner are the work RAM, you'll need some sort of plug-in to replace them, and NVRAMs that big won't be cheap (of course, a plug-in that shadows only the parts of the RAM that NEED to be non-volatile might be cheaper, if a little more complex)

1739326229158.png
 
Back
Top Bottom