_ _ _ _______ ___ _ ___ ___ | | | (_) | | ___ \ / _ \ | | | \/ | | | | |_ ___ _ _ __ _| | |_/ / ___ _ _ / /_\ \ __| |_ ____ _ _ __ ___ ___ ______| . . | | | | | / __| | | |/ _` | | ___ \/ _ \| | | | | _ |/ _` \ \ / / _` | '_ \ / __/ _ \______| |\/| | \ \_/ / \__ \ |_| | (_| | | |_/ / (_) | |_| | | | | | (_| |\ V / (_| | | | | (_| __/ | | | | \___/|_|___/\__,_|\__,_|_\____/ \___/ \__, | \_| |_/\__,_| \_/ \__,_|_| |_|\___\___| \_| |_/ __/ | |___/ VisualBoyAdvance-M Nintendo Game Boy / Game Boy Advance Emulator Based on official VBA Original Project Homepage: vba.ngemu.com New Project Homepage: vba-m.ngemu.com The Qt build uses icons from the KDE project: http://kde.org/ svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase/runtime/pics/oxygen This program is distributed under the GNU General Public License http://www.gnu.org/licenses/gpl.html Aim: Combine the best features of the VBA forks in one build. Multi-platform support. =================== System Requirements =================== OS: Windows 2000 - Vista (x86 or x64), Linux CPU: 700MHz minimum for GBA emulation, CPU requirements increase if filters are to be used. RAM: ~64MB free GFX: ~32MB VRAM, DirectX9 drivers ================= Required Runtimes ================= Microsoft Visual C++ 2008 SP1 Redistributable Package (x86): http://www.microsoft.com/downloads/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&DisplayLang=en [MFC & Qt build] DirectX End-User Runtimes (August 2008): Web-Updater: http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en Offline Package: http://www.microsoft.com/downloads/details.aspx?FamilyID=c1367bc3-4676-481a-bfaa-5c15d1d7199d&DisplayLang=en Only the Web-Updater needs the WGA check [MFC build] zlib 1.2.3 + libpng 1.2.29: http://vba-m.ngemu.com/vbam/vbacompiles/msvc2008sp1/mfc/zlib123+libpng1229.7z Extract it either to C:\Windows\system32 or to the same folder where the VisualBoyAdvance-M executable resides. [MFC build] Qt 4.4.1 Runtime: http://vba-m.ngemu.com/vbam/vbacompiles/msvc2008sp1/qt/qt441.7z [Qt build] ================= Optional Runtimes ================= OpenAL Installer for Windows: http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx [MFC build] ============== To Do List ============== Important: - Many games show emulation warnings in the log window (unaligned read, bad read/write address) - Test: Metroid Fusion, Advance Wars 2 - Gfx.cpp/h optimization - Test: Final Fantasy 4 airship intro - Improve automatic 64k/128k flash save detection - Add support for byuu's UPS patching format to replace IPS - Remove 16 bit hack for filters - Not compatible to software motion blur (display corruption) - Add selection for compressed archives with more than one ROM in them - Finalise Qt4 GUI system - Fix LCD colouring - Game Bugs: * Drymouth - screen flashes black after certain scanline * World Reborn - 2 graphics bugs Less important: - Add GBA cheat editing support (GB already has) - Look at Cheats.cpp (Core) and GBACheats.cpp (GUI) - Support D3DFMT_A2R10G10B10 (10 bit per color component) color format - Add documentation for VBA-M (configuration guide) - Improve AVI recording (produces asynchronous files) - Enable audio stream compression for AVI files - Add stereo upmixing support to OpenAL - Verify BIOS files by checksum instead by file extension - Merge HQ2x/LQ2x C code into code for HQ3x/4x - Apply pixel filter to sprites and BG seperately for better image quality Performance: - Apply HQ3x/4x optimizations from C version to ASM version - Apply pixel filter only to changed parts of the image - Make even more use of multi-core CPUs - Make use of 64 bit CPUs - Have a look at the liboil optimization library - http://liboil.freedesktop.org/wiki/ ==================== Currently Known Bugs ==================== Known Bugs: - Linking: Doesnt work quite right yet. - Audio core: assertation error occurs when disabling sound in GB mode - I think its best we mute sound instead, since some games rely on audio for timing. Plus, blargg's GB_Snd_Emu is extremely optimized stuff. (Mudlord) - blargg's core implementation broke Dwedit's GBC emu. - Wrong bit depth image is displayed for 2 frames when switching from/to HQ3x/4x ASM - This is caused by the 16bit hack which does not re-process the emulated image. It results in the display devices treating the image at pix with the wrong bit depth. ======= Credits ======= VisualBoy and VisualBoy Advance Developers: Forgotten VisualBoy Advance-M Developers: Mudlord DJRobX Nach Jonas Quinn Spacy ============== Special Thanks ============== chrono: - Fixed a bug in the HQ3x/4x filters - Made HQ3x/4x and Bilinear filters (ASM versions) thread-safe bgKu: - GTK GUI port - Various assistance with Linux issues blargg: - Assistance with the implementation of his highly accurate GB audio core - Implemented his unreleased File_Extractor library