BoyCott Advance/SDL README and MANUAL
This HTML document is the README and MANUAL of the free Nintendo Gameboy Advance emulator BoyCott Advance/SDL. BoycottAdvance is a free/legal/portable emulator for the Gameboy Advance handheld by Nintendo. This emulator does not contain any copyrighted materials and was developed entirely from scratch by Julien "Gollum" Frelat and others. Boycott Advance/SDL (here after called BA/SDL) is the UN*X/BeOS/Win32-DirectX port using the OpenSource and portable SDL library and is written by Niels Wagenaar and Caz.
While BoyCott Advance/SDL is still free, it's now being released as beerware/cardware. Instead of paying a fee to register, you can send me a local beer or a postcard from your country, province, state, city or village. If you do, you'll be rewarded in getting pre-releases (WIP and Personal Beta's) and you will be put in the creditlist in future manuals and readme's. Future versions will always be available for download and never will BoyCott Advance be a timelimited/crippled application or what ever. This version is 100% usuable with no restriction of what so ever! If you decide to participate in the registration program, then you can send beer or the postcard to the following address (please input your personal information (name, e-mail address) with the sending. This information won't be given to 3rd parties!) :
Niels Wagenaar
Zwaaikolk 12
NL8191XK
Wapenveld
The
Netherlands
People who are under age or don't have the money
are entitled to send me a postcard from their
hometown/city/state/province/country to the above address. But I
prefer beer because I collect foreign beer brands. (and I drink them
to! Ghehehe :-)
New in this release:
BoyCott Advance/SDL 0.22b Release 3:
Julien "Gollum" Frelat released the BoyCott Advance 0.22b R3 emulator 1 week ago which has several enhancements to the first 0.22b release. It includes faster emulation, fixing some graphics bugs and has in-emu GZIP/ZIP support as well! Not also the BA emucore had some changes, the SDL port itself had some changes/enhancements/fixes as well :
The speed of the BA/SDL port has been improved as well which plays most of the commercial games on a solid 60FPS using a lower frameskip. Especially the new core (which is based upon an internal SDL function) is faster then the old/improved one but is still experimental (it could stop working with the next SDL release). Also the -throttle switch has been improved which is now less choppy especially on faster machines (1GHz +). Also multiple savestate saving has been implented (ZSNES like) which allows 4 savestates per games!
BoyCott Advance/SDL 0.22b Release 1:
Only after 2 weeks we (Caz and me) have managed to get out a new version of BA/SDL This version is based upon the 0.22b release done by Julien, which was released 4 weeks back (my apologies for the long delay of this release). Many things has been changed/fix/addes in this release. Here's again a (short) list for enhacements/fixes for this release :
*Phew*, a lot has been fixed/added/changed etc. Also many things in the new 0.22b core had some changes as well resulting in improved sound and comtability! Also the new 0.22b core is a bit faster. For instance, on my P2/350 with TNT2 Model64 I can run 60FPS with Mario Advance by using a frameskip of 3 :-) Also a notice for people who use the GBA BIOS using the -bios switch. With BA/SDL 0.22b the former file (BIOS.GBA) must be renamed to gbasys.bin!!!
BoyCott Advance/SDL 0.21b Release 2:
Many has been fixed in this release and several (promised) features are implented. With the help of Caz (A famous BeOS emulators porter) the development has speeded up very much! So an other thing has changed, Caz is now part of the /SDL development team :) Here's a (short) list of features and fixes for this release :
In short, this is what BA/SDL 0.21b R1 should be. Many people will see some changes and most importantly the annoying keyboard bug and joystick support have been fixed (again).
BoyCott Advance/SDL 0.21b Release 1:
Yes, the promised 0.19b Release 2 and 0.20b never made it from my HDD because of personal circumstances. Therefore, I made the version hop to BoyCott Advance/SDL 0.21b Release 1 which has the promised features from 0.19b implemented as well as new ones :
Insync with the BoyCott Advance 0.21b emulation core;
Redid keyboard and implemented joystick/joypad support (again);
New 16-bit graphics-core which is quite faster then the old one;
Scaling support (from 2 till 4 times the original GBA size);
Scanline support (needs work);
Restructure some code for more speed;
Framecounter implementation;
GBA bios support (means more compatibility);
Battery saving;
In short, much has been improved and this version has much more compatibility than the previous versions. Also a major speedup as well as a speed minimizer has been implented by creating a new frameskip implementation. This should help to bring speed down on fast computers. Also scaling (with or without) scanline is implented and a bug was fixed in the fullscreen activation. And by the implementation of the GBA bios has resolved in many playable games. Overall, this version is considered much more "Advanced"
BoyCott Advance/SDL 0.19b :
Redid keyboard and implented joystick/joypad support;
Overall fullscreen fixes;
Implented multiple screenshot taking with max of 10;
Synced version with current 0.19b emulation tree;
Restructure some code for more speed;
Synced *some* switches with buildin emulation-engine options;
Fixed pause/continue and reset options.
In short. The keyboard handling as well as the joystick/joypad
have been rewritten and have been implented. Joypad was tested a bit
(RH7.0 + Kernel 2.4.5) with my Gravis Gamepad (4 buttons) and seemed
to work. Bugs can posted on the forum which can be found at
http://neopocott.retrofaction.com. Fullscreen support has been fixed
(had a bug) and *should* work on all OS's. For Linux, make sure
you've put the GBA Resolution (240x160) with the colour depth in you
XF8Config[-4] file otherwise fullscreen will fall back into window
mode. Screenshots can be made with this version (and possibly future
versions :-) till a max of 10 per ROM. The filename is
[INSERT_NAME_OF_ROMFILE].[NUMBER].bmp. To make sure, the screenshots
are in 24-bit BMP format (open it with the Gimp or in BeOS with the
imageviewer). And now the movement keys are correct (typo error in
last document) and the pause/continue/reset functions now work
correctly.
What is BoyCott Advance/SDL?:
BA/SDL allows you to play free/public domain demo's and games as well as (some) commercial games which are available for the Nintendo Gameboy Advance handheld. It's not our intentions to promote the piracy of commercial ROM's so in short you MUST own the game itself for playing this on BA/SDL. The use of commercial roms of games which you don't own is illegal and it hurts the companies which make these games. If you like the game, buy it! Also, e-mailing use with the question : "“Where can I find roms”?" will definately not be answered!
While most public domain demo's and games work, commercial games could or work (partially). The writing of the emulation-engine is a on going process which results in new and better cores. If a game doesn't work, don't contact us about it! Compatibility will grow on future releases so please be patient!
BA/SDL is provided free of charge and can't be put on commercial
CD's without me consulting about it. At the moment, BA/SDL is closed source
and sources won't be available for some time until the BoyCott
Advance developers are agreed on this.
Standard
disclaimer:
We or the BoyCott Advance developers can't be held responsible for damage done by this software. The use of this software is at your own risks. It will definitely have some bugs in it so it could be that some games and/or demo's won't work at all! The use of illegal obtained ROM images (aka leech-from-the-internet-while-I-don't-own-the-game) is a act of piracy and is the use of illegal games with copyrights and can result in legal actions (not only to you, but also to us).
System Requirements:
The minimum requirements for BA/SDL are :
Intel Pentium III at 500Mhz or equivalent.
64MB RAM
1MB of
free HDD space as well as free space for the rom's
Redhat Linux
6.x/7.x (or any other distro compatible with RH)
BeOS
R5
FreeBSD 4.x
Solaris 2.8
Win32 with a DirectX
compatible hardware accelerator.
For all OS BA/SDL needs a
display in 16BPP mode!
Because of the rather sophisticated
design of the Nintendo Gameboy Advance the emulator can be especially
slow when running Commercial games. I use the following system for
development and should be considered as the real system
requirements :
AMD Athlon 650
128MB RAM
1MB of free HDD
space
Redhat Linux 6.x/7.x (or any other distro compatible with
RH)
BeOS
R5
FreeBSD 4.x
Solaris 2.8
Win32 with a DirectX
compatible hardware accelerator.
For all OS stands that the
display must be in 16BPP mode!
For the use of this emulator the Simple Direct Media library (or SDL for short) must be used which can be downloaded from the official SDL website. I would recommend to use and/or download the latest version available of SDL (I used version 1.2.2 for development). What's also needed is the libz compression library. Linux users will find this already installed on their system. Other users must retrieve it from Tucows (the best place) and BeOS users should look at BeBits (While with the GNU development package it's allready supplied!).
Using the emulator:
BA/SDL doesn't have a GUI or a frontend (except for BeOS users (curtesy of Caz!), for other OS' it will come available soon) so the emulator must be started from a X-Term (UN*X clones), Terminal (BeOS) or MS-DOS Command prompt session. The use of the emulator is very straight forward but is also has some switches to play with :
The switches are straight forward and really doesn't need any explanation. BeOS users can simple double-click on BALauncher to startup the good looking frontend. Follow the instructions on the screen for how to use it. WIN32 users must copy the .DLL's to your WINDOWS\SYSTEM, WINNT\SYSTEM or to the dir where BoyCott Advance/SDL is installed. Joystick/Joypad users beware, BA/SDL expects that the joystick is set on port 0. Also a four button joystick is the minimum to use! The romfile can be in ZIP or GZIP format where the ROM file must be a valid GBA ROM! If you want to make use of the GBA bios, simply put the BIOS dump in the directory where BA/SDL installed under the name gbabios.bin and NOT bios.gba as in the previous version!!.
For controlling the following keyboard-layout hthe following must be used to play games/demos/etc :
GBA Key A |
X or button 1 on joypad and/or joystick |
---|---|
GBA Key B |
C or button 2 on joypad and/or joystick |
GBA Key L |
Z or button 3 on joypad and/or joystick |
GBA Key R |
V or button 4 on joypad and/or joystick |
GBA Key Start |
ENTER |
GBA Key Select |
TAB |
GBA Key Reset |
F10 |
GBA Key Pause |
F1 |
GBA Key Continue |
F2 |
FPS Counter enable |
F3 |
FPS Counter disable |
F4 |
Frameskip increase | F5 |
Frameskip decrease | F6 |
Save Savestate | F7 |
Load Savestate | F8 |
GBA Key UP |
UP or button-up on joypad and/or joystick |
GBA Key DOWN |
DOWN or button-down on joypad and/or joystick |
GBA Key LEFT |
LEFT or button-left on joypad and/or joystick |
GBA Key RIGHT |
RIGHT or button-right on joypad and/or joystick |
SCREENSHOT |
F9 |
GBA Reset |
F10 |
Quit |
ESCAPE |
Select savebank | keys 1 through 4 |
This
layout has been defined and isn't changeble atm. In future releases
there will be an option to define your own keyboard layout. This is scheduled
for the 0.22b R2 release :)
TODO/BUGS:
Ofcourse, emulation is not perfect so the emulator still have some bugs which I hope to be resolved in the future by me or the BoyCott Advance developers group. Here's a list of bugs which I've seen so far :
Several graphics glitches (emulation-core problem, not BA/SDL related);
When opening an invalid ROM file, the emulator starts and then crashes;
The last 2 problems are on my TODO list and I hope to resolve them soon. Ofcourse, the emulator is not yet finished so I made a TODO list which will be used for future versions:
Enhance ZIP/GZIP support with BZIP2 support;
GUI or Frontend;
If you've got something to contribute to the bug list and/or enhancement list, feel free to go to the official NeoPocott/SDL website and post it in the forums. Do not e-mail us privately because we got an intense e-mail flood which can result in no awnser. The forums are things that I check at a daily basis and I always give a anwser to the postings :)
Links and contact information:
The
official NeoPocott/SDL
website where my files are being hosted.
The official
BoyCott Advance website, the place where it al began!
The
official Simple Directmedia Layer
website, the best multimedia library available.
GBA
Emu, the GBA related information website.
If you want to
contact me, than this is best done using the forum on the
NeoPocott/SDL website. Otherwise contact us by e-mail :
Niels
Wagenaar <niels.wagenaar@wolmail.nl>.
Caz < turok2@currantbun.com>
Credits :
WIN32/DirectX beta testing :
Julien "Gollum" Frelat, Guyfawkes (from www.gbaemu.com), Johan IJzerman
Linux beta testing :
Zakk, Joshua, John Mora
BeOS beta testing :
Robin T. Kimzy, Jeffro, Caz, Axelay (from www.beemulated.net)
Copyright and Thanks :
I would like to thank the following people because without them this release wouldn't be possible :
Julien
"Gollum" Frelat, main *Cott developer and guru.
#SDL on
irc.openprojects.net, for some pointers with SDL.
Zakk, for giving
me webspace for the NeoPocott/SDL website.
Karine for her nice official BoycottAdvance logo.
GuyFawkes(GBAEMU) for PongFighter game included in this release.
Caz for developing a kick ass GUI as well as helping with the development!
The entire BoyCott Advance developers group for making the emu better and better
and better and you get the point :)
And of course all the
people we forgot!!
BeOS
is copyrighted by Be Inc. (http://www.be.com)
Linux
is copyrighted by Linus Torvalds. (http://www.linux.org)
Redhat
Linux is copyrighted by Redhat Inc. (http://www.redhat.com)
FreeBSD
is copyrighted by FreeBSD dev group. (http://www.freebsd.org)
Windows
and DirectX are copyrighted by Microsoft.
(http://www.microsoft.com)
Nintendo,
Gameboy and Gameboy Advance are copyrighted by Nintendo Ltd.
(http://www.nintendo.com)
Sun
and Sun Solaris are copyrighted by Sun. (http://www.sun.com)
All brands, names and products are copyrighted by there owners.