Info

I copy down there parts of the readme.txt files if you have a question and don't like to look into this files. Anyway if your problem is not here you'll have to open it, all the info about the emulators are included in the ZIP files.


=================================================================
NESticle Version 0.34 (6/12/97)
by Bloodlust Software
"The only NES emu with elephantitus" (TM)
=================================================================

Death to the defiler.

Do not ask about SNESticle (or anything else you want emulated).

---------------------
What it is
---------------------

NESticle is a DOS/Win95 based emulator for the Nintendo
Entertainment System written in C++/Assembly. The core
is essentially the product of 2 weeks of boredom and
a smattering of effort.

It is freeware and it is not to be distributed with game
ROMs and it is not to be modified or sold.

The CPU emulation is based on a modified version of
Neil Bradley's ([email protected]) assembly m6502 core.

A majority of the NES technical information used to create this
came from Marat Fayzullin's ([email protected]) great NES.DOC
and a lot of 'hacking' on my own.

Sound information was provided by Y0SHi ([email protected]) from
his NES technical document.

---------------------
What you need
---------------------

A 486 or Pentium running DOS or Windows 95/NT.

For the Windows version you MUST HAVE DirectX Version 3.0.
It's available somewhere on Microsoft's labyrinth of a website.
I'd recommend at least 16MB of memory for the Win95 version.

NESticle can take advantage of VESA 2.0 support if it exists.
If it does not exist, NESticle will resort to only the
video modes 320x200, 256x224, 256x240, 256x256.
You need about 8MB of memory for the DOS version. To play
larger games, 4MB of memory will just not cut it.

The DOS version currently supports 8-bit or 16-bit Soundblasters
or compatible, or the Gravis Ultrasound. 16-bit preferred, of course.
The Win95 version utilizes DirectSound for digital output (which
sucks horribly).

---------------------
How to work it good
---------------------

If you can figure out the japanese version of Pasofami
then you can figure out this.

Most of the menu options are self explanitory.
Load up a .NES rom from the File/Load ROM.
Execute the rom from CPU/Reset.

If you're running in a high-res mode (>320x240), the NES
game screen will appear in a window. You can maximize the window
with the "SQUARE" button in the title bar. You close the window with
the X button.

You can toggle the GUI on and off by pressing ESC.

You change the input devices from the Settings/RedefineInput menu(s).
No matter what the settings are, Enter/Tab are always Start/Select in order
to accomodate 2 button joysticks. Enter/Tab only work if the game window
has input focus (click on it) or the gui is disabled.

F5/F7 saves and loads your games. Essentially it stores the entire NES state
in a state file. Pressing the keyboard keys 0-9 (not the numeric keypad ones)
will change the current state slot for subsequent saves/loads:
0 = "xxxx.STA" (xxxx is the rom file name)
1 = "xxxx.ST1"
2 = "xxxx.ST2"
... etc, you get the idea.
The default slot whenever a rom is loaded is 0 (ie "xxxx.STA")

You can record movies with CPU/NES Movie/Record. This will create
a NES Movie file (*.nsm) which contains the NES state along with
recorded input so you can send them to your friends and bore them
to death. CPU/NES Movie/Stop will stop the recording.
Recording takes 2 bytes/frame, 120 bytes/second, 7K/minute,
and 432K per hour (10MB per day). When playing a movie, be sure
the correct ROM is loaded or else things'll get weird. Once the
movie is done playing NES control is relinquished.
One thing to beware, movies recorded with NESticle will not
be compatible with future versions if the emulation core changes.

The NSM files are backward compatible with STA files, in other
words, renaming zelda.nsm to zelda.sta will allow you to load the
movie as a normal state file and play from the movie's beginning point.
Additionally, STA files are backward compatible with SAV files,
renaming zelda.sta to zelda.sav will load it as battery backed mem.

To edit patterns, View/Pattern tables, then click on a pattern and edit it.
Right clicking on a pattern will change its attribute (palette), to aid
in drawing. If you wish, you can save the changes with File/Write VROM, and the
VROM will be written directly to the .NES file, so beware.
---------------------
ROMS and stuff
---------------------

NESticle currently uses the iNES single file cart format (*.NES).
It will support the pasowing format in the future.
The ROMs must be stored in the same dir as the .exe.

Here's a description of a sample cart 'ZELDA' and some possible extensions:

- ZELDA.NES
The actual ROM/VROM data preceded by a 16-byte header

- ZELDA.HDR
An alternate 16-byte header file. If NESticle encounters this in the dir
of the ROM, it will use this header instead of the one present in the
NES file.

- ZELDA.SAV
8K file representing the contents of the battery backed memory used
in some games. This file is automagically saved and loaded as needed.

- ZELDA.ST?
It's the 'state' file used by saved games.

- ZELDA.NSM
Recorded NES Movie.

- ZELDA.PAT
Text file containing ROM patches

- ZELDA.Dxx It's a dump of the 64k cpu address space. For debug purposes.
- ZELDA.Rxx It's a dump of all 16k rom banks. For debug purposes.


=========================================
GB97 Gameboy Emulator in 32 bit assembler
=========================================

To run a game, type GB97 <filename> . The filename does not need to end
in '.GB' but the program looks for a '.GB' image.

Example : GB97 ZELDA

There are no command line switches. All files should be in the same
directory (it makes life easier !)

Keys
====

Most of these keys are redefinable (except accelerate and escape I think)

Arrow Keys Joypad
Ctrl A
Alt B
Select TAB
Start RETURN
Accelerate EMU Keypad + (for getting past long title screens mainly !)
Quit ESCAPE
F1 and F2 Toggle Autofire on/off (must be set on in Configuration)
Backspace Reset
/ Switch Display Mode (between normal,stretch and tweak)
P Pause
C Colour the Game
F5 Load in saved game status
F7 Save game status

To activate the joystick, just press either button A or button B. If you
have problems with the joystick, you can disable it (put 0 in joystick
port address in CONFIG) and use JoyEmu (hopefully !) If anyone tries this
can they let me know if it works.

Saving & Loading
================

Each cartridge can have up to 8 saved games (called xxx.Ga0 through xxx.Ga7)
This seems to work ok on the dozen or so cartridges I have tested but it
may not work universally,so I suggest you save twice in different slots
to start with.... this is a bit of a monumental hack. Each file is
over 64k in length so don't save too many !

Important : The first version of this did not work properly because in a
major bout of dementia I forgot to save the Cartridge RAM !!! This is now
saved with the image, so games which use this save method before which
had battery backed Cartridge RAM in 2.732 will not reload properly into
later versions. Sorry ! this was all my fault. THIS ONLY APPLIES TO GAMES
WHICH HAD BATTERY BACKED CART RAM.

If you reload a game state and then exit the emulator saves the cartridge
RAM to disk, as you would expect. However if you RESET a game, it reloads
the cartridge RAM off disk, NOT from the saved image.

I will do my best to make sure that games saved with F7/F5 are backwards
compatible.

Thanks to Patrik Alexanderson & Martin Sjostrand for help with these bugs.

Speed
=====

The development was done on a 586/133,Pentium 120 and a DX2/66 without any
external cache. On all machines it was up to speed. If some games seem
a bit slow,try setting the display frame skip to 3. With the turbo switch
on the DX2/66 off (does this make it a DX2/25 or what ?) some games were
still playable by hacking the Modexx cycle counts (reducing them). If you
have a SX25 or something, please buy a DX2/66 ! It will work, albiet
slowly, on a 386.

Games that don't work
=====================

It has been mentioned that some games that don't work under VGB also don't
work under GB97. It should be noted that the underlying code is completely
different - even though it fits the same spec - interrupts etc. are done
a different way. However, there are now several games which work under GB97
which don't work under VGBDOS and I am working towards no failing
games ! (slowly)

Fixing for several game is built in to Gameboy 97. If the program detects
these games it automatically configures the emulator to run them. This can
be turned off by setting 'Fix ROMs' to False.

If you have problems - if the screen contains junk try 'Fudge Window'. If
the game locks try 'No Recursive Interrupts'. You can also try increasing
the Mode00 cycle value or other values - this works for Daedlian Opus.

There is now a list of non-working games on the home page at
http://users.aol.com/autismuk/gameboy.htm


***********************************************************************
MASSAGE V0.8 - Sega Master System/Game Gear Emulator by James McKay
***********************************************************************

New stuff
=========
* Bug fix to make Rainbow Islands playable.
* Game Gear stereo using the OPL 3 chip (in SB Pro (new version) and above).
Use /nostereo from the command line if you are having problems.
* Player 2 can be controlled by keys 1 - Up, Q - Down, W - Left, E - Right,
2 - "Button 1" and 3 - "Button 2". This is intended for using redefinable
joysticks which plug into the keyboard socket.
* Option to set target speed, using /speed from the command line.
* Obvious corruption fixed in Astro Warrior, Popeye, Surf Ninjas,
GP Rider, MahjongG.
* Less obvious corruption fixed in Ax Battler (on the bridge) and the
Sega TM bits (in Space Harrier.GG and Aerial Assault.GG etc.)
* Pop Breaker can now be played (but only in Japanese mode).
* Certain parts of the screen are pre-calculated which causes the speed to
be reported at a higher value, however it varies slightly.

Instructions
============

Started 23/07/96.
Today is 24/03/97.

This program emulates a Sega Master System and a Sega Game Gear.
A Pentium is strongly recommended, but is playable on a 486 with some frame
skipping.

How to use:
===========
massage - Starts the emulator with the file select screen.

massage /? - A not very good help, some of the options listed don't work.

massage <filename.sms>
or
massage <filename.gg>

Loads and runs the named cartridge, however the cartridge must be in a
specific format:

1. It can either be raw, or have a 512 byte header. I have tested both
kinds and they work.
2. It must have the suffix .sms for an SMS game, or a .gg suffix for a Game
Gear game.

NOTE: Only /?, /nojoy and loading a file works in the shareware version.

massage /delay <num> - A rather poor slowdown method, num can be 0-65535,
where 65535 is a ridiculously long delay and 0 is no delay, use this if it
is running too fast. Use low numbers to start with.

massage /mono - This is a relic from another piece of software I wrote, but
it does have the advantage that it basically switches off the screen making
it a bit like V0.0a. Allowing for speedy playing of the music.

massage /frame <num> - This sets the screen to update 1/num times, (where 0
is 256) this is highly recommended for speed trouble! I use /frame 5 on a
486SX-25! (Although it is not full speed, about 94%).
The emulator now tries to detect which screen update is most suitable for
you, and will assign a value between 1 and 5 to this when you switch on, or
when you swap between small and large GG screens.

massage /jap - This convinces some Master System games that they are running
on a Sega Mark 3 (or indeed a Japanese Master System) console, which means
some games use Japanese. Also gets some Game Gear games to use Japanese as
well.

massage /nojoy - Switches off the joystick if you have a nasty old analogue
wobbler that doesn't work properly.

massage /ggpad - Select Gravis Gamepad "swapped buttons" option.

massage /p2joy - Use Joystick as player 2 controls, allows people who only
have one joystick to use keys as P1, and joystick as P2.

massage /bswap - This switches button 1 and 2 on your PC joysticks.

massage /4bpad - Selects 'other' 4 button pad, in other words a 4 button pad
that doesn't have the buttons in funny positions.

massage /li <num> - Chooses line interrupt method, <num>=0 to 2. 0 is the
new improved default method. Method 1 allows playing of Altered Beast and
method 2 allows playing of ChessMaster.

massage /nofm - Used to /fm but now fm is by default! This switches off the
fm chip, so that you can use the PSG in games which can use one or the other.

massage /approx - Selects colour approximation mode. This is what all the
old versions of Massage (and sms) used, it can handle games that change
palette colours mid-screen, but is somewhat slower. Game Gear games will
look worse.

massage /262 - Selects 262 line option, a trick which gives a bit more speed,
but some games don't like it.

massage /speed <num> - Allows you to set the target speed, for example, say
you wanted to play at 120% you could use this option and every time the delay
value is calculated it will run at 120%. Or, for example, if you can run
frame 1 at 99%, and frame 2 at 150%, but you prefer frame 1, then you can set
the target speed to 99% and the frame skip autodetector will choose frame 1.

massage /nostereo - Disables Game Gear stereo. I am using the OPL 3
soundchip to emulate the stereo (normal Adlib is OPL 2), any card from SB Pro
(new version) and above should have one. The old version of the SB Pro had
two OPL 2 chips and therefore will require this option. I could not find a
way to autodetect the presence of the OPL 3 chip, some soundcards will
require this option even if they do seem to have an OPL 3 chip!

KEYS:
=====
Escape - Reset
Space - Pause on Master System, or Start on the Game Gear.
Alt - Button 1 (Player 1).
Ctrl - Button 2 (Player 1).
Cursor Keys - Up, down, left and right. (Player 1).
F1: Help and options screen

The following are intended for use with a redefinable joystick which plugs
into the keyboard socket. (Master System only).

1 - Up (Player 2).
Q - Down (Player 2).
W - Left (Player 2).
E - Right (Player 2).
2 - Button 1 (Player 2).
3 - Button 2 (Player 2).


=================================================================
genecyst Version 0.30 (09/25/97)
by Bloodlust Software
=================================================================

Do not send any files without asking first.

Do not ask about SNESticle (or anything else you want emulated).

I realize that the FM emulation is pretty bad, but since I dont have a
(working) Genesis anymore I'm going mainly from memory and my tonedeaf ears.
The envelope rates, detune, and relative volumes need to be tweaked heavily.
Most games sound better if you turn up the bass on your soundcard.


---------------------
What it is
---------------------

genecyst is a DOS based emulator for the Sega Genesis.

The 68K, Z80, DAC, digital FM emulation and graphics
rendering were written from *scratch* in assembly. The rest is in C++.

It is freeware and it is not to be distributed with game
ROMs and it is not to be modified or sold.

Loads roms in the BIN, SMD or split (*.1) file formats.

OS/2 users: -disablelfn


---------------------
Revisions
---------------------

Version 0.30:
-Encapsulated gui.vol
-DMA transfers now eat clock cycles
-Better LFN detection
-Raster based effects (see below)
-Sprite masking
-Correct sprite priorities
-Rendering optimizations
-Z80 rewritten
-Speed throttle disabling
-'Force display enable' option added (see below)
-Wave output logging added
-Digital YM2612 FM synthesis
-Most of 68k emulation rewritten
-Cell based V-scrolling
-Split cart format support
-State display
-'DMAfix' prevents vram writes during DMA transfers
-Digital PSG emulation
-Faster DMA transfers
-Accurate HVcounter
-'version' command line option
-Scanlines in mode 256x256
-Correct window placement/priority
-Romdir saved
-CRAM reads
-Changed z80 busreq
-Fixed SSP/USP problem with state restores
-68K: Added BTST Dx,# instruction
-68K: Fixed STOP instruction
-Fixed joystick calibration
-Small font added
-Z80 speedup

---------------------
What it does
---------------------

What is emulated:

-68000 CPU @ 8Mhz
-Z80 secondary CPU @ 4Mhz
-DAC output
-YM2612 FM synthesis
-TI76489 PSG
-VDP
-DMA
-ScrollA/ScrollB/Sprites/Window
-Some raster effects
-H/V interrupts
-Dual 4-button/7-button joypad emulation
-US/Japan/Europe variants

Other neat features:

-Multiple save states and battery backed ram
-Joystick support
-VESA support
-Save .pcx snapshots
-Game genie codes
-Rom checksum fixer
-Wave output logging

---------------------
What you need
---------------------

A Pentium with at least 8MB of RAM.

genecyst can take advantage of VESA 2.0 support if it exists.
If it does not exist, genecyst will resort to only the
video modes 320x200, 256x224, 256x240, 256x256, 320x224, 320x240.
The last 2 modes are planar (unchained) ModeX modes, meaning that
they are not linear and are very SLOW. Get a VESA extender such as Scitech
Display Doctor (www.scitechsoft.com) and use 320x240 instead.