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 :

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 :


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 :

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:

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.