//////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
/////////////////////////////////////  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
////////////////////////////////////    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\\\\\\     FreezeSMS       ////////////////////////////
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Freeze Software///////////////////////////////
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ (C) 2002 //////////////////////////////////
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\      ////////////////////////////////////
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  //////////////////////////////////////
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////////////////////
       FFFF  RRRR   EEe  EEe  ZZZ  EEe         sSSS  m   m  sSSS
       F     R   R  E    E      Z  E           s     Mm mM  s
       FFF   RRRR   Ee   Ee    Z   Ee    ***    sSs  M M M   sSs
       F     R R    E    E    Z    E              s  M   M     s
       F     R  R   EEe  EEe  ZZZ  EEe         SSs   M   M  SSs                

------------------------------------------------------------------------------
1.---------------ABOUT--------------------------------------------------------
------------------------------------------------------------------------------

FreezeSMS is a Sega Master System, GameGear, Sg1000, ColecoVision and Nintendo
emulator for Windows 95/98/ME/2000 and XP. It allows you to play the games you
used to play on the above systems on your PC, with better graphics and sound
and more special options.

FreezeSMS utilizes DirectX 8 for Sound, Input and graphics. Many hours 
were put into FreezeSMS to bring it to the level it is now at.

FreezeSMS has a nice and complete User Interface that you should find easy to
use. If however you run into problems please goto the "USAGE" section of this
document to find out about the more obscure things FreezeSMS has to offer.


FreezeSMS's webpage is 		:= 	http://freezesms.emuunlim.com
You can contact me at  		:=	jasonstarr@emuunlim.com
You can contact Maxim at 	:=	maxim@freezesoftware.com

If you would like to contribute to FreezeSMS to see it progress further
then by all means do so! Goto the webpage and send me $10 and you will be
forever happy :)


FreezeSMS is based out of Perth, Western Australia

------------------------------------------------------------------------------
2.------------REQUIREMENTS----------------------------------------------------
------------------------------------------------------------------------------

I would recommend a pentium class CPU. Ive tried FreezeSMS on a 486-66 and i
got about 5fps. FreezeSMS is very dependant on how good your video card is.
You will also need a Video Card capable of 16BIT or 32BIT color. 

So heres requirements I would say :

----REQUIRED--------------
			
  Pentium class CPU
  8 Megs of Ram                  
  1MB DirectX Video Card
--------------------------

----RECOMMENDED-----------

  AMD K6-2/PENTIUM 2 300
  32 megs of ram
  4MB video card
--------------------------

----HIGHLY RECOMMENDED----

  ATHLON/Pentium 3
  64 megs of ram
  8MB video card
  (TNT/GEFORCE/RADEON)
--------------------------


------------------------------------------------------------------------------
3.----------USAGE-------------------------------------------------------------
------------------------------------------------------------------------------

**********
**Step 1**
******************************************************************************
The first time you start FreezeSMS you will be required to configure certain
aspects of it, such as INPUT and VIDEO options. After you have configured it
you can go onto the next step.

******************************************************************************


**********
**Step 2**
******************************************************************************

To use FreezeSMS you first need to have the games to play. FreezeSMS is like
the "hardware", you still need the "software" to run on it. Basically you can
download some "software" or "roms" to use on FreezeSMS off the internet. A 
few places you can download some from are :-

http://www.aceroms.com
http://www.smspower.org
******************************************************************************


**********
**Step 3**
******************************************************************************

Once you have the game files on your hard drive you can use them in FreezeSMS.

FreezeSMS supports the .ZIP format so if you want to keep your roms in .ZIP
then you can. FreezeSMS also supports these extensions for the roms :-
.SMS	(MASTER SYSTEM)
.GG	(GAME GEAR)
.SG	(SG 1000)
.COL	(COLECO)
.NES	(NINTENDO)
******************************************************************************


**********
**Step 4**
******************************************************************************

To run a game you simple go to the directory where the ROM file is stored
and double click on it. Then the game should come up in another window
and you can play it.
******************************************************************************


*********************
***SPECIAL OPTIONS***
******************************************************************************

FreezeSMS has some special features that you can use. 


****FRZ FILES***************************************************************

FRZ files (pronounced FREEZE files) contain all sorts of information on games
that FreezeSMS supports. They contain Screenshots, Reviews, Cheats, 
Walkthroughs, Pro Action Replay codes and whatever else you can think of!

You can make your own FRZ Files for games and you are encouraged to do so. 
You can also download 100's of pre-made FRZ files off the FreezeSMS website 
(http://freezesms.emuunlim.com). 

To use FRZ files all you have to do is place the files into "Game Info Files"
directory where you installed FreezeSMS to. 

If you have a look in the "Game Info Files" folder you will notice there is 
directories under it, such as "SMS", "GG", "SG", "NES", "COL". You place the 
FRZ files under the directory of the system that the FRZ file is for. So if
I made a "Master System (SMS)" FRZ file I would put it under the "SMS" 
directory in the "GAME INFO FILES" folder. Its that simple.

If you are making your own FRZ files you have to make sure they are named 
correctly. To see the correct name for a FRZ file just look at the "CRCs.txt"
in the "Game Info Files" folder. That gives the name that will be accepted.

You can edit already existing FRZ files simple by loading them up in the
editor. The editor takes a few minutes getting used to, but when you do 
get used to it, its easy to make new, exciting FRZ Files that others can
enjoy. 

If you think your FRZ file is good enough for the whole world to use then
please email ME (jasonstarr@emuunlim.com) or MAXIM (maxim@cwos.mjb.net)
the FRZ file so we can consider putting it on our site for everyone to 
download.
*******************************************************************


****BIOS********************************************************************

You can select which "BIOS" you want to use when you play Master System games.
If you remember on the REAL machine that before you played a game there would
usually be a SEGA logo, then your game would load up. FreezeSMS includes a 
number of BIOS's that you can use, BIOS's which have been on many different
Master Systems right around the world.

By default NO BIOS is selected. To use a "BIOS" all you have to do is click
on the "BIOS" button and goto the appropriate system. Currently only BIOS's
on Master System and COLECOvision are supported. All you have to do is
select a BIOS then the next time you load a ROM for that system then the 
bios will be loaded first, just like the real system! FreezeSMS includes
full BIOS emulation and uses REAL BIOS's from REAL SYSTEMS!

Another fun thing about "BIOS's" is that sometimes they had "BUILT IN" games.
BUILT IN games are games that get run when you dont insert a cartridge into
the real system. On the Master System a lot of systems included the game
"Alex Kidd In Miracle World". If you want to play the IN BUILT games all you
have to do is click on the BIOS button, select a BIOS, click on the BIOS 
button again then click on "PLAY BUILT-IN GAME", its as easy as that :)

FreezeSMS currently has these Master System BIOS's supported :-
"Normal SMS Bios with Snail Game"
"Japanese BIOS"
"Alex Kidd In Miracle World"
"Hangon / Snail Game"
"Hangon / Safari Hunt"
"Sonic The HedgeHog"

The "SNAIL GAME" is a secret game in some bios's. To get to the secret
"SNAIL GAME" all you have to do is press and hold UP and buttons 1+2
together when you first click on "Play Built-In Game"
*******************************************************************


****PAR CODES***************************************************************

PAR Codes or "Pro Action Replay" Codes are special cheat codes that allow
you to change things such as the amount of lives, or time left in a game.
To use PAR Codes in FreezeSMS all you have to do is click on the game you 
want to use PAR Codes on, click the "PAR" button and a window should come
up allowing you to enter PAR codes for that game. 

If you have the .FRZ file for the particular game a list of PAR codes will 
already be there and all you have to do is DRAG the cheats you want into 
the window and they will be enabled!

All you have to do now is RUN the game and the cheat codes you specified 
will be enabled. You can only have 4 cheats running at a time, you can 
turn cheats 1-4 off by pressing "ALT+1", "ALT+2", "ALT+3", "ALT+4", 
respecively to enable/disable PAR cheat codes. You can alternatively 
press ALT+~ to enable/disable all the cheat codes at once.
*******************************************************************


****Graphics Filters*********************************************************

FreezeSMS has 6 graphics filters. Graphics filters allow you to change 
the original look of games. Here you will find a quick description on what
the graphics filters do :-

Normal(default) - No extra filtering, the fastest filter you can use
Scanlines - Shows black lines inbetween real lines to simulate a TV
Doubled - Doubles the pixels of the default filter to make it look less blurry
2xSAI - A special filter which makes low-res graphics look better at high res
Super2XSAI - A another filter similar to 2xSAI with some differences
SuperEagle - A another filter similar to 2xSAI with some differences
KSCALE - A kick-ass filter which is 3times faster then 2xSAI and just as good.
KSCALE 75% - Same as above except this has 75% scanliens. My favourite filter :)

Try the graphics filers out by selecting them in the CONFIG menu. You can also
change them on the fly by pressing ALT+A in the emulator.
*******************************************************************

****Sound Options************************************************************

There isn't too many sound options at this stage. You can either
Enable/Disable sound or add Extra BASS to the sound by selecting BASS BOOST in
the SOUND config. You can also enable/disable bass boost in realtime by pressing
the F1 key.
*******************************************************************

****Video Options************************************************************

Pause When Inactive - Enable this to stop emulation when you click away from FreezeSMS
		Disabling it lets the GAME play in the background no matter what.

Sprite Limit - 	Enabling this turns on sprite limits which means you will get more
		flickering of the sprites(characters) in game. This is more accurate
		to the game system but I recommend not enabling it.

Scaled - Scales the graphics to fill the screen in fullscreen instead of having borders.
		I recommened enabling this feature and putting the Full Screen resolution
		into at least 640x480 for the ultimate experience.

Triple Buffer - Enables 2 back buffers instead of one increasing performance
		and smoothness of the graphics but uses a little bit more video memory.
FullScreen On Load - Enabling this makes the emulator go fullscreen when you double click
		on a rom instead of going to windowed mode by default.

Wait For VSYNC Fullscreen - Causes less graphics tearing in fullscreen
		but can slowdown the emulation somewhat
Wait For VSYNC Windowed - Causes less graphics tearing in windowed mode
		but can slowdown the emulation somewhat
	
FrameRate Limiter - Here you can specify at how many frames per second the emulator
		will be limited. Remember if your playing in PAL mode switch this to 50hz
		and if your playing in NTSC mode switch this to 60hz. 
*******************************************************************


****NETPLAY*********************************************************

To enable NETPLAY during a Master System game press ALT+D
From there you can either HOST or JOIN a game someone has started

To get someone's IP address you can either get it from MIRC by typing
/dns nickname
or you can also get it directly from windows. Goto the start menu
and click on RUN. Then type WinIPCFG and you will see your IP address

FreezeSMS tries its best to display your INTERNET ip address but if it
doesnt work you will have to use the other methods. 

FreezeSMS starts the game wherever the HOST is when he presses on the
HOST button. So if you want to start at Level 4 in Double Dragon with a savestate
you have, simply load the savestate, press ALT+D, and click HOST.
Then give your IP address to the person who wants to play. Give it about
10 seconds before you click START game. 

Please note that there is some small errors to be worked out still, but
it should be ok.

At the moment netplay is only optimized for low latency connections
such as ADSL/CABLE modems and LANS. Please don't complain if its
not good on your 56K modem as it is being worked on. However please
provide any information you can if there is any bugs or errors.
*********************************************************************


These special keys should not be used as KEYS in the joypad config.

ESC - Show/Hide ingame menu system. (HIDDEN by default)
INSERT - Enable/Disable FPS display
TAB - Fast Forward Key, speeds up emulation to get past boring parts
F1  - Enable/Disable Bass Boost
F2  - Enable Sound
F3  - Disable Sound

F5  - Save State
F6  - Previous Save State Slot
F7  - Next Save State Slot
F8  - Load State

Q - Used for the NINTENDO emulator for SELECT
W - Used for the NINTENDO emulator for START

HOME - Start/Finish recording movie in the selected slot
END  - Play Movie in the currently selected slot
PAGEUP - Previous movie slot
PAGEDOWN - Next Movie Slot
(movies are saved in the directory \FreezeSMS dir\Movies)



F11 - Show SMS info
F12 - Show SMS tiles

ALT+ENTER - Enters fullscreen mode. 
ALT+A - Cycle Through The Available Graphics Filter
ALT+S - Enable/Disable scaling in Full Screen

ALT+` - This is ALT+tilde key, set all the PRO ACTION REPLAY codes on or off
ALT+1 - This sets the PRO ACTION REPLAY code #1 on or off
ALT+2 - This sets the PRO ACTION REPLAY code #2 on or off
ALT+3 - This sets the PRO ACTION REPLAY code #3 on or off
ALT+4 - This sets the PRO ACTION REPLAY code #4 on or off

The NUMPAD on your computer is used for the NUMPAD in ColecoVision games
NUMPAD / is the HASH(#) key
NUMPAD * is the STAR(*) key



------------------------------------------------------------------------------
4.---------CREDITS------------------------------------------------------------
------------------------------------------------------------------------------

I would like to thank [_TRAC_] first of all. He helped me through my beginning
stages of programming and without him I might not be here today.

Also a big name on the thank list....Maxim. When I submitted my idea to him
about the User Interface I was wanting he said he would make the program
which put together all the information related files, the .FRZ file format
was born. Then a few months later after I'd had a stab with the Interface using
straight Win32 API (API not very good at this sort of thing), I asked him if 
he would like to try his hand at it, as he had some very good programs already
available, SMSChecker and Meka Configurator to name a few. He agreed and our
true partnership was born. Him using Delphi for the GUI and me using C++/ASM for
the emulation.

Richard Mitton is a very nice and talented guy, email him to thank him for his
UBER accurate Z80 core that is extremely fast. I use his emulator in my 
SMS, GG, SG1000 and COLECOvision emulation.
RAZE Z80 core, by Richard Mitton (richard.mitton@bigfoot.com)

Thanks to Matthew Conte (matt@conte.com) for writing and releasing source code
to his 6502 emulator. Its highly accurate and only needed a few changes to be
supremely accurate. His modified 6502 core powers my Nintendo emulation and any
other 6502 stuff I will be doing in the future.

Charley Macdonald is a great person, especially at finding information, kudo's
to him for helping me and the SMS8 Dev Scene with lots of stuff!
Check out his homepage here :- http://cgfm2.emuviews.com

EMU2413 is used in FreezeSMS, so thanks to Mitsutaka Okazaki!!!


Big thanks to the guys in #nesdev, most particurly tsuteiuQ, ReaperSMS,
TNSE, nyef, Reio-TA, Azimer and whoever I missed. They helped a lot with the
accuracy in my NES emulation, they surely are perfectionists :)

Would also like to thank the guys and gals on the SMS boards. Maxim, MikeG,
Heliophobe, Charles Macdonald, asynchronous (thanks for the Master System peep)
and Vecna. Heliophobe has written an excellent SMS emulator for DreamCast
check it out. Do a web search maybe as I don't have the URL on hand :)

Thanks to Pascal Boqeuit (author of Past-o-Rama, another great SMS emu) for
his chats on ICQ and his humour, made those work days go past quick.

Thanks to Bock for his sometime rude and funny comments. I know he is a big
fan of FreezeSMS however so he is okay :). 

Thanks to EmuUnlim for hosting my site, and to other sites such as EmuHQ, 
ConsoleMU and the few others that offered to host my webpage in the
beginning.

Thanks to all the document writers for contributing to the scene, your work
continues to help a lot of authors. Particularly these guys :-
Jon (worked for Codemasters? and wrote the first SMS doc)
SMSC (dedicated group of SMS devers that seem to have fallen off planet)
Richard Mitton (This guys document is what started me off, well written)
Charles Macdonald (Excellent, excellent writer)
Omar Cormut (Has tried his hand at Sg1000 documentation among other things)
Yoshi (excellent NES documentation)
Marat Furilzyen (Helped a lot in the crucial beginning stages of emulation)
James McKay (hasnt helped me directly but has helped others, nice guy and great emu)

Big thanks to my girlfriend Holly, for putting up with the amount of time
programming takes out of our "Special Time" :)


Thanks to the following peeps on the following channels, you know who you are :-
#snesromz (Rosso for keeping me sane)
#nesdev
#gamedev (including everyone, excluding 1)
#winprog
#n64dev
#emudev
#freezesms

And the following channels can kiss my a$$
#emuunlim
#emuhelp
#retrogamers(Sammy)





5.---------GOODBYE------------------------------------------------------------

The best news sites on the internet for emulators are (in no particular order)
www.emuhelp.com     <- Decent site, looks pretty smells funny
www.emulation64.com <- you guys get a mention because I like your site
-------------------------------------------------------------------------------
www.retrogames.com  <- Probably most popular emu NEWs site
www.emuhq.com 	    <- Although me and Peter dont talk much anymore, still good
-------------------------------------------------------------------------------


Quote of the day:
"Can you just shut up for one second and listen to yourself? Because
your so right."
















(Use any of my copyrighted stuff without my permission and be slapped
with lawsuit)

If you've come this far your probably waiting for me to say something 
contraversal(i left spelling mistaces).... so I don't know. How about I ask a question.
"Whats the point of living?" email your responses to me @
jasonstarr@emuunlim.com, with the subject MEANING OF LIFE


First off I like to think of myself as a funny guy with a good sense of humour.
So stop getting mad and join the team.
Copyright 2000,2001,2002 Freeze Software