NGPAdvance GBA: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 4: Line 4:
|description=NeoGeo Pocket Color emulator for GBA.
|description=NeoGeo Pocket Color emulator for GBA.
|author=FluBBa (Fredrik Olsson)
|author=FluBBa (Fredrik Olsson)
|lastupdated=2008/10/01
|lastupdated=2024/01/24
|type=Handheld
|type=Handheld
|version=0.3
|version=0.5.7
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/gbahomebrews/ngpadvance.7z?k33p0fil35
|download=https://dlhb.gamebrew.org/gbahomebrews/ngpadvance.7z?k33p0fil35
|website=http://hem.passagen.se/flubba/gba.htmll
|website=https://github.com/FluBBaOfWard/NGPGBA
|source=https://github.com/FluBBaOfWard/NGPGBA
}}
}}
{{#seo:
{{#seo:
Line 23: Line 24:


==Installation==
==Installation==
Run NGPAdvance.exe to add roms to the emulator, you can also add a real bios.
On Windows run NGPGBA.exe to add roms to the emulator, you can also add a real bios. Do no overwrite the original .gba file.


Do not overwrite the original .gba file.
The header is defined in Emubase.h, it's 64 bytes long, the size field is in little endian, the 32bit id is 0x1A50474E (LE).
 
The name field can be 31 bytes plus a terminating zero. There is an example header file included, "ngp.header".


==User guide==
==User guide==
===Menu===
To get maximum speed turn off sound and set Z80 CPU to 1/16 speed, maybe even turn on overclock EWRAM.
Controller:
 
'''File:'''
* Load Game - Select a game to load.
* Load State - Load a previously saved state of the currently running game.
* Save State - Save a state of the currently running game.
* Load Flash RAM - Load flash ram for the currently running game.
* Save Flash RAM - Save flash ram for the currently running game.
* Save Settings - Save the current settings.
* Reset Game - Reset the currently running game.
 
'''Controller:'''
*Autofire - Select if you want autofire.
*Autofire - Select if you want autofire.
*Controller - 2P control player 2, Link is used to linkup 2 GBAs.
*Controller - 2P control player 2, Link is used to linkup 2 GBAs.
*Swap A/B - Swap which GBA button is mapped to which NGP button.
*Swap A/B - Swap which GBA button is mapped to which NGP button.


Display:
'''Display:'''
*Gamma - Lets you change the gamma ("brightness").
* Mono Palette - Select the palette for B & W games.
*Border - doesn't work yet.
* Gamma - Change the gamma ("brightness").
*Palette - Choose which palette to use for mono games.
*Disable foreground - Turn on/off foreground rendering.
*Disable background: -Turn on/off background rendering.
*Disable sprites - Turn on/off sprite rendering.
 
Other Settings:
*VSync - Switch between speed modes, can also be toggled with L+START.
**On - Will wait for the next vsync if needed, best for most games.
**Force - Can help with graphics in some games, often slow.
**Off - Can speed up some games if they don't allready use all cpu time.
**Slowmo - Good for beating that extra fast game.
*FPS-Meter - Toggle fps meter.
*Autosleep - Change the autosleep time, also see Sleep.
*EWRAM Speed - Use with caution.
*Machine - NeoGeoPocketColor should work for most games.
*Language - Switch language settings for the NeoGeo Pocket.
*Speedhacks - Turn on/off speedhacks.
*Z80 - Turn the emulation of the Z80 on/off.
*Change batteries - Change batteries in the NGP.
*Change sub battery - Change the clock battery in the NGP.
*Use BIOS - doesn't work yet.
*CPU speed - Set the CPU speed of the NeoGeo Pocket, this doesn't lock the cpu speed, the games can still change it.


Save Manager:
'''Machine:'''
*Save SRAM - Save the SRAM for the current game (it's automaticly loaded).
* Language - Select between Japanese and English.
*Manage savememory - Lets you erase SRAM (for now).
* Machine - Select the emulated machine.
* Change Batteries - Change to new main batteries (AA/LR6).
* Change Sub Battery - Change to a new sub battery (CR2032).
* Cpu Speed Hacks - Allow speed hacks.
* Half Cpu Speed - This halves the emulated cpu speed. Can make games faster.
* Z80 Clock - Down shift the clock of the Z80. This can make a huge impact to the speed but can also screw up sound.
* Sound - On / Off.


Others:
'''Settings:'''
*Sleep - Put the GBA into sleepmode (activated from this menu or from 5/10/30 minutes of inactivity).
* Speed - Switch between speed modes (Normal, 200%, Max, 50%).
*Restart - Lets you select a new game.
* Autoload State - Toggle Savestate autoloading. Automagically load the savestate associated with the current game.
*Exit - Let's you exit the emulator back to Pogo or the FA/F2A menu.
* Autoload Flash RAM - Toggle flash/save ram autoloading. Automagically load the flash ram associated with the current game.
* Autosave Settings - This will save settings when leaving menu if any changes are made.
* Autopause Game - Toggle if the game should pause when opening the menu.
* Overclock EWRAM - Changes the waitstates on EWRAM between 2 and 1, might damage your GBA and uses more power, around 10% speedgain. Use at your own risk.
* Autosleep - Change the autosleep time, also see Sleep.


Make sure your flashing software allocates 64kByte/512kbit SRAM for NGPAdvance.
'''Debug:'''
* Debug Output - Show FPS and logged text.
* Disable Foreground - Turn on/off foreground rendering.
* Disable Background - Turn on/off background rendering.
* Disable Sprites - Turn on/off sprite rendering.
* Step Frame - Emulate one frame.


===Advanced===
'''Other:'''
EWRAM speed:
* Sleep - Put the GBA into sleepmode. START+SELECT wakes up from sleep mode (activated from this menu or from 5/10/30 minutes of inactivity).
*This changes the waitstate on EWRAM between 2 and 1.
* Quit Emulator - Tries to reset the Flashcart and reboots the GBA.
*This can probably damage your GBA and definitly uses more power, around 10% speedgain.
*Use at your own risk.
 
[[PogoShell GBA|PogoShell]]:
*Copy ngpadvance.gba to the plugin folder (or compress it to mbz before you copy it).
*Rename it to ngpadvance.bin and add either one of the following line to the pogo.cfg file:
**<code>ngp 1 ngpadvance.bin 2</code>
**<code>ngp 1 ngpadvance.mbz 2</code>


==Controls==
==Controls==
'''Menu:'''
'''Menu:'''


Up/Dow - Select game
Up/Down - Select game


B/A - Start the selected game
B/A - Start the selected game
Line 102: Line 100:
'''NeoGeo Pocket:'''
'''NeoGeo Pocket:'''


A - B
A - NeoGeo Pocket B
 
B - NeoGeo Pocket A
 
Start - NeoGeo Pocket Option


B - A
Select - NeoGeo Pocket Power
 
L - NeoGeo Pocket D (debug)


==Screenshots==
==Screenshots==
Line 110: Line 114:
https://dlhb.gamebrew.org/gbahomebrews/ngpadvance4.png
https://dlhb.gamebrew.org/gbahomebrews/ngpadvance4.png
https://dlhb.gamebrew.org/gbahomebrews/ngpadvance5.png
https://dlhb.gamebrew.org/gbahomebrews/ngpadvance5.png
==Known issues==
* Memories of - Pure: Glitches everywhere.
* Neo Poke Pro Yakyuu: Sprite multiplexing doesn't work.
* Puzzle Link/Puzzle Link 2 (USA, EU) sometimes softlocks when a level ends
* Sonic The Hedgehog: First boss sometimes disappear.
* Super Real Mahjong - Premium Collection: Graphic bugs on intro.


==Changelog==
==Changelog==
'''V0.5.7 2024/01/24'''
* Fixed IRQ &amp; Micro DMA handling.
* Fixed BG priority updates mid screen (Rockman).
* Fixed HLE BIOS some more.
* Fixed save states a bit.
* More optimizations.
'''V0.5.6 2023/12/10'''
* Optimized cpu core.
'''V0.5.5 2022/11/02'''
* Fixed writing to scroll registers.
* Optimized K2GE access.
* Added speedhack for Big Bang Pro Wrestling.
* More games should work without a BIOS.
'''V0.5.4 2022/10/19'''
* Optimized Z80 communication.
'''V0.5.3 2022/10/18'''
* Fixed header ID.
'''V0.5.2 2022/10/15'''
* Added back game selection.
* Added new debug menu.
* Added Z80 CPU slow down menu item.
* Added Quit Emulator menu item.
* Added Overclock EWRAM menu item.
* Better menu traversing.
'''V0.5.1 2021/10/10'''
* Fixed timers, interrupts and scrolling.
* Fixed DAA opcode.
* Completed port to GBA devkitPro.
'''V0.5.0 2021/09/29'''
* Fixed sound mute handling.
'''V0.4.9 2021/09/05'''
* Started porting back to GBA devkitPro.
'''V0.4.8 2021/08/31'''
* Added stereo sound.
* Optimized VRAM transfers a bit.
'''V0.4.7 2021/08/29'''
* Various cpu fixes.
* Fixed auto power on/off.
'''V0.4.6 2021/08/22'''
* Added a new border on game screen.
* Added new setting to lower emulated cpu speed.
* Tweaked cpu register usage.
* Fixed MULA opcode.
'''V0.4.5 2021/06/28'''
* CPU working.
* Memory working.
* Graphics working.
* Sound working.
'''V0.4.0 2021/05/18'''
* Started port to Nintendo DS &amp; devkitPro.
'''V0.3 2008/10/01'''
'''V0.3 2008/10/01'''
*Fixed copy protection in "Metal Slug 2" (SNK logo in VRAM).
*Fixed copy protection in "Metal Slug 2" (SNK logo in VRAM).
Line 141: Line 216:


==External links==
==External links==
* GitHub - https://github.com/FluBBaOfWard/NGPGBA
* Author's website - [https://web.archive.org/web/20060720235823/http://hem.passagen.se/flubba/gba.html http://hem.passagen.se/flubba/gba.html] (archived)
* Author's website - [https://web.archive.org/web/20060720235823/http://hem.passagen.se/flubba/gba.html http://hem.passagen.se/flubba/gba.html] (archived)
* GBARetro.com - [https://web.archive.org/web/20150430211123/http://www.ndsretro.com/gbadown.html http://www.ndsretro.com/gbadown.html]
* GBARetro.com - [https://web.archive.org/web/20150430211123/http://www.ndsretro.com/gbadown.html http://www.ndsretro.com/gbadown.html]

Revision as of 08:53, 24 March 2024

NGPAdvance
Ngpadvance02.png
General
AuthorFluBBa (Fredrik Olsson)
TypeHandheld
Version0.5.7
LicenseMixed
Last Updated2024/01/24
Links
Download
Website
Source

NGPAdvance is a SNK NeoGeo Pocket Color emulator for the GBA.

Features

  • Can play most games.

Installation

On Windows run NGPGBA.exe to add roms to the emulator, you can also add a real bios. Do no overwrite the original .gba file.

The header is defined in Emubase.h, it's 64 bytes long, the size field is in little endian, the 32bit id is 0x1A50474E (LE).

The name field can be 31 bytes plus a terminating zero. There is an example header file included, "ngp.header".

User guide

To get maximum speed turn off sound and set Z80 CPU to 1/16 speed, maybe even turn on overclock EWRAM.

File:

  • Load Game - Select a game to load.
  • Load State - Load a previously saved state of the currently running game.
  • Save State - Save a state of the currently running game.
  • Load Flash RAM - Load flash ram for the currently running game.
  • Save Flash RAM - Save flash ram for the currently running game.
  • Save Settings - Save the current settings.
  • Reset Game - Reset the currently running game.

Controller:

  • Autofire - Select if you want autofire.
  • Controller - 2P control player 2, Link is used to linkup 2 GBAs.
  • Swap A/B - Swap which GBA button is mapped to which NGP button.

Display:

  • Mono Palette - Select the palette for B & W games.
  • Gamma - Change the gamma ("brightness").

Machine:

  • Language - Select between Japanese and English.
  • Machine - Select the emulated machine.
  • Change Batteries - Change to new main batteries (AA/LR6).
  • Change Sub Battery - Change to a new sub battery (CR2032).
  • Cpu Speed Hacks - Allow speed hacks.
  • Half Cpu Speed - This halves the emulated cpu speed. Can make games faster.
  • Z80 Clock - Down shift the clock of the Z80. This can make a huge impact to the speed but can also screw up sound.
  • Sound - On / Off.

Settings:

  • Speed - Switch between speed modes (Normal, 200%, Max, 50%).
  • Autoload State - Toggle Savestate autoloading. Automagically load the savestate associated with the current game.
  • Autoload Flash RAM - Toggle flash/save ram autoloading. Automagically load the flash ram associated with the current game.
  • Autosave Settings - This will save settings when leaving menu if any changes are made.
  • Autopause Game - Toggle if the game should pause when opening the menu.
  • Overclock EWRAM - Changes the waitstates on EWRAM between 2 and 1, might damage your GBA and uses more power, around 10% speedgain. Use at your own risk.
  • Autosleep - Change the autosleep time, also see Sleep.

Debug:

  • Debug Output - Show FPS and logged text.
  • Disable Foreground - Turn on/off foreground rendering.
  • Disable Background - Turn on/off background rendering.
  • Disable Sprites - Turn on/off sprite rendering.
  • Step Frame - Emulate one frame.

Other:

  • Sleep - Put the GBA into sleepmode. START+SELECT wakes up from sleep mode (activated from this menu or from 5/10/30 minutes of inactivity).
  • Quit Emulator - Tries to reset the Flashcart and reboots the GBA.

Controls

Menu:

Up/Down - Select game

B/A - Start the selected game

In game:

L+R - Open the menu

A - Choose

B or L+R - Cancel

Start+Select - Wake up from Sleep mode

NeoGeo Pocket:

A - NeoGeo Pocket B

B - NeoGeo Pocket A

Start - NeoGeo Pocket Option

Select - NeoGeo Pocket Power

L - NeoGeo Pocket D (debug)

Screenshots

ngpadvance3.pngngpadvance4.pngngpadvance5.png

Known issues

  • Memories of - Pure: Glitches everywhere.
  • Neo Poke Pro Yakyuu: Sprite multiplexing doesn't work.
  • Puzzle Link/Puzzle Link 2 (USA, EU) sometimes softlocks when a level ends
  • Sonic The Hedgehog: First boss sometimes disappear.
  • Super Real Mahjong - Premium Collection: Graphic bugs on intro.

Changelog

V0.5.7 2024/01/24

  • Fixed IRQ & Micro DMA handling.
  • Fixed BG priority updates mid screen (Rockman).
  • Fixed HLE BIOS some more.
  • Fixed save states a bit.
  • More optimizations.

V0.5.6 2023/12/10

  • Optimized cpu core.

V0.5.5 2022/11/02

  • Fixed writing to scroll registers.
  • Optimized K2GE access.
  • Added speedhack for Big Bang Pro Wrestling.
  • More games should work without a BIOS.

V0.5.4 2022/10/19

  • Optimized Z80 communication.

V0.5.3 2022/10/18

  • Fixed header ID.

V0.5.2 2022/10/15

  • Added back game selection.
  • Added new debug menu.
  • Added Z80 CPU slow down menu item.
  • Added Quit Emulator menu item.
  • Added Overclock EWRAM menu item.
  • Better menu traversing.

V0.5.1 2021/10/10

  • Fixed timers, interrupts and scrolling.
  • Fixed DAA opcode.
  • Completed port to GBA devkitPro.

V0.5.0 2021/09/29

  • Fixed sound mute handling.

V0.4.9 2021/09/05

  • Started porting back to GBA devkitPro.

V0.4.8 2021/08/31

  • Added stereo sound.
  • Optimized VRAM transfers a bit.

V0.4.7 2021/08/29

  • Various cpu fixes.
  • Fixed auto power on/off.

V0.4.6 2021/08/22

  • Added a new border on game screen.
  • Added new setting to lower emulated cpu speed.
  • Tweaked cpu register usage.
  • Fixed MULA opcode.

V0.4.5 2021/06/28

  • CPU working.
  • Memory working.
  • Graphics working.
  • Sound working.

V0.4.0 2021/05/18

  • Started port to Nintendo DS & devkitPro.

V0.3 2008/10/01

  • Fixed copy protection in "Metal Slug 2" (SNK logo in VRAM).
  • Fixed control problem in "Rockman Battle & Fighters" (MIRR opcode).
  • Fixed background glitch in "Memories of Pure" (HCount register).
  • Fixed problems with DMA probably affecting many games.

V0.2 2008/09/04

  • Added speedhacks for a lot of games.
  • Added emulation of batteries & sub battery.
  • Added RTC alarm.
  • Added power button (SELECT).
  • Added D button (R) (check "Doko Demo Mahjong").
  • Fixed a couple of cpu bugs affecting "Metal Slug 1" and a couple of other games.

V0.1 2008/07/04

  • Initial release.

V0.0 2008/04/02

  • Started Coding.

Credits

Huge thanks to Loopy for the incredible PocketNES and the builder.

Thanks to:

  • The crew at PocketHeaven for their support.
  • All the people involved in developing other NGP emulators.
  • Flavor for some ideas on NGP emulation and support.

External links

Advertising: