I don't think it was emulation though, I think it was modifying the binary to make it run on the PC Engine.
It's actually both. There isn't really a good reason to try and emulate a 6502 when it can just run 6502 native code. Only the port writes and reads are patched in the binary (from lda port or lda port,x and sta port or sta port,x opcodes are patched to JSR xxxx since they are the same length). Everything else is realtime emulation; video, audio, mapper, etc. I love NES games, but there's no way I would spend the time to completely rewrite the hardware interface routines for native PCE hardware. My love for such games doesn't extend that far. Or rather, my free time required for such a thing.
I'd rather NES games actually be ported. Specifically, we need Ninja Gaiden 2 and 3 (PC-E got part one... why not the rest?)
Once the games are up and running, there's no reason why you couldn't upgrade them. I mean, other than taking the time to disassemble and understand the game structure/routines enough to modify them. I did this with Megaman 1. I RE'd the metasprite for the game objects, then changed megaman sprite itself to single 32x32 sprite frames (using more vram than what NES could access). I also upgraded the colors to 4bit. And I did this by upgrading the NES video emulation itself (added new functionality to
unused bits in the sprite table entries) that didn't specifically break backwards compatibility. It allowed me to upgraded in steps without breaking a ton of stuff.
I did provided the source code templates and project files for people to make modifications themselves or get other NES games working on the core system, but I guess the setup is just too advanced for the average hacker or such a steep learning curve. I dunno. It does require you to be intimately familiar with both the NES and PCE on the lowest level. I only know of one person besides myself that actually did anything with my source files; an NES emulation author toyed with it to get Contra up and running on the PCE (although I have my own version up and running).
To the general public: don't
expect anything from this. Yes, I do work on this stuff from time to time, but it's at my own leisure and for fun/hobby/etc. I'm doing this for myself and not specifically for the general public (which is why I've kept quite a bit of the other NES games running on PCE private), though I will share stuff publicly from time to time. So please no requests or such. Not trying to be a jerk or anything, just don't want to lead anybody on or get peoples hopes up/whatever. If you have the know-how/experience though, and are interested in this sort of thing, I'd be happy to provide the material and explain any detail I can.