PCEAdvance GBA

From GameBrew
PCEAdvance
Pceadvance02.png
General
AuthorFluBBa (Fredrik Olsson)
TypeComputer
Version7.5
LicenseMixed
Last Updated2005/10/14
Links
EZ3, SuperCard Download
Website
Source


PCEAdvance is a PC-Engine/TurboGrafx-16 emulator for the GBA, it can also emulate some of the CD-ROM games, and Super CD-ROM if you've got an EZ3 card.

The main program is a windows-injector, used to inject PC Engine ROMS into the provided .gba file.

User guide

Menu options:

  • HScroll - (Manual) Lets you scroll the screen with the L & R buttons.
  • Unscaled modes - L & R buttons scroll the screen up and down.
  • Scaled modes - Press L+SELECT to adjust the background.
  • Sound - Off, On and On(Mixer).
  • TimerIRQ - Some games use the TimerIRQ to play sounds and music, by dissabling the timer you can make some games faster.
  • EWRAM speed - Don't use.
  • Speed modes - L+START switches between throttled/unthrottled/slomo mode.
  • Sleep - Activated from menu or 5/10/30 minutes of inactivity.

PogoShell:

  • To use as a Pogoshell plugin, first copy "pceadvance.gba" to the plugin folder then rename it to "pce.bin".
  • To make it work with US roms the name of the rom must not contain (J) or (j).
  • In the same manner Japanese roms should preferably contain (J) or (j), most Japanese roms seem to run on US hardware anyway though.

Multi player link play:

  • Go to the menu and change Controller: to read "Link2P"/"Link3P"/"Link4P", depending on how many Gameboys you will use.
  • Once this is done on all GBAs, leave the menu on all slaves first, then the master, the game will restart and you can begin playing.
  • If the link is lost (cable is pulled out, or a GBA is restarted), link must be re-initiated, this is done by a restart on the master and then selecting the appropriate link and leave the menu. *Note: Use an original Nintendo cable.

Advanced

SRAM:

  • The first 8kByte of the GBA sram is the pce sram, this can be exchanged between other pce emus, you may have to change MagicEngine's ini to old format.
  • Use a "CD-ROM System" rom to manage your pce sram's, press SELECT to access the SRAM manager, the US version is encrypted, don't forget to decrypt it.

CD Games in Pogoshell:

  • Make a PCEAdvance build with only a CD-ROM System rom, then copy the build to the plugins folder of Pogoshell.
  • Rename it to pce.bin, next edit the config, and add the following line to where the other plugins are in the config file.
    • iso 1 pce.bin 2
  • Now you should be able to just add PC-Engine iso files to Pogo and run them.

Recommended games

Below are some games that runs well with PCEAdvance (a game compatibility list can be found in the gamelist.txt).

These are just suggestions, please try what ever game you like (alot of US games doesn't work because they are encrypted, use PCEToy to decrypt these before you use them).

Also remember to click "US rom" in the builder if you want them to work).

Don't use overdumps as these are evil on PC Engine.

Make sure your flashing software allocates 8kByte/64kbit SRAM for PCEAdvance.

Using CD-ROM with PCEAdvance

To be able to use PC-Engine/TurboGrafx16 CD-ROM games you have to have a CD-ROM System rom in your build.

Use the normal builder to add any normal games that you want but also add a CD-ROM System rom to the compilation.

After that also add the datatracks from the CD and optionaly a .tcd file ("cue" file) to the compilation, this is easiest done from a command prompt or in a batch file.

Example: copy /b pcebuild.gba+cdgame.tcd+cdgame.iso pcecdbuild.gba

The .tcd files are not needed for all games, but the games that have several datatracks require it (not the ones that have a second copy of the first datatrack on the last datatrack).

You can only have 1 CD game in each build right now and you start it by choosing the CD-ROM System and then pushing start.

To use it from Pogoshell just make a build with only the CD-ROM System rom and use it as the plugin for iso files (and pce files).

