home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Supremacy 2
/
Supremacy-2.iso
/
Tools
/
PC
/
Pacifist
/
PCST044.ZIP
/
PCST044
/
DOCS
/
PACIFIST.DOC
< prev
next >
Wrap
Text File
|
1997-05-29
|
43KB
|
1,047 lines
PaCifiST v0.44
~~~~~~~~~~~~~~
written by Frederic Gidouin
(frederic.gidouin@hol.fr)
YM-emulation & SB driver by Arnaud Carre
(leonard@mygale.org)
(c) 1996-1997
Last Update: May 29, 1997
-------------------------------------------------------------------------------
TABLE OF CONTENTS
0. Changes in this Document
1. Introduction
1.1 What is PaCifiST?
1.2 Why should you use it?
1.3 Features
1.4 Future Plans
1.5 How much does it cost?
2. Installation
2.1 Hardware Requirements
2.2 PaCifiST Concepts
2.2.1 A word about the Monitor
2.2.2 Video Emulation
2.2.3 Speed Modes
2.2.4 Drives Emulation
2.2.5 Sound
2.3 Before running it...
3. Configuration
3.1 INI directives reference
3.1.1 System Section
3.1.2 Screen Section
3.1.3 Debug Section
3.1.4 PACIFIST.INI example
3.2 Command line parameters
3.3 Configuration under Monitor
3.4 The Disk Selection Screen
4. Miscellaneous
4.1 Hints
4.2 VBE 2.0
4.3 Disk images
4.4 Keyboard mapping
4.5 Screen Snaphots
5. The Monitor
5.1 Monitor Screen
5.2 Monitor Commands
6. Resources & Acknowledgments
6.1 Related programs
6.1.1 Other Emulators
6.1.2 Utilities
6.2 Resources
6.3 Greetings
6.4 Contacting the author
-------------------------------------------------------------------------------
0. Changes in this Document
===========================
Since v0.43, changes in this document mainly cover the new "MIXED" video
mode & joystick topics (calibration, patch command).
Important changes in this doc will be marked with [*NEW*].
1. Introduction
===============
1.1 What is PaCifiST?
---------------------
PaCifiST is an Atari ST emulator for PC. This is a SOFTWARE emulator, meaning
you don't need a specific extension card with ST components, just your PC.
This allows you to run many Atari programs on your PC.
1.2 Why should you use it?
--------------------------
If you were an Atari ST owner, the answer is: Nostalgia! It is really cool to
be able to run your old programs.
Nowadays, there are tons of multi-megabytes games for PC, with incredible
graphics & unbelievable sounds, but except for a very few, they are boring,
and have no "spirit"...
The Atari is not the only machine with great games (I also enjoy C64 & Amiga),
but if you have ever played with Super Sprint, Stunt Car Racer,
Dungeon Master, Colonial Conquest... I think you get the picture of what
GOOD games are.
Of course, there are not only games on Atari ST! It was widely used by
professional musicians for instance, and about all kind of programs exist.
1.3 Features
------------
PaCifiST emulates the following components of the original Atari ST:
Motorola 68000 The 68000 emulation is written in 100% assembly
language. All aspects of the processor are respected
except for BCD instructions (not correct). Prefetch
can now be emulated, using "pref" command in monitor.
Because it slows down the whole emulation, you should
only use this to bypass tricky routines. 68030
emulation will come in the future
Shifter (Video) The 3 standard ST graphics mode are supported. You
can choose between a monochrome (hires mode) or a
color (lores & medres) emulation. All video emulation
is also performed in 100% assembly language.
Some special tricks (palette switching, rasters) are
handled, provided you use a VBE2.0 driver and toggle
the "LINE" video-building mode. Another mode (as of
v0.44) is the MIXED mode. It's the same as the LINE
mode, but allow also med/hi res mode switching.
At this time, overscans and "syncscrolls" are
NOT supported.
6301 (Keyboard) A genuine Atari uses this processor for keyboard,
mouse, joystick & clock control. The exact behavior
of this chip is not emulated (It is much too time-
consuming) but the simulation is better and more
accurate with each new version of the emulator. A
mouse is needed. If there is no joystick connected
to the PC (or you have disabled it in the INI file),
a keyboard emulation is proposed.
YM-2149 (Sound) This soundchip is emulated if a supported soundcard is
detected (SB only!). This part is written by Arnaud
Carre.
Since v0.41, I've started STF samples emulation.
MFP (Interrupts) VBL, FDC, ACIA, TIMER C are correct, as well as TIMERs
A, B & D in events count mode. HBL is not very
accurate, but on a mere ST it's almost the same.
FDC / HDC PaCifiST uses 3 levels of disk emulation: Gemdos,
BIOS and hardware level. The Gemdos level allows
you to use all your harddisks space under emulation.
For BIOS & hardware level, disk images are used to
reflect real Atari ST floppy disks contents. Since
v0.42, you can also use the PC floppy drive (A:) BUT
USE IT AT YOUR OWN RISK!
I/O Output to Parallel are sent to LPT1:, the serial is
not functional at this time, and there is NO midi.
1.4 Future Plans
----------------
There are many things left to do, as well as many things to fix.
The "to do" list is as follows, in no particular order.
- better STF samples
- fix the buckets of remaining bugs
- STE Blitter & DMA sound [in progress]
- support for more soundcards
- boost the 68000 a little more (I've one idea or two...) B-)
- support for two joysticks, two mice...
- overscans & syncscrolls
- stronger monitor (evaluator, conditional breakpoints...)
- working serial communication
- on-the-fly TOS change, monochrome selection
- Atari<->PC transfer program
- a freeze/reload memory option
- 68030 emulation
- extended graphics modes
Write me if you want another feature...
Other neat features would be:
- native 6301 emulation
- Midi support
- FDC-level emulation in PC drives A: & B: (no chances!)
But I haven't got enough docs (nor courage!) at this time.
1.5 How much does it cost?
--------------------------
Well, technically this program is FREEWARE. Even if I keep the rights on it,
you are free and encouraged to spread it around you, provided you don't charge
for this.
Please read this ALSO:
====
...BUT you are highly encouraged ^_^; to contribute. I spend almost all
daytime on this project and I'd be really glad to receive any kind of reward
for it. Sending me a few amount of money would be very kind, and will allow me
to cover the phone bills. If not, you can send me a postcard, an old sci-fi
movie [Ed.Wood...], a home-made CD or...a local beer!
I HATE crippled shareware programs, I don't want to do this: In return I hope
those who can afford it will send some money.
2. Installation
===============
2.1 Requirements
----------------
PaCifiST is designed to be run in a DOS environment. It works best under plain
DOS, but will be happy in a box under Windows 3.11 or 95. I've been reported
it was working under OS/2. Does it work under DosEMU?
The MINIMAL configuration you should run this program under is a 486DX-100. It
will work with less, but don't expect it to be pleasant. I develop PaCifiST on
an AMD 586-133 (about a P75 power), and the speed is almost always >= 8Mhz
Atari ST at FULL FRAME RATE with sound enabled, under most games. Of course if
you run a plasma routine with lots of color change, it will be slowed down...
PaCifiST takes about 1.5Mb of memory itself, add to this the amount of ST RAM
you want to have under emulation. With 8Mb of memory for instance, you can
emulate a 6Mb Atari.
A mouse is NEEDED. You can choose between the built-in mouse interrupt (SERIAL
mouse in COM1 or COM2 only) or a mouse driver you have loaded before. The
built-in driver doesn't work under windows 95. It is just a try to fix MANY
mice-crashes encountered by several persons.
If PaCifiST doesn't detect a joystick, it will use the numeric pad (with
NumLock off) to simulate one. You can enable the joystick emulation with
F4 under monitor.
A Soundblaster compatible card is needed if you want to hear something. GUS
support is on the way.
Apart from these requirements, you need a dump of an Atari ST TOS (The ROM).
If you can have at least 2 different TOS versions, you all likely to run
more programq, because PaCifiST has different problems with each TOS
version. Run the ST program DUMP_TOS.PRG (in STFILES directory) to extract
a TOS to disk.
PaCifiST must be executed from its directory, which MUST contain PACIFIST.INI
(the configuration ASCII file) and PATCH.H68 (some 68000 code needed to use
mounted directories).
2.2 PaCifiST Concepts
---------------------
This section explains some concepts you must understand to figure out how to
configure the emulator options.
2.2.1 A word about the Monitor
------------------------------
By default, when you run PaCifiST, you start in the MONITOR screen. In order
to run the emulation, you must type "g" (go) and press enter. You can go back
to this screen at any time by typing in the key under ESC and above TAB.
You may want to do this to quit, reset the Atari, Choose a video Mode or a
Speed mode...
IMPORTANT: Sometimes, when you come to the Monitor Screen, nothing you type on
the keyboard will appear. Just press CTRL, SHIFT and ALT to clear the problem.
When the 68000 hangs (bombs...) it is possible that the monitor
does not show when you press the hotkey: Just wait a few seconds.
Read the Monitor Commands Summary section for more information.
2.2.2 Video Emulation [*NEW*]
---------------------
There are 3 different video emulation methods available under the emulator.
This only concerns the standard low resolution Atari video mode.
The first mode (and default) is called the "Screen-Oriented" mode, because
all the Atari screen is generated in a single pass. It means you can only have
one palette (16 colors) for the whole screen, and no special effects. This is
the mode you must use to run Gem applications, because it is faster.
The second mode is called "Line-Oriented" mode, and this time, each line of
the ST screen is processed separately. This is the mode you should select
to run some games and most demos.
The last mode is called the "Mixed" mode and requires a 640x400x256 linear
videomode. It is the same as Line-Oriented, but is also able to render ST
screen with resolution switching (in such games as Magnetic Scroll &
Level 9 adventure game and in the Calimero demo for instance).
Screen-Oriented mode:
- don't allow any video tricks
+ works well under Windows (even windowed)
+ fast
+ work on all PC
Line-Oriented mode:
- slower
- need a VBE2.0 driver
- works ONLY in full screen under Windows
+ several video modes (320x200, 640x480...) available
+ able to emulate palette switching, rasters...
Mixed-Mode:
- *much* slower
- requires a VBE2.0 driver with 640x400x256 or else
640x400x256 mode
- work only in full screen under Windows
+ able to emulate (limited) palette tricks & resolution
change in the middle of an image.
You can switch from one mode to another easily whenever you want.
IMPORTANT: Line-Oriented mode don't work in hires/medres, Mixed don't work
in hires mode.
2.2.3 Speed Modes
-----------------
Since v0.4, there are two different speed modes: ST and MAX mode. The default
mode is ST-speed: Even with the fastest Pentium-class machine, you won't
exceed the speed of a genuine 8Mhz Atari ST: This is necessary for some
programs to run properly. The other mode, MAX-Speed will synchronize the
emulation to the PC speed. This is fine for all system-compliant applications,
but MANY programs won't work in this mode.
It is NOT RECOMMENDED to change mode while running a program, it may crash.
Change, BEFORE entering emulation.
2.2.4 Drives Emulation
----------------------
PaCifiST provides you three ways to emulate ST drives:
- PC DRIVE A:
I made this because of MANY requests.
This is REALLY NOT RECOMMENDED!!! There are still many problems with
disk changing and write-protection handling. If the <pcdrive> directive
is enabled at startup and there are no images selected for disk A:,
then PaCifiST will boot on disk. This should work with some games,
but PLEASE DO USE IMAGES INSTEAD... ^_^;
Please repeat: "I know that protected disks won't work. I shall *not*
flame Frederic."
- DISK IMAGES:
This is a file that contains all the sectors of a given disks. For
the emulated Atari, they are similar to physical disks inserted in
drives A: & B:. Disk images work for all programs, even those that
directly use the disk controller. Please use the .ST extension.
You can choose two disk images at startup with the "IMAGE=" directive,
or during the emulation under the DISK SELECTION screen.
Since v0.41, PaCifiST is also able to directly use MSA files.
A new Image format will eventually come, but PaCifiST will remain
compatible with normal ".ST" files.
- MOUNTED DIRECTORIES:
This only works for programs that use Gemdos for file access, and
there are still some compatibility problems with file-selectors and
shell programs.
This allows you to mount any directory as an Atari unit. For instance,
if you mount "D:\ATARI" on the Atari C: at startup, the emulated
machine will see this directory and its subdirectories as its C: drive.
You CAN mount a whole partition, but it is NOT RECOMMENDED. You might
put all your Atari stuffs in a directory or two, and mount them as
units. This way, even if a big crash occurs, your PC system files
won't be affected.
You can't change the mounted directories on the fly, you must restart
the emulator to do so.
2.2.5 Sound
-----------
Only Soundblaster compatible cards are supported in v0.4.
PaCifiST won't try to autodetect the settings by itself, but rely on the
BLASTER environment variable. Before running the emulator, be sure it is
properly set. Read your soundcard documentation if you don't manage, but
if you know for sure the settings, type under DOS:
SET BLASTER= Axxx Ix Dx
where Axxx is the Port value. By example A220
where Ix is the Irq number. By example I7
where Dx is the DMA channel. By example D1
The STF samples are really bad at this time (it also depends on the replayer).
You can disable this emulation in the INI file. You can switch this feature
with F5 under monitor.
2.3 Before running it...
------------------------
PaCifiST is configured through a normal ASCII file: "PACIFIST.INI". You can
edit it with any file editor to change the default behavior of the emulator.
Some options can be overridden easily with commandline switches.
This document contains a section which explains all the options. Please keep
a copy of the original INI file, in case you made something wrong.
The first time you will run PaCifiST, there are a few things that must be
adjusted that depend of your system.
The most important thing is to indicate PaCifiST where to find your TOS image,
and at what memory location to load it. Note the size of your TOS file, load
the INI file and go to the [system] section. Sections are just intended to
group directives by topics. You can comment lines with ";". All text after
this will be ignored.
tos= is the directive that gives the TOS file name.
tosbase= is the directive that gives the TOS memory location.
Say your TOS file, called TOS.IMG or whatever, is 192Kb (196,608 bytes). It is
likely to be version 1.0, which address is 0xfc0000. In this case, you must
put in the ini file:
tos= tos.img ;you must specify the path if the file is not in the
;PaCifiST directory.
tosbase=0xfc0000 ;location for TOS1.0
If your TOS file is 256Kb (262,144 bytes), you're sure the address is 0xe00000.
tos= tos.img
tosbase=0xe00000
IMPORTANT: If several TOS or TOSBASE directives are in the INI file, it is the
last ones that will be take into consideration by the emulator. It is the same
for all directives, apart from IMAGE & MOUNT.
The default INI file that comes with PaCifiST contain some sample of TOS
configuration.
You must also be sure that the path specified for all MOUNT directives are
valid. If you're unsure of understanding these MOUNT things, just comment the
lines (put ";" before the directives) and read the INI directives reference.
3. Configuration
================
There are 3 levels of configuration. The INI files contains global options,
while command line switches affect only the current session. Some options can
also be changed on the fly.
[*NEW*]
A file called JOY.CFG will also be created in the PACIFIST directory the
first time you will run the joystick calibration, and loaded at started.
3.1 INI directives reference
----------------------------
all tabs, spaces and texts after ';' are ignored.
3.1.1 System Section
--------------------
TOS = <file> Name of the TOS dump file
TOSBASE = <adr> Address of the TOS in memory (0xfc0000 for 1.0,
0xe00000 for other versions)
AUTORUN = [yes|no] If YES, PaCifiST will jump into emulation when
you run it, skipping the monitor screen.
RAMSIZE = <n> Specify the RAM amount to emulate in megabytes.
This is a number from 1 to 14.
SOUND = [yes|no] Indicates whether or not you want sound.
SAMPLES = [yes|no] Do you want *bad* STF samples?
VOLUME = <n> Indicates the sound volume. Maximum is 255, and
is the default value as you probably will
prefer to adjust the sound level externally.
INTERNALMOUSE=[yes|no] default is no, and tell PaCifiST to use the
normal mouse driver given by DOS or Windows.
If you have encounter problems with a serial
mouse, try "YES" telling the emulator to use
its built-in serial handler (not under Win95).
SENSITIVITY=[1-10] Mouse sensitivity (only with external driver).
Default is 5.
MOUSECOM = [1|2] this works with the INTERNALMOUSE directive and
indicates on which Com port is your mouse.
SERIAL = [yes|no] Disable/enable the serial port emulation. Still
buggy anyway. Try no if PaCifiST hangs.
JOYSTICK = [yes|no] If disabled, no joystick will be used, but
instead an emulation with the numeric pad.
LEDS = [yes|no] Default is yes. If disabled, no LEDs blinking
will be done.
KBDELAY = n Keyboard delay value (1-10) Default 3. [*NEW*]
You can also change this number under monitor.
The 6301 processor send packets to the 68000 to
indicate mouse & joystick moves. Some apps can
be fooled if the emulator send too much bytes
from the IKBD at the time.
IMAGE = <file> This directive gives the name of a file (disk
image) to be "inserted" in drive A: & B:. You
can put two IMAGE directives in your INI file.
MOUNT = <absolute path> Indicates to mount the given path (by example
C:\PACIFIST\STFILES) to an Atari unit. The
first one will be drive C:, you can specify
24 different locations. The specified PATH
must be ABSOLUTE, with the letter indicated.
PCDRIVE = [yes|no] Default is no - Should PaCifiST use the PC
Drive A:? Enabling this feature adds an
item in the diskselection screen.
3.1.2 Screen Section
--------------------
MONOCHROME = [yes|no] Don't you guess? It has something to do with
colors...
FASTVIDEO = [yes|no] If you choose YES, PaCifiST will only convert
modified portions of video memory. This is
only used in the Screen-Oriented mode.
If your graphics card is very fast, you don't
need this option.
REFRESHRATE = <n> The default value is 1, meaning that EVERY
Atari screen is converted to the PC screen. Try
a bigger value if the emulation is too slow on
your PC. If you choose 3, only a screen out of
3 is displayed.
3.1.3 Debug Section
-------------------
This is only useful for beta-testers and those who want to examine PaCifiST's
behavior, watch interrupts, FDC emulation, mouse events...
You need to have a "debug" distribution of PaCifiST for this.
LOGFILE = <file> Name of the logfile, where all the
information is written into.
TRAPIRQ = [all|none|v] tell PaCifiST to stop execution when the given
exception occurs. Default is none. If v is
positive, it will be added in the list, if it
is negative it will be removed from the TRAP
list. You can specify several exceptions,
separated with comas.
LOGIRQ = [all|none|v] same as above, but this won't stop the 68000
but write information about the exception in
the logfile.
3.1.4 PACIFIST.INI example
--------------------------
[system]
tos = c:\pacifist\tos.rom
tosbase= 0xe00000 ;tos
image=c:\pacifist\disks\boot.st ;name of disk image for Atari A:
mount=c:\pacifist\stfiles ;C:\PACIFIST\STFILES will be Atari C:
mount=c:\pacifist\games ;C:\PACIFIST\GAMES will be Atari D:
autorun = yes ; jump directly to emulation mode
pcdrive=no ; :)
[video]
refreshrate = 2 ;only render one screen out of 2.
monochrome = no ;emulate an Atari with color monitor
[debug] ; only with DEBUG compiled PACIFIST
logfile = f:\debug.out ; the logfile for debug
logirq = none ; erase the LOG irq lists
logirq = 0x21 ; log GEMDOS calls
logirq = 0x1c,69 ; log VBL & timer C too
trapirq = 5 ; Monitor zero divide exceptions
3.2 Command line parameters
---------------------------
Some INI directives can be overridden on the command line. Valid options are:
/[h(elp)|?] list of options
/refreshrate n same of REFRESHRATE directive
/mono [yes|no] same as MONOCHROME directive
/autorun [yes|no] same as AUTORUN directive
/ramsize n same as RAMSIZE directive
/sound [yes|no] same as SOUND directive
/image <filename> Mount an Image BEFORE those in INI file
/mount <path> Mount a Path BEFORE those in INI file
/line Start in line-oriented mode (not recommended)
/maxspeed Start in maxspeed mode (not recommended)
/pcdrive [yes|no] same as PCDRIVE directive
3.3 Configuration under Monitor
-------------------------------
Read the Monitor reference section for a complete description of all the
commands. If you don't know 68000, the only commands you need are:
g go into emulation mode
x quit to DOS
vol <n> set the volume (0-255)
help some help. Yes.
Useful keys:
[F1] shift between SCREEN, LINE & MIXED mode.
You need a VBE2.0 driver in order to be able to have the LINE and
MIXED method.
[F2] Choose a video mode in the list. 256 colors mode don't work always,
but are faster than 32K & 64K colors mode. This affect LINE mode only.
[F3] Change from ST speed mode to the MAXimum speed mode. Do this BEFORE
going into emulation.
[F4] Enable/Disable the Joystick Emulation with keys. Numeric Pad & CTRL
(with NumLock off) are used to simulation movements and fire.
[F5] Enable/Disable the samples emulation.
[F12] Display the DISK SELECTION screen.
Can also be called during emulation.
3.4 The Disk Selection Screen
-----------------------------
Use F12 at any time for this disk-selection screen. It can be useful to switch
between 2 disks (in a multi-disks game...). I wrote the same kind of interface
that Ulrich Doewich does for the Amstrad emulator CPE.
It is pretty self-explaining. The file selector doesn't display all files, only
.ST, .MSA .ZIP and directories, as well as all valid units.
Use <ESC> to exit the screen. <UP>, <DOWN>, <PAGEUP>, <PAGEDOWN>, <END>, <HOME>
to navigate in the file selector.
<TAB> <LEFT> <RIGHT> choose disk A or disk B. <ENTER> will insert the
selected image disk for the current drive. There is an item in the list to
remove the disk.
Of course, if the changed disk need to be booted (for a game to start...),
you must also perform a reset (Ctrl-Break).
Since v0.4, the fileselector will consider .ZIP as normal directories, you can
then group disk images in such archives. This is still *experimental*.
In order to extract files from archives, PKUNZIP.EXE must be in the PATH.
files will be extracted in the TEMP directory if this environment variable
exists, or in the PACIFIST directory. The temporary files are called
PCSTIMG*.TMP. They are not erased when you quit the emulator (in case you
want to keep the changes in it).
Since v0.42, if the PCDRIVE directive is enabled, you can also choose the
PC drive A: to emulate a real ST drive.
IMPORTANT: Changes in the extracted disk image WON'T BE reflected in the
original archive file! It is the same with .MSA files, because they are
converted to .ST file.
4. Miscellaneous
================
4.1 Hints
---------
- DO NOT USE ANY WRITE-DELAYED DISK CACHING ("smartdrv c+"...)
- some GEMDOS function are not well-emulated. for instance, with
mounted drives, GFABASIC file selector is trashy (OK with images).
- If you're having problems with PaCifiST configuration, you can try
a front-end utility: If you run PaCifiST from DOS, there is AssiST,
coded by Aengus Jankowsky. For Win95 users, there is PaCiLOAD done
by Andrew Knipe.
- If you have enough memory, when debugging, put the logfile in a
ramdisk.
- avoid using PCDRIVE. It is slow, unstable and less powerfull than
images.
4.2 VBE2.0
----------
In order to enable the LINE-building mode and emulate raster effects, you
need to install a VBE2.0 driver in memory before running PaCifiST.
Perhaps there is such a driver provided in you graphics card package?
A very good choice is to have Scitech's Display Doctor. You can download
this shareware version on their web page http://www.scitechsoft.com.
4.3 Disk Images
---------------
These images just contain all the sectors put together in logical order:
for all TRACKS x all SIDES x all SECTORS, there is a 512 bytes block.
PaCifiST don't need any special information, because disk parameters can be
read on the boot sector. If values seem wrong, PaCifiST tries to deduce it
from the image file size.
You can create your own images from your ST disks with the little utility
IMGBUILD. It permits also to make blank images of standard or non-standard
sizes.
Read the RESOURCES section to see where to find it.
Alternatively, PaCifiST is also able to use MSA file, but in read only.
4.4 Keyboard Mapping
--------------------
Since v0.41, the keyboard mapping is similar to the Atari's, except that:
- HELP is mapped on PageUp
- UNDO is mapped on PageDown
- CTRL+Break performs a reset (add SHIFT if the reset vector is
trapped by the current program)
- If NumLock is on, the Numeric Pad is the same as on Atari, else
it is used for the joystick emulation (CTRL is fire).
Also, F12 brings up the disk selection screen, and the key under ESC aborts
the emulation and skips to the monitor.
4.5 Screen Snapshots [*NEW*]
--------------------
This feature appears in v0.44, and allow you to save the screen as a PCX file
in the PACIFIST directory. All the files will be called "PCST_xxx.PCX".
Just press the ScrollLock key to do so (The PrtScr key being used under
Windows), please note that isn't not working in all video modes.
The video modes supported so far are:
- ST hires
- ST lowres in SCREEN MODE
- ST lowres in standard LINE MODE (only 256 colors)
Not supported yet:
- ST medium resolution
- MIXED MODE
- VBE LINE MODE (32K & 64K bit color)
5. The Monitor
==============
5.1 Monitor Screen
------------------
The blue bar at the topmost contains a reminder of useful function keys as
well as current video-building mode & speed-mode.
Right under, a display of the 68000 registers as well as an estimated relative
speed and a (not accurate) rasterline counter.
On the right: Current Stack (USP or SSP) dump, a list of the breakpoints,
breakaccesses & the breakopcode values.
The upper windows always show the 68000 instructions around the current PC
location. a "*" right before an instruction indicates a breakpoint.
You can use CTRL-Z to step into or CTRL-T to trace over, like in the good old
MONST2! CTRL-U can be used to trace in trace-mode, without entering the TRACE
exception (but of course executing it!) CTRL-G is an alternative for the <g>
command.
5.2 Monitor Commands
--------------------
Many commands need a "DEBUG" compilation of PaCifiST. Because this slows down
the emulation, it is not included in normal distribution of the emulator, but
you can find such a version easily: just read the RESOURCES section to see
where are the PaCifiST support sites.
Arguments between parenthesis are optional.
Most values in the monitor are hexadecimal numbers.
h,help,? Quick summary
t Trace over. This traces all instructions except for BSR, JSR
& TRAP, which are executed till they return. Hit any key
to abort if the execution seems in a long loop.
z (n) single step. If an IRQ or an exception (Bus Error,...)
occurs just after, it will be triggered. This can be annoying
with Timers in some programs. TRACE MODE can be traced
d (adr) dump a disassembling on a few lines.
g (n) go. You can specify a number of rasterlines.
m (adr) dump memory (hexa & ascii).
bp (adr) Add or remove a breakpoint. A breakpoint doesn't consist in a
special opcode, the memory isn't changed but the PC is
checked all the time. You can then put breakpoint BEFORE a
program is loaded. Breakpoints don't always work when they are
on the first instruction of an Exception routine (use TRAP
in this case)
ba (adr) Add or remove a breakaccess. Any read or write (hopefully) to
the given location will break execution. Be careful: A word
access at $10000 will do nothing with a breakaccess at $10001.
bo <msk> <cmp> set the "break opcode". There can be only one! All opcodes are
ANDed with the mask and compared to the second parameter. For
instance "bo ffff 4e75" will make the execution stop after all
RTS. To remove the breakopcode, enter something like "bo 0 1".
s reg=<value> Set any 68000 register to a given value.
s [adr]=<bytes> change memory (even ROM). Use "s [1230] = 4e 71 4e 71" to nop
a longword instruction. Each bytes must be separated by spaces.
nop <adr> <n> fill memory at <adr> with <n> NOPs... :)
lb <file> <adr> (size) load a file (or part of it) in memory.
sb <file> <adr> <size> save a part of memory to disk.
reset (hard) Perform a reset.
trap (vector) This command enables you to break execution each time a given
exception occurs. Type TRAP alone for a list of the main
vectors.
animate <n> This will single step n instructions, with a dump of all the
registers in the logfile after each of them.
status Show some information about MFP & ST drives.
disa <start> <end> Disassemble a part of memory in the logfile. FAST!
kbd (bytes) Display/Put values in the internal 6301 keyboard buffer.
kbdelay [n] Examine or set the KBDVALUE variable. [*NEW*]
vol (volume) Set the volume from 0 to 255 (dec), or display current value.
x eXit.
pref [on|off] If on, the 68000 prefetch queue will be emulated. Use this only
when necessary because the emulation is slower in this mode.
You can single step over prefetch queue, even if an opcode is
changed.
patch [off|...] Change the behaviour of PaCifiST in order to run more [*NEW*]
programs.
The only patch at this time "joy": Use it when the joystick
button seems not to work.
The following commands NEED a debug build of the emulator:
bp, ba, bo, trap
6. Resources & Acknowledgments
===============================
6.1 Related programs
--------------------
6.1.1 Other Emulators
---------------------
This only covers Atari ST emulation for PC. Refer to the comp.emulators.misc
FAQ for more information.
- STonX Written by Marinos Yannikos(nino@complang.tuwien.ac.at)
and Martin Griffiths (mgriffiths@ea.com).
It's a free emulator for Unix which comes with sources.
A DOS version now also exists, ported by Dirk Jansen.
The official website is:
http://www.complang.tuwien.ac.at/nino/home.html
Nino & Martin are working hard on a new version.
- STEmu Written by Jochen Frank (uk9a@rz.uni-karlsruhe.de) is
a new ST emulator. You can find it on Aengus's site.
The first version I saw (0.2) works with TOS1.62, but
the MFP was not yet implemented.
- Gemulator 96 It is a COMMERCIAL emulator. It is faster than
STonX & PaCifisT but can only run 100% system-compliant
apps. Gemulator Classic is an older (but free) DOS
version. official site: http://www.emulators.com
6.1.2 Utilities
---------------
AssiST - who: Aengus Jankowsky (ajankows@iol.ie)
where: http://www.iol.ie/~ajankows/st/pacifist.html
A DOS front-end configuration program for PaCifiST.
This program is very convenient to set up your .INI file. It's
not only recommended for beginners, but for all users!
PaCiLOAD - who: Andrew Knipe (alk@bluesky.net.au)
where : http://www.labyrinth.net.au/~contact/paciload.zip
A Windows front-end interface for PaCifiST. Easy to use, can also
convert MSA to ST file before running the emulator.
MSAtoST - who: Damien Burke (st@jetman.demon.co.uk)
where: http://www.jetman.demon.co.uk/st/index.html
A converter to translate MSA files to ST files (the disk image
format used in PaCifiST). Many programs you may find on the
Internet (Umich archive...) are in MSA format. PaCifiST can *now*
deal internaly with MSA file, but in read only.
IMGBUILD - who Frederic Gidouin (frederic.gidouin@hol.fr)
where: http://www.geocities.com/SiliconValley/Lakes/6878/download.html
http://wwwperso.hol.fr/~gidouin/download.html
A little utility to produce .ST files from floppies. It doesn't
handle 11 sectors disks or protected/abnormal format.
Can also be used to create blank new images.
6.2 Resources
--------------
PaCifiST-Support Sites:
=======================
- http://ireland.iol.ie/~ajankows/st/pacifist.html
Contains many versions of PaCifiST, latest version of AssiST,
some disk images (games), TOS and links.
- http://oasis.slcc.edu/~pitchja
Latest version of PaCifiST, Spectrum 512 stuffs, links.
- http://www.jetman.demon.co.uk/st/index.html
Contains latest version of PaCifiST & the MSAtoST tool. Also, a
small how-to about the emulator configuration.
- http://ourworld.compuserve.com/homepages/bfozard/pacifist.htm
Latest version of the emulator, and some games in .ST format.
- http://wwwperso.hol.fr/~gidouin/pacifist.html
- http://www.geocities.com/SiliconValley/Lakes/6875/pacifist.html
Official PaCifiST sites. Up-to-date versions of the emulator,
many links to alternative sites, some programs.
Other Atari ST emulation-Related SITEs:
=======================================
- http://www.mygale.org/09/leonard/
Arnaud Carre homepage, with all his great productions. Have a look at
his incredible YM-player!!!
- http://www.why.net/home/adam/cem/toc.html
comp.emulators.misc FAQ, maintained by Adam Roach.
- http://www.complang.tuwien.ac.at/nino/stemu.html
The STonX project homepage.
6.3 GREETINGS
-------------
I wish to thank the following persons:
Damien Burke For his website, his MSA to ST converter, information about
the MSA format and keyboard commands reference.
Arnaud Carre For his long, interesting & funny mails, his remarks and
a great soundchip emulation, his SB driver source, and...
patching some demos!!!
Ulrich Doewich For his interesting mails and above all because he made
a very good & fast YM emulation and send me plenty of
cool sources and demos of games he wrote.
Ben Frozard For his mails and having put PaCifiST on a US server.
Carolyn Horn For being one of the few to have read this documentation
in every detail and her proofreading!
Aengus Jankowsky For coding ASSIST.EXE, a menu-directed configuration tool,
all his interesting feedback, and also for setting up a
good alternative site for ST emulators.
Andrew Knipe For his relevant mails (thanks for the Kagi hint!) and his
Windows front-end for the emulator.
Ludovic Olivencia For all of his relevant phonecalls, having found plenty
of bugs for me to fix and disk images of non-working
programs.
Alan Reeve For sending me very complete documentation of many
ST hardware components, for *MANY* disk images ;-)
Jamison Pitcher For his website and Spectrum 512 information.
Simone Voltolini For intensive betatesting and invaluable feedback.
Arsene Von Wyss For his relevant mails and information about many ST
programs.
And in general to all persons who have send me contributions.
6.4 CONTACTING THE AUTHOR
-------------------------
Feel free to send any suggestions, remarks...gifts!
e-mail: frederic.gidouin@hol.fr
snail mail:
Frederic Gidouin
9, Allee du Chevrefeuille
29280 Plouzane
FRANCE