Namcot 163/MMC5/Konami VRC6 Audio Level test program

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

lidnariq
Posts: 9796
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by lidnariq » Mon Aug 06, 2018 7:28 pm

rainwarrior wrote:Maybe someone was using it for homebrew music, and modified it trying to get 8-channel to sound better?
NewRisingSun wrote:But the LPF being optional and to be used for eight-channel music makes sense.
I dunno, that solder job looks contemporary to the resistor.

It'd be nice to get a frequency sweep to extract the corner frequency of the added lowpass. Too bad SMT ceramic capacitors often don't mark their capacitance. Doing my best to analyze how the spectrum of the square wave's been modified, it looks like it might work out to a lowpass at 3kHz?

Both the 2A03 and 163 should be subject to the same corner frequency, because of Thévenin equivalent circuits.

NewRisingSun
Posts: 1237
Joined: Thu May 19, 2005 11:30 am

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by NewRisingSun » Mon Aug 06, 2018 8:10 pm

Updated N163TEST to initialize the N163 as soon as you press the A button; previously it was only initialized after the APU square wave. Also made the code run at $E000 to not rely on PRG register initialization.
rainwarrior wrote:Also, you have VRC6TESA.NES and VRC6TEST.NES but the VRC6a variant seems to be VRC6TEST and not VRC6TESA?
I did not have the wiki names in mind when I named the files this way. I initially made VRC6TEST for Mapper 24 but then remembered that it cannot work with Madara because of the address bit swap, so then created VRC6TESA for Mapper 26.
lidnariq wrote:I dunno, that solder job looks contemporary to the resistor.
I meant it made sense for Namco's hardware designers to add the possibility of a LPF to the circuit in general. It makes no sense for this particular game, though.

User avatar
rainwarrior
Posts: 7879
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by rainwarrior » Mon Aug 06, 2018 9:26 pm

Re-recorded Erika and added it to that ZIP in my previous post. Funnily enough it wasn't doing the same thing on swap this time anyway... would have worked with the original test I guess. :P

Whatever the charge/temperature conditions were with it before have changed, I guess. BTW, as I recall the mix varied in my previous tests as the Famicom warmed up, so I wouldn't expect these to be precisely the same if I did them on different days anyway.

User avatar
rainwarrior
Posts: 7879
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by rainwarrior » Mon Aug 06, 2018 10:12 pm

Was trying to figure out where the old "2 samples" for Rolling Thunder came from that I estimated as a 6.5x average.

I did find two old threads from when I was beginning to look at this years ago:
N163 cartridge volume survey
Famicom expansion hardware recordings

After some more digging I found jrlepage made 4 recordings from the ROM in that N163 cartridge volume survey thread. I think these were the other 4 samples I had, besides my own two.
http://www.mediafire.com/file/tsip335vf ... 3_test.rar

Re-measuring these now, on jrlepage machine the differences were:
  • N163 Rolling Thunder - 16.0 dB
  • N163 Final Lap - 11.2 dB
  • N163 King of Kings - 17.3 dB
  • N163 Megami Tensei 2 - 11.9 dB
I think this has a nice consistency with your recordings, as well as mine. Seems likely that jrlepage's APU is ~1 dB louder than yours.

NewRisingSun
Posts: 1237
Joined: Thu May 19, 2005 11:30 am

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by NewRisingSun » Mon Aug 06, 2018 10:50 pm

I think we need three submappers after all; Rolling Thunder seems to consistently measure as between the 4.7kohm and 10kOhm games, and the difference is definitely audible, assumed manufacturing tolerances notwithstanding. Plus the one for no expansion audio.

Submapper 2 - No expansion audio
Submapper 3 - +12 dB
Submapper 4 - +16 dB
Submapper 5 - +18 dB
and dropping Submappers 1 and 9.
Last edited by NewRisingSun on Mon Aug 06, 2018 11:08 pm, edited 1 time in total.

User avatar
rainwarrior
Posts: 7879
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by rainwarrior » Mon Aug 06, 2018 11:06 pm

NewRisingSun wrote:I think we need three submappers (plus one for no expansion audio) after all; Rolling Thunder seems to consistently measure as between the 4.7kohm and 10kOhm games.