Controls

Menu:

Up/Down - Select game

A/B - Start selected game

In game:

L+R - Open menu

A - Choose

B or L+R - Cancel

Start+Select - Wakes up from sleep mode

Screenshots

pceadvance3.pngpceadvance4.png

Media

PCEadvance on VBA - Knight Rider Special (Patrick So)

Known issues

It's mostly slow, sound is not great, "Chikudenya Toubee (J)" doesn't start. All games are not perfect.

Chagengelog

V7.5 2005/10/14

  • Optimized DMA control (sprite bit) a bit.
  • Fixed SUBQ_READ in CD emulation (FinalZone II intro doesn't crash).
  • Fixed AD_PLAY status in CD emulation (Valis II intro doesn't crash).
  • Fixed Game Over screen in Rayxanber II.
  • Separate version for EZ3.

V7.4 2005/08/18

  • Added Black'n White mode to games that support it.
  • Fixed Arcade card emulation (on EZ3 cards).

V7.3 2005/02/26

  • Optimized screen rendering some more.
  • Better SCD emulation when no extra memory found.
  • Fixed manual scroll when screen < 160 pixels high or < 240 pixels wide.
  • Fixed graphics when switching between scale modes.
  • Major code cleanup.

V7.2 2005/01/30

  • Optimized screen rendering.
  • Fixed a transfer instruction to work with SCD RAM.

V7.1 2005/01/19

  • Added Super CD-Rom emulation on EZ3 cards.
  • Optimized VDC write.
  • Optimized VRAM read/write.

V7.0 2004/11/30

  • Added software sound mixer.
  • Added check for Nintendo DS.
  • Fixed a bug where emulated game could write to GBA ROM.
  • Fixed clock on EZ3 cards.
  • Fixed ROL & ROR instructions a bit.
  • Fixed ADC & SBC instructions a bit.
  • Fixed VRAM to VRAM DMA a bit.
  • Fixed screen height in Unscaled(Auto) mode.
  • Optimized VRAM read/write.

V6.9 2004/08/22

  • Added support for iso files from Pogoshell.
  • Removed sprite setting from menu.

V6.8 2004/08/19

  • Added correct sound pitch on channel 3 & 4.
  • Fixed the gamma adjuster a bit (more to do with the source).
  • Better VBLankWait.

V6.7 2004/07/18

  • Added swapping of A & B buttons.
  • Fixed transfer on EZFA cards when bootmenu used.
  • Minor CPU and tilerender optimizations.
  • Speedhacks (Thanks to DKL):
    • "Tower of Druaga (J)".
    • "Volfied (J)".
    • "Wonder Momo (J)".
    • "World Circuit (J)".
    • "Thunderblade (J)".
    • "Timeball (U) / Blodia (J)".
    • "Kaiser's Quest (J)".

V6.6 GBAX 2004/06/19

  • Added double buffering for VDCCNT (Chase HQ).
  • Added double buffering for the palette (After Burner II).
  • Added a menu option for FPS meter.
  • Added a menu option for noflicker scaling.
  • Fixed a problem with the CLI instruction in the CPU.
  • Added more TCD files.
  • Speedhacked Cadash (thanks to DKL).

V6.5 2004/05/22

  • Fixed the multi datatrack support in the .tcd files.

V6.4 2004/05/15

  • Fixed "Davis Cup Tennis" and "Lode Runner".
  • Fixed the static in the sound.
  • Fixed a potential crash (affected encrypted "Gunboat (U)").
  • Rewrote parts of the CPU, should be a tiny bit faster.

V6.3 2004/04/23

  • Added basic CD-ROM emulation.
  • Fixed the CLI instruction, TV Sports Hockey seem better, OutRun faster?
  • Fixed the ADC when D & T bit set (Rayxanber2).
  • Fixed "indexed indirect X" addressing to be more accurate.
  • Changed D & I location to register instead of memory.

V6.2 2004/03/29

  • Added new settings menu.
  • Fixed graphics bug in Pacland.

V6.1 2004/03/19

  • Fixed crashes in Puzznic and Boxyboy (when run in J mode).

V6.0 2004/03/07

  • Fixed trash when exiting to Pogoshell.
  • Changed the menu layout and behaviour.
  • Compressed the font (save 1kByte =)

V5.9 2004/02/27

  • Added HScroll option in menu, use L & R.
  • Added double buffering of background.
  • Fixed some sprite updating (sprite option should be redundant).
  • Fixed SRAM initialization.
  • Fixed more problems with folders under pogo.
  • Fixed multibooting from PogoPCE and on XG cards.
  • Changed the default values for Gamma and Scaling.
  • Changed detection of max screen height:
    • "Chase HQ (U)" starts.
    • "Air Zonk (U)" scrolling is ok.
  • Speedhacked:
    • "Dungeon Explorer".
    • "Final Lap Twin".
    • "Galaga", hopefully doesn't break it.
    • "Jyuohki (Altered Beast)".
    • "Blazing Lazers/Gunhed" (intro).
    • And a lot more.

V5.5 2004/01/15

  • Added speedhacks for A LOT of games.
  • Optimized all the fransfer operands.
  • Fixed the "one folder under the root" problem in Pogoshell.
  • Fixed the TRB & TSB operands. "Parasol Stars" works.

V5.4 2004/01/11

  • Fixed LSR from zeropage,x (Gunhed(J)/Blazing Lazers(U)).
  • Fixed multibooting from multibooted GBA.

V5.3 2004/01/07

  • Fixed more with the Timer IRQ.
  • Added support for multibooting 128kbyte roms.

V5.2 2004/01/06

  • Made one of the transfers to VRAM HLE (faster).
  • Added new item to menu (TimerIRQ: enable/dissable).

V5.1 2003/11/14

  • Fixed the clock routines.

V5.0 2003/11/07

  • Added clock in menu if your card/emu supports it.
  • Resets more hardware regs before exiting.
  • Workaround for the XG2 bootmenu.

V4.9 2003/10/26

  • Fixed lockup when no game was found.
  • Optimized writes to Y-Scroll reg.
  • Added a little fade when entering the menu.
  • Added Exit to normal PCEAdvance.
  • Now saves config also when exiting.
  • B-button is not recognised when leaving menu.

V4.8 2003/09/23

  • Fixed some of the flickering/missing sprites, new menu option.
  • Fixed reseting of joypad input.

V4.7 2003/08/28

  • Added checking for GameBoy Player, see readme.

V4.6 2003/07/20

  • Fixed the SRAM bug.

V4.5 2003/07/17

  • Simplified the SRAM handling. Use a "CD-ROM System" rom to manage your save.
  • Added multiplayer support.

V4.4 2003/07/11

  • Added speedhacks for SF2CE.
  • Fixed "Air Zonk/PC Denjin Cyper punkics" & Toy Shop Boys.

V4.3 2003/07/07

  • Fixed a crash in Aero Blaster because of the new sound routines.
  • Fixed mapping for 384kByte games, was broken in 4.1.

V4.1 2003/0706

  • Fixed "Cyber Core (J/U)" & "Download (J)", thanks to Charles MacDonald.
  • Added sound emulation.
  • Added support for "Street Fighter II CE" still no buttons though.

V4.0 2003/06/22

  • Added check for IRQ after CLI/RTI, fixed Outrun/Bomberman intro.
  • Fixed the timing between screen/cpu.
  • Fixed a lot of games with missing/freezing sprites.
  • Fixed Timer IRQ a bit, some games are faster (1941 Kai (J), R-Type (J)).
  • Fixed and optimized the accumulator shift (After Burner II, Final Blaster, Magical Chase, Valkyrie no Densetsu).
  • Fixed TAI & TIA instructions, fixed alot of games.
  • Changed assignment of X & Y register.
  • Changed Raster Compare and vblank diff again (Bravoman).
  • Changed the menus to be like PocketNES again.
  • Optimized ROM access in CPU core.

V3.0 2003/06/07

  • Added VRAM DMA IRQ (Magical Chase, Gaia no Monsho (J)).
  • Added dynamic tile memory allocation.
  • Added internal database of speedhacks.
  • Optimized the palette writes.
  • Optimized the sprite routine.
  • Fixed some sprites problems in unscaled mode (1943 Kai (J)).

V2.7 2003/06/02

  • Fixed the rest of the sprite problems, again.

V2.6 2003/06/01

  • Fixed the rest of the sprite problems.

V2.5 2003/05/27

  • Added dynamic sprite memory allocation.

V2.1 2003/05/26

  • Fixed the sprite dirtycache (JJ & Jeff (U)).

V2.0 2003/05/23

  • Added VRAM to VRAM DMA.
  • Added BRAM lock/unlock.
  • Decimal mode disable in IRQ (Final Blaster works, Rabio Lepus & Outrun starts)
  • Rewrote the VRAM write so it's a bit faster.
  • Dynamic limits to how much you can scroll in unscaled mode (Atomic Robokid).
  • Some fixes to the border, it was gone after showing the menu.
  • Changed Raster Compare and vblank, "Bomberman 94" & "Benkei Gaiden" works and "Atomic Robokid" looks correct.
  • Tweaked the sprite following a bit.
  • Added gamma controll.

V1.9 2003/05/11

  • Sprites should work in unscaled mode.
  • Display horizontaly centered for all games.
  • Borders for games using less then 240 wide screen (Final Blaster, 15-in-1).
  • Fixed one line of garbage (R-Type).
  • Fixed background for "Batman (J)" & "Cratermaze (U)".
  • Changed Raster Compare back to what it was before, "Bomberman 94" works again.
  • Compatibility list included.

V1.8 2003/05/06

  • Fixed some background glitches in unscaled mode.
  • Fixed some CPU problems:
  • "Darius Alpha/Plus" works again,
  • "Turrican" starts.
  • "Gun Boat" allmost starts.

V1.7 2003/05/05

  • Fixed vertical scroll value by 1.
  • Fixed a smal background glitch on the first scanline (unscaled).
  • Fixed more of the background glitches.

V1.6 2003/05/01

  • Fixed a lot of the background glitches.
  • Fix US roms from Pogoshell.

V1.5 2003/04/24

  • Using as a Pogoshell plugin should work.

V1.4 2003/04/14

  • Correct VDC reads (fixes "Bullfight Ring no Haja" & intro of "Darkwing Duck").

V1.3 003/04/09

  • Faster VDC writes.
  • Fixed cycles counting (faster emulation).
  • Init BRAM (Knight Rider (J), Neutopia (U), Darius (J)).
  • Fixed some of the problems with sprites in unscaled mode.
  • Fixed decimal mode of SBC (Chase HQ, Cyber Cross).
  • Fixed Horizontal scroll (Override).
  • Fixed screen jumping (Keith Courage...).

'V1.2 2003/04/01

  • Fixed menu characters and palette.
  • Fixed disapering sprites (JJ & Jeff, Image Fight, Cyber Cross and more).

Credits

Huge thanks to Loopy for the incredible PocketNES.

Big thanks to Hoe for the ROM-Builder.

Big thanks to www.XGFlash2.com for support.

Thanks to:

  • Zeograd for a lot of help with the debugging.
  • Charles MacDonald & David Shadoff for a lot of the info.

Some things to consider regarding emulation:

  • PCE has 64kByte of VRAM which can be background and/or sprites, GBA has 64kByte background and 32kByte sprite VRAM.
  • The PCE CPU runs at either 1.78MHz (like the NES) or at 7.2MHz (all games seem to use the fast mode), the GBA CPU runs at 16MHz).

External links

Advertising: