I think we might be able to pull it off with the original Pokemon Red, if we expand the ROM, but FireRed should work if we import the sprites and tile-sets from Red into FireRed. It may be possible to do the same for the music as well. Basically, we turn FireRed into Pokemon Red. aside from that, before we get carried away by thinking of neat and creepy things to add to the hack, we should focus on the basics, especially since there's a need for a log of every trainer and Pokemon you curse. I'm going to write up a list of things needed specifically for the hack below.
0. The title screen, of course.
1. after you select your starter, you 'magically' have Bulbasaur, Squirtle, and Charmander, along with GHOST
2. GHOST cannot be removed from the party
3. GHOST cannot be attacked while in use during battle, similar to the actual Lavender Town counterparts, the opponents will be too scared
4. GHOST-exclusive Curse move, which when used, resulted to the screen cutting to black, and the cry of the Pokemon it's used for will be heard while the screen went black, at a lower pitch than normal, and the defending Pokemon would be missing from the battle scene when it reappeared. this applies for random battles, and trainer battles. for Trainer battles, the amount of poke-balls that were there will be lowered by one, the ball of the Pokemon being missing. Also, the Curse move fails on ghost-type Pokemon, as well as when used on Giovanni, or your rival, unless used during the final scripted confrontation with either of them, I assume Team Rocket applies similarly as unable to be killed until the last fight.
5. After all Pokemon are defeated, either normally or via Curse, after you receive your winnings and the enemy trainer appears to say his losing line, the battle menu will appear again, giving you the option to run, which ends the battle like it would in a normal game, or the option to fight, where you can use Curse, which not only ends the battle, but removes the trainer's sprite from the map.
6. When you leave the map area where you curse a trainer, then return, where the trainer once was, will be a Lavender Town tombstone.
7.After defeating the Elite Four, and viewing your Hall of Fame, the game cuts to a black box, likely a text box, reading "Many Years Later".
8. After the above, the player sprite should be that of an old man, likely the same one as the old man at the beginning of the game, and you start in the Lavender Tower, top floor probably. Your movement speed is halved, likely possible to do using a modification of the bicycle's programming, all the normal obstacles are in the main over-world, except a bush near the Diglett Cave you need to cut to get to Pallet Town. There are no people in the over-world, and only the tombstones of the trainers you killed, and similarly, I assume there are no random encounters. You have no Pokemon, and, as a precaution, no bicycle, or items, probably. all this time, the Lavender Town music should play normally, with no slowdowns or distortion and the like.
9. Once you get to Pallet Town, and step on the same tile that you started the game on, the Screen should cut to black and show a slide-show of every Pokemon you cursed, followed by a slide-show of every trainer you cursed. Slide-show should be in the order that you killed them, so basically we'd need to add some code to allow the game to keep a log of that. Also, the Lavender Town theme should begin slowly decreasing in pitch, not tempo, but a very slow pitch decrease, so it doesn't become inaudible by the time you finish the slide-show with the last of the Elite Four.
10. After this, it cuts to black, and the battle scene should appear, with your trainer sprite swapped out with that of the old man who teaches you how to catch Pokemon at the beginning of the game. The enemy is GHOST, and the battle text is "GHOST wants to fight!". you cannot use items, and you have no Pokemon. running will result in you not being able to run away, and your only option was fight, and it makes you use Struggle, which causes you to lose HP (likely this can be done by creating a new Pokemon with the Old Man sprite, and skipping the "Red sends out " sequence, so it's a straight cut to the old man and the GHOST). At the point where the traditional beeping from having Critical health starts, GHOST will use curse, and the screen will fade to black.
11. As it does this, I assume it deletes your save data, then it goes into a faulty line of code, which results in the 'black screen of death'. that should be the easiest way to perform the unresponsive back screen.
12: the slide-show will not occur if Curse isn't used, so basically Curse's first use on a Pokemon should count as an event flag that triggers the beginning of the log of all the dead Pokemon, and same goes for Curse's first use on a trainer, which begins the log of dead trainers.
This is the basic outline of the hack, and before we go and add all sorts of odds and ends, we should hack it as outlined above, then release it to the general public once everything works accordingly. That release will be the 'official', while then we can build on that and add other things to it, like I know you people want to. If I had it my way, we'd do it the way it's meant to be, and we stick to the story. BUT....
As long as we release the 'original hack' separate from one where we added things we thought were cool, then I'll be satisfied.