GalEMU Documentation                            13/Feb/2000
-----------------------------------------------------------
Version 0.40.9                 <c> 1998-2000 Barry Rodewald

GalEMU is an arcade emulator.  It is free.  If you paid for
it, then you have been ripped off.  Game ROM images are
required to use this emulator.  I will NOT supply the ROMs
to anyone.


What is GalEMU?
---------------

This is my first proper attempt at writing a working
emulator.  I have always been interested in emulation
since getting CPCEMU from a local shareware vendor.  And
I still have my old CPC464 from about 12 years ago - which
still works, except for the cassette deck, which makes it
pretty much useless anyway.  Since entering the world of
the 'net, I have been able to get nearly all of the games
that I have running on my PC.

Anyway, GalEMU is an arcade emulator that emulates games
that use Galaxian hardware (like Galaxian!).  You also
require ROM images from the original arcade game.  Of
course, if you are smart enough, you shouldn't have any
trouble finding them somewhere on the 'net.


System requirements
-------------------
All ports:
    CPU: 166MHz Pentium (or so I am told - I have only tested
                        it on my 233MHz Pentium II)
    RAM: Not sure, but 8MB should be plenty.

MS-DOS: SVGA card supporting 640x480 @ 256 colour depth.

Win32:  Windows 95 or later, or Windows 2000 (and maybe NT4)
        DirectX 5

Linux:  Linux 2.0.x or later running X-Windows at a resolution
        of 800x600 at 8-bit (256 colour) depth.


Included files
--------------

GalEMU.exe or
WinGalEMU.exe   - main executable
read40b6.txt    - this file
galemu.dat      - datafile containing the mouse pointer and font
noise.wav       - Noise sample
fx.wav          - Sound sample

Windows only...
all30w7.dll     - WinAllegro dynamic-link library
audiow32.dll    - SEAL dynamic-link library


Supported Games
---------------

Note:  All ROMs are to be stored in the subfolder from GalEMU
       enclosed in <>.
       They are the same as those used by MAME.

Galaxian (Namco, original)                       <galaxian>
Galaxian (Midway)                                 <galmidw>
Galaxian (Namco, modified)                       <galnamco>
Galaxian Turbo                                   <galturbo>
Super Galaxians                                    <superg>
Galaxian Part 1                                    <galap1>
Galaxian Part 4                                    <galap4>
Galaxian Part X                                    <galapx>
Defend the Terra Attack on the Red UFO             <redufo>
War of the Bugs                                  <warofbug>
Moon Cresta (bootleg on Galaxian HW)             <mooncrgx>
Pac-Man (bootleg on Galaxian HW)                 <pacmanbl>
Pisces                                             <pisces>
Uniwars (gteikoku ROMs must be in gteikoku dir)   <uniwars>
Gingateikoku no Gyakushu                         <gteikoku>
Zig Zag (set 1 - requires set 2 ROMs)              <zigzag>
Zig Zag (set 2)                                   <zigzag2>
Moon Cresta (Gremlin - not encrypted)            <mooncrsg>
Moon Cresta (bootleg - not encrypted)            <mooncrsb>
Fantazia                                         <fantazia>
Eagle                                               <eagle>
Moon Alien Part 2                                 <moonal2>
Moon Alien Part 2 (older version - needs moonal2)<moonal2b>
Devil Fish (not working)                         <devilfsh>
Space Battle (japirem clone)                     <spacbatt>
Galaxians (bootleg)                                <galaxb>
Scramble (bootleg on Galaxian HW)                <scramblb>
Azurian Attack                                    <azurian>
Orbitron                                         <orbitron>
Swarm                                               <swarm>
Streaking                                        <streakng>
Black Hole                                        <blkhole>


Using GalEMU
------------

To start...
DOS:  1) Go to your GalEMU folder
         eg: cd \galemu
      2) Type galemu

Windows:  1) Open the Run... dialog box.
             - Win 3.x: Choose Run from File menu. (I think,
               it has been ages since I last used Win 3.1.
             - Win 95/98/NT4: Choose Run from Start menu.
          2) Type in the path to galemu.exe
             eg: c:\galemu\galemu.exe
             OR click Browse... to find it yourself.
          3) Click OK.
          NOTE: The executable for the Win32 port is named WinGalEMU.exe

Linux:    1) Start X-Windows.
          2) Open a terminal window, and go to the directory containing 
             GalEMU (cd /GalEMU), and then type GalEMU.exe (note that Linux is case-
             sensitive, OR
             Open a file management program (xfm will do), locate and enter
             the directory containing GalEMU, and double-click GalEMU.exe (or
             however you may run it).

In-Game controls...
    F1 - Show help screen listing controls.
    F3 - Reset game.
    3  - Insert a virtual coin in slot A
    4  - Insert a virtual coin in slot B
    1  - 1P start button
    2  - 2P start button
    Cursor keys
       - Move
    Control (CTRL)
       - Fire 1
    Alt
       - Fire 2 (used by Scramble)

GUI buttons...
These are on the left side of the screen (or window if you are using Linux).

    Reset game:  Resets the virtual Z80 CPU, same as pressing F3.
    Options:     Show a dialog that lets you change various options.  Use
                 up and down to select different options, and left and right
                 to change the selected option.  VSync and Lanps can be
                 toggled here, and also the volume of the FX - not samples -
                 can be altered.
    Dip-Switches:  Not yet implemented.
    Select new game:  Allows you to change to another game (assuming you have
                      the ROM images.  Use up and down to select the game.
    Exit:        Take a wild guess!


General Emulator keys...
    V - Toggle VSync (Default: on)
    P - Pause
    F9 - Save a screenshot in PCX format
    L - Toggle lamps on or off (Default: on)
        Note: the lamps aren't used by Moon Cresta - therefore they
        won't appear no matter how many times you switch them on or
        off!


Yet to do...
------------

  -  More games - there must be some other obscure old games that work
                  on standard Galaxian/Pisces or Moon Cresta hardware, 
                  if you know of any that haven't been emulated, then 
                  please e-mail me...
  -  Dip-switches.
  -  More features.


Version history
---------------

0.40.9 - February 13, 2000
       - Added Streaking and Black Hole.
       - Now compiled with MZ80 v3.3

0.40.8 - January 1, 2000
       - Changed the version numbering.  I am basically sick of betas...  And if I went to a tenth beta, then
         I don't think the title would fit on screen.
       - Hopefully everything goes well and this is released early morning on Jan 1...
       - Fixed the loading of Uniwar S and Space Battle ROMs - it was still looking in 
         the japirem folder
       - Added Swarm (yet another in a long line of Galaxian clones)
       - Updated Z80 core to MZ80 v3.1 - v3.0 was terribly buggy with many of the
         games - just a warning.  This gives a small speed boost, plus fixes enemy patterns in 
         some games (second stage in Pisces is the most noticable).

0.40 beta #7 - November 10, 1999
       - Quick update this time...
       - Added Orbitron
       - Full-screen mode now centered.

0.40 beta #6 - November 1, 1999
       - Nope, it's another beta...
       - Back after a bit of an unexpected break.  Any bugs?  Let me know...
       - Added fullscreen modes.  Press TAB to toggle between fullscreen and the GUI.
       - Used colour PROM from original version of Devil Fish, not accurate, but at
         least level 3 is visible now.
       - Changed japirem folder to gteikoku to reflect the same change in MAME.
       - Changed FX sample, it is now a 1000Hz Sine wave sampled at 22050Hz, sounds a
         bit more pleasant at times.
       - Added Azurian Attack.

0.40 beta #5 - May 16, 1999
       - Hopefully this will be the last beta... maybe
       - Updated Z80 core to MZ80 v2.7 for the Windows port, the DOS port still uses
         v2.3 as v2.7 seems to cause page faults.
       - Changed the sound system so that it now uses SEAL v1.06.  Sound should in
         general sound nice and clean.
       - Tone FX and Noise are now taken from a separate wave file (you can't 
         copyright brown noise, can you?).  These files are named fx.wav and noise.wav
         and should be included.  If anybody can provide a tone that sounds more 
         like Galaxian, then please let me know.
       - Added Scramble (Bootleg on Galaxian HW).

0.40 beta #4 - March 14, 1999
       - Fixed Galaxian Part X title screen.
       - Added Devil Fish, Space Battle and a bootleg version of Galaxians.  Please
         note that the colours for Devil Fish are incorrect, as no colour PROM is
         available.  It uses the Galaxian colour PROM currently. Unfortunately, 
         this makes level 3 pretty unplayable.  Anyone help out with this?
       - Optimised character display, should be a noticeable difference in speed
       - Lamps are now located in the GUI, but can still be switched on or off
         with the L key.
       - VSync in back on by default, this is to keep the game speed steady.
       - Added Options dialog, volume works fine in DOS, but doesn't work with
         the Windows or Linux/X version.  Maybe a problem with WinAllegro and
         XWinAllegro, any ideas?
         Use up/down to change option, left/right to change the option's
         value.  
       - Sorry it has taken so long with this beta, I've been playing Final
         Fantasy 7 for the past month.

0.40 beta #3 - January 10, 1999
       - Added messages to bottom of screen
       - Added a (very) basic GUI, Reset game, Select game and Exit buttons
         all work.  Options and DIP switches are yet to be implemented.  DIP
         switches may not be implemented straight away.
       - Disabled video mode switching, for the time being, at least.

0.26 - December 4, 1998:
       - Finally fixed Zig Zag.  Both sets are now fully playable.  There is
         no sound as Zig Zag uses an AY-3-8910 for sound.  Anyone know of a good
         AY-3-8910 core that I could use with DJGPP 2.01?
       - 320x240 and 400x300 video modes are now VESA2 only.

0.25 - November 28, 1998:
       - Added Moon Cresta H/W support.  New games are:
         - Moon Cresta (Gremlin)
         - Moon Cresta (bootleg)
         - Fantazia
         - Eagle
         - Moon Alien Part 2
         - Moon Alien Part 2 (older version)
         Support for the original Moon Cresta will be added when I get
         around to adding a decryption routine.
       - Added the star background (finally!).
       - Added different video modes.  Just press TAB to change modes.

0.23 - November 17, 1998:
       - Just a bugfix release, fixing the incorrect sprites being displayed
         in Moon Cresta.  There is still a small problem with the characters
         on the name registration screen, but you know the two right-most
         characters are "RUB" and "END", right?
       - Notice the change of URL - it is now http://galemu.emulationworld.com
         Thanks to Emulation World for the web space!

0.22 - November 7, 1998:
       - Fixed character display problem causing invisible rocks on Pisces,
         and your ship to disappear in Moon Cresta.
       - Fixed Moon Cresta graphics, now looks better than it does on
         MAME.
       - Added lamps.  Are on by default, and can be switched off by
         pressing the 'L' key.  Shown by white circles at the bottom
         of the screen.
       - Sound!!!  Sound in all games except Zig Zag which uses an
         AY-3-8910.  The sound may be a bit off-pitch, anyone know
         the correct pitch range?  Samples are required for some sounds,
         but are not needed to run the emulator.  The samples must be
         in the MAME .sam format.  The ones I used for testing are
         those available at Dave's Classics (www.davesclassics.com -
         free plug, Dave!).
       - Zig Zag still doesn't work - all the sprites are invisible.
         Also, the coin inputs don't work.  Anyone got any ideas why?
       - No GUI yet, but coming very soon...
       - And maybe some other little things that I have forgotten about...

0.13 - October 7, 1998:
       - Pisces now works, but there may be the odd graphical glitch.
       - Fixed a problem where GalEMU wouldn't run under DOS mode.  
         Serves me right for not testing it under DOS mode.  There was
         no problem if it was run under Windows 95, which I use because
         GCC compiles much quicker under Windows.  If anyone has run
         GalEMU under another O/S other than Windows 95 or DOS, such
         as NT, OS/2, Linux (through DOSEmu), or even an older version
         of DOS (pre-Win95), then please e-mail me.

0.12 - October 5, 1998:
       - Added Pac-Man (bootleg), Uniwars and Gingateikoku no Gyakushu.
       - Fixed missing sprite problem.
       - Also added Pisces and Zig Zag (set 2) which are not yet working.

0.11 - September 29, 1998:
       - Added Red UFO, Moon Cresta (Galaxian HW), and War of the Bugs.

0.10 - September 24, 1998:
       - Added more Galaxian clones.
       - Added ability to save screenshots in PCX format.

0.01 - September 19, 1998:
       - First release.


Credits
-------

Tennessee Carmel-Veilleux <veilleux@ameth.org>
    wrote extra bits, such as the lamp implementation and various
    bug fixes, and code cleanups.

Neil Bradley <neil@synthcom.com>
    wrote MZ80 - the Z80 core used by this program

Shawn Hargreaves <shawn@talula.demon.co.uk>
    wrote Allegro - the game library used in this program.

Stefan Schimanski <1Stein@gmx.de>
    ported Allegro to Win32/DirectX.


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

The entire MAME team - most of the info I found about Galaxian
hardware was from the MAME source code.


Web - http://galemu.emulationworld.com
E-Mail - bsr@hn.pl.net
ICQ# -  14927279

-- End --
