Downloads Navigation
GoldenEye Spectrum Emulation Unlocked Hack of GoldenEye 007
Download Name: GoldenEye Spectrum Emulation Unlocked Hack of GoldenEye 007
Category: Nintendo 64 Nintendo 64 ROM hacks
Submitted By: Sean
Date Added:
File Size: 252.57 KB
File Type: (Zip file)
Comments: 0
Downloads: 8
Views: 1,472
Related Forum: Gaming Discussion
Share:
Item description:
GoldenEye Spectrum Emulation Unlocked
Little beknownst to the world all this time, GoldenEye (N64) has a fully-functional ZX Spectrum 48x emulator built into it. By feeding it a proper Spectrum monitor program and calling menu 25 to load a snapshot, any Spectrum 48x program can be run.
The emulator started life as a side project to see if Spectrum emulation was possible on N64 and was hooked into GE, the current game in development. It was supposed to be removed before release but was only made inaccessible and inoperable. All the registers, dependencies, and script required to run the emulator still reside in retail GoldenEye carts.
The original list of games were previous Rare titles, then known as Ultimate Play the Game. The embedded filelist is, in order:
em/data/sabre.seg.rz Sabre Wulf
em/data/atic.seg.rz Atic Atac
em/data/jetpac.seg.rz Jetpac
em/data/jetman.seg.rz Lunar Jetman
em/data/alien8.seg.rz Alien 8
em/data/gunfright.seg.rz Gun Fright
em/data/under.seg.rz Underwurlde
em/data/knightlore.seg.rz Knight Lore
em/data/pssst.seg.rz Pssst
em/data/cookie.seg.rz Cookie
em/data/spec_rom.seg.rz Spectrum 16k monitor program
In actual fact, the emulator was supposed to run without the aid of the monitor program. Critical subroutines were copied out or hardcoded. In its current state, however, the monitor is required.
Originally, the emulator was run much the same way that stages are run. Unlike stages which run by switching to menu 11, the emulator runs by switching to menu 25. When initialized, it reads what buttons are held on controller 3. Depending on the button held is which game would be loaded. From there, the monitor program and selected snapshot file are loaded from ROM, and if necessary these files are decompressed. Only controller 1 is detected. This is mapped as a Kempston joystick on port 31. Necessary buttons to start each game (usually keyboard ‘0′) and any additional keys to play the game are mapped to the keyboard port 254 halfwords. These are set on a per-game basis, but general controls are A/B to start a game, Z for the ‘action’ button, and L to unload the emulator and return to gameplay. Each emulation cycle lasts 69888 Spectrum cycles. Each opcode consumes a certain amount of this cycle count. At the end, the screen is drawn to the Spectrum screen buffer, and this is displayed like an image using usual N64 microcode. Emulation continues as long as menu 25 is called.
+_+
Why a Patch Is Required
In its pre-patched state the emulator has some peculiar issues, probably due to the different versions of included files used to compile the retail game. For instance, the ten games listed above were not all selectable. The initializer only has button masks for eight games, defaulting to SabreWulf. The snapshot loader restricts this list to only the first five. The controller mapping function, however, redirects buttons for all ten titles.
Interestingly, the ROM file table leaves only ten spaces for the ten different snapshot files blank. These are completely blank, without any data or indices until the final file placeholder. As previously mentioned, the monitor was not supposed to be included but is requested by the snapshot loader. Otherwise, the list would require eleven spaces.
The ‘unloader’ does not, in fact, work properly. It copies NULLs over the program manager. This, obviously, will cause any number of fatal errors to the current game and make it impossible to return to normal gameplay. Also, there is no capacity to reset the screen registers to default.
+_+
The Patch
The patch will reactivate full emulation support in GoldenEye. The patch should be applied only to an unedited, unbyteswapped (big-endian) North American GoldenEye ROM (NGEE). The GoldenEye Setup Editor can apply and byteswap the ROM for you, as well as recalculate the checksum. (Yes, that was a shameless plug.) It should run properly on hardware.
For more details, read the readme in the patch folder.
ROM / ISO Information:
GoldenEye 007 (U) [!].z64
CRC32: B6330846
MD5: 70C525880240C1E838B8B1BE35666C3B
SHA-1: ABE01E4AEB033B6C0836819F549C791B26CFDE83
GoldenEye Spectrum Emulation Unlocked
Little beknownst to the world all this time, GoldenEye (N64) has a fully-functional ZX Spectrum 48x emulator built into it. By feeding it a proper Spectrum monitor program and calling menu 25 to load a snapshot, any Spectrum 48x program can be run.
The emulator started life as a side project to see if Spectrum emulation was possible on N64 and was hooked into GE, the current game in development. It was supposed to be removed before release but was only made inaccessible and inoperable. All the registers, dependencies, and script required to run the emulator still reside in retail GoldenEye carts.
The original list of games were previous Rare titles, then known as Ultimate Play the Game. The embedded filelist is, in order:
em/data/sabre.seg.rz Sabre Wulf
em/data/atic.seg.rz Atic Atac
em/data/jetpac.seg.rz Jetpac
em/data/jetman.seg.rz Lunar Jetman
em/data/alien8.seg.rz Alien 8
em/data/gunfright.seg.rz Gun Fright
em/data/under.seg.rz Underwurlde
em/data/knightlore.seg.rz Knight Lore
em/data/pssst.seg.rz Pssst
em/data/cookie.seg.rz Cookie
em/data/spec_rom.seg.rz Spectrum 16k monitor program
In actual fact, the emulator was supposed to run without the aid of the monitor program. Critical subroutines were copied out or hardcoded. In its current state, however, the monitor is required.
Originally, the emulator was run much the same way that stages are run. Unlike stages which run by switching to menu 11, the emulator runs by switching to menu 25. When initialized, it reads what buttons are held on controller 3. Depending on the button held is which game would be loaded. From there, the monitor program and selected snapshot file are loaded from ROM, and if necessary these files are decompressed. Only controller 1 is detected. This is mapped as a Kempston joystick on port 31. Necessary buttons to start each game (usually keyboard ‘0′) and any additional keys to play the game are mapped to the keyboard port 254 halfwords. These are set on a per-game basis, but general controls are A/B to start a game, Z for the ‘action’ button, and L to unload the emulator and return to gameplay. Each emulation cycle lasts 69888 Spectrum cycles. Each opcode consumes a certain amount of this cycle count. At the end, the screen is drawn to the Spectrum screen buffer, and this is displayed like an image using usual N64 microcode. Emulation continues as long as menu 25 is called.
+_+
Why a Patch Is Required
In its pre-patched state the emulator has some peculiar issues, probably due to the different versions of included files used to compile the retail game. For instance, the ten games listed above were not all selectable. The initializer only has button masks for eight games, defaulting to SabreWulf. The snapshot loader restricts this list to only the first five. The controller mapping function, however, redirects buttons for all ten titles.
Interestingly, the ROM file table leaves only ten spaces for the ten different snapshot files blank. These are completely blank, without any data or indices until the final file placeholder. As previously mentioned, the monitor was not supposed to be included but is requested by the snapshot loader. Otherwise, the list would require eleven spaces.
The ‘unloader’ does not, in fact, work properly. It copies NULLs over the program manager. This, obviously, will cause any number of fatal errors to the current game and make it impossible to return to normal gameplay. Also, there is no capacity to reset the screen registers to default.
+_+
The Patch
The patch will reactivate full emulation support in GoldenEye. The patch should be applied only to an unedited, unbyteswapped (big-endian) North American GoldenEye ROM (NGEE). The GoldenEye Setup Editor can apply and byteswap the ROM for you, as well as recalculate the checksum. (Yes, that was a shameless plug.) It should run properly on hardware.
For more details, read the readme in the patch folder.
ROM / ISO Information:
GoldenEye 007 (U) [!].z64
CRC32: B6330846
MD5: 70C525880240C1E838B8B1BE35666C3B
SHA-1: ABE01E4AEB033B6C0836819F549C791B26CFDE83
Download: Click Download and in a few moments you will receive the download dialog.
Related Forum: Gaming Discussion
Related Forum: Gaming Discussion
We are sorry, but this section of our site is for Registered Users Only.
Ratings
Comments
Related Downloads
- 01. Play as Waluigi in Ocarina of Time(177)
- 02. Play as Ganondorf in Ocarina of Time(166)
- 03. Ocarina of Time - Gender Neutral(53)
- 04. Zelda's Birthday Hack of The Legend of Zelda: Ocarina of Time(122)
- 05. The Legend of Zelda - Majora's Mask - Masked Quest(112)
- 06. Razor Sword Improvement Hack of The Legend of Zelda: Majora's Mask(20)
- 07. The Legend of Zelda: Majora's Mask - Gamecube to N64(54)
- 08. Super Yeezus 64 Hack of Super Mario 64(92)
- 09. StarRevenge 0.5 - Unused Levels Hack of Super Mario 64(23)
- 10. Mario on An Saoire 64 Hack of Super Mario 64(40)
- 11. The Final Star 2 Hack of Super Mario 64(21)
- 12. Super Mario 420 Hack of Super Mario 64(140)
- 13. Super Mario 64: The Final Star Hack of Super Mario 64(31)
- 14. Super Mario & Planet Stardust's Rampage Hack of Super Mario 64(32)
- 15. Super Mario 64 StarRevenge Hack of Super Mario 64(20)
"GoldenEye Spectrum Emulation Unlocked Hack of GoldenEye 007" :: Login/Create an Account :: 0 comments