NES Emulator for Gameboy Color GB

From GameBrew
NES Emulator for GBC
Gbnes.png
General
AuthorLeaf
TypeConsole
Version2009
LicenseMixed
SystemCGB
Last Updated2009/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

gbnes2.png

gbnes3.png

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

Advertising: