JavaGear
Beta 4 (20th July 2003)
Copyright (C) 2002-2003 Chris White
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Contents
Introduction
What's New
Requirements
Getting Started
Features
Known Limitations
Help Wanted
Acknowledgements
Introduction
JavaGear is a Sega Master System (SMS) and Game Gear (GG) Emulator for Java.
JavaGear runs as either an applet, embedded in a web page, or as a stand-alone
application.
JavaGear was originally coded as my final year university project. This document is only brief, if you'd like to find out more about JavaGear, please download the full report from the JavaGear website.
What's New
- [Beta 4a] Fixed zoomed sprite bug introduced in Beta 4.
- [Beta 4 ] This release is faster and more compatible.
- [Beta 4 ] CORE: Should now work correctly under Windows XP/2000
- [Beta 4 ] CORE: New Drawing Code. Double/Triple display modes more useable.
- [Beta 4 ] Z80 : Halfcarry and Overflow flags corrected. (Ghost House, Golden Axe, James Pond, California Games and more)
- [Beta 4 ] Z80 : BIT instruction flags fixed (Bart vs. Space Mutants)
- [Beta 4 ] Z80 : CPDR instruction flags fixed
- [Beta 4 ] Z80 : RRD/RLD instruction flags fixed
- [Beta 4 ] Z80 : Undocumented SLL opcode implemented (not used by any games I'm aware of).
- [Beta 4 ] VDP : Speed Increase
- [Beta 4 ] SND : Minor SN76496 Bug fixes
- [Beta 4 ] UI : SMS Pause button mapped to Game Gear Start Key
- [Beta 4 ] UI : More Responsive
- [Beta 3 ] Z80 Bugfixes, Aztec Adventure and further titles now work
- [Beta 3 ] 10-15% Speed Increase
- [Beta 3 ] JavaGear is now released under the terms of the GNU General Public License
- [Beta 3 ] Source Code Release (Contact me if you can help with JavaGear)
- [Beta 3 ] Other Minor Fixes, that will probably go unnoticed!
- [Beta 2a] Minor fix to HTML applet code. Prevents browser downloading Java plugin when a suitable version is already installed.
- [Beta 2 ] Improved Compatiblity (Time Soldiers, Smash TV, Fantasy Zone Gear etc.)
- [Beta 2 ] Fixed Game Gear Reset Bug (Space Harrier, World Class Leaderboard)
- [Beta 2 ] Improved Speed (especially when using frameskipping)
- [Beta 2 ] Sprite Zooming (GG Earthworm Jim, X-Men)
- [Beta 2 ] PAL Timing Support (Back To The Future 3)
- [Beta 2 ] Improved Sound (No more high pitched noises)
- [Beta 2 ] Screen Zoom
- [Beta 2 ] Improved GUI
- [Beta 2 ] Debugging Information
Requirements
- x86 800 Mhz Processor (for full speed, sound, no frame skipping)
- x86 450 Mhz Processor (for full speed, sound, with 2 frame skips)
- Java JDK
1.31 or higher
- SMS / GG ROM images
Getting Started
Before you start, remember that you use this software at
your own risk.
- To run JavaGear as an application:
Double click on the JavaGear.jar file.
Alternatively, type the following from your shell: java -jar JavaGear.jar
- To run JavaGear as an applet:
1. Copy and paste the relevant code from JavaGearApplet.html
onto your web page.
2. Upload the file JavaGear.jar to the same directory as this page on
your webserver.
3. Place the ROM images in a subdirectory from this named roms.
The roms can be uncompressed, or compressed individually in zip format. I'd
recommend compressing the roms, so that they load faster.
4. In the roms directory create a plain text file called index.txt
with the following format:
Game Name:filename.zip
Sonic the Hedgehog:sonic.zip
Shinobi:shinobi.zip
The main thing to notice is the colon between the game's name, and its actual
filename. Additionally, remember that the filenames are case sensitive.
PAL Timing can be enforced as follows by using ":p:" instead of a single colon:
Back to the Future 3:p:back3.zip
I'd recommend checking that the game works, before adding it to the index file.
If you have problems, then you may not have the latest version of Java.
Features
- SMS and GG Emulation (Compatiblity 95%)
- Region Setting (Application Only)
- PAL/NTSC Emulation
- Ability to load ROMs from ZIP files
- User Friendly GUI
- Debugger (Application Only)
- Sound Recording to WAV files (Application Only)
Please note that the sound will be disjointed unless your computer is
capable of achieving full speed.
Known Limitations
Here is a list of areas where emulation isn't complete,
along with the titles that are affected.
- Z80 CPU Bugs
- No TMS screen modes (F16 Flying Falcon)
- No Codemasters mapper (Micromachines etc.)
- No Peripherals i.e. Lightgun, 3D Glasses (Safari Hunt,
OutRun 3D etc.)
- No Voices (GameGear Sonic)
Help Wanted
Please submit
compatibility reports. If there is a problem with a title, please be explicit as to when
the problem occurs.
Acknowledgements
Maxim - For his sound advice (bad pun, sorry).
Charles MacDonald - Excellent VDP documentation.
SMS Power Development Forum - A useful pool of knowledge.
Sean Young - The Undocumented Z80 Documented.