Welcome to VisualBoyAdvance version 0.8.

Changes:

Core changes:
- correctly initializing IO registers when running without BIOS(Gollum/Costis)
- support for GSA ROM patching codes and button codes
- support for CodeBreakerAdvance codes
- support for separate frameskip for GBA and GB roms
- reworked the cheat system internal (should improve speed a bit)
- added a small interrupt latency to avoid interrupt loop
- fixed 16-bit DMA transfers with decrement options
- fixed semi-transparent OBJ bug
- fixed Gameshark Advance snapshot import
- fixed crash when passing filename without a path on command line
- fixed ARM LDR/STR with ASR shifted register instructions
- fixed some disassembly bugs
- fixed sound mixing (reversed sound)
- fixed misaligned 16-bit reads
Gameboy changes:
- fixed sound mixing (reversed sound)
- fixed vertical scrolling bug (Kefren bars demo)
- fixed speed up bug changing sound quality during emulation
Windows changes:
- disable screen saver when emulating
- added option to pause the emulator when window not active
- added keyboard shortcut for recent files
- added support for more keyboard keys when configuring controls
- added sound recording to a wave file
- fixed Add code dialogs to allow multiple codes entered at once
- fixed DDraw clipping bug (should work when window partially offscreen)
SDL changes:
- added command line flag for frameskip
- added command line support for bios file
- fixed configuration file comments on control configuration

Support
-------

Please support VisualBoyAdvance by making a donation. You can donate money
using PayPal (www.paypal.com). Send donations to vb@emuhq.com. If you want
to make other kind of donations (hardware, etc...), please contact me.

Default keys (can be edited in the Options menu)
------------------------------------------------

Arrow keys - direction
Z          - Button A
X          - Button B
A          - Button L
S          - Button R
Enter      - Start
Backspace  - Select
Speedup    - Space
Capture    - F12

You can change the configuration above to use a joystick. Go to
Options->Joypad->Configure... menu.

System requirements
-------------------

Fast computer (Pentium III 500 Mhz recommended) and Microsoft DirectX 7 or
greater.

Translations
------------

Translations can be done as long as you have Microsoft Visual VC++ on
your computer.

If you just want to use a translation, place the translation .DLL on
the same directory as the emulator. From the Options->Language menu,
select Other... and type the three letter (or two) language name from
.DLL. For example, VBA_PTB.DLL: type PTB on the dialog.

These translation files are only for VisualBoyAdvance GUI and messages.
Games will not be translated and cannot be translated by the emulator.

FAQ
---

1. I get a message about DDRAW.DLL, DINPUT.DLL or DirectDrawCreateEx.
What's this?

This means you don't have Microsoft DirectX installed. Please go to
http://www.microsoft.com/directx and install it or you cannot use
VisualBoyAdvance.

2. Sometimes I get a black screen. What's wrong?

Make sure the window is fully visible or you may get a black screen. This
will be fixed soon.

3. My sound is terrible. What can I do?

If you own a SBLive card, make sure you have updated drivers as they are
really buggy. Also, if the emulator is not running at 99% or 100%, sound
may not be perfect.

4. How do I use the cheat search?

The cheat search can only be used to search and modify values in the RAM
areas, i.e., you can change your number of lives, money and life bar and you
can freeze the value to get "infinite" result.

To use, enter the cheat search dialog and start a new search (or reset any
previous search). If you have 5 lives, select equal on the comparison type,
make sure Specific value is selected, click on entered value, type 5 on the
value to search and then click search. This will find all locations where the
number 5 is present.

Return to the game and lose a life. Once you lost a life, go back to the
search dialog, click on less than compare type, select old value and click
on search. This will search the previous found locations for values less then
the previous value. You should now be able to identify the location that
contains the number of lives. You can write it down and change its value by
selecting it and clicking on add cheat button. If there are still too many
options, continue loosing a life and refining the search.

Cheats are saved with the emulator save states and can also be disabled.

5. The bullets, missiles or sprite disappears. Can you fix it?

This is caused by the frame skip setting. Some games will blink the sprites
to give a better effect on the real hardware. If your setting for frame skip
matches the rate of the bliking, you may never see the actual sprite. Set your
frame skip to 0 or 2 to avoid the problem.

6. What should I know about CodeBreaker and Gameshark support?

Codes are encrypted, so it is important to enter the enable (must be on codes)
so that the emulator can correctly decrypt them. It also helps to make sure
the codes are for the correct game.

