EEEEEEE MM   MM UU  UU LL
EE      MMM MMM UU  UU LL                                 
EE      MMMMMMM UU  UU LL            88888           00000  
EEEE    MM M MM UU  UU LL          888888888       0000 0000 
EE      MM   MM UU  UU LL         88       88     000     000 
EE      MM   MM UU  UU LL        88         88   000       000
EEEEEEE MM   MM  UUUU  LLLLLLLL  88         88   00         00
                                 88         88   00         00
                                 88         88   00         00
                                  88       88    00         00
                                   888888888     00   000   00
          A poor emulator           8888888      00   000   00
            designed by            888888888     00   000   00
        Moogle Technologies       88       88    00         00
            Incorporated         88         88   00         00
                                 88         88   00         00
             v0.11 Beta          88         88   00         00
                                 88         88   000       000
                                  88       88     000     000
                                   888888888       0000 0000
                                     88888           00000


==============================================================================
                              TABLE OF CONTENTS
==============================================================================

I. What is this emulator?
II. What are its features?
III. Why did you make it?
IV. Instructions
V. Frequently Asked Questions
VI. Version history
VII. Header format
VIII. Source code
IX. Credits

/***************************\
* I. What is this emulator? *
\***************************/

     This emulator is a poor attempt at emulating the Midway 8080BW arcade
hardware and the games that run on it. Unfortunately, the CPU core is VERY
buggy and some important features, such as correct IO port emulation, are
very noticeably absent. However, it is nothing if not versatile, and
unlike most emulators that have hard-coded databases of what games it will
run, all of the information needed to run a particular game is stored in a
512-byte header file.

/****************************\
* II. What are its features? *
\****************************/

     Complete Intel 8080A instruction set
     Interrupts
     Debugger enabled via reassembly
     Versatile ROM loading via heades

/***************************\
* III. Why did you make it? *
\***************************/

     I originally wanted to code just an Intel 8080A CPU core and then
make my own emulated computer of sorts. However, I foud out what
simple hardware the Midway 8080BW arcade hardware used and I proceeded
to add interrupts, monochrome video hardware support, ROM loading, and
port emulation. That's why!

/******************\
* IV. Instructions *
\******************/

     1) Unzip the ROM you wish to run into the same directory as the
        executable.
     2) Make sure that you have a header file for the ROM you wish to
        run. If you do not, download one or create your own.
     3) Go to the command prompt in whatever version of Windows that
        you are running.
     4) Change to the directory where the emulator and ROM files are
        stored.
     5) Use the following syntax for invoking execution of the
        emulator:
                        EMUL80 <header>
     6) The emulator will then run. Once you have tired of looking at
        the attract mode of an arcade game, you may press 'Q' or 'q' to
        quit the emulator.

/*******************************\
* V. Frequently Asked Questions *
\*******************************/

     Q) Why doesn't game x work?
     A) I don't know why; maybe some day it will work, maybe it won't.

     Q) Where can I find ROMs?
     A) You can find ROMs for the emulator wherever you find MAME ROMs.
        If the game uses an 8080 CPU and no sound hardware (or samples),
        chances are you can at least attempt to run it with this
        emulator.

     Q) U SUX UR EMLATR NO WORK
     A) I'm sorry, that isn't a question.

     Q) What's the deal with the glitchy graphics?
     A) I have no clue as of yet. I've verified the port emulation against
        MAME, and they appear to be exactly the same. Perhaps it's some extra
        little quirk I have yet to realize that I need to include yet. No,
        that isn't a hint as to what will be in the next version.

/*********************\
* VI. Version history *
\*********************/

v0.11 Beta - Third release, contains rudimentary control support. No,
             you still can't play any games. But at least you can quit
             without having to give the three-finger salute! In addition,
             it has been MASSIVELY optimized, resulting in a 50-75% speed
             boost.

v0.1 Beta - Second release, within hours of release two. 99%(?) correct
            port emulation, Clowns displays complety correct graphics,
            Datsun 280 ZZZap! displays the road correctly, and who knows
            what else that I haven't tested!

v0.1 Alpha - In-house release only, partially corrected port emulation.
             Clowns
             actually displays somewhat correct graphics!

v0.01 Pre-Alpha Pre-Alpha - First release! Nothing works right, no controls,
                            wildly inaccurate port emulation due to a ROM
                            loading bug (it wasn't loading far enough into
                            the header file!).
/********************\
* VII. Header format *
\********************/

WARNING: The following information is subject to change without notice.
         If a new version comes out in which your current heard files
         will not work, let me know which one it is and I will gladly
         convert it for you.

0000: 13 bytes, padded with 00: File 1 name
000D: 13 bytes, padded with 00: File 2 name
001A: 13 bytes, padded with 00: File 3 name
0027: 13 bytes, padded with 00: File 4 name
0034: 13 bytes, padded with 00: File 5 name
0041: 13 bytes, padded with 00: File 6 name
004E: 2 bytes, reverse order  : File 1 offset
0050: 2 bytes, reverse order  : File 2 offset
0052: 2 bytes, reverse order  : File 3 offset
0054: 2 bytes, reverse order  : File 4 offset
0056: 2 bytes, reverse order  : File 5 offset
0058: 2 bytes, reverse order  : File 6 offset
005A: 2 bytes, reverse order  : Number of files
005C: 2 bytes, reverse order  : File size
005E: 256 bytes               : Initial values of input ports
015E: 1 byte                  : Bitmap input port number
015F: 1 byte                  : Shift data output port number
0160: 1 byte                  : Shift value output port number

/*******************\
* VIII. Source code *
\*******************/

     Here are some general tips for compiling the source and guidelines for
doing so. You WILL need the following programs to assemble and link it:
        TASM 2.0 -
                Not the cross-compiler version, but the version distributed
                by Borland. You MUST have version 2.0, I tried compiling it
                with version 5.0 and I got some arcane error.
        TLINK (any version)
        RTM.EXE - Included with TASM 2.0
Of course, you will also need the source code which you can download from
Zophar's Domain as well. Here are the steps for assembling and linking the
emulator:
        TASM EMUL80
        TLINK EMUL80
Simple, isn't it? If you plan on re-using any portion of your source code
in your own program, just make some sort of small note crediting it to
MooglyGuy, TheOtherMoogle, UltraMoogleMan, Kutan, or Ryan Holtz and I'll be
happy.

/*************\
* IX. Credits *
\*************/

All credits go to me.
Special thanks, however, go to:
        Dr. Mason Gene Bailey - My great ASM professor!
        My Mom - Hi, mom!
        Aaron King - It's the King of Everquest! RUN!!
        Bonnie Adams - One of the few female videogame fans I know!
        Jonathan Rosenberg - Thanks for creating www.goats.com!
        Piro and Largo - Thanks for creating www.megatokyo.com!
        Gabe and Tycho - Thanks for creating www.penny-arcade.com!
        Paul Southworth - Thanks for creating www.krazylarry.com!
        Steve Troop - Thanks for creating www.melonpool.com!
        Alan Foreman - Thanks for creating www.poisonedminds.com!
        Nadia Eisner - The author of Bass is Not A Fish and Zero Tolerance,
                       need I say more?
        Patrick Little - My character pic rocks all! Thank you!
        Jennifer Grist - My character pic rocks all! Thank you!
        IJ - You run a great IRC server dude, and do a great job!
        The members of #Mechadrake on EsperNet - You guys rock!
        The members of #RPGamer on EsperNet - You guys rock!
        The members of #Trivia on EsperNet - j00 4ll 4r3 1337!!!1111
        The members of #Fret on EsperNet - HAHE ROBBLE ROBBLE 8D
        The members of #VGMusic on EsperNet - Thanks for the bangin' toonz!
        The members of #Zophar on EsperNet - W00T W00T!
        Brad Levicoff, the founder of Zophar's Domain - Need I say more?
        Sam Michaels, the new maintainer of ZD - Need I say more?
        Ryan Holtz - I say 'Need I say more' too much!
        mushroomblue - Actually, no thanks to him. He's a sick leghumper.
        Nicola Salmoria, for creating MAME - My inspiration!
        AND CAPCOM ALL STAFF

This has been a Moogle Technologies, Inc. production.
All characters portrayed in the emulated games are ficticious.
Any resemblance to real people, living or dead, is purely the result of a
   deranged imagination.

- Ryan Holtz, UltraMoogleMan, MooglyGuy, TheOtherMoogle, Kutan

Contact me at:
        E-mail - mega64man1@hotmail.com
        ICQ - 139224808
        AIM - mega64man1
        IRC - UltraMoogleMan or MooglyGuy on irc.esper.net


Moogle Technologies, Inc. - "It's not radioactive, we just put green
                             lights in it!"
