I've read that there are decompilers for gameboy and GBA to assembly for z80 and ARM respectively
How difficult would it be to then port this assembly over to NES or SNES and then recompile?
This seems feasible, no?
If you want any sort of performance out of a Game Boy to NES port, it'd likely take a line-by-line rewrite due to how different the design principles are between the 8080 family and 6502 family. There are also plenty of graphical features that the Game Boy has but the NES PPU lacks, which a game might have to make up for using advanced mapper features. Nintendo has these resources to make Super Mario Bros. Deluxe, but a hobbyist might not.
GBA to SNES? That'd be like trying to go from SNES with Super FX to SNES without Super FX.
That is what i figured.
How about some more hypotheticals?
what about gameboy color to SNES
or NES to SNES?
GBC to SNES would still need a line by line rewrite because again, 8080 family vs. 6502 family.
NES to SNES has been done by pirates making multis. The sound engine would need a complete rewrite, but a lot of the video stuff translates fairly straightforwardly.
NES to GBA and SNES to GBA have been done in homebrew emulators.
mcmustang51 wrote:
This seems feasible, no?
Not really, no.
A disassembly will help you get the game logic (physics, AI and whatnot) replicated faithfully (but even then you'll need to rewrite most of the code in a way that's friendly to the new CPU if you expect good performance) but the audio and video capabilities of these systems differ a lot from one another, enough to make a direct port impossible.
GB (B&W, GBC definitly not) to NES might be possible in some cases, GBA to SNES is definitely impossible, unless the game severely underutilizes the hardware.
Quote:
what about gameboy color to SNES
Sounds possible to me.
Quote:
or NES to SNES?
I remember seeing some games ported from the NES to the SNES... I think Mario Bros. (not Super) was one of them. The fact that the 65816 can run 6502 code natively probably helps a lot.
Porting NES to SNES wouldn't be hard, I'd say it's not trivial nor easily automated though. Long ago I released the source code to my NES sound emulator for SNES, I can't say it's cleanly organized but at least a few people have used it.
http://membler-industries.com/SNES/
I found a program called fc2smc that i guess could partially do some basic games
It's not a trivial task to port even DMG model games to the NES, but it's possible. GBC games may be more difficult, even more so if the game uses the GBC-dedicated mode. GBA games might be not be portable to the SNES, I don't really know.
GBA is way more powerful than SNES, so no, porting as is is not possible. Demaking is more correct approach.
GBA more powerful than SNES :
- GBA has worse quality sound, but sound samples can be stored in a large ROM in the first place as opposed to limited RAM of SPC700
- GBA has full transparency, SNES only have colour adding, averaging and substracting
- GBA's CPU is much more powerful, capable of rendering some elementary 3D in real time
- Sprites can be rotated/scaled in hardware
- Palette twice as large
- Sprites can be in 8BP format
- 1.5 times the quantity of VRAM that SNES have
SNES more powerful than GBA :
- Higher quality sound
- More controller buttons
- Has priority per tile mode, allowing the same sprite to be at the front of some object and at the back of another object on the same BG
- Has 16x16 tiles mode, allowing more efficient use of VRAM in certain cases
- Has colour substracting that GBA lacks
- Has "single colour" transparency that would require wasting an entiere BG on GBA
- BG can be stored in 2BP format, providing more efficient use of VRAM in certain cases
- Much higher screen resolution even in the standard low resolution mode
Bregalad wrote:
GBA more powerful than SNES :
GBA also has far more sprite pixels per scanline and allows writing to OAM and VRAM during active picture.
Quote:
SNES more powerful than GBA :
[...]
- Has "single colour" transparency that would require wasting an entiere BG on GBA
GBA can blend against color 0; isn't that the same?
No, because it can't be window clipped (as far I know - if it is please disregard this post). Chrono Trigger and other games rely a lot on graphic clipping single colour transparency for magic spells and effects.
The feasibility of a game to be ported from one platform to another is entirely dependent on the game itself. For example, Tetris can run on most anything, but Mario 64 would probably require a platform capable of 3D graphics.
Obviously, special features for the platform will need to be taken into account, but I honestly don't think Chrono Trigger will explode if the fancy graphical effects for spells and the like aren't present.