EverDrive Forum

General => FXPAK (SD2SNES) => Topic started by: anton8604 on September 14, 2016, 07:35 AM

Title: Blast processing for SNES(overclocking)
Post by: anton8604 on September 14, 2016, 07:35 AM
When I was a kid I used to wonder what SNES would be like if it had "blast processing." Which of course, we later found out it simply referred to the Sega Genesis having a roughly 5MHz faster CPU speed.

Would it be feasible to have options to overclock games by about that much, just for fun?
Title: Re: Blast processing for SNES(overclocking)
Post by: OneBagTravel on September 14, 2016, 04:47 PM
Well they technically did with the SA1 chip (https://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips#SA1).

The SA1 does not function as a slave CPU for the 5A22; both can interrupt each other independently.

The SA1 also features a range of enhancements over the standard 65C816:

Upgraded 10.74 MHz clock speed, up from a maximum of 3.58 MHz
Faster RAM, including 2KBytes of internal RAM
Memory mapping capabilities
Limited data storage and compression
New DMA modes such as bitmap to bit plane transfer
Arithmetic functions (multiplication, division, and cumulative)
Hardware timer (either as a linear 18-bit timer, or synchronised with the PPU to generate an IRQ at a specific H/V scanline location)
Built-in CIC lockout, for copy protection and regional marketing control
Title: Re: Blast processing for SNES(overclocking)
Post by: anton8604 on September 14, 2016, 10:49 PM
True, SA1 isn't supported on SD2SNES yet.. but, if the SD2SNES hardware can overclock the games that are currently supported. That could be a lot of fun. Especially racing games and platform games.
Title: Re: Blast processing for SNES(overclocking)
Post by: dreimer on September 15, 2016, 02:29 AM
It can't because the game has the same environment in front of it like on the original cart, original CPU/RAM/GFX/SPC700 etc. Anything else would mean a custom coprocessor and big changes to the game. See SMW SA-1 patches for example. This is what you ask for and it's no simple patch
Title: Re: Blast processing for SNES(overclocking)
Post by: anton8604 on September 15, 2016, 08:18 AM
Oh wow, that SMW SA-1 pack is pretty incredible!

Okay so I think I get it.. Obviously SD2SNES can't do anything w/ the original SNES board. But you could theoretically overclock co-processors that SD2SNES supports, like how the Cx4 was running at higher than 20MHz before a recent firmware update. Otherwise the roms have to be patched to use a co-processor that the SD2SNES supports.

This is just speculation, but maybe this could work if the SD2SNES had a feature to reroute all processing to a co-processor in realtime, assuming it wasn't already using one. Probably would be quite an undertaking.. but man it would be really amazing if it worked
Title: Re: Blast processing for SNES(overclocking)
Post by: Missingno255 on September 17, 2016, 11:58 AM
Well they technically did with the SA1 chip (https://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips#SA1).

The SA1 does not function as a slave CPU for the 5A22; both can interrupt each other independently.

The SA1 also features a range of enhancements over the standard 65C816:

Upgraded 10.74 MHz clock speed, up from a maximum of 3.58 MHz
Faster RAM, including 2KBytes of internal RAM
Memory mapping capabilities
Limited data storage and compression
New DMA modes such as bitmap to bit plane transfer
Arithmetic functions (multiplication, division, and cumulative)
Hardware timer (either as a linear 18-bit timer, or synchronised with the PPU to generate an IRQ at a specific H/V scanline location)
Built-in CIC lockout, for copy protection and regional marketing control

Except that's cheating. That's like making a Ford Mustang, putting an extremely shitty engine in it and supplementing it with turbo and superchargers to get that mustang feel. Nintendo is full of fucking idiots, who knew (and still know) next to nothing about designing decent video game/computer hardware. Had the 65816 in the SNES been clocked to AT LEAST 6MHz, it could have done Star Fox, Yoshi's island, etc without the enhancement chips. Hell, at 7.15MHz, it would have smoked the Motorola 68000, because 65816 is a more efficient architecture.

Oh wow, that SMW SA-1 pack is pretty incredible!

Okay so I think I get it.. Obviously SD2SNES can't do anything w/ the original SNES board. But you could theoretically overclock co-processors that SD2SNES supports, like how the Cx4 was running at higher than 20MHz before a recent firmware update. Otherwise the roms have to be patched to use a co-processor that the SD2SNES supports.

This is just speculation, but maybe this could work if the SD2SNES had a feature to reroute all processing to a co-processor in realtime, assuming it wasn't already using one. Probably would be quite an undertaking.. but man it would be really amazing if it worked
No one can play that on hardware unless you rip SA1 carts apart. In other words, it's emulator only, unless somehow the 65816 and the SuperFX get reverse-engineered and implemented into SD2SNES.
Title: Re: Blast processing for SNES(overclocking)
Post by: anton8604 on September 17, 2016, 10:06 PM
If we get SA1 implementation on SD2SNES, that'll be a glorious day.. street fighter alpha 2, super mario rpg... but yeah.. ikari might be able to implement a feature which works just like that SA1 patch for SMW, except have it work on any game that doesn't use an enhancement chip. Though at that point it would lean a lot closer to emulation.. but you'll get better performance out of your games on the SNES.

But just think.. playing most games using the power of SA1.. how amazing that'll be. Though obviously not a simple project, and may require a lot of tweaking for compatibility.
Title: Re: Blast processing for SNES(overclocking)
Post by: Missingno255 on September 18, 2016, 02:48 AM
But just think.. playing most games using the power of SA1.. how amazing that'll be. Though obviously not a simple project, and may require a lot of tweaking for compatibility.
You know what would be more amazing? Circumventing hardware limitations and using stock hardware! Such amaze, wow! Genesis/Megadrive ROM hackers do it all the time, and there aren't any enhancement chips to rely on.

Also, you don't need SA1 for SMW hacks, unless you plan to flood the screen with sprites all over the place like the Touhou Mario hack. If you need SA1 for anything in a Mario hack, then you have very poor level design and should improve upon that, using less sprites.
Title: Re: Blast processing for SNES(overclocking)
Post by: Great Hierophant on September 18, 2016, 09:33 PM
Except that's cheating. That's like making a Ford Mustang, putting an extremely shitty engine in it and supplementing it with turbo and superchargers to get that mustang feel. Nintendo is full of fucking idiots, who knew (and still know) next to nothing about designing decent video game/computer hardware. Had the 65816 in the SNES been clocked to AT LEAST 6MHz, it could have done Star Fox, Yoshi's island, etc without the enhancement chips. Hell, at 7.15MHz, it would have smoked the Motorola 68000, because 65816 is a more efficient architecture.

Nintendo was not full of idiots, but they made a poor choice in the 65816.  In the late 80s, the 68000 could easily be clocked to 8MHz (and was in the Atari ST), but the 65816 had well-known difficulties in ramping up the clock speed (the Apple IIgs' ran at 2.8MHz).  Nintendo chose the 65816 because they intended the Super NES to be backwards compatible with the NES, and the 65816 is compatible with the 6502 the NES used.  However, they found that it would add $75 to every console sold, so the backward compatibility was dropped.  They did not have time to back to the drawing board to make and test a new system design.  However, the 65816's running speed is 2.68MHz unless the cartridge had fast access ROM chips, when it became 3.58MHz.  Faster-rated ROM chips were more expensive, so that is why too many games ran only at the slower speed. 
Title: Re: Blast processing for SNES(overclocking)
Post by: Missingno255 on September 19, 2016, 01:35 PM
Except that's cheating. That's like making a Ford Mustang, putting an extremely shitty engine in it and supplementing it with turbo and superchargers to get that mustang feel. Nintendo is full of fucking idiots, who knew (and still know) next to nothing about designing decent video game/computer hardware. Had the 65816 in the SNES been clocked to AT LEAST 6MHz, it could have done Star Fox, Yoshi's island, etc without the enhancement chips. Hell, at 7.15MHz, it would have smoked the Motorola 68000, because 65816 is a more efficient architecture.

Nintendo was not full of idiots, but they made a poor choice in the 65816.  In the late 80s, the 68000 could easily be clocked to 8MHz (and was in the Atari ST), but the 65816 had well-known difficulties in ramping up the clock speed (the Apple IIgs' ran at 2.8MHz).  Nintendo chose the 65816 because they intended the Super NES to be backwards compatible with the NES, and the 65816 is compatible with the 6502 the NES used.  However, they found that it would add $75 to every console sold, so the backward compatibility was dropped.  They did not have time to back to the drawing board to make and test a new system design.  However, the 65816's running speed is 2.68MHz unless the cartridge had fast access ROM chips, when it became 3.58MHz.  Faster-rated ROM chips were more expensive, so that is why too many games ran only at the slower speed.
No, they still are. ;) Wii U has the worst hardware design I've seen in a modern console. Also, I would have used the 68000 right off the bat.

The 65816 wouldn't have been backwards compatible at all, for the fact that it is an evolution of the 65CO2, NOT the 6502. the CPU in the SNES is related to the Hu6280 in the PC Engine. They may not have had time, but they could have clocked it to at least 7.15MHz and not 3.58MHz. 2.68MHz? Pathetic. Truly a waste of potential, wasted even more by using expansion chips and slow ROMs. Sega knew exactly what they were doing, considering their experience with arcade hardware.
Title: Re: Blast processing for SNES(overclocking)
Post by: Sarge on September 22, 2016, 10:56 PM
Of course, the 65C02 was an evolution of the 6502.  There might be some need to tweak a bit for pure compatibility, but it's more of an R3000/R4000 PSX/PSP situation than it is something completely alien.