Intros and trainers cause the CodeBreaker support to warn about codes being
possibily for the wrong game. Removing the intro/trainer should solve the
problem.

Some codes are not supported (like Gameshark slow motion codes).

7. Where can I enter codes?

Enter the Cheat List dialog from the Cheats menu.

8. How do I translate a game from XXXX to YYYY?

The emulator cannot translate in game messages.

Reporting a crash
-----------------

If VisualBoyAdvance crashes, please do the following:

1. Win 95/98/ME: start DrWatson (drwatson.exe) and reproduce the crash.
DrWatson will capture the crash information in a log file (.wlg) file that
needs to be sent to me. Please also open the .wlg file on your machine by
double-clicking and copy the details section into the email. Microsoft
made life harder when you migrate to WinXP (or NT or 2000) by not allowing
DrWatson to read its old file format.

2. Win NT/2000/XP: make sure DrWatson is the default debugger by executing
drwtsn32.exe -i and then recreate the crash. DrWatson will generate a log file
that needs to be sent to me (usually in c:\Documents and Settings\All Users\
Documents\DrWatson). Depending on your system configuration, you may be asked
if you want to generate a log file. If so, please click on yes.

Warranty
--------

VisualBoyAdvance comes with no warranty. Use it at your own risk.

Special Thanks
--------------

Costis for his help fixing some of the graphics bugs.
Snes9x developers for the great emulator and source code.
Kreed for his great graphic filters
And all users who kindly reported problems.

Contact
-------

Please don't email unless you found some bug. Requests will be ignored and
deleted. Also, be descriptive when emailing. You have to tell me what version
of the emulator you are writing about and a good description of the problem.
Remember, thre is a SDL version, a Windows version and a Linux version. Also,
there are still people writing about the old VisualBoy which is no longer
supported. Also remember I am not paid to work on VisualBoyAdvance. This is
just a hobby.

Forgotten (vb@emuhq.com)
http://vboy.emuhq.com

Change history
--------------
Version 0.8:

Core changes:
- correctly initializing IO registers when running without BIOS(Gollum/Costis)
- support for GSA ROM patching codes and button codes
- support for CodeBreakerAdvance codes
- support for separate frameskip for GBA and GB roms
- reworked the cheat system internal (should improve speed a bit)
- added a small interrupt latency to avoid interrupt loop
- fixed 16-bit DMA transfers with decrement options
- fixed semi-transparent OBJ bug
- fixed Gameshark Advance snapshot import
- fixed crash when passing filename without a path on command line
- fixed ARM LDR/STR with ASR shifted register instructions
- fixed some disassembly bugs
- fixed sound mixing (reversed sound)
- fixed misaligned 16-bit reads
Gameboy changes:
- fixed sound mixing (reversed sound)
- fixed vertical scrolling bug (Kefren bars demo)
- fixed speed up bug changing sound quality during emulation
Windows changes:
- disable screen saver when emulating
- added option to pause the emulator when window not active
- added keyboard shortcut for recent files
- added support for more keyboard keys when configuring controls
- added sound recording to a wave file
- fixed Add code dialogs to allow multiple codes entered at once
- fixed DDraw clipping bug (should work when window partially offscreen)
SDL changes:
- added command line flag for frameskip
- added command line support for bios file
- fixed configuration file comments on control configuration

Version 0.7.1:

Core changes:
- sound scratch problem fixed
- sound mixing improved
- sound channel 3 new function added
- Gameshark code support fixed for some codes
- all cheat codes are validated for wrong characters
- 64k EEPROM support
- added BIOS calls protection for BIOS memory area
- fixed problem with stop mode and loading a save state
- fixed window behaviour on some undocumented cases (thanks mrquackers)
Windows version:
- added new filters to the menu
- maker name added to ROM information dialogs (thanks to /Fredrik)
- fixed start up x4 problem
- fixed GBA cheat search display problem when showing hex numbers
- added cheat search for GB roms
SDL version:
- fixed debugger disassembled line when on breakpoint
- fixed loading a state with a different sound quality (quality doesn't change)

Version 0.7a:

- fixed slowdown/graphic sync problem
- fixed x4 problem
- enabled experimental graphic filters: pixelate and motion blur
  (need to use regedit to change filter to 5 or 6 respectively)
- added BIOS calls Stop, IntrWait and SoundBiasReset (missing from 0.7 changes)

Version 0.7:

Core GBA emulation:
- emulating GBA windows correctly when they wrap around the screen
- fixed some minor THUMB flag bugs
- fixed blended sprites priority bug
- fixed unimplemented ARM LDM opcode
- not applying SFX to semi-transparent sprites
- completed mode 5 emulation
- disable sfx now takes effect immediately
- screen capture sets the correct extension when name typed
- MOSAIC support in all video modes and sprites
- fixes to several of the reported black screen, hangs and missing opcode
- Gameshark code support
- import function for battery files, code files and game saves
- export function for battery files
Core GB emulation:
- fixed window priority bug (sprites on top of window)
- screen capture now being taken before status message is displayed
- import function for battery files, code files and game saves
- export function for battery files (no RTC saved in this case)
SDL versions:
- fixed some small disassembler bugs
- fixed keyboard shortcuts with modifier keys (Ctrl, Alt, Shift)
- added MMX support (default is off)
- configuration file now in DOS format for the Windows version
- added break on write support for IRAM and WRAM
Linux version specific:
- fixed some bad opcodes

Version 0.6.0.1:

- fixed bug with Japanese and Chinese translations
- fixed bug with 8-bit or 16-bit freeze cheat codes
- fixed a small VRAM bug

Version 0.6:

- fixed bug with images patched to save into FlashAdvance instead of EEprom
- fixed bug reporting register P1
- fixed DMA loop bug and timing
- reworked the cheat engine for Gameboy (faster now)
- GB Pocket Printer support
- GB MBC7 support (motion sensor)
- added ROM information dialogs
- now centering dialog boxes
- automatically hiding of mouse in full screen
- Cheat list dialog improved with description for a code
- screen shot menu option
- reset recent list option
- option to disable status messages
- option to automatically save/load cheat list
- menu to save/load cheat list
- using new dialog controls under Windows XP
- language selectable from menu and easy translation

Version 0.51:

- fixed bugs introduced in version 0.5 (BIOS access)
- fixed small DMA problem
- fixed Gameboy frame skip bug (caused missing sprites)
- fixed bug in MBC 3 code (boy/girl problem in Pokemon Crystal)
- fixed crash loading more than 3 games without restart
- added MMX version of the graphic filters (exception of TV Mode)
- added status message to some actions (load/save state, reset, screen capture)
- tried to improve message when DirectX missing

Version 0.5:

- fixed bug accessing the BIOS (caused apparent hang in some cases)
- reverted the ARM to previous version (sound distortion fixed)
- fixed a bug in the 16-bit and 32-bit cheat search
- fixed a slowdown on GB emulation
- fixed screen capture to only take one shot while the button is pressed
- fixed problem of not saving battery file when using recent menu
- fixed problem starting from double-click on binary image (association)
- fixed missing GB filters when selecting files to open
- removed unimplemented opcode for SWP opcodes
- added auto-fire option for buttons A, B, L and R
- added full screen mode (640x480 only - 320x240 will be enabled later)
- added DirectDraw option for Emulation only (removes filtering problem) and
  use video memory (may speed up some machines)
- added graphic filters: TV Mode, 2xSaI, Super 2xSaI and Super Eagle
  (adapted from Snex9x code). Note: fast machine needed.
- full screen option to stretch to fit image
- added option to associate emulator with GB and GBA files
- added priority option to avoid problems on some machines
- added dialog with cheats in use
- added option to freeze memory location: infinite money, lives, etc...

Version 0.4:

- can now play Gameboy and GameboyAdvance games
- recent menu with 10 recent loaded roms
- save state slots (like Snes9x)
- fixed 24-bit screen capture
- fixed sprite corruption
- added 3 missing BIOS calls (DiffXbitUnfilter calls)
- fixed freeze loading VisualBoy 1.4.10 save game
- fixed reset problems on some CGB games
- fixed a timing issue that caused blinking sprites

Version 0.3:

- fixed window bug (vertical lines or missing column)
- fixed some sound mixing problems
- some speed improvements
- cheat search engine (based on Snes9x)
- battery saves are now supported
- save game loading fixed (crash or no sound problem are gone)
- disable special effects option (can speedup some machines)

Version 0.21:

- fix to 24-bit mode dark screen problem
- sound on left speaker problem fixed
- some ARM opcodes have been corrected (DarkFader's demos now work)
- rotation bug fix
- mode 3 backdrop color fix
