Psy-Q DOWNLOADER UPDATE for Sony Playstation hardware  ADB 25-11-94
=====================================================

This document refers to the following files:-

NEWMW    CPE	RUN this PSX program to install the new MW downloader
NEWMW    S  	Source for the above (so you can put it at any address

NEWDEX   CPE	\As above but for the DTL-H2000 (PC board) system
NEWDEX   S  	/

Main features of the new downloader are:-

1) Playstation interrupts remain enabled during downloader
communications. As a result this downloader will allow callbacks to
function even while you are single stepping. This is essential if you
wish to debug code which uses the Sony CD libraries.

2) This downloader correctly handles the Playstation hardware data-
breakpoint which can be used in conjunction with DBUGPSX version 4.28
or better.

If you do not need to make use of these features then you need not
concern yourself with this update - you may continue to use the
downloader which is in the ROM of your development system.


ON THE DTL-H2000 (PC-board) development system
++++++++++++++++++++++++++++++++++++++++++++++

Unlike the MW3 and MW4 downloader patches the DTL-H2000 has spare RAM
so that the new downloader can install without taking any useful
program memory. You should however still be sure that you are using
the proper LIBSN (included here) which does not try to read the MW3
dip-switches. This version of lIBSN has a start-up module which
allows you to select the memory size and stack-size at build-time.
See below for more details.

Note that after a reset or power off/on cycle you will need to
re-download a new copy of the downloader before downloading your
program to debug.



ON THE MW3 or MW4 (External Sony box) development system
++++++++++++++++++++++++++++++++++++++++++++++++++++++++

On the MW PSX hardware the new downloader requires about 8K of memory
from the system. The most convenient way to reserve this memory is to
use the *** new LIBSN.LIB *** included here. This version of LIBSN is
the same as that used on the DTL-H2000 system. It does not use the
PSX DIP SWITCHES to reserve memory but instead allows YOU to override
the default memory size and stack size.

*** YOU MUST REDUCE _ramsize IF YOU WISH TO INSTALL NEWMW ***

This is made possible by the new startup module in this LIBSN
version:-

 Note:	default ram size is 8 Megabytes
	default stack size is 32K
	stack position is top of RAM
	heap is all of RAM from end of prog to lowest stack addr

 User can override these settings by declaring suitable values
 for these variables in his C code module along with main().
 e.g.

	int   _ramsize=0x007FE000; // leave top 8K for downloader
	int _stacksize=0x00002000; // reserve another 8K for stack

 If user does not specify override values for these variables then
 the default values will be loaded from the SNDEF module in LIBSN.LIB


For further details please refer to the assembler source for the
startup module (SNMAIN.S) in this archive. If you wish you can modify
or re-write the start-up module; just assemble it with ASMPSX and be
sure that you link to your modified module when you build your
program. PSYLINK will not look for the start-up module in the library
if you provide one.

If you wish to locate the downloader code somewhere other than at the
top of 8MB of memory then you can adjust the NEWMW.S source file to
ORG at any address you wish and then re-assemble it with ASMPSX.

Note that after a reset or power off/on cycle you will need to
re-download a new copy of the downloader before downloading your
program to debug.


		*** IN ALL CASES ***

Do not forget to set the _ramsize back to 2MB before you build your
program to run on a final Sony Playstation console.


