+---------------------------------------------------------+\
|                                                         ||
|              DTmnt - Dave's TMNT emulator               ||
|                                                         ||
+---------------------------------------------------------+|
 \---------------------------------------------------------+


#include <std_disclaimer.h>
   "I do not accept responsibility for any effects, adverse or otherwise, 
    that this code may have on you, your computer, your sanity, your dog, 
    and anything else that you can think of. Use it at your own risk."

--------------------
There is a configuration file called DTMNT.INI - edit this with
NotePad or Edit.

Version 0.54
------------

Support for the complete sound files.

IMPORTANT - The files TMNT.C13 (aka 963-a26) and the
file TMNT.D18 (aka 963-a27) are meant to be 128k in size, NOT 64k.

Imcomplete files will cause DTMNT to flash a warning as it loads.

(I remind you not to e-mail me about this!
 Rom requests will be ignored!)


Version 0.53
------------

Again just a quick upgrade:

+ Parallel port support for 4 SNES joypads (like ZSNES)
  Cheers to Adrian for this idea.
  By default this feature is off - see below.
+ A few other bits and pieces to do with sound

Assuming you've figured the electronics side of this (PLEASE DON'T E-MAIL
ME ABOUT THIS AS I HAVEN'T A CLUE!), here is how to activate them.

1) Delete DTMNT.INI, and run DTMNT so it gives you a fresh one
   (This is always a good idea with a new version)

2) Plug in your adapter/pads into LPT1 or LPT2
   (2 pads apparently go in each port)

3) Set the lpt_read variable in DTMNT.INI to tell DTMNT which ports are
   safe to read pads from:
   IF LPT1 has pads in it set lpt_read 1
   IF LPT2 has pads in it set lpt_read 2
   IF BOTH PORTS have pads in them set lpt_read 3

   (Basically if you try to read from a port which has something other
    than pads in it, e.g. zip drives or printers, something may mess up.)

4) By default Raphael is mapped to joypad one in LPT1, but you can
   redefine any input in the normal way (Hit R in the emulator).

Version 0.52
------------

Okay - there's not much progress here... I've been busy with other stuff!

+ Thanks to help from 'Jesus LA' (thanks!) I changed the way the
  drum chip is emulated - it's much more accurate now.
  What this means is...
+ Orchestra hits (chord sounds) are now played

+ SBSND driver doesn't try to change mixer settings (people complained
  it was too quiet - use the Windows mixer, or DOS mixer program -
  I think it's more reliable)

- Still the romset's sound is incomplete (this isn't up to me I'm afraid)!

- Some people have a bug where if you use autoframeskip (which is the default)
  and SBSND, it hangs on a purple screen.
  If this sounds familiar, find out some more info
  (do you have a joypad on Grip mode... or something)
  and then e-mail me.



Version 0.51
------------

To clarify things there are TWO ways of getting sound out of DTMNT:

1) Use my code, SBSND, which directly accesses the SoundBlaster in a
   very simple and fast way
   You do this by setting using_digi_card 100 in DTMNT.INI
   It is also the default.
2) Use Allegro's code, which is a bit slower and a lot less direct
   (e.g. it resamples the output) but supports the Gravis UltraSound
   and the ESS AudioDrive.

I recommend you use 1), mainly because 2) adds about 100k onto the
emulator and I hope to phase it out!
If you have a SoundBlaster or a SoundBlaster compatible,
you will want to:

a) Delete DTMNT.INI
b) run DTMNT again - this time all SoundBlaster-compatibles should
   work using the faster SBSND code.
c) If not, return to Allegro's sound (using_digi_card 5 or lower)

What's new:

o SBSND SoundBlaster code fixed for low end soundblasters.
o Drum emulation improved (volume, more drums, pitch)
  Sounds very good!
o If you use SBSND, press O for an visual waveform, and again to
  see the 'drum' chip's registers (debug info for me)
o Waveform sounds are now clipped (no static when loud sounds are played)

Also the clangs aren't remapped anymore (i.e. hte robots go 'clang'
when you hit them, not 'kaboom').
The clangs are loud, so don't deafen yourselves, alright?

Here's what it used to be like in DTMNT.INI in case you'd like to retain
your hearing :)

scodes_remapped
scode_remap 0x04  0x10
// hitting a robot!
scode_remap 0x05  0x0d
scode_remap 0x1d  0x23
// Hitting shuriken
scode_remap 0x25  0x0d
scode_remap 0x37  0x08
// smashing a window
//scode_remap[0x40] 0x17