Submapper 2 - No expansion audio
Submapper 3 - +12 dB
Submapper 4 - +16 dB
Submapper 5 - +18 dB
and dropping Submappers 1 and 9.
Kevtris only ever suggested submapper 1. The others were sort of floated by lidnariq a long while back, but we had less information, and he seems to have deliberately left them "hidden". Aside from submapper 1, which Kevtris may have implemented somewhere, the rest are no more than proposals, and most of those very iffy. (I'm not even sure why I unhid them... probably because I thought there was no need to hide stuff that was then relegated to the proposals page.)

As far as deprecating a redundancy caused by Kevtris, this has come up before. Maybe not a big deal to keep this one?

I know in the other thread lidnariq pointed out that Kevtris had made some comments about later changes to the spec, but I might point out that at that point when he said that the "proposals" had not been separated from the actually implementable stuff on the Wiki and it was a huge mess, so I think he was basically very correct in his assessment at that moment. That argument was part of what led to it getting cleaned up and separated like this.

The submapper 9 thing is a bit of a unicorn. Someone found it once in one game and I don't think it's been seen again. That same game has also been seen with more "normal" N163 chips in it. Leave it in the proposals, maybe one day some useful information about it will surface.

NewRisingSun
Posts: 1237
Joined: Thu May 19, 2005 11:30 am

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by NewRisingSun » Mon Aug 06, 2018 11:33 pm

The difference to the other redundancies is that we do not even know with certainty what his submapper 1 does. My description was merely plausibility-based conjecture. Unless he condescends to explain, I would definitely remove it, regardless of any idiosyncratic implementation.

User avatar
rainwarrior
Posts: 7879
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by rainwarrior » Mon Aug 06, 2018 11:40 pm

When I said "keep" I meant to mark as "deprecated" and leave allocated, like the other cases so far. (I'm mostly indifferent to the issue though. I just think a handful of deprecated entries is probably a better situation than incompatible forks of the spec.)

Is what it specifies really unclear? Doesn't it just mean to battery back the internal mapper RAM? The situation seems very similar to the MMC1 redundancy cases which were left deprecated as well.

lidnariq
Posts: 9796
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by lidnariq » Mon Aug 06, 2018 11:43 pm

If the lowpass filter turns out to be consistently present on Namco Classic, it'll need a submapper too.

Is the difference between +16dB and +18dB sufficiently audible? Especially on top of the documented ±1dB variation from console to console?

(The ±5% accuracy for the resistors used here should only cause 0.4dB maximum variation from cartridge to cartridge, so there's got to be something else adding on)

NewRisingSun
Posts: 1237
Joined: Thu May 19, 2005 11:30 am

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by NewRisingSun » Tue Aug 07, 2018 12:05 am

What I want is to come up with a final specification as quickly as possible, meaning patiently waiting until all hardware and software information is available, but not keeping it in limbo just because somebody proposed something ten years ago but nobody knows why, and in the case of submapper 1, nobody knows for sure exactly what was proposed.

I'm fine with finalizing #1 as "deprecated" based on the battery RAM assumption, #2-#5 as expansion sound info per my last proposal, and #9 documenting N129 even though it's not strictly necessary for accurate emulation of the known games, similar to my VRC7 submapper proposal, or to most CNROM games' bus conflict behavior.

I will post audio files from emulation showing the audible difference in Rolling Thunder between +16 and +18dB later.

lidnariq
Posts: 9796
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by lidnariq » Tue Aug 07, 2018 12:24 am

I don't really see any point in explicitly allocating the N129 submapper (yet). The only place we've found it, the only difference we know of is hidden by the lack of a mixing resistor.

As far as submapper 1, the approximate most achievable answer seems to be "go to IRC and ask him". But your guess does sound probable.

NewRisingSun
Posts: 1237
Joined: Thu May 19, 2005 11:30 am

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by NewRisingSun » Tue Aug 07, 2018 12:44 am

I don't use IRC, and am not going to start using it just because somebody cannot be bothered to explain himself when and where he should.

User avatar
rainwarrior
Posts: 7879
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by rainwarrior » Tue Aug 07, 2018 7:21 am

NewRisingSun wrote:I don't use IRC, and am not going to start using it just because somebody cannot be bothered to explain himself when and where he should.
So instead you expect from him an answer to a question you haven't asked of him? He doesn't actively read this forum, and he doesn't have an account on the Wiki.

Using IRC takes no more effort than visiting a webpage. You don't have to install anything or register an account.

(And sure, if someone proposed adding something new to the spec as ill defined as Kevtris' submapper doc, I'd push back and get it clarified, but he's not the one adding new things. It's a 12 year old spec that he started and we're continuing.)

Great Hierophant
Posts: 769
Joined: Tue Nov 23, 2004 9:35 pm

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by Great Hierophant » Tue Aug 07, 2018 7:53 am

Everone here seems to be agreed that Submapper 1 should be deprecated, but not reassigned. I doubt any emulators supported it except for maybe FCEUX. However, the Analogue Nt Mini requires Mindsweeper to have Submapper 1 enabled for it to work properly in its jailbreak firmware. I doubt kevtris would be able to explain off-hand why this game and not any of the other Namco games requires this submapper to work correctly on his FPGA console.

Totally unrelated, but I measured 21.8Kohms across pins 45 & 46 of my Rolling Thunder cart, the only Namco 163 game I own. I'd record my original Akumajou Densetsu cartridge using this program but it has to go through my Famicom's the RF modulator first, then the VCR.

User avatar
rainwarrior
Posts: 7879
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Namcot 163/MMC5/Konami VRC6 Audio Level test program

Post by rainwarrior » Tue Aug 07, 2018 9:22 am

Maybe this is also a good time to ask for clarification on the PRG-RAM part of the iNES 2 header. I find the current state of things confusing, and I'd like to be able to make it clearer on the wiki.

tepples added this to the wiki with the edit note "Kev clarified what to do for the 8320 bytes you get when you add 8K of RAM to an N163":
If a cartridge has both a dedicated RAM and RAM in the mapper (such as that of Namco 163), and both or neither are battery-backed, include only the size of the dedicated RAM in the header. The emulator must add mapper RAM to this size.
In another recent thread Sour and NewRisingSun wrote:
NewRisingSun wrote:
Sour wrote:After changing the header to say no work ram (I thought a discussion a long time ago had concluded that the internal RAM for this mapper shouldn't be counted in the header? Unsure.)
No, the internal work RAM should be specified, and must be specified for games that battery-back only the internal RAM and use it for save-game purposes, such as Mindseeker. The only time that the internal work RAM is not specified is when there is both internal work RAM and 8 KiB of WRAM and both or neither are battery-backed, to prevent the non-power of two size from having to round up. For all these games, such as Megami Tensei 2, it's also possible to denote the 128 byte of work RAM as non-battery-backed (since the games will not use it for save game data but for sound or not at all, which I verified with every single game), and the 8 KiB of WRAM as battery-backed. And you need to specify the 128 byte of battery-backed EPROM in Mapper 159 as well.

There seem to be 4 relevant fields of the header: the battery backed bit, PRG-RAM unsaved, PRG-RAM saved, and submapper. Bootgod has 20 results for mapper 19 games, and there's 5 different cases represented in its data:

1. No WRAM, no battery backing.

A (no battery, 0 unsaved, 0 saved) or B (no battery, 128b unsaved, 0 saved) ?

I had interpreted the spec given on the wiki as this field normally specifying external RAM only, so I'd expect to use A here. NewRisingSun appears to expect B because of the header used in the test program, except it contradicts the statement above (neither are battery backed, so internal RAM should be unspecified?).
2. No WRAM, battery backed N163.

A (battery, 0 unsaved, 0 saved, submapper 1) or B (battery, 0 unsaved, 128b saved, submapper irrelevant) ?

I assume this was the case targeted by Kevtris' submapper 1, and A seems consistent with the wiki to me. B is how I'd interpret NewRisingSun's statement.
3. Unbacked WRAM, battery backed N163.

A (battery, 8k unsaved, 0 saved, submapper 1) or B (battery, 8k unsaved, 128b saved, submapper irrelevant) ?
  • Dokuganryuu Masamune edit: NewRisingSun says this is incorrectly identified, has no WRAM but some sort of protection circuit instead? Does that need its own submapper?
  • Hydlide 3 (edit: mistakenly included here)
This category might actually be empty.

4. Only battery backed WRAM.

A (battery, 0 unsaved, 8k saved, submapper not 1) or B (battery, 128b unsaved, 8k saved, submapper irrelevant) ?
This category might actually have battery backed N163 as well. According to lidnariq it's not possible to back just one?

5. Battery backed WRAM, battery backed N163.

A (battery, 0 unsaved, 8k saved, submapper 1?) or B ? (battery, 0 unsaved, 8k saved, submapper irrelevant) ?

So...

A. My wiki interpretation seems to be that the header specified PRG-RAM is only for external RAM on N163, and submapper 1 is used to designate that battery backing also applies to internal N163 RAM. This seems to cover everything except King of Kings. Not sure if King of Kings actually needs the N163 saved, so it might be totally moot, but worst case seems to be that this game needs its own submapper for audio + battery N163. (Adding audio submappers should also imply that submapper 1 is no-audio?) This also seems consistent with the immediately following edit suggesting that flash games should specify battery save, but 0 PRG-RAM.

B. NewRisingSun instead appears to want to specify that 128b in the RAM fields as often as possible. King of Kings becomes a special case again, but this time because the 128b bytes as "unlisted" is being used to imply that it should be saved? Have I got this correct?

Thankfully, except for King of Kings the games using audio expansion don't seem to fall on the stickier cases.
Last edited by rainwarrior on Tue Aug 07, 2018 10:57 am, edited 2 times in total.

Post Reply