ugetab wrote:
A superb example of why your SNES>NES idea wouldn't work right is the NES port of Super Mario World. The graphics, gameplay, music, overworld map, and pretty much everything else are all sub-par compared to SNES version. This port is also considered a rather phenomenal effort, and with good reason.
it will not be an exact port, it won't use any EotB, MQ, nor Arcana Graphics, Audio, Map, nor Statistics data. nor will it use the same data structures, as it will be a cloned merging of the two (three) engines, implemented in a completely different way.
ugetab wrote:
One of the main special effects that the SNES enabled was enhanced flashiness. Controls, colors, visual effects, music, and graphical complexity. You can't do on an NES what you can do on an SNES for the simple fact that both the CPU and the memory viewable in an NES game aren't enough to contain and process the elements of SNES games that you take for granted after you've played 50 SNES games. Sure, Mystic Quest could be simulated using another FF engine and a lot of leg-work with the raw assembly, but you can't take what's in MQ and port it directly to the NES, because even the enemy stat table would likely span 2 banks of data by itself. Then there's the amount of text to deal with, and you can ask some translation people about how wonderful they thought it was when they learned how to expand games for more text space. All the maps would take up a good bit of room too, and then stuff like map objects(placement, type, subtype, H-position X, V-position Y, possibly layer Z) would take up even more. Add to that the specialized ASM(climbing walls, chopping trees, hooking on stuff, screen shakes, object macros) and additional menus to make up for missing controller buttons and you're racking up a lot of time and space, and that's just on the Mystic Quest side.
MQ was a testbed for FF on SNES. It was programmed as if it were a NES game, except using the new capabilities the SNES had to offer. All it was, was a real-world retail learning experience for Square for developing on the SNES.
ugetab wrote:
With that in place, the best case scenario is you stealing someone else's coding for the side-scroller, and trying to make it not interfere with the 0x6C0 area of memory you have to work with for 2 games worth of info (leaving 0x40 for the stack).
There is not two games worth of info. There is a hybrid engine clone written from scratch to perform perceptually identical behavior using a completely different implementation. The game data itself other than engine code will simply be my own completely original game data. (Graphics, Audio, Maps, Statistics)
ugetab wrote:
After all of this, you end up with a huge, choppy, SFX-free, probably-incomplete game that's been done.
I never stated i was going to clone the sound effects and music engines as well. I plan on using an original one not based off anything for audio.
ugetab wrote:
Your best bet: Do what other people do. Find a game with a system close to what you want, and hack in the story and gameplay you want it to have.
What is closest happens to be the Arcana cart released for both NES and SNES, the similar Eye of the Beholder cart released for both SNES and PC, and the SNES cart Mystic Quest which was designed the way a NES game is that simply made use of all the bells and whistles of SNES.
This provides two unique machine code signatures for Arcana,
two unique machine code signatures for Eye of the Beholder,
and the intuitive to reverse engineer Mystic Quest machine code.
Since the Arcana and Eye of the Beholder games were coded to behave perceptually identical between each platform they were released for, the machine code images from each platform is easy to cross reference via branch mapping.
If you are unfamiliar with the concept of branch mapping, a famous legal case involving branch mapping forensic evidence being put to use was when IBM lost its legal case against COMPAQ, in which IBM claimed COMPAQ ripped off their Bios. The forensic evidence proved that the branch map of COMPAQ's Bios and the branch map of IBM's Bios, did not hold any common relationship.
Another famous legal case was when PearPC won its legal case against CherryOS, in which the branch mapping of CherryOS was virtually identical to that of PearPC. However, other evidence such as vector names unique and proprietary to PearPC also occuring in CherryOS were extra evidence in winning the lawsuit that the PearPC developer filed against the distributors and developers of CherryOS.
One major reason that I intend to clone as a hybrid engine rather that gut a native existing engine, is so that, if in the future, if i do indeed intend to retail the game Puzzlum : Realm of Existence for NES, I am immune to any legal action simply due to the reasoning behind the outcome of those two court battles.