fceux icon indicating copy to clipboard operation
fceux copied to clipboard

NES 2.0 Miscellaneous ROM Area support

Open ClusterM opened this issue 3 years ago • 6 comments

As I can see now iNESLoad function doesn't load miscellaneous ROM data for NES 2.0 ROMs with such data. About it: https://wiki.nesdev.com/w/index.php/NES_2.0#Miscellaneous_ROM_Area

And there is no way for mappers code to access it. Also HEX editor doesn't show it:

	if (EditingMode == MODE_NES_FILE)
	{
		if (CursorStartAddy < 16)
			sprintf(str, "Hex Editor - ROM Header: 0x%X", CursorStartAddy);
		else if (CursorStartAddy - 16 < (int)PRGsize[0])
			sprintf(str, "Hex Editor - (PRG) ROM: 0x%X", CursorStartAddy);
		else if (CursorStartAddy - 16 - PRGsize[0] < (int)CHRsize[0])
			sprintf(str, "Hex Editor - (CHR) ROM: 0x%X", CursorStartAddy);
	} else

It doesn't show trainer code too, btw. I'm writing mapper 413 now and it requires misc ROM for PCM data.

ClusterM avatar Dec 24 '20 09:12 ClusterM

fceux does not emulate any of 4 mentioned cases so misc area is useless. as my opition, all these extra files maye be rather extra files loaded automatically just like fds.bios etc.

g0me3 avatar Dec 24 '20 13:12 g0me3

It does not emulate mentioned mappers now but it's possible in future. As I said, I want to add mapper 413 support, game "Super Russian Roulette" uses it.

ClusterM avatar Dec 24 '20 16:12 ClusterM

if you want to emulate it, feel free to add this area for the first time ;)

g0me3 avatar Dec 29 '20 18:12 g0me3

I want to add mapper 413 support, game "Super Russian Roulette" uses it.

Yeah, I downloaded "Super Russian Roulette" and was surprised that nothing could play it. I did download and compile FCEUX 2.3.0 the other other; I was excited about the move away from SCons and to SDL 2 (after my SDL 2 patch was rejected), but it was disappointing that a couple things from 2.2.3 no longer worked (in particular, --disable-gui and the on-screen gamepad). Anyway, I usually use RetroArch these days, but none of the NES libretro cores would play it either (not even Mesen). I do wonder if there was a reason the developers used mapper 413 instead of a widely-supported mapper (and thus had to bundle Nintendulator with the game).

keithbowes avatar Jan 08 '21 15:01 keithbowes

but it was disappointing that a couple things from 2.2.3 no longer worked (in particular, --disable-gui and the on-screen gamepad)

  1. Why would you want to disable the SDL gui? I would like to understand why this is important to you.
  2. I am not familiar with the on-screen gamepad. If this did work in the 2.2.3 release of the SDL port and you care enough about it to create a separate issue, then I will investigate.

mjbudd77 avatar Jan 08 '21 16:01 mjbudd77

I want to add mapper 413 support, game "Super Russian Roulette" uses it.

Yeah, I downloaded "Super Russian Roulette" and was surprised that nothing could play it. I did download and compile FCEUX 2.3.0 the other other; I was excited about the move away from SCons and to SDL 2 (after my SDL 2 patch was rejected), but it was disappointing that a couple things from 2.2.3 no longer worked (in particular, --disable-gui and the on-screen gamepad). Anyway, I usually use RetroArch these days, but none of the NES libretro cores would play it either (not even Mesen). I do wonder if there was a reason the developers used mapper 413 instead of a widely-supported mapper (and thus had to bundle Nintendulator with the game).

You can buy the ROM for Super Russain Roulette? Could you tell me where to get that? I'd been hoping to see that for a long time, but I thought its author was adamant about it being a "hardware only" experience, and didn't want this.

SRR was made using custom hardware. It specifically used a very unique solution to have a gigantic amount of recorded speech sound in the game (huge 1-bit serial ROM). This wouldn't have been possible in any existing mapper.

I made my own dump and test emulation of it a long time ago, but I just stuck the sound ROM into an save RAM file and abused that to get the data in... it is a good use case for the iNES 2 "extra data" thing.

bbbradsmith avatar Jan 09 '21 03:01 bbbradsmith