Using slow ROM for new games?

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
redllama7
Posts: 3
Joined: Sat Dec 26, 2020 7:05 pm

Using slow ROM for new games?

Post by redllama7 »

Hi all,

Is there any reason to use slow ROM in a newly developed game these days?
If at some point someone would like to make a physical cartridge with new components
modern ROM speeds should be ok for fast ROM, right?

Thanks!
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Using slow ROM for new games?

Post by lidnariq »

Not only can you not buy new ROMs that are too slow for FastROM, but when Byuu tested contemporary commercial cartridges, all of them could operate at FastROM speeds anyway.

(The forum's search feature thinks this was my 10000th post, because 3 posts somehow disappeared)
93143
Posts: 1718
Joined: Fri Jul 04, 2014 9:31 pm

Re: Using slow ROM for new games?

Post by 93143 »

The only reason I can think of is to dunk on somebody. Like pointing out that Rendering Ranger R² uses the same CPU speed as Gradius III. Or coming up with a slowdown-free port of Gunstar Heroes or something like that without using FastROM (note that this may not be possible; it's just a hypothetical).

Under normal circumstances, there shouldn't be any reason to use SlowROM mode unless you're using a special chip that's incompatible with FastROM access timings, like the SA-1.
User avatar
Señor Ventura
Posts: 233
Joined: Sat Aug 20, 2016 3:58 am

Re: Using slow ROM for new games?

Post by Señor Ventura »

93143 wrote: Sun Dec 27, 2020 1:34 pmUnder normal circumstances, there shouldn't be any reason to use SlowROM mode unless you're using a special chip that's incompatible with FastROM access timings, like the SA-1.
Oh... Why is this?.
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: Using slow ROM for new games?

Post by Oziphantom »

its runs at 10mhz because it has 5mhz 16 bit bus but when it needs to access the SNES world it needs to run at 2.5mhz so everything is a clean "half" and not some weird PLL weirdness. For fast rom it would need to go 3.5 -> 7 -> 14
User avatar
Señor Ventura
Posts: 233
Joined: Sat Aug 20, 2016 3:58 am

Re: Using slow ROM for new games?

Post by Señor Ventura »

Oziphantom wrote: Sun Dec 27, 2020 10:11 pm its runs at 10mhz because it has 5mhz 16 bit bus but when it needs to access the SNES world it needs to run at 2.5mhz so everything is a clean "half" and not some weird PLL weirdness. For fast rom it would need to go 3.5 -> 7 -> 14
So, it's true that it has an 16 bits bus to communicate with its own RAM inside of the cartridge.

Having a SA-1 like a main cpu inside of the snes, Could it have had an 16 bit data bus with the WRAM and the rest of the pipeline?
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Using slow ROM for new games?

Post by tepples »

Probably. Using a 16-bit bus would likely have made the cartridges wider, and it might have caused the memory controller not to fit on the same die as the 65816. Spilling the memory controller onto another die might in turn restrict PPU capability for cost reasons. Compare the Mega Drive/Genesis VDP, which was shipped without features that had to be cut out to fit it onto one chip.
93143
Posts: 1718
Joined: Fri Jul 04, 2014 9:31 pm

Re: Using slow ROM for new games?

Post by 93143 »

Señor Ventura wrote: Fri Jan 01, 2021 6:00 pmSo, it's true that it has an 16 bits bus to communicate with its own RAM inside of the cartridge.
I'm pretty certain the ROM is on a 16-bit bus, with the memory controller feeding one byte at a time to the 65c816's 8-bit bus (branches, jumps and ROM reads can generate wait states). Probably the BW-RAM is as well, considering that reading from it can generate wait states, and that it has a write buffer. The I-RAM is so small because it's fast (and therefore expensive); I believe full 10.74 MHz operation can be achieved in I-RAM. Supposedly, the only way a wait state can occur when accessing I-RAM with the SA-1 is when the SNES CPU tries to access it at the same time.

Keep in mind that the first SA-1 game came out in 1995, the year after the Sony PlayStation launched. Just because it was feasible to include it for copy protection in games that didn't really need it in 1995 doesn't mean it was feasible to build a console around the concept in 1990...
User avatar
Señor Ventura
Posts: 233
Joined: Sat Aug 20, 2016 3:58 am

Re: Using slow ROM for new games?

Post by Señor Ventura »

tepples wrote: Fri Jan 01, 2021 8:25 pm Probably. Using a 16-bit bus would likely have made the cartridges wider, and it might have caused the memory controller not to fit on the same die as the 65816. Spilling the memory controller onto another die might in turn restrict PPU capability for cost reasons. Compare the Mega Drive/Genesis VDP, which was shipped without features that had to be cut out to fit it onto one chip.
Do you mean like if the SA-1 doesn't have the capacity of memory mapping inside of the resulting die, as it is required in the actual motherboard of the snes?.

Well, these are dreams, surely the idea of an 65816 running at 10.74mhz never was even contemplated. I spend more time thinking about that DMA at only 2.68 mhz, Could it be fault of the WRAM? (supposedly an WRAM of 3.58mhz could upgrade the DMA at 3.58mhz too, but all of this kind of hypothesis are only suppositions).


Another myth is about the use of an super fx like a sort of PPU3... Do really is so simple like to put it there, and that's it?.


Observing all of this, from the perspective of somebody without much knowledges, the first component that rapidly can make this gain performance is a WRAM at 3.58mhz with less latency.

Maybe the next thing i could try to improve the system, is to keep the graphic data in a rom and the sound data in another memory, due to the fact of the sound system has its own, independent bus... Could then the spc700 have the opportunity to transfer samples during more time without obligate to the rest of the hardware to stop until it get done it task?.


And the ppu1... with all that power... seems clear that was ideated a multiple system of graphic modes to take advantage of it capacity, but a mode 8 with custom capacities would be have been revolutionary, like microcodes... you decide how many planes to draw, or if to apply scaling to tiles of sprites instead of planes...


I suppose i only want to write those crazy ideas...
93143 wrote: Fri Jan 01, 2021 10:29 pm I'm pretty certain the ROM is on a 16-bit bus, with the memory controller feeding one byte at a time to the 65c816's 8-bit bus (branches, jumps and ROM reads can generate wait states). Probably the BW-RAM is as well, considering that reading from it can generate wait states, and that it has a write buffer. The I-RAM is so small because it's fast (and therefore expensive); I believe full 10.74 MHz operation can be achieved in I-RAM. Supposedly, the only way a wait state can occur when accessing I-RAM with the SA-1 is when the SNES CPU tries to access it at the same time.

Keep in mind that the first SA-1 game came out in 1995, the year after the Sony PlayStation launched. Just because it was feasible to include it for copy protection in games that didn't really need it in 1995 doesn't mean it was feasible to build a console around the concept in 1990...
Do the SA-1 manages two memorys within the cartridge?, i thought that it has its own RAM, a tiny caché inside the cpu, and that's all.
93143
Posts: 1718
Joined: Fri Jul 04, 2014 9:31 pm

Re: Using slow ROM for new games?

Post by 93143 »

Señor Ventura wrote: Sat Jan 02, 2021 7:20 pmAnother myth is about the use of an super fx like a sort of PPU3... Do really is so simple like to put it there, and that's it?.
If the "EXTBG" inputs on the PPU had been connected to the cartridge instead of shorted with the VRAM bus, yes. But they didn't do that.
Do the SA-1 manages two memorys within the cartridge?, i thought that it has its own RAM, a tiny caché inside the cpu, and that's all.
No, it has full access to the ROM as well. The S-CPU and SA-1 share the ROM (up to 8 MB), BW-RAM (up to 256 KB) and I-RAM (the "tiny cache" you mentioned, which is 2 KB).

And since the S-CPU has no ability to accept external wait states, the SA-1 has to do all the work of getting out of the way when the S-CPU tries to access something. That's why the timing has to line up.
Last edited by 93143 on Tue Mar 30, 2021 12:08 am, edited 1 time in total.
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: Using slow ROM for new games?

Post by Oziphantom »

Señor Ventura wrote: Sat Jan 02, 2021 7:20 pm Well, these are dreams, surely the idea of an 65816 running at 10.74mhz never was even contemplated. I spend more time thinking about that DMA at only 2.68 mhz, Could it be fault of the WRAM? (supposedly an WRAM of 3.58mhz could upgrade the DMA at 3.58mhz too, but all of this kind of hypothesis are only suppositions).
You can access WRAM at 3.58Mhz using the port access registers. Which may have some clock stretching involved internally. However I think the DMA logic is probably the issue.

Fetch Data
inc Src Address
Store Data
inc Dest Address
check End

is not all it does. It does have a priority system that checks and responds as it goes through. My guess is that making all of the logic to add, fetch, subtract etc takes too long to work at 3.58.
turboxray
Posts: 348
Joined: Thu Oct 31, 2019 12:56 am

Re: Using slow ROM for new games?

Post by turboxray »

Oziphantom wrote: Sun Jan 03, 2021 10:03 pm
Señor Ventura wrote: Sat Jan 02, 2021 7:20 pm Well, these are dreams, surely the idea of an 65816 running at 10.74mhz never was even contemplated. I spend more time thinking about that DMA at only 2.68 mhz, Could it be fault of the WRAM? (supposedly an WRAM of 3.58mhz could upgrade the DMA at 3.58mhz too, but all of this kind of hypothesis are only suppositions).
You can access WRAM at 3.58Mhz using the port access registers. Which may have some clock stretching involved internally. However I think the DMA logic is probably the issue.

Fetch Data
inc Src Address
Store Data
inc Dest Address
check End

is not all it does. It does have a priority system that checks and responds as it goes through. My guess is that making all of the logic to add, fetch, subtract etc takes too long to work at 3.58.
Access to WRAM always has wait states on it (hence the 2.68mhz mention), unless I'm missing something...
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Using slow ROM for new games?

Post by lidnariq »

Accessing WRAM at $2180 not DMA runs at 3.6MHz.
User avatar
Señor Ventura
Posts: 233
Joined: Sat Aug 20, 2016 3:58 am

Re: Using slow ROM for new games?

Post by Señor Ventura »

lidnariq wrote: Tue Jan 05, 2021 2:30 pm Accessing WRAM at $2180 not DMA runs at 3.6MHz.
Then, Do the WRAM works at 3.58mhz, but the issue is the DMA thing?.

If I'm not understanding wrongly, you can access at 3.58mhz, but you can't read/write at 3.58 mhz due to the DMA limits, right?.


P.D: What is the size of $2180?...

Image
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Using slow ROM for new games?

Post by lidnariq »

Señor Ventura wrote: Tue Jan 05, 2021 5:00 pm Then, Do the WRAM works at 3.58mhz, but the issue is the DMA thing?.
Yes.
If I'm not understanding wrongly, you can access at 3.58mhz, but you can't read/write at 3.58 mhz due to the DMA limits, right?.
Uh. The amount of time to read or write a single byte can be as little as 1÷(3.6MHz), but DMA is the only thing that can sustain anything close to that.
P.D: What is the size of $2180?...
One byte. https://problemkaputt.de/fullsnes.htm#s ... kramaccess
Post Reply