›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