›7mVirtual GameBoy Distribution Site ›0m by ›7mMarat Fayzullin ›0m ----------------------------------------------------------------------------- New VGB 0.7 Unix/X is out! CPU emulation is somewhat sped up CPU cycles (not ops) are now used for synchronization LCD controller's state changes are done correctly (which may slow things down somewhat) Sprite priorities implemented (which may slow things down somewhat) RAM size bug fixed Separate autofire for buttons A and B Saving soundtrack into a file Separate colors for background, window, and sprites -nodelay is made default now ›7mDocumentation at this page is out of date! ›0m ----------------------------------------------------------------------------- ›7mVirtual GameBoy Unix/X 0.7 sources and related files ›0m This package includes C sources for a portable GameBoy emulator, and screen/joystick drivers for Unix/X. Virtual GameBoy has been tested on the following Unix systems: SunOS Solaris OSF/1 FreeBSD HP/UX AIX Linux ›7mVirtual GameBoy Windows 0.7 32bit executable ›0m [Windows95 and ›7mWinG ›0m required] The Windows port of VGB is a 32bit application compiled with Borland C++. It requires Windows95 and Microsoft's ›7mWinG ›0m library available from ftp.microsoft.com. Please, read the manual included into the archive before you mail your questions/comments to me. VGB-Windows is shareware . The fully operational demo is available from this page. If you want to get rid of the annoying "DEMO" message, be able to load new snapshots during the game, use GameGenie cheats, see cartridge information, and get regular updates as the new versions of VGB appear, the registered version is available for $35US from Marat Fayzullin 6304 Hampton Place Elkridge, MD 21227 USA ›7mA patch for the Unix version of VGB ›0m This patch written by Andrew Taylor [ ›7m davidt@cpsc.ucalgary.ca ›0m ] allows to set a scaling factor during compile time, to make the size of VGB window bigger. Simply replace your Unix.c file with this one, change the value of #define SCALE , and recompile. ›7mAnother scalable version of VGB-Unix ›0m This is a complete scalable version of VGB-Unix written by Christophe Conduche [ ›7m Christophe.Conduche@eerie.eerie.fr ›0m ]. Check out the new -zoom option allowing to set the scaling factor. ›7mImproved Unix/X version ›0m Improved version by Joshua Thompson [ ›7m invid@optera.com ›0m ]. This version supports non-256-color displays and may soon support sound. ›7mVirtual GameBoy Amiga sources and executable ›0m This is a port of VGB to AmigaOS done by Matthias Bethke [ ›7mMatthias.Bethke@sowi.uni-giessen.de ›0m ] Michael Boese [ ›7mskywalker@sweetdreams.lahn.de ›0m ] As it is an initial version produced in one day, don't expect too much from it. It is said to be playable on an A4000 with CyberVision64 board working in the chunky mode, but a bit slow on ECS-equipped machines. More improvements are expected. The archive includes both executable and the source, so whoever wants to rewrite screen drivers in assembly language may go ahead. Just send the results to me :). ›7mVirtual GameBoy PowerMac ›0m This is a VGB port to Mac and PowerMac done by John Stiles [ ›7mjstiles@cello.gina.calstate.edu ›0m ] who also wrote two nice ports of MSX and Coleco emulators for the Macintosh. ›7mVirtual GameBoy Mac/PowerMac 0.3 ›0m This is a port of VGB to Mac and PowerMac done by Alan Steremberg [ ›7malans@umich.edu ›0m ] Brian Foley [ ›7mbrian.foley@ucg.ie ›0m ] The archive includes both 680x0 and PowerPC versions. Parts of Z80 emulation are rewritten, as well as the screen drivers. ›7mVirtual GameBoy MSDOS ›0m This VGB port for MSDOS is written by Marcel de Kogel [ ›7mm.dekogel@student.utwente.nl ›0m ] based on the sources by Kwanhee Seo [ ›7m sylca@nuri.net ›0m ] and Jeff Frohwein [ ›7mjfrohwei@hiwaay.net ›0m ]. It may not be as fancy as the Windows version, but it is faster and produces a large picture ideal for playing games. It also has sound and an ability to put a .GIF picture in the background. Thanks, Marcel, Kwanhee, Jeff :). ›7mVirtual GameBoy Linux 0.6 ›0m This VGB port to Linux is using SVGALib. It is written by Thierry Lescot [ ›7mping9606@ping.be ›0m ]. Both binary and source included. ›7mVGB OS/2 0.6 ›0m This is a beta of VGB port to OS/2, written by Joe LoCicero [ ›7m jolo@ece.cmu.edu ›0m ]. ›7mVGB NeXTstep ›0m This version is done by Kang Hyun of Hayan Nalgae Software. ›7mVGB Xfree86-OS/2 ›0m Krister Bergman [ ›7mbellman@kuai.se ›0m ] has ported VGB to the OS/2 version of Xfree86. Other stuff: ›7mVGB-DOS Shell for 4DOS ›0m by Alex Tutusaus [ ›7malextc@adam.es ›0m ] ›7mVGB-DOS Launcher ›0m by Steve Abson [ ›7msabson@chat.carleton.ca ›0m ] ›7mVGB-DOS Loader ›0m by Christopher Andre Starkel [ ›7mamiland@gnn.com ›0m ] ›7mVGB-GO ›0m by Christopher Field [ ›7mse1cf@dmu.ac.uk ›0m ] ›7mVGBShell ›0m by Chris Spiegel [ ›7mmatrix@wolfenet.com ›0m ] Note that this is an initial release of VGB and many things do not quite work yet. They will be fixed/implemented in the next releases of the emulator. About 70-80 games were checked with this version of VGB and 85% of them worked. If you would like to write new drivers, please , contact me by email or some other means. Feel free to look at existing drivers as well as at other code. More explanations follow. ----------------------------------------------------------------------------- Frequently Asked Questions What is GameBoy? GameBoy is a handheld videogame machine produced by Nintendo. It is built around a custom CPU similar to Z80, but with some changes. GameBoy is frequently laughed at because of its reflective green-on-yellow LCD screen which in fact is its virtue. Due to the low power consumption of its LCD, GameBoy can work for 35 hours off 4 AA batteries. There is a lot of good games produced for GameBoy, both classics [Tetris, Pacman, Asteroids, etc.] and specific ones [Final Fantasy series for GB]. It excells in RPGs and classic games where gameplay is more important than graphics. More information about GameBoy is available from ›7mhttp://www.freeflight.com/fms/GameBoy/ ›0m Where do I get GameBoy games? You buy the cartridges. GameBoy software is copyrighted and still sold. Therefore, its distribution is an act of piracy. Nothing prohibits you from backing up a cartridge you own and playing it on the emulator though. No, I can't send you the games, and I do not know about any FTP sites where you can find them . How do I get GameBoy games into cartridge snapshots? You can use a SmartCard cartridge copier which costs about $100 and allows to dump GameBoy cartridges into files via PC parallel port. There is also a ›7m homebrewn cartridge copier ›0m by Pascal Felber [ ›7mfelber@di.epfl.ch ›0m ] Is it legal to spread GameBoy cartridge snapshots? NO . Be aware of the fact that by using commercial software you haven't bought, you are commencing an act of piracy. Not that I care, anyway... Why don't the snapshots taken with SmartCard run on VGB? It is because SmartCard adds 512 bytes with its own information to the beginning of the snapshot file. Remove these bytes and the snapshot should work. Why there is no sound in the games? Because VGB does not currently emulate sound/music/special audio effects. If I get enough support, I may implement sound emulation in the later versions, but it is not currently implemented. The DOS version of VGB developed by Kwanhee Seo [ ›7msylca@nuri.net ›0m ] has sound now, although you need to have a certain type of the sound board. Why is VGB is so slow on my PC? Because your PC is too slow to run VGB. VGB is written entirely in C language and therefore is quite slow. Although it works on 486/33 and even 386/33 PCs, it runs best on a Pentium/90 or a DEC Alpha/150. You can try to speed it up by increasing -uperiod value controlling the number of vertical blanking impulses between screen updates to 3-6, and by decreasing -vperiod value controlling the number of CPU cycles between vertical blanking impulses to 2000-5000. Please, do not send me mail about VGB speed . Can I compile VGB with my Borland/Turbo C compiler? You can, given that your compiler creates executables using flat 32bit memory model. Two PC compilers which do that are WATCOM [using DOS4GW DOS extender] and GCC [using DJPP extender]. The only Borland 32bit compiler that I'm aware of works under Windows though. Where is the complete list of command line options of VGB? Use -help option. It will tell VGB to display all options available in your version. Following are the options currently available in VGB: -verbose level - Select debugging messages [5] 0 - Silent 1 - Startup messages 2 - Illegal writes 4 - Illegal CPU ops 8 - Bank switching -vperiod period - Set VBlank interrupts period [10000ops] -uperiod period - Number of interrupts per screen update [2] -help - Print this help page -cheat GGcode - Activate a GameGenie cheat -shm/-noshm - Use/don't use MIT SHM extensions for X [-shm] -trap address - Trap execution when PC reaches address [FFFFh] -saver/-nosaver - Save/don't save CPU when inactive [-saver] -delay/-nodelay - Delay/don't delay line interrupts [-nodelay] -color0 name - Change color#0 [black] -color1 name - Change color#1 [#585858] -color2 name - Change color#2 [#989898] -color3 name - Change color#3 [white] What are the keys used in VGB? VGB Unix/X 0.6 keys: [SPACE] - [A] button [LALT] - [B] button [CONTROL in Windows version] [TAB] - [SELECT] button [ENTER] - [START] button [ESC] - Quit emulation [F1] - Turn tracing on/off [Not implemented in Windows] [F2] - Show LCD controller registers [Not implemented in Windows] I can't get some games to work with VGB. Try using -delay or -nodelay option. If it doesn't help, try increasing -vperiod value. If you can't get game to work, send it to me for analysis. Palette controls behave strangely in the Windows version. You are probably running Windows in 256-color mode. In this mode, not all 256 possible colors are available, and palette controls only allow you to choose from available colors. When compiling VGB under Unix, I get "undefined name" errors. This means that your linker can not find the libraries necessary for VGB [namely, libX11.a and libXext.a]. Find these libraries in your system and modify the Makefile so that the final invocation of the C compiler has "-L<path_to_libs>" options. If the errors persist, try #undefining MITSHM option. When starting VGB under Unix, I get X_ShmAttach error. You are probably trying to run VGB on a remote Xterminal while it attempts to use shared memory for interfacing with X. Use -noshm option to tell VGB not to use shared memory. VGB starts under Unix, but then I get X_PutImage error. Unix/X version of VGB currently needs 256-color X. Neither 2-color nor TrueColor Xterminals will work with the drivers included into "official" VGB distribution. I start Unix version of VGB but the window stays black. Some other X application took over all available colors so that VGB could not allocate any for itself. Check if you run XV, Netscape, or something similar. ----------------------------------------------------------------------------- Maintained by ›7mMarat Fayzullin ›0m [ ›7mfms@freeflight.com ›0m ] ›0m