Version 0.50 - The HUGE release!
--------------------------------

What's new:
o Drums - but they are not truly emulated, kick/snare/hihat
  are just hacked in.
  I left them in for 0.50 just because I happen to like them
  (I don't want e-mails saying they don't sound right -
   I don't expect them to!)
o New SoundBlaster code (SBSND) rewritten by yours truly
o SAVE and LOAD functions:
  o Virtual arcade machine never loses power (ram is saved and loaded
    before/after play)
  o Save (F5) and load states (F7). Use F8 to toggle save slot.
  o MOVIE recording:
    Shift-F5 to start/stop record
    Shift-F7 to start/stop playback
o SPEECH and THEME MUSIC are now back in
Also, it's now clear that the ROM set is incomplete, which is why only
1/3 of the speech is played. The ROM set is being updated (not by me).
o DTCFG.TXT has been replaced by DTMNT.INI
o Some command line options for commonly used functions:
  -modex -vesa1 -veas2l -vesa2b -vga -resXxYxD
  -reboot (reset arcade machine)
  -sound -nosound (try for more speed)
o MAME's new ym2151 code, thanks guys!
  (Not a huge difference, but you might want to take these lines out of
   DTMNT.INI:
scode_remap 0x04 0x10
scode_remap 0x05 0x0d
scode_remap 0x1d 0x23
scode_remap 0x25 0x0d
scode_remap 0x37 0x08
   These sound effects are a little bit more faithful now
   but personally they do my ears in!

  
Version 0.49
------------

Whats new?
o A bit more user-friendly (e.g. autodetects which rom set you have)
o Fire flicker effect is now an option
o Fixed a bug in hicolor PCX saving (Allegro's fault, not mine!)

And of course, SOURCE CODE is now availible!

------------

DTMNT is an emulator for the Teenage Mutant Ninja Turtles Arcade machine.
This game is great, but emulation has only partially done it justice -
the sound in particular is far from perfect.

Still hopefully it will be enough to create some nostalga for you!


---------------------------------------
       Keys 'n' stuff
---------------------------------------

F1-F4 - put coins in

Defaults:
Keys mapped to Leo
  Keys are:
  up,down,left,right
  ctrl - wack/start button
  alt - jump
Joystick mapped to Mike
Mouse mapped to Don

R - redefine input

If you want to use the mouse for a certain player, redefine the keys
and instead of moving the mouse when asked for up/down/left/right, *click*
the mouse 4 times instead.
When asked for jump/attack, press the button you want to use (as normal).

F12 - emu keys on/off
F11/10 Force int5 on/off (could cure rare blank screen trouble?)
F9 - Take a snapshot of the screen and save in tmntNNNN.pcx
I - f.p.s on/off

S - toggle auto_frameskip on/off (default on)

Minus (not keypad) - Frame skip down (slower)
Plus  (not keypad) - Frame skip up   (faster)
(no effect if auto_frameskip is on)

P - pause
A - Advance frame
1-4 Turn on/off layers
0 - Show only sprites
9 - Show everything
V - toggle vsync on/off
F - Fit image to screen
  (cycle 0 - no fit, 1 - fit, 2 - fit and show 'messy border'
   2 is a debugging tool for me!)
E - Enter a sound code
W - toggle displaying none, some and all sound codes,
    as the 68000 produces them.
T - Trippy sprite mode - displays all frames

Config File
-----------

Called dtmnt.ini - change it to suit your needs with Notepad, EDIT, etc.

Known problems
--------------

-- Sprite slipping when backdrop moves
   - (e.g. doors) - a mystery at the mo, but I have a few ideas.
   I tried delaying the sprites by one frame, and that fixed the doors
   but not the Mole. Strange.

-- Sound ain't perfect!

For your Info
-------------

I have never written an emulator before - it's harder than it looks!

Many Thanks to:
---------------

KONAMI for such a classic piece of code!

Jeff (TMNTemu) and the MAME team for LOADS of info.
MAME for the 68k core.
Tatsuyuki Satoh for the YM2151 bit!

DJ Delorie for DJGPP.  http://www.delorie.com/djgpp/
Shawn for Allegro.     http://www.talula.demon.co.uk/allegro/
My mates for going WOW lots at the emulator.
All you guys for playing it!

---------------

Current Homepage
http://www.cybermillenia.com/dayvee/

Old homepage:
http://www.geocities.com/Paris/Parc/4330/

My e-mail:
dayvee@rocketmail.com

(Rom requests will be ignored, so don't bother!)

---------------

