More actions
NES Emulator for GBC | |
---|---|
General | |
Author | Leaf |
Type | Console |
Version | 2009 |
License | Mixed |
System | CGB |
Last Updated | 2009/06/04 |
Links | |
Download | |
Website | |
Source | |
An NES emulator written to assess the accuracy of the CPU emulator created for GBNSF.
This program is primarily a technical demonstration and is not recommended for any other purposes, except perhaps for code enthusiasts who enjoy examining it. It has no sound and has not been tested on actual console.
Only programs with a 16KB program ROM and an 8KB character ROM are likely to function. It's doubtful whether it will work with features like scrolling or memory controllers integrated. Most likely, only a few initial programs will run.
User guide
Type "nes sample.nes" through the command line, replace sample.nes with your .nes file. The contents consist of a simple batch file for binary concatenation.
The author has included a custom ROM header + size correction tool, GBFIX.EXE. It is a lite version of RGBFIX but gives the same output as "RGBFIX -p -v".
You can use the Select button + D-Pad to scroll the screen. This feature is added because the entire screen is not visible on the Game Boy.
With emulators that have viewers like VBA (VisualBoyAdvance), you can access various information. When you encounter color distortion, it suggests that VRAM operations are not completed clearly during the Blank period.
The frame rate varies depending on what you are running, but it typically stays around 2 to 3 FPS.
Controls
Select+D-Pad - Scroll the screen
Screenshots
Changdelog
2009/06/04
- Fixed the timing issue where the reset of the $2006 address write order occurred during $2007 read, now it happens during $2002 read.
- Optimized the memory interface. Changed add/sub $80 to set/res 7,r, resulting in a speed improvement of 4 to 8 clocks for many instructions.
- Modified the behavior of the PHP instruction to be more like G-NES. Focused on the B flag, but the exact impact is unclear.
- Adjusted the NES VBlank interval to be n times longer than that of the Game Boy. Currently set to 24 times.
2009/05/27
- Implemented controller hooking, but the button response might be slow. This is because the game checks for the timing when the button is pressed (ON->OFF) on the game side. Holding down a button works fine.
- The PPU code was in poor condition, so some refinements were made. Following the Game Boy conventions, it now properly observes vblank, increasing safety but reducing speed.
- Sprites beyond index 40 (40~63) are no longer processed. This means collisions with invisible enemies can lead to player death.
External links
- Author's website - http://mydocuments.g2.xrea.com/index.html