
                               semu v0.1.11
                             by  Chuck Mason


semu is a Sega Saturn emulator written completely in C.
It does NOT run commercial games (afaik) and plays some sound via -m.

I want to thank Mike Tedder (author of Project UnReality) for the support he
has given me throughout this project.

Table of Contents
---------------------------------------------------------------------------

1.) What's New
2.) Disclaimer
3.) System Requirements
4.) Things you should know about semu
5.) Current Progress
6.) Compiling
7.) How to contact the authors / www site address
8.) The Debugger
9.) Credits

1.) What's New
---------------------------------------------------------------------------

A complete history of everything new can be found in the ChangeLog file.

2.) Disclaimer
---------------------------------------------------------------------------

I, Chuck Mason, am not responsible for any damages caused by the use
of this software. This software is released under the GPL v2. Any questions,
read GPL. If you use, redistribute, modify or in any way change semu, then you
hereby accept the agreements listed under the GPL; you also take
responsibility of law by accepting those terms. 

3.) System Requirements
---------------------------------------------------------------------------

Minimum System that semu can run on:

- 386 processor
- 4MB (?) of RAM (You need a few KB free..)

Somewhat Recommended System (for future advancement):

- Pentium 200 processor
- 24MB of RAM
- SVGA card
- Sound Blaster or 100% compatible

4.) Things you should know about semu
---------------------------------------------------------------------------

Not many things to say. If you want to add/change/fix things in or about
semu's source code, please email me a patch of what you have changed and if
I like it, then I'll include it in the official distribution. 

5.) Current Progress
---------------------------------------------------------------------------

The following are implemented :
- Almost complete SH1 processor -- all opcodes emulated, need to implement
  timing, etc.
- Fully functional SH1 interactive debugger
- Almost complete SH2 processor -- all opcodes emulated, need to implement
  timing, etc
- Fully functional SH2 interactive debugger
- Misc things..

6.) Compiling
---------------------------------------------------------------------------

semu should compile just by typing 'make' after untar. There are a few
things you might want to change to suit your needs. They are (in Makefile):
CFLAGS

Add -DNOCDROM if you wish not to have cdrom support, or
Remove -DDEBUG if you wish not to have debugger support.

If you have a cross compiler (like gcc-go32, which I do), you can uncomment
the lines which make a dos build. Then make should work the same way (make
sure -DDOS is defined).

Otherwise, semu should compile fine.

7.) How to contact the authors / Homepage Address
---------------------------------------------------------------------------

The semu homepage is located at: http://emu.simplenet.com/semu

When sending mail to the authors, please follow these guidelines to save
  time.  These rules also apply to any other emulation authors:

* Please don't send requests for ROM Images (or games, or cds)
* Please don't ask when the next version will be out
* Please read and understand the entire readme file.  Chances are that
    the message you are about to send might be covered here.
* Please use your common sense when writing an email.

Don't ask to be a beta tester. Hello? The source is freely available
download it and test it yourself. Updates to the program are frequent so you
really shouldn't be complaining.

Once you know that your message does not relate to the above, e-mail me:
	Chuck Mason: chuckjr@sundial.net

8.) The Debugger(s)
---------------------------------------------------------------------------

Note: There are _two_ debuggers at this point in development: The sh1 and
sh2 debugger. They're enabled with the command line arguments -1 or -2
respectively.

Note: The debugger is enabled if you compiled with -DDEBUG defined, in which, 
when the SH2 CPU encounters an invalid opcode will enter the debugger

Here are the commands:

e,q : Exits the debugger
s   : Executes the current instruction
k   : Skips the current instruction
g   : Continues execution until breakpoint (unimplemented) or invalid opcode.
o   : Displays the next opcode (not name, only hex opcode and PC offset)
p   : Displays all Registers and the next opcode pointed to by PC
d x : Dumps memory at x. If x is omitted then dump begins at 0. Each
      consecutive d[ump] will start at x+$50.
w x y : Writes memory. Stores value Y at address X. Values are hex.
r   : Resets all parts of the Processor including registers and PC.
h,? : Shows the help.
b   : Swaps all bytes (i.e. every first and second bytes are reversed).
v   : Shows version.
i   : You can execute opcodes by typing 'i xxxx' where xxxx is the opcode.
a   : Dussasemble zone .. 

set R[0-15] <value> : will set register rX to <value>
	example. set r0 80000001
		 set r10 7ffffffe

Also, type 'show warranty' or 'show copying' for legal information.

The SH1 and SH2 have the EXACT same commands in the debuggers.

9.) Credits
---------------------------------------------------------------------------
Code Help -- Patches supplied by:

Olivier Galibert <galibert@pobox.com>
Sylvain 'Murdock' Glaize <mokona@lem.univ-montp2.fr>
---------------------------------------------------------------------------

Thanks:
---------------------------------------------------------------------------
Special thanks to Mike Tedder and Mickey McMurray! Without them, semu
would have never existed! 

Also Thanks to:
  Most ops in #emu -- greetings to herbman, Lowrider, and others.
  Good friends on EFnet -- greetings to relnev, faraway, Pharos, Centario

  More people I've forgotten, if you're not on this list and need to be,
	email me...

Also, good luck to all those who are writing emulators, especially those
    who are writing 32 bit system emulators.
