Vs. DualSystem

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: Vs. DualSystem

Post by zeroone »

lidnariq wrote:"8L" is the 2K shared RAM.
For VS. UniSystem, I assume it's the same $6000--$67FF (and mirrors) region that's shared in the VS. DualSystem. Since there aren't that many games, we could inspect that region for writes and see which games actually took advantage of the battery.

None of the manuals that I found revealed how to reset that RAM. Apparently, if you want to reset the high scores, you'd have to pull out the batteries. And doing so would also lose the coin counts. During my search, I noticed that some coin acceptors had mechanical odometers that indicated lifetime totals. That seems nicer than counts since last battery failure.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Vs. DualSystem

Post by NewRisingSun »

All Vs. Dual System games access the $6000-$7FFF area. Among the Vs. Unisystem ones, only Vs. Super Mario Brothers, Vs. Xevious, and Vs. Tetris do. And Vs. Xevious may be a stray read from the protection check in the $5xxx area.
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: Vs. DualSystem

Post by lidnariq »

zeroone wrote:For VS. UniSystem, I assume it's the same $6000--$67FF (and mirrors) region that's shared in the VS. DualSystem.
It's the same physical PCB. The only difference between the UniSystem and DualSystem is the physical cabinet, and whether it has two CRTs and two sets of controls, or just one.

Here's someone's (Great Hierophant?) blog summarizing all three well-known physical cabinets.
http://nerdlypleasures.blogspot.com/201 ... -home.html
During my search, I noticed that some coin acceptors had mechanical odometers that indicated lifetime totals.
As far as I know, all Vs. System cabinets have a physical coin counter. I don't know why Vs. Baseball keeps a redundant copy in battery-backed RAM.


NewRisingSun wrote:All Vs. Dual System games access the $6000-$7FFF area.
Right, they have to to communicate with the other CPU. The question is whether things put there are expected to persist across a power outage.

Most (non-Vs. System) arcade machines that hold on to high scores don't; they instead expect the arcade operator will just leave them on.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Vs. DualSystem

Post by NewRisingSun »

Vs. Tetris checks the $6000-$60E0 values before overwriting them, but that could be a soft vs. hard reset detection check instead of a battery-backed memory thing.
User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: Vs. DualSystem

Post by zeroone »

Regarding the DualSystem, VS. Baseball and VS. Tennis show battery icons in Test Mode.

VS. Balloon Fight and VS. Ice Climber (Dual) show coin distribution counts in Test Mode, indicating battery use.

VS. Raid on Bungeling Bay and VS. Wrecking Crew have high score tables, but it's unknown if those tables are persisted through a power cycle. Neither provide Test Modes.

VS. Mahjong has a Test Mode. But, since I can't read Japanese, I can't ascertain if there is evidence of battery use there. From what I can tell, it doesn't look necessary.
NewRisingSun wrote:Among the Vs. Unisystem ones, only Vs. Super Mario Brothers, Vs. Xevious, and Vs. Tetris do. And Vs. Xevious may be a stray read from the protection check in the $5xxx area. ...
Vs. Tetris checks the $6000-$60E0 values before overwriting them, but that could be a soft vs. hard reset detection check instead of a battery-backed memory thing.
I also can't find any evidence that any VS. UniSystem games employ battery-backed RAM.

As far as emulation goes, the safest bet is to persist shared memory for DualSystem games. And don't for UniSystem games.

Regarding the left vs. right coin slots and Main vs. Sub, I ended up with 4 menu items for testing. The left coin slot is associated with $4016.5, while the right slot is associated with $4016.6. This is based on the aforementioned coin distribution Test Mode screens. The manuals probably reveal this and in practice, the coin acceptors could be wired up differently.
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: Vs. DualSystem

Post by lidnariq »

zeroone wrote:VS. Balloon Fight and VS. Ice Climber (Dual) show coin distribution counts in Test Mode, indicating battery use.
I'm not sure that follows? The cabinets always have mechanical coin counters as well, so it's credible that this is intended only for tracking coins since the last power outage.
User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: Vs. DualSystem

Post by zeroone »

lidnariq wrote:The cabinets always have mechanical coin counters as well, so it's credible that this is intended only for tracking coins since the last power outage.
Agreed. The coin distribution count screens do not alone confirm battery use.

