XBoyAdvance

From GameBrew
XBoyAdvance
Xboyadvance2.png
General
AuthorXPort, Madmab
TypeHandheld
Version26
LicenseMixed
Last Updated2023/10/11
Links
Download
Website

XBoyAdvance is an emulator for GBA/GBC/GB/SGB/SGB2. Original ported from VisualBoy Advance by XPort and udated by Madmab.

Features

  • Emulates the Gameboy Advance, Gameboy Color, Gameboy Mono, SuperGameboy 1 and 2.
  • Ported from VisualBoy Advance v1.5.1.
  • ZIP support.
  • Cheat system - Search/Create your own cheat codes.
  • Favorites list.
  • Resizable game screen.
  • Save Game management - delete save game files.
  • Skin-able.
  • Samba/NetBIOS sharing support (read NES roms from your PC).
  • Relax Network Sharing.
  • Play MP3 or M3U playlists in the background (can also read MP3/M3U from across Samba shares).
  • Take in-game screenshots and display them on the game selection list.
  • Graphics filters.
  • Record/Playback feature. Record up to 10 minutes of gameplay.
  • Every single in-game command is fully customizable on any of the four joypad controllers.
  • Map any emulator or UI command to a single button or a combination of two buttons.
  • Autofire capabilities for any emulator button on any controller.
  • One-button combos.
  • Traverse any directory on any drive.
  • Save States with 10 save state slots.
  • All UI commands (save state, load state, screenshot, etc) can be invoked from the Options/Pause menu as well as in-game via your customized joypad mappings.
  • Can be invoked from a command-line to directly run a game from a front-end or dashboard and bypass the user-selection screens (Only if the frontend or dashboard supports this feature).
  • Can return to the launching program if the launching program supports this feature.

User guide

Configuration defaults

This feature allows you to set default configurations for select emulators.

In the General settings menu, there will be a new option - Automatically Use Default Game Configuration (Yes/No). If you set it to Yes, it will bring up the game configuration screen and let you define the default (if no default.stg and default.key file exists).

In the Configuration menu, there will be a new option Set default game configuration. You can go in anytime through the Configuration menu to change these defaults to something else if they wish.

Once set to Automatically use Default Game Configuration, you will not see the game configuration screen again unless:

  • You press X when selecting a game.
  • Change Use Default Game Configuration back to No.

Keep in mind when it is set to Yes the game will use your Default game settings and not the normal x-port behavior. If set to No, the emulator will behave like it usually does. Each emu is typically different. But all, at the very least carry the controller settings over.

This feature will only be added to emulators in which it is feasible to use.

Controls

Text browser:

A - Start Search

B - Exit

X - Continue Last Search

Y - Simulate width font

White/Black - Previous/Next file

Start - Help screen

Back - Reset view as if document was loaded for first time

D-Pad - Up/down, Up Page, Down Page

Left-Stick Thumb - Set font size

Left-Stick Up - Top/End of file

Right-Stick Thumb - Set text screen size

Right-Stick Left/Right - Decrease/Increase fixed-width font size

L/R - Move up/down text file

Screenshot browser:

A - Lock/Unlock Aspect Ratio

B - Exit

Y - Delete file (Utilities > browse screenshots only)

White/Black - Previous/Next file

Start - Help screen

Back - Toggle between "Full Size" and "Size to fit screen"

D-Pad - Up/Down/Left/Right -> Move image 1/4th the total size of the image

Left-Stick Thumb - Music Control Menu

Left-Stick Up/Down - Move screen up/down

Right-Stick Left/Right - Decrease/Increase screen size (size changes proportional to distance the stick is pressed)

Screenshots

xboyadvance3.png

xboyadvance4.png

xboyadvance5.png

Media

Xboyadvance V24 (Kynho Black)

Changelog

v26

  • Version bump.
  • Currently at madmab edition interface CFv1b43. See "Interface Changelog.txt" probably the biggest change is this.

v25b2

  • Updated to madmab edition interface CFv1b43. See "Interface Changelog.txt" probably the biggest change is this..
  • Fixed issue where the xbox would freeze ( get stuck in a loop ) when going to the favorites or game select menu on first load if your xbox controller analog sticks were out of calibration! Yes it was a nasty little logic error in my already over convoluted showscreenshot code... :lol: but that bug has finally been squashed! It was a tough one to track down but I finally got it. :D

v25b1

  • Updated to madmab edition interface CFv1b36. See "Interface Changelog.txt".
  • Fixed an issue where setting the gamescreen size/position to anything other than pixel perfect (for example custom) from within a game was resetting the flicker fixer to 0, software filter to none and hardware filter to point filtering (The following two fixes are listed in the "Interface Changelog.txt but are put here for your convenience).
  • Fixed issue where if game video mode was different from the menu video mode and you were using custom screen size it would reset the hardware filter to point when setting custom screen size or when selecting a game with custom screen size.
  • Fixed issue where if game video mode was different from the menu video mode and custom screen size the custom size was not properly sticking.

v25b

  • Thanks to Rojola for doing some benchmarking tests for me.
  • Updated to madmab edition interface CFv1b35. See "Interface Changelog.txt".
  • Changes to the screenshot code to account for new directory layout when using "Extras menu" screenshot options.
  • Just a refresher (this was already present in last version) Frameskip is set to 0 if a gameboy or gameboy color game is selected (file extension .gb, .gbc, .cbg, .sgb). This will only apply to games without configurations. On games with configurations you have to manually set the framerate to 0.
  • Frameskip is set to 1 for GBA games thanks to Tabajara's INTEL optimizations. See below. Not all games quite at 100%, but close. This will only apply to games without configurations. On games with configurations you have to manually set the framerate to 0.
  • Frameskip in default game configuration is overriden by above settings. If you have a problem game (slow) just set the frameskip for it individually.
  • INTEL optimizations by Tabajara. Here are a few examples of improvements you will see.

v24b9

  • Updated to madmab edition interface CFv1b28. See "Interface Changelog.txt".
  • Improved an issue where sound in GB games would glitch if running the emulator in an SD mode (640i, etc). HD modes, apparently, were fine.
  • Frameskip is set to 0 if a gameboy or gameboy color game is selected (file extension .gb, .gbc, .cbg, .sgb). This will only apply to games without configurations. On games with configurations you have to manually set the framerate to 0.
  • Refresh rate is set to 60 (even on PAL systems). Otherwise the sound will not be right.

v24b8

  • Updated to madmab edition interface CFv1b21. See "Interface Changelog.txt".
  • Pixel perfect settings added for when the "Enable Gameboy Border" option is enabled. (Thanks 5l1p).

v24b7

  • Updated to madmab edition interface CFv1b19. See "Interface Changelog.txt".
  • Added 6 new software filters from GensX and 2 from NeoGeo CD emulator (see interface changelog for more details).
  • Based on user feedback removed the following software filters 2xSai Scanline, 4xSai Scanline, Super 2xSai Scanline, Super 4xSai Scanline, Eagle 2x Scanline, Eagle 4x Scanline, Super Eagle2x Scanline, Super Eagle4x Scanline.
  • Fixed issue where FPS stop displaying after playing your first game.

v24b6

  • Updated to madmab edition interface CFv1b17.

v24b5

  • Updated to madmab edition interface CFv1b14.

v24b4

  • Updated to madmab edition interface CFv1b13.

v24b3

  • Updated to madmab edition interface CFv1b08. This is currently beta. More info and other goodies on actual release.
  • Optimizations from VBA Next by libretro team, Vba-m team, bgK. cmkn1983 for porting the optimizations to the Xbox
  • These optimizations include: Graphic rendering engine change to tile-based rendering. Emulator runs about 8 to 12 (depending on game) FPS more faster. Some gba games now run at fullspeed on xbox with 0 frameskip, even with filter super scale 2x scanline enabled.
  • Here are some results testing well known games with frameskip option on xboyadvanced set to 1:
    • Donkey Kong Country 1 - Fullspeed (60FPS) (0 Frameskip) no filter.
    • Crash Bandicoot 2 n-tranced - Fullspeed (60FPS) (0 Frameskip) super scale 2x scanline enabled.
    • Mario Kart - Fullspeed (60FPS) (0 Frameskip) no filter.
    • Metroid Fusion - Fullspeed (60FPS) (some dips to 58,57 FPS here an there) no filter.
    • Castlevaia Aria of Sorrow - Fullspeed (60FPS) (0 Frameskip) no filter.
    • Castlevania Circle of the Moon - Fullspeed (60FPS) (0 frameskip) super scale 2x scanline enabled.
    • Final Fantasy 1 & 2 - Fullspeed (60FPS) (FPS dips on batlle screen) super scale 2x scanline enabled.
    • Golden Sun 1 - Fullspeed (60FPS) (0 Frameskip, FPS dips on Battle) super scale 2x scanline enabled.
    • Sonic Adventure - Fullspeed (60FPS) (0 frameskip) no filter.
    • Street Fighter Alpha 3 Fullspeed (60FPS) (0 frameskip) super scale 2x scanline enabled.
    • Unfortunately, some games like Donkey Kong 2,3, Tony Hawk games and others are still slow, but i think this is a good choice for those who dont have a trusty xbox.
    • If a faster processor is detected (aka Trusty) the Frameskip will default to 0. This will only apply to games without configurations. On games without configurations you have to manually set the framerate to 0.

v24

  • Whoops didn't quite have "auto configuration" working right. Fixed now.
  • Keep user within ROM directory tree works now. Honest.

v23

Interface Related Changes:

  • New feature "Seconds before playing movie" determines how long the emu will wait before playing a movie. The default is half a second. This will help speed up rom browsing. Especially useful for people streaming stuff (like movies) across the network.
  • If streaming movies from across the network and the user press on the dpad or a, b, x or y the emulator will abort the transfer. This should help speed up rom browsing and allow the user an "out" especially for the larger movies.
  • Fixed an issue with the software filters displaying garbage.
  • Activated the "Keep user Within ROM Directory Tree?" which I somehow missed.
  • Fixed up the box/cart art position on a few skins.
  • Fixed a problem where setting the box/cart orientation was screwed up.
  • Fixed the bug that screwed up Gilou's skin to begin with (too weird to explain).

v22

Interface Related Changes:

  • Given the full "Madmab Edition" treatment.
  • New dual-preview skin to support Ressurection Xtra's. Say thank you to Gilou9999 for the skin.
  • Three yummy skins to choose from. GB, GBA, or GBC.
  • "Auto Game Configurations (aka Configuration defaults)" added (see below description). Use with caution.
  • Hopefully addressed weird issues with "Force Reload D:\\*.ini Settings".
  • New option to "Keep user Within ROM Directory Tree". You can find it in "General Settings, Page Two". Useful for keeping n00bs from getting lost while selecting games.
  • Hopefully cleaned up all instances where the current "game select" directory would get trashed.
  • Transparency control for keypad and keyboard should now function properly.
  • Tightened up the Synopsis parsing code (sorry RessX).
  • Fixed issue where cycling thru screenshots when non-available would create an infinite loop.

Fixes to the keyboard/keypad including. These affect emu's that use a keyboard/keypad (Winuaex, AdamX, Atarixlbox):

  • Keyboard/keypad no longer corrupts portions of the screen when being moved.
  • Keyboard/keypad can be moved diagonally in ALL directions now.
  • Keyboard/keypad transparency now works properly when "Pause game while using Keyboard/Pad" is set to ON.
  • Fixed issue with screen blurring when Keyboard/keypad is activated. I'm surprised I did not notice this earlier.

Movies. The ability to display movie previews:

  • You can set the movie/previews directory in the "Change Default Directories" section.
  • The movie name has to be exactly the same as the ROM name. Only one movie per game.
  • Display order can be set to. None, Screenshots Only, Movies Only, Screenshots 1st- Then Movies, Movies 1st- Then Screenshots.
  • Movies display over screenshots so if you want you can see screenshots when no movie exists.
  • Can now stream videos and screenshots from Samba or Relax.
  • Sound for movies can be turned on/off
  • Box/Cart art can be displayed in seperate window.
  • Transparencies for Box/Cart art (and screenshots) is now supported Check out some of the 3d Box/Cart art floating around.
  • Skin author can now designate two locations where Boxart or Cartart will display based on width vs height.
  • Old Screenshots are now sorted and displayed in proper order.
  • Old Screenshots can be named anything (as long as it has .png extension).
  • In Game Options Screen can be sized and positioned now.

Others:

  • Auto Game Configurations (aka Configuration defaults) for select emulators.
  • Created a new overlay system. The file "overlay.ini" contains configuration information for each overlay, including the color of the transparent button.
  • Fixed issue with the "Music Control Menu" where the "Go to next/previous song" options were not working.
  • Fixed issue where "View playlist" did not show the first two songs.
  • Fixed issue where "pause" would still display even after changing songs while viewing the playlist in "clear screen" mode.
  • Add song to playlist now functions correctly.
  • Added a seperate "Volume Control Menu". It can be accessed by pressing "Y" in the "In Game Options" menu, or from the "Game Configuration" menu. It lets the user set the volume for in game sound, mp3_cdda, cdda, movie and mp3 music player from 0-100.
  • Fixed issue where games that had more than 48 CRCs in the cheat code database would cause a crash when game is selected while searching for cheat codes.
  • Rumble codes and cheat codes are now stored in seperate files. ("rumblelist.inf" and "codelist.inf" respectively). To make it easier to search for "rumble codes" only. Note to cheat code makers: be sure to make your cheat codes and rumble codes seperately now. For those importing rumbles, the rumble does not have to be "activated" in order to work, it just works. Remove it from the list if you no longer wish to use it, or set it to "Rumble Enabled On - Nothing".
  • Skin can now have a "Startup Movie" on loading menu. Please use with discretion (no long movies)
  • "Startup Movie" can be displayed full screen or in a window. If fullscreen is used the loading menu will not be displayed.
  • Transparency for "Startup Movie" can be set as well.
  • Moved the network initialization code to run before the loading menu. This moves the delay caused by network init to before the display of the loading menu, not after.
  • Files when selecting within a zip are sorted.
  • Added a seperate timer for alternating Box/Cart art.
  • Ability to view synopsis from within game. (press right analog stick down).
  • New option to "Force Game Screen Size/Position". There are two configurable screensizes. (To deal with multi-core systems like MekaX and XboyAdvance). This will be useful when switching from HDTV to SDTV or vice versa. It will save the user the trouble of resizing the screens for something that is likely temporary.
  • Numerous changes to menu system see above (current menu configuration layout)
  • Sprites can now be named for easier manipulation. Directory names must be of the format "0_spritename", "1_spritename", etc. Do not use underscores for the spritename. It is a delimiter.
  • Added "Select Skin Configuration Used" and "Save Skin Configuration as" to the "Configure SKin" menu in place of the above moved options. This allows multiple skin configurations in one skin allowing the user more "pre-defined" options on how a skin looks. For example the placement of the games list and the preview screens. Gilou's Dynamic skins really take advantage of this, check 'em out.
  • Sprites now show when sizing the preview screens.
  • Changed "Seconds before auto-advancing Screenshot" to "Seconds Before Auto-Advancing Artwork".
  • Changed "offset X" and "offset Y" to "Offset X (left/right)" and "Offset Y (up/down)" in the Sprite Settings menu.
  • New Option to pause or not pause emulation when keyboard or keypad is up.

Finished the "Media browser":

  • Be sure to use the RessurectionXtras or Xtras for maximum enjoyment ("http://www.emuxtras.net").
  • Ability to display documentation (text or graphic) and commercials (xmv format only).
  • Assigned buttons (white/black) to go to next/previous files when viewing documentation. See below graphic/text file viewer controls.
  • Once the user opens a document - the emulator remembers this document as long as the game session is running.
  • View settings for each document viewed are now stored in a "bookmark" file so next time you view a file your settings are restored. Press Back to "reset" as if reading document for first time.
  • "View Text File" changed to "Browse Manuals/Videos"
  • Support added for different kinds of documentation in the media browser. Including "Manuals", "Game FAQs", "Game Maps", "Commercials", and "Other". The user can also specify where these directories are located. Defaults are "Manuals", "GameFAQs", "VGMAPS", "Commercials", and "Other". "Other" is in the media root directory (typically "x:\media\Other") for non emu specific stuff.
  • User can specify whether manual is displayed "Full Size" or be "Sized to fit screen" when loaded. Keep in mind any saved bookmarks override this. Press Back to toggle between "Full Size" and "Size to fit screen".
  • Commercials can be displayed either full screen, at the size of the video with black background, or same size of the video with synopsis background.
  • NOTE: Some emulators are tight on memory (eg: NeoGenesis) and not all the Xtra's will load. If you have trouble with an image loading you might have to resize it.
  • In screenshot viewer. If the image is smaller than your text file screensize settings it will work as follows.
    • If the image is taller than it is wide it will continue expanding the image (based on aspect ratio) until the width fits within the width of your text file screensize width. (Most normal manuals)
    • If the image is wider than it is tall it will continue expanding the image (based on aspect ratio) until the height fits within the height of your text file screensize height. (For example NES manuals).
  • This seems to effectively stretch the image in the best manner possible for scanned manual reading.
  • Browsing manuals/videos should auto select any file matching your ROM name exactly. Select "View Media Directory" for manual browsing.
  • Unmapped controls that allow you to move the screen around since word wrap should work correctly now.
  • Change Fixed Width font controls are now mapped to the right analog stick (left/right) like the help screen says it should be. Doh.
  • Set font size keeps seperate settings for Fixed Width fonts and proportional fonts since they produce different results.
  • Graphic documentation can now be stored in a ZIP file and still work with the media browser functions (next/previous and bookmarks).
  • Music no longer starts playing after viewing text file in game.
  • Number of lines displayed in the text file viewer now properly match user set text screen size.
  • Number of lines displayed updates properly if user modifies text screen size within text file viewer.
  • Text file viewer functions turn off FixedWidth before displaying any menu.
  • Added a fixed width font for the text file viewer. If you wanna use it you have to make sure that a file named "FixedFont.ttf" is located in the emulator directory. Press "Y" in the text file viewer to switch to the fixed font.

Carryovers from Atarixlbox:

  • Ability to pick a file from within a zip file. That way on computer based emu's multi-disk games can be zipped now. Keep in mind that if you play any game that "saves" to a floppy, that disk has to be a seperate UNZIPPED file.
  • Fixed a few interface "quirks" regarding playing game sounds while emu is paused.
  • select save state screen tells you whether your "loading" or "saving", it also now displays whether a save file has a record session (R) associated with it.
  • When a new save state is created it deletes any recordings. If you press the "back" button while in the save state select screen it will allow you to delete that save state (as well as it's recording).
  • Utilities menu display modifed to state "stop or start recording/playback" depending on whether they are turned on or off. It also displays total minutes remaining or played so far.
  • Record/Playback turn off when exiting a game. Boy that sure caused some confusion.
  • Switched positioning control of sprites in the skin menu to the left analog stick, that way you don't have to worry about unintentionally lowering the volume.
  • Savestate load screen is a little more informational when sent to it from the save/record option.
  • When you save a picture it removes the screenshot save path making it easier to see long names.
  • Changed order of some of the entries in the "Music Control Menu".
  • Playlist repeat mode, and View Name setting is saved in INI file. Although song name only shows in the music control menu.
  • (cheat codes) When "adding a code" from the "edit code" screen the current code is copied as a template.
  • You can activate/deactivate a code from the "cheat code list" menu by pressing start.
  • Deleting a cheat code now asks you if you are sure (I got tired of accidently deleting my codes).
  • Fixed up the problem created from using multiple files in a Zip file.
  • Fixed problem when a filename inside a zip contains too many characters. While I was at it I fixed the space as the last character when trimming to 42 characters behavior. Zip files where the path was saved now unzip correctly.
  • Rewind and Fastforward are de-activated during record/playback and netplay mode. It even tells you so when you try..
  • (internal) Modified YesNoMenu so it doesn't clear m_menuText.
  • Added ability to add in cheat codes from a Gameshark compatible database (see description below). This includes the ability to export the cheat codes in a game to "share" with your friends. Cheat/rumble codes are included for most games. When "adding" codes from the gameshark DB it will move you to the entries with a matching CRC. If not you'll have to manually find the game.

Credits

Special thanks:

  • X-port for porting a great collection of emu's over to the xbox, releasing the source code, and answering my questions.
  • Atariage (Albert in particular) - For providing a place for me to ramble on. For encouragement in general.
  • Gilou9999 for a new PM3 skin, synopsis, suggestions, etc.
  • Comments of support from various interested parties.

External links

Advertising: