SNAP2CPC V1.1 (c) 1998 GENTY GUILLAUME AKA G.G.
==============================================

You can use and distribute this program freely.

This program uses DOS EXTENDER PMODE/W v1.33.
PMODE/W is Copyright (c) 1994-1997, Charles Scheffold and Thomas Pytel.
All rights reserved.



1) History
   =======


V1.0 12/02/1998 First release.
V1.1 18/02/1998 Files are now compressed, good compression ratio, about 
half size of the original snapshot size.


2) Introduction
   ============

SNAP2CPC is a small PC MS-DOS tool designed to convert a snapshot
file .SNA (basically a dump of cpc memory and Z80/CPC Hardware registers)
generated with a CPC emulator on the PC (CPE, CPCEMU, NO$CPC share the same
snapshot format) into CPC files loadable on a real CPC or on emulators.

You will need a real AMSTRAD 6128 or to put the emulator in 6128 mode
for correct working of the program.
It's because the program uses 6128 extra memory in order to alter only 
a small amount of memory (9 bytes exactly are destroyed).  The program 
requires a IBM PC compatible computer with a 386 processor or above to run.



3) Creating .SNA files
   ===================

- Always use the roms identical to the real cpc/emulator to create the .sna
file and reload converted files. If you don't do that, you may experience
CPC crashes when calling roms (for example if you run a basic program).

- Don't try to create a snapshot when the emulator is loading a disk
as FDC hardware ports are not put in the snapshot file.

- The program will only work with 64K snapshots, you will get a warning
message if you try to convert 128 k snapshots.In this case only the first 64k 
of ram content will be converted.




4) Usage
   =====

Type SNAP2CPC [filename.sna] [optional address for loader in hexadecimal form range 0-FFFF]

examples: SNAP2CPC jetset
	   SNAP2CPC jetset.sna
	   SNAP2CPC jetset BE80

- You are oblige to type the filename to begin convertion,  but you can leave
the .sna extension if you want.
The optional address is not needed in most of the cases. This address
represents the address in memory where 9 bytes are overwritten in order to
run  the snapshot.  If you don't type it, the program will choose the best
address to put these bytes: most of the time they will be located in the 
screen area and you won't notice anything special (no screen corruption at 
all). But if the converted snapshot doesn't work or you noticed screen c
orruption, you can enter an address in hexadecimal form (range 0 to FFFF) to 
fix the problem.
Address BE80 will probably always work, because almost no program use this 
area dedicated to the stack.  The area #BE80-#BFFF is not even cleared when 
doing a soft reset on the cpc (CTRL + SHIFT + ESC).  Using an another address 
needs to know perfectly memory schemes of the cpc and what you are doing and 
is generally not necessary.


- If the snapshot file version is one, the program will ask you if you want
to enter a value for the interrupt position. For example CPE 5.2 only
generates version one snapshots.
On an cpc, by using the 300 Hz interrupt you can change the screen mode 
(mode  0/1/2) or/and the colors palette on 6 differents equal stripes of 
the screen.  Many games use this to display more than 16 colors in mode 0 
or 4 colors in mode 1, or/and to mix different screen resolution modes 
(the game sorcery from virgin is a good example).  
The snapshot file version one doesn't have the interrupt location information.  
If you don't enter any value, you may see a few stripes (1/6 of the screen 
area for each ) with wrong colors.  To fix this behavior just try all the 
values between 0 et 5 until it fixes the problem.

Important: You need to have LZSS.BIN and SNAP2CPC.BIN (provided in the 
archive file ) in the same directory as SNAP2CPC.EXE and the snapshot file
to convert.

- The program will generate/modify 5 files needed to run the converted 
snapshot:

SNAP000.CPC    -> compressed memory dump [#C000, #FFFF]
SNAP001.CPC    -> compressed memory dump [#1E00, #5DFF]
SNAP002.CPC    -> compressed memory dump [#5E00, #9FFF]
SNAP003.CPC    -> compressed memory dump [#0, #1DFF] / [#A000, #BFFF] + M.C. init. code.
LZSS.BIN       -> lzss decompressor m.c. routine. (supplied in the archive).

You will need also the LOADER.BAS basic loader to run the converted snapshot.
This file is supplied in the SNAP2CPC archive file.



5) Loading back in cpc / cpc emulator
   ==================================

I use the parallel port described in cpcemu and the tools supplied
with cpcemu to transfer the converted files on a real cpc 6128. Then
just type run "loader  to run the snapshot.

If you use an emulator you can put the six files in a .DSK disk image
file and run them using run "loader command, or put them in the tape
directory (see emulators documentations for more details) loading them
as tape files using the following sequence:
| tape
run "loader




6) Contacting the author
   =====================

You will always get the last version at http://wwwperso.hol.fr/~ggenty on
the internet.

If you have any questions, bugs, requests don't hesitate to mail me
at guillaume.genty@hol.fr




/*END OF FILE */











I