However, we have established that all the VS PCBs are nearly identical. They all have battery holders and when batteries are installed, the memory in range $6000--$67FF (and mirrors) is made non-volatile. Nonetheless, we only care about which games actually take advantage of that fact.

As a test, in my emulator, I persisted the data in that memory range on shutdown and restored it on start up. The coin distribution screens in VS. Balloon Fight and VS. Ice Climber (Dual) maintained their values. So, if the battery works like we expect it to, then those 2 games appear to be taking advantage of it.

Furthermore, the VS. Wrecking Crew high score table is retained.

But the VS. Raid on Bungeling Bay high score table is not! I can see the table in a hex dump of the shared memory region, but it's not maintained between bounces. It'll check if there's another copy in CPU RAM.

As for VS. Mahjong, I can't tell because I can't read Japanese.

My conclusion thus far is that VS. Balloon Fight, VS. Baseball, VS. Ice Climber (Dual), VS. Tennis and VS. Wrecking Crew all use battery-backed non-volatile RAM. And only VS. Raid on Bungeling Bay and VS. Mahjong (probably) do not.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Vs. DualSystem

Post by NewRisingSun »

And neither Vs. Tetris and Vs. Super Mario Bros. keep the SRAM content upon startup. Boo.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: Vs. DualSystem

Post by Memblers »

That's interesting to know, I've always wondered if anything really used the battery backup. In the arcade collecting community (when I was around it) I always saw people saying the battery was useless, and to remove them. I'm pretty sure my VS board had the factory original batteries in when I got it, a little corrosion on there.

It makes sense that only the DualSystem games would use it. The UniSystem games would either need to cooperate, or do something drastic like SMB does, it uses a fake CPU that is internally just a jumper, so the shared memory is forced to be available to the real CPU.

Referring to here: http://www.johnsarcade.com/nintendo_vs_ppu_info.php
It sounds like Raid on Bungeling Bay is doing something similar, it's only intended to be used with a UniSystem cabinet.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Vs. DualSystem

Post by NewRisingSun »

Memblers wrote:something drastic like SMB does, it uses a fake CPU that is internally just a jumper, so the shared memory is forced to be available to the real CPU.
Uh, what? A fake CPU that is a jumper? Vs. Raid on Bungeling Bay does have a real second CPU with PRG-ROM, one that only sets a flag in the shared memory though on which the first PRG-ROM code depends.
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: Vs. DualSystem

Post by lidnariq »

Vs. SMB is the Vs. UniSystem game that requires that the game be operating in the secondary slot, and that a "2A04" be installed in the primary CPU slot.

The "2A04" is nothing but a jumper, giving the secondary CPU permanent access to the shared memory.
User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: Vs. DualSystem

Post by zeroone »

NewRisingSun wrote:And neither Vs. Tetris and Vs. Super Mario Bros. keep the SRAM content upon startup. Boo.
I can see the VS. Super Mario Bros. high score table in the SRAM region in a hex editor. I'll run a test in my emulator to see what happens if that region is persisted.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: Vs. DualSystem

Post by Memblers »

Ah yeah I meant it's similar in that it's intended for a UniSystem cabinet, I wasn't certain about the way that RoBB did it.

So far it sounds like VS Wrecking Crew the only game that uses the battery for something interesting (not coin counting alone).
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Vs. DualSystem

Post by NewRisingSun »

zeroone wrote:I can see the VS. Super Mario Bros. high score table in the SRAM region in a hex editor. I'll run a test in my emulator to see what happens if that region is persisted.
I told you I did, and nothing happens, because the game always clears that RAM.
User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: Vs. DualSystem

Post by zeroone »

NewRisingSun wrote:I told you I did, and nothing happens, because the game always clears that RAM.
Yep. I just wanted to see for myself. I actually played until I legitimately got my name on the high score table. Then I was saddened when it disappeared after a bounce.

Apparently, as mentioned several times already in this thread, the VS. UniSystem games do not take advantage of the battery.
Memblers wrote:So far it sounds like VS Wrecking Crew the only game that uses the battery for something interesting (not coin counting alone).
I'll check if the others keep their score tables. I was only looking for any evidence of battery use.
Post Reply