You do not have permission to edit this page, for the following reason:
The action you have requested is limited to users in one of the groups: Users, Administrators.
Free text:
{{#seo: |title= (Handheld) - GameBrew |title_mode=append |image=smsadvanceflu2.png |image_alt=SMSAdvance }} SMSAdvance is a Game Gear/Master System/SG-1000 emulator developed for the Game Boy Advance. The source code is based on [[PocketNES GBA|PocketNES]]. The main program is a windows-injector, used to inject Master System ROMS into the provided .gba file. ==Features== * Most things you'd expect from an SMS emulator. * Except for: ** Correct sprite collision and overflow. ** Speech samples. ** YM2413 emulation. ** EEPROM save for the few GG games that use it. ** Screen mode 3 (not really used). ==Installation== Run SMSAdvance.exe to add roms to the emulator ([http://www.smspower.org/maxim/smschecker/ check your rom]). Do no overwrite the original .gba file. ==User guide== ===Menu=== 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 SMS/GG button. *Use R as Start - Map the GBA R button to the GG Start button. *Use Select as Reset - Map the GBA SELECT button to the SMS Reset button. Display: *Display - Here you can select if you want scaled or unscaled screenmode. **Unscaled mode - L & R buttons scroll the screen up and down. **Scaled modes: Press L+SELECT to adjust the background. *Scaling - Here you can select if you want flicker or barebones lineskip. *Gamma - Lets you change the gamma ("brightness"). *GG Border - Lets you change between black, bordercolor and none. *Lock toprows - For unscaled screenmode. **Some games use this automaticly, Double Dragon, OutRun etc. **But you can also choose to force it. *Perfect sprites - Uses a lot of cpu, only use when really necessary. *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! *Autoload state - Toggle Savestate autoloading. Automagicaly load the savestate associated with the selected game. *Fake spritecollision - Some games require this, Pit Fighter doesn't like it. *Region - Change the region of the SMS and video standard. *Use BIOS - If you have added a BIOS you can select if you want to use it. *Machine - Here you can select the hardware, Auto should work for most games. Link Transfer: *Lets you transfer small games to other GBAs, also see the advanced topic. Go Multiboot: *You can use the Go Multiboot feature to force the game to run in multiboot mode. *Useful if you want to boot someone else up and eject the cartridge. *Do not eject cartridges from a GameBoy Player as it will just reset. Save Manager: *Quick savestate - Creates a savestate/overwrites the current if one exists (R+SELECT). *Quick loadstate - Load a savestate associated with the current game (R+START). *Savestate - Select if you want to overwrite an old state or create a new. *Loadstate - Select which state you want to load. *Save SRAM - Save the SRAM for the current game. *Manage savememory - Lets you erase SRAM (for now). Others: * Sleep - Put the GBA into sleepmode (START+SELECT to wake up). * Restart - Select a new game. * Exit - Exit the emulator back to Pogo or the FA/F2A menu. '''Note:''' Make sure your flashing software allocates 64kByte/512kbit SRAM for SMSAdvance. ===Advanced=== EWRAM speed: * This changes the waitstate on EWRAM between 2 and 1. * This can probably damage your GBA and definitly uses more power, around 10% speedgain. Use at your own risk. Link transfer: * Send a SMS game to another GBA. * The other GBA must be in multiboot receive mode (no cartridge inserted, powered on and waiting with the "GAME BOY" logo displayed). * Only one game can be sent at a time, and only if it's small enough to send (approx. 128kB or less). * A game can only be sent to 1 (one) Gameboy at a time, disconnect all other gameboys during transfer. * Use an original Nintendo cable. [[PogoShell GBA|PogoShell]]: * Copy smsadvance.gba to the plugin folder (or compress it to mbz before you copy it), rename it to smsadvance.bin. * Then add either one of the following line to the pogo.cfg file: ** <code>sms 1 smsadvance.bin 2</code> ** <code>sms 1 smsadvance.mbz 2</code> ==Controls== Up/Down - Select game A/B - Start selected game L+R - Menu A - Choose B or L+R - Cancel ==Screenshots== https://dlhb.gamebrew.org/gbahomebrews/smsadvanceflu3.png https://dlhb.gamebrew.org/gbahomebrews/smsadvanceflu4.png https://dlhb.gamebrew.org/gbahomebrews/smsadvanceflu5.png ==Changelog== '''V2.5 2009/01/26''' *Added support for GG Bios from Pogoshell. *Added mapper support for new Korean games. *Changed interrupt method so more cards should be able to patch SMSA. '''v2.4 2008/04/16''' *Fixed config loading for gamma setting. '''V2.3 2008/03/28''' *Fixed games branching over banks with the new VRAM copy (Sonic 1). '''V2.2 2008/03/27''' *Added copying of first 32kB ROM to VRAM for faster execution. *Added selection of machine. *Added correct noise generation for SG-1000 emulation. *Added correct palette in TMS9918 modes on SMS machines. *Added different vdp capabilities depending on selected machine. *Added some very basic Mode5 support when Machine=MegaDrive. *Added different io maps depending on selected machine. *Added support for the SMS1 tilemap address masking (Ys(J)). *Added support for turning on/off internal RAM. *Added auto save of SRAM (if it's allready present) when entering menu. *Added auto turn off of Bios when no header found (on machine=Auto). *Added auto region (Pop Breaker GG (J)). *Fixed support for Dodgeball King (KR). *Fixed pushing and poping of AF register (Adventure of Batman GG). *Fixed sprite bugs in unscaled mode on Codemasters games. *Fixed initializing of all CPU regs on reset. *Fixed timing of HALT instruction. *Fixed palette setting for TMS9918 modes on GG. *Fixed noscrolling for TMS9918 modes. *Fixed up Mode1 graphics a bit. *Fixed correct HCounter and latching. *Better switching between TMS9918 and SMS video modes. *More info shown from the game header. *Optimised tile rendering for mode 0 & 2 (for real this time). *Optimised all Z80 memory reads, one instruction and cycle shorter. *Optimised DAA opcode. *Optimised DEC opcodes. *Optimised SBC A/HL opcode. *Optimised one of the SRA opcodes. *Optimised CPI, CPD, CPIR & CPDR opcodes. '''V2.1 2007/05/08''' *Optimised tile rendering for mode 0 & 2. *Fixed a bug where GG games set the "lock-toprow" bit (Sonic Drift demo). *Added support for the SG-1000 games Mahjong and Home Mahjong. *Added support for RAM on some SG-1000 games (The Castle, Othello...). *Fixed clearing of SMS VRAM when no bios used. '''V2.0 2006/07/17''' *Added "Go Multiboot" menu option. *Added menu option for disabling background/sprites. *Fixed a bug in the screen on/off behaviour. *Fixed a bug in SRAM loading when using a BIOS. *Fixed default config. *Fixed Pause & Reset buttons when linking 2players. *Removed the save management menu when multibooting. *Optimised tiledecoding. *Optimised some of the SBC instructions. *Optimised EI instruction. *Optimised IO port access. '''V1.9 2006/06/03''' *Added Savestates. *Added support for Ernie Els Golf. *Fixed Start/Select going through when using L/R + Start/Select. *Fixed gamma settings acting directly. *Fixed Codemaster mapper a bit, now works with BIOS. *Fixed header detection, all GG games that use SMS mode now uses the GG BIOS. *Updated the readme a bit. '''V1.5 2006/05/13''' *Fixed volume attenuation. *Fixed soundclicks in rom selection menu. *Fixed a bug with the new sprite collision. *Fixed some bugs with the sprites in Mode 0 & 2. *Fixed a rare background bug in Mode 0, 1 & 2. *Fixed cpu timing for both PAL & NTSC (confirmed on real HW). *Better update timing in PAL mode. *More colorful SG-1000 palette. *Optimised BIT7 instructions. *Optimised some of the shift instructions. *Optimised DD/FD instructions. '''V1.4 2006/01/17''' Added fake support for sprite collision (option). '''V1.3 2006/01/15''' *Added support for running the GG bios in SMS mode. *Added support for all SMS Bioses. *Added option in builder for "empty" slot at the end of ROMlist. (Loopy). *Added option to lock the 2 toprows in unscaled mode. *Added "Perfect Sprite" option for games like: **Global Gladiators. **GP Rider (GG). **Speedball 2. **Xenon 2. *Added emulation of locking the right side of the screen, games: **Gauntlet. **Golvellius. **Griffin (GG). **Line of Fire. **Megumi Rescue. **Rygar. **Satelite 7. *Fixed IO port 2, Laser Ghost. *Fixed Monaco GP, SG-1000. *Fixed the support for Jang Pung II (KR). *Fixed priority on zoomed sprites in mode 0 & 2 (Bank Panic, SG-1000). '''V1.2 2005/11/30''' *Added support for graphics mode 0 & 2 (F-16 Fighter, SG-1000 games). *Now saves the whole (32kB) SMS SRAM. '''V1.1 2005/11/03''' *Added sprite following (somewhat). *Fixed background color (lots of games). *Fixed Game Over screen on Rambo III. *Fixed sprite bugs on Codemasters game in scaled mode. *Optimised CPU abit, again. '''V1.0 2005/10/14''' *Fixed Codemasters mapper (broken in V0.9). *Cleaned up the mapper code a bit. '''V0.9 2005/09/26''' *Added support for the GG BIOS. *Added config for using Select as Reset button. *Fixed Shanghai 2. *Fixed Ryu Kyu. *Fixed Space Gun. *Fixed a bug in joypad reading (Street Fighter II). *Optimised mapper detection. *Optimised sound mixer. *Optimised CPU abit. '''V0.8 2005/09/03''' *Added support for Street Fighter II. *Added config for using R as Start. *Fixed Pause in Robocop 3. *Fixed some scrolling glitches (Gunstar Heroes intro, Rygar). '''V0.7 2005/08/18''' *Reduced sprite flicker in Arch Rivals. *Fixed Rise of the Robots (HBlank IRQ enabled at start). '''V0.6 2005/08/15''' *Fixed Gunstar Heroes (bug in V0.5). '''V0.5 2005/08/13''' *Added Codemasters & Korean mappers. *Added 32k SRAM support for Shining Force 2 & 3 (not saved yet). *Fixed a memory management bug again (Shinobi in some cases). *Fixed a rendering bug in 224 mode (Codemasters games). '''V0.4 2005/08/10''' *Fixed memory management again (Shinobi, The Ninja, SDI). *Fixed a rendering bug in GG mode (GG Aleste). *Fixed sprite offset -8 (Ghouls'n Ghosts). '''V0.3 2005/08/07''' *Fixed nametable switching a bit (Sylvan Tale, Road Rash). *Fixed 256x224 screen for GG games (Star Trek games). *Fixed memory management a bit (Ys, Terminator). '''V0.2 2005/08/02''' *Fixed sprites in Golvelius. *Fixed hanging in StarGate. '''V0.1 2005/07/30''' *Initial release. '''V0.0 2005/07/06''' *Started Coding. ==Credits== Huge thanks to Loopy for the incredible PocketNES and the builder. Thanks to: *Dwedit for maintaining the GBAMP version of SMSAdvance. *Reesy for help with the Z80 emu core. *Some MAME people + Maxim for the SN76496 info. *Charles MacDonald (http://cgfm2.emuviews.com/) for VDP info. *Omar Cornut (http://www.smspower.org/) for help with various SMS stuff. *Vinpire for the splashscreen. *The crew at PocketHeaven for their support. ==External links== * Author's website - http://hem.passagen.se/flubba/gba.html * PocketHeaven - http://boards.pocketheaven.com/viewforum.php?f=40 [[Category:GBA plugins for PogoShell]]
Advertising: