=================================================================
 Callus                                  Version 0.23  (11/15/97)
 by Bloodlust Software
=================================================================

New email again: bldlust@maelstrom.net 

Do not send any files without asking first.

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

Get Scitech Display Doctor at www.scitechsoft.com!

The arcade resolution is 384x224 and there is no SVGA equivilent.
For compatibilities sake, the default resolution is 320x200 which is
severely clipped. To change the resolution you must use the '-res x y'
command line option (or just edit callus.ini). The best resolution
is 400x300 (-res 400 300), although not all cards natively support that
res (which is why you should get SDD). Other resolutions to try are
512x384, 640x480 and up. There's also tweaked res's 384x257 and 384x224
which may not work on all monitors/vidcards. These video modes are planar and 
are a lot slower than a regular VESA mode.

Free RAM requirements:
 12MB for Final Fight, UN Squadron, Area88, Carrier Air Wing, 
          Magic Sword, 1941, Megatwins
 16MB for Strider, Captain Commando, King of Dragons, Willow
 20MB for SF2 WW/CE/Turbo, Three Wonders
 24MB for Rockman The Power Battle
Having sound enabled requires an extra MB of RAM.
It is possible to use virtual ram but that is neither recommended nor supported.

In Win95, the MS Sidewinder is virtualized to DOS apps as an analog joystick
by the Win95 Sidewinder drivers. For Callus to read it in its native digital 
mode (with access to all 10 buttons) you have to hit the mode button a few times.
You may also need v1.5 (not v1.0) of the Win95 Sidewinder software in order for
it to work (www.microsoft.com/sidewinder).

To get into a game's test mode now, you have to hold down F11 (the test 
mode button) and then hit F10 to reset. Keep holding F11 until
you get into test mode. This was done because some games dont respond
well to the testmode dipswitch. 

---------------------
     Identity
---------------------

Callus is a DOS based emulator for the Capcom System 1 hardware.

Currently runs: 
 Final Fight (US and Jap), 
 Street Fighter II The World Warriors
 Street Fighter II Championship Edition (US and Jap)
 Street Fighter II Turbo (US and Jap), 
 Strider (US and Jap), 
 UN Squadron (US) and Area88 (Jap), 
 Carrier Air Wing (US and Jap)
 Three Wonders (US),
 Captain Commando (US and Jap),
 King of Dragons (US and Jap),
 Willow,
 Knights of the Round,
 Magic Sword,
 Megatwins,
 1941 (Jap),
 Rockman The Power Battle (Jap)

The graphics rendering and palette mapper
were written from *scratch* in assembly.
The 68k and Z80 are the same as used in genecyst.
The rest is in C++.

It is freeware and it *MUST NOT* be distributed with arcade
ROMs and it cannot be modified or sold.


---------------------
     Novelty
---------------------

Version 0.23:
 -Fixed minor sprite bug
 -Test mode altered
 -Fixed minor palette mapper bug
 -Japanese Rockman The Power Battle support (rockmanj)
 -Megatwins support (mtwins)
 -Japanese 1941 support (1941j)
 -Japanese King of Dragons support (kodj)
 -Magic Sword support (msword)
 -Knights of the Round support (knights)
 -Carrier Air Wing US support (cawing)
 -Willow support (willow)
 -Street Fighter II support (sf2)

Version 0.22:
 -"-FPUcopy" and "-MMXcopy" speed up vesa modes
 -Common ini file (callus.ini) for video/dir/inputtype settings
 -Japanese Captain Commando support (captcomj)
 -Japanese Strider support (striderj)
 -384x224 tweaked mode 
 -King of Dragons support (kod)
 -Captain Commando support (captcomm)
 -Area 88 support (area88)
 -Three Wonders support (3wonders)
 -Japanese Final Fight support (ffightj)
 -Fixed Carrier Air Wing Jap

Version 0.21b:
 -"-altmode" uses the original 384x257 used in .20
 -"-vesa6bit" will force 6bit VESA palettes
 -Fixed banking problem in VESA banked modes
 -Japanese Street Fighter II Turbo Support (sf2tj)
 -Partial Carrier Air Wing Jap support (cawingj)
 -UN Squadron support (unsquad)
 -Screen centered in clipped video modes
 -Uses 8 bit VESA palette DAC (if present)
 -Palette intensity bits (disabled by default, Alt-I or -intensity)
 -Z80 state saved in save states
 -Fixed 2nd player kick buttons
 -Japanese Street Fighter II Championship Edition Support (sf2cej)
 -Modified 68k byte order
 -Street Fighter II Championship Edition Support (sf2ce)
 -Implemented plane enable bits (may not be totally correct)
 -Strider support (strider)
 -Native MS Sidewinder Gamepad support
 -Added SNES Pad input devices
 -Lowered ADPCM output sample rate
 -Start/Coin inputs now mappable to joystick buttons
 -Adjusted 384x257 mode

Version 0.20: 
 -Added tweaked planar mode 384x257 courtesy Brad Thomas
 -Layer toggling (Alt+'1'-'4')
 -Much improved palette mapper (colors should be 99% arcade perfect)
 -"-noelephant" command line option (you'll be glad you used it)
 -Dip switch menu (F12)
 -Alternate keyboard settings with "-altkey" 
 -Separate .ini file for each game
 -Multi-game support: "callus <gamename>"
 -Manual frame skip settings
 -Line based engine for SF2 parallax'd floors
 -Street Fighter II Turbo (Hyper Fighting) support
 -Better sprite/plane priority
 -Many rendering optimizations
 -Now should abort if it runs out of RAM
 -"-double" command line option
 -ADPCM output
 -Z80 emulation

Version 0.10:
 -Initial release


---------------------
     Deficiency
---------------------

Digital YM2151 is on hold until I get it sounding better (very soon now).
Better soon than never.

Hicolor renderer (probably not worth it)
Hiscore saving (just use savestates).

SF2 sprites and BG are out of sync. 

Some tiles should be half in front and half behind sprites.
I (still) can't figure out how this is supposed to work.

More rendering optimizations (such as overdraw reduction and mapped tile 
caching) are theoretically possible.

Other CPS1 games (ROMs and arcade boards for which i do not have)

Captain Commando, King of Dragons, & Rockman dipswitches are incomplete

Third player KOD/KOTR input

1941 is rotated, but playable (need a tweaked 224x384 mode now). 

---------------------
     Necessity
---------------------

A Pentium with at least 16MB or 24MB of RAM.
VESA support (get Scitech Display Doctor)
Soundblaster or 100% compatible optional.

The arcade ROMS are required to play the game.
These I cannot provide so don't even ask.
You may only be in possession of copyrighted ROMs 
if legally entitled to do so.

The ROMs for Final Fight are to be stored in the subdir "\FFIGHT".
The following ROMs are required:
 ff01-01m.bin  or  FFIGHT.01   VROM
 ff03-03m.bin  or  FFIGHT.03   VROM
 ff05-05m.bin  or  FFIGHT.05   VROM
 ff07-07m.bin  or  FFIGHT.07   VROM
 ff30-36.bin   or  FFIGHT.30   68K Code
 ff31-37.bin   or  FFIGHT.31   68K Code
 ff32-32m.bin  or  FFIGHT.32   68K Data
 ff35-42.bin   or  FFIGHT.35   68K Code
 ff36-43.bin   or  FFIGHT.36   68K Code
 ff09-09.bin   or  FFIGHT.09   Z80
 ff18-18.bin   or  FFIGHT.18   Sound
 ff19-19.bin   or  FFIGHT.19   Sound
The ROMs for Final Fight Japanese go in the subdir "\FFIGHTJ".
The following ROMs are required:  ff*.bin

The ROMs for Street Fighter 2 World Warriors 
are to be stored in the subdir "\SF2".
The following ROMs are required:  sf2*.rom, sf2gfx*.rom

The ROMs for Street Fighter 2 Turbo (Hyper fighting) 
are to be stored in the subdir "\SF2T".
The following ROMs are required:
  SF2.01 - SF2.13   VROM    (Same for all variations)
  SF2.09,18,19      Sound   (Same for all variations)
  SF2.21,22,23      68K     (Street Fighter II Turbo US)
  SF2TJ.21,22,23    68K     (Street Fighter II Turbo Japanese)
  SF2CE.21,22,23    68K     (Street Fighter II CE US)
  SF2CEJ.21,22,23   68K     (Street Fighter II CE Japanese)
The graphics and sound roms for SF2 CE/CEJ/TJ are identical
to those in SF2T. Only the 68k roms differ.  To simplify
things, these variations all run from the same subdirectory ("\SF2T").

The ROMs for Strider go in the subdir "\STRIDER".
The following ROMs are required:
    strider.01-08           VROM
    strider.09,18,19        Sound
    strider.30,31,32,35,36  68K 
The ROMs for Strider Jap go in the subdir "\STRIDERJ".
The following ROMs are required:  sth*.bin

The ROMs for UN Squadron go in the subdir "\UNSQUAD".
The following ROMs are required:
    unsquad.01,03,05,07     VROM
    unsquad.09,18           Sound
    unsquad.30,31,32,35,36  68K 
The ROMs for Area 88 go in the subdir "\AREA88".
The following ROMs are required: ar*.bin

The ROMs for Carrier Air Wing go in the subdir "\CAWING".
The following ROMs are required:  ca_*.rom, ca_gfx*.rom
The ROMs for Carrier Air Wing (Jap) go in the subdir "\CAWINGJ".
The following ROMs are required:  caj*.bin             

The ROMs for Three Wonders go in the subdir "\3WONDERS".
The following ROMs are required:
    3wonders.01-08                    VROM
    3wonders.09,18,19                 Sound
    3wonders.28,29,30,31,33,34,35,36  68K 

The ROMs for Captain Commando go in the subdir "\CAPTCOMM".
The following ROMs are required:
    gfx_01.rom - gfx_08.rom                      VROM
    cc_09.rom,cc_18.rom,cc_19.rom                Sound
    cc_22d.rom,cc_23d.rom,cc_24d.rom,cc_28d.rom  68K 
The ROMs for Captain Commando (Jap) go in the subdir "\CAPTCOMJ".
The following ROMs are required: cc*.bin

The ROMs for King of Dragons go in the subdir "\KOD".
The following ROMs are required: kod*.rom
The ROMs for King of Dragons (Jap) go in the subdir "\KODJ".
The following ROMs are required: kd*.bin

The ROMs for Willow go in the subdir "\WILLOW".
The following ROMs are required: wl*.rom, wl_gfx*.rom

The ROMs for 1941 (Jap) go in the subdir "\1941".
The following ROMs are required: 41*.bin

The ROMs for Megatwins go in the subdir "\mtwins".
The following ROMs are required: ch*.rom

The ROMs for Rockman The Power Battle (Jap) go in the subdir "\ROCKMANJ".
The following ROMs are required: rcm*.bin


---------------------
     Utility
---------------------

It's painfully obvious there's no GUI (yet), however the emu operates
similarly to NESticle and genecyst.

Keys are as follow:

 F1:  Player 1 start
 F2:  Player 2 start
 F3:  Coin 1
 F4:  Coin 2
 F5:  Save state
 F7:  Load state
 F9:  Save PCX snapshot
 F10: Reset emulation
 F11: Test mode button (hold down and press F10 to get into test mode)
 F12: Dipswitch menu

 +/-: Adjust frameskip

Alt-V:          Toggle V-sync
Alt-D:          Toggle digital sound effects
Alt-P or Pause: Pause emulation
Alt-I:          Toggle palette intensity

The default keys for the first player in 2 button games
 are CTRL/ALT and the arrow keys.
The default keys for the first player in 3 button games
 are a/s/d and the arrow keys.
The default keys for the first player in 6 button games
 are a/s/d/z/x/c and the arrow keys.
 
If you want to use a joystick, you have to edit the 'ini' file that is
created and change the "-setinput 1" to:

    KEY1        Keyboard layout 1
    KEY2        Keyboard layout 2
    JOY1        2 button analog joystick 1
    JOY2        2 button analog joystick 2
    4BUTTON     4 button analog joystick/gamepad
    6BUTTON     6 button analog joystick/gamepad
    SIDEWINDER  Microsoft Sidewinder Gamepad in digital mode (10 button)
    GRIP1       GrIP slot 1 (8 button)
    GRIP2       GrIP slot 2 (8 button)
    SNESPAD1    SNES Pad 1 connected via LPT1 (8 button)
    SNESPAD2    SNES Pad 2 connected via LPT1 (8 button)

In 2 button games (FF,Strider,etc), if you use a joystick with 4+ buttons, 
the other 2 buttons function as player start and coin input. 

In 6 button games (SF2T/CE), same goes for input devices with 8+ buttons. 

In 3 button games (Rockman,mtwins), if you use a joystick with 4 buttons, 
the other button functions as player start. If you use a joystick with
more than 4 buttons the other 2 buttons function as player start and coin input. 

The GrIP support doesn't seem to work for everyone, but from what I've been told
its the fault of the DOS SDK which I can't do much about.
Also, since theres no way to interactively calibrate your joystick, you can use
NESticle or genecyst to calibrate and then copy the 'joythresh' settings
to callus.ini. Sorry for this inconvenience.

SNES Pads can be connected to your computer with an adapter to the parallel port.
See http://www.geocities.com/SiliconValley/Way/8843/ for more info.

On a MS Sidewinder, start functions as player start and the M button functions
as a coin input. Reading the MS Sidewinder in its native digital mode is much 
faster than as a 6 button analog joystick. Under 95 you may have to toggle the mode
button in order to get into digital mode. You must also have v1.5 of the MS SideWinder
software for it to work under 95 in digital mode.

F5/F7 saves and loads states. Pressing the keyboard keys 0-9
will change the current state slot for subsequent saves/loads.
The state filename follows the form "xxxx.CS?" where 'xxxx'
is the romname and ? is the current save slot (0-9).

With the '-altkey' command line option, the more common keys '1'-'4' function as
player start/coin input however save slots 1-4 aren't accessable (I dont know
a good way to do this).

To change the save/pcx dirs you have to manually edit the ini as well.

To reduce "shearing", enable vsyncing and disable autoframeskipping 
(-frameskip 1). "-exclusive" and/or running under pure DOS helps too.

Having the palette intensity bits enabled really throws a wrench into
the palette mapper code (plus you really need vsync on for it), so its 
left as an option.

---------------------
    Voluntary
---------------------


@<filename>     : Parses the file <filename> for command line options

-res <xw> <yw>  : Sets the resolution to xw,yw on startup.

-setinput <num> <type>
                : Sets input device <num> to <type>
-remapbut <device> <a> <b> <c> <d> <e> <f> <start> <coin>
                : Remaps buttons for <device>
                : <device> can be JOY1, JOY2, 4BUTTON, GRIP1, GRIP2, 6BUTTON, SIDEWINDER
-setkey <device> <ul> <u> <ur> <l> <r> <dl> <d> <dr> <a> <b> <c> <d> <e> <f> <start> <coin>
                : Sets the keyboard scancodes for <device>
                : <device> can be KEY1 or KEY2
-setjoythresh <num>  <left> <right> <up> <down>
                : Sets the joystick threshold for analog joystick <num>
                : left,right,up,down define the joystick's "dead-zone"
-analogjoyres <num>
                : Sets the maximum number of times the joystick port
                : is polled. Increase this number if the calibration values
                : seem to max out.

-vsync <ON/OFF> : Wait for the vertical sync to draw frames
-frameskip <x>  : Sets frameskip (1-8 or "AUTO" for autoskipping)

-savedir <dir>  : Sets the directory for state files
-pcxdir <dir>   : Sets the directory for saving snapshots

-? or -h        : Display command line help
-novesa         : Don't use VESA extensions
-linear         : Force linear VESA mode
-banked         : Force banked VESA mode

-dip <a> <b> <c>: Sets the hex values for the dip switches

-exclusive      : This switch will disable windows multitasking.
-altkey         : Alternate player start/coin input

-fpucopy        : Uses the FPU to do pageflips, only faster on Intel Pentium processors
-mmxcopy        : Uses MMX to do pageflips, only for MMX processors (faster than FPU)

---------------------
    Diplomacy
---------------------

Bloodlust Software
bldlust@maelstrom.net

The Capcom System 1 arcade board can play the following games (and
perhaps others):

 Forgotten World
 Dynasty Wars
 Mercs
 Nemo
 Warriors of Fate
 Cadillacs and Dinosaurs
 Muscle Bomber Duo
 Ghouls 'n Ghosts 
 Capcom World 1 and 2
 Capcom Baseball
 MadGear/Lead Storm ?

Please do not send any files without asking first.

I would also be entertained by info or files relating to the Capcom System-2.

Street Fighter I was made in 1987 and most likely is not CPS-1. 

---------------------
     Gramercy
---------------------

Special thanks to ShinobiZ, Argyle, Paul Swan, RASCAL, 
 Org, Cabbe, Virtu-Al, and Crowbait

Brad Thomas, Charles Mac Donald, Dirty Digger and Benny Boola Hill

Y0SHi, Darknight and Dirty Digger for kindly donating webspace.

Thanks to Robert William Grubbs for writing his document 
 on reading the MS Sidewinder digitally in DOS. 

The authors of PMODE/W, a great DOS4GW replacement.

And especially Capcom, for making undoubtably the best
 arcade games in existence (except, of course, for the 
 generic shooters).

---------------------
     Legality
---------------------

Callus Copyright 1997 Bloodlust Software
Final Fight, Street Fighter 2, Street Fighter 2 Turbo, Street Fighter 2 Championship Edition,
 Strider, UN Squadron, Carrier Air Wing, Three Wonders, Area 88, Captain Commando,
 King of Dragons, Willow, Knights of the Round, Magic Sword, 1941, Megatwins,
 Rockman The Power Battle and all other CPS1 games mentioned are 
 registered trademarks of Capcom and their arcade ROMs are copyrighted by Capcom.
You may only be in possession of copyrighted ROMs if legally entitled to do so.
Neither Bloodlust Software nor the author are affiliated with Capcom.
Callus is freeware and can be distributed freely as long as it is not
 modified and ROMs are not packaged with the program.
When you use this software you do so at your own risk. The author is
 not responsible for any loss or damage resulting from the use or
 misuse of this software.
If you do not agree with these terms delete this software now.

