home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 13
/
amigaformatcd13.iso
/
-in_the_mag-
/
emulation
/
fmsx_1.3
/
fmsx.guide
(
.txt
)
< prev
next >
Wrap
Amigaguide Document
|
1997-03-06
|
59KB
|
1,156 lines
@database fmsx
@version $VER: fmsx.guide 1.3 (20.2.97)
*****************************************************************
@node MAIN ""
@{fg highlight}fMSX Amiga 1.3@{fg text}
1994 by Marat Fayzullin.
1995 by Hans Guijt.
@{B}General information@{UB}
@{" Introduction to fMSX " link WHAT_IS_IT} @{" Disclaimer " link DISCLAIMER}
@{" About MSX " link MSX} @{" Copyright notice " link COPYRIGHTS}
@{B}Installation and usage@{UB}
@{" Installation " link INSTALLATION} @{" Running fMSX " link LOADINGEMULATOR}
@{" The control window " link CONTROLWINDOW} @{" The system preferences window " link SYSPREFSWINDOW}
@{" The tape preferences window " link TAPEPREFSWINDOW} @{" The video preferences window " link VIDEOPREFSWINDOW}
@{" The menu bar " link MENUBAR} @{" Using different ROMs " link DIFFERENTROMS}
@{" Using MSX diskdrives " link DISK} @{" Quitting the emulator " link QUITTING}
@{" Configuring your MSX " link CONFIGURE}
@{B}Technical information@{UB}
@{" System requirements " link REQUIREMENTS} @{" Using the Amiga hardware " link AMIGAHARDWARE}
@{" High-speed mode " link HIGHSPEED}
@{B}Program information@{UB}
@{" Bugs and restrictions " link BUGS} @{" Future plans " link FUTURE}
@{" History " link history.guide/main}
@{B}Problems?@{UB}
@{" Where to find MSX software " link SOFTWARE} @{" Why are the icons so ugly? " link ICONS}
@{" How do I load... ? " link HOWTOLOAD} @{" When MSX software fails to run" link COMPATIBILITY}
@{B}Miscellaneous@{UB}
@{" How to obtain new versions " link NEWVERSIONS} @{" About comp.sys.msx " link CSMSX}
@{" About the authors " link AUTHORS} @{" About RAMSX: " link RAMSX}
@{" About AmiMSX " link AMIMSX} @{" About FMSX0: and FMSX1: " link FMSX0}
@{" Thanks " link THANKS}
@endnode
*****************************************************************
@node WHAT_IS_IT ""
@{fg highlight}Introduction to fMSX@{fg text}
fMSX stands for @{U}@{B}F@{UB}ast @{B}MSX@{UB}@{UU}, and that's what it is: a reasonably speedy
emulation of the @{"MSX" link MSX} computer system.
It was originally programmed by @{"Marat Fayzullin" link AUTHORS 28} as a generic MSX
emulator - that means that it can be compiled on any machine, in
any environment! To reach this goal he programmed fMSX in C code,
resulting in a program that runs on UNIX machines, PCs, Macs, and
of course Amigas.
At some point I (@{"Hans Guijt" link AUTHORS}) offered to rewrite the screen drivers
for the Amiga, and @{"Marat" link AUTHORS 28} accepted this offer. I received the sources
and went to work.
The first thing I noticed was that the emulation was exceptionally slow!
This is okay for a fast UNIX workstation, but most Amiga's are low-end,
and the emulation would be next to useless in such an environment.
The solution seemed easy: just rewrite the Z80 emulation in optimized
68020 assembler code (easier said than done!). The results were
spectacular. A short BASIC program was selected as the benchmark:
@{fg shine}10 FORT=1TO10000
20 NEXTT@{fg text}
@{U}Machine@{UU} @{U}Time@{UU}
A4000/30 94 seconds (fMSX 0.3, original version)
Sun Sparc 2 86 seconds (fMSX 0.4, UNIX version)
Sun Tatung 43 seconds (fMSX 0.4, UNIX version)
a4000/30 22 seconds (fMSX 0.3, modified version)
@{"VG-8235 MSX2" link MYMSX} 21 seconds
a4000/40 15 seconds (fMSX Amiga 0.2, standard settings)
a4000/40 (warp 4040) 9 seconds (fMSX 0.3, modified)
@{"MSX Turbo-R/RAM mode" link TURBOR} 6 seconds
Note that this chart is not particularly valid anymore. The Z80 emulation
in fMSX v0.7 was rewritten almost from scratch, causing incredible speedups
in some operations (bankswitching and memory mapping) and some slowdown in
others (memory reads/writes).
The end result is that BASIC programs run quite a bit slower (BASIC is
fairly memory intensive), but games run faster (and that's what counts).
@endnode
*****************************************************************
@node MYMSX ""
@{fg highlight}The Philips VG-8235 MSX2@{fg text}
This is my own MSX machine. It is from 1985, and is equipped with
a single sided 3.5" diskdrive. It is an MSX2 machine, but unfortunately
the VDP (video chip) is broken, so I lose half the screen once the
machine starts to get warm.
I have bought a new machine! It is a Sanyo PHC-70FD, which is an MSX2+
machine with several nice features:
- 256KB RAM (expanded from the original 64KB)
- Numeric keypad
- Joystick autofire control
- Double-sided diskdrive, which is turned to the front of the machine
(rather than the side as is usual on many other machines)
- Pause button
- Built-in FM Pac
As an added 'bonus', it is equipped with a Japanese keyboard!
That means that every key carries four or five different symbols,
including the European glyphs.
@endnode
*****************************************************************
@node TURBOR ""
@{fg highlight}The MSX Turbo-R@{fg text}
The newest MSX system, the Turbo-R is equipped with a very fast CPU:
the R800, which is comparable to a Z80/28MHz. It can do multiplications
faster than the 68030 in my a4000!
The Turbo-R has a slow ROM system, and the designers made it possible
to copy ROM to RAM and use that instead. In the speed test this method
was used.
@endnode
*****************************************************************
@node DISCLAIMER ""
@{fg highlight}Disclaimer@{fg text}
@{B}THIS SOFTWARE IS PROVIDED AS-IS. NEITHER @{"AUTHOR" link AUTHORS} WILL BE HELD RESPONSIBLE
FOR ANYTHING IT DOES, WHETHER RIGHT OR WRONG, GOOD OR EVIL, LAWFUL OR
CHAOTIC. RUN AT YOUR OWN RISK!@{UB}
@endnode
*****************************************************************
@node MSX ""
@{fg highlight}The MSX system@{fg text}
The MSX originally came out in 1983, with the intention to create a
low-cost low-performance all-compatible computer system (a gap that
is now filled by the PC, ironic when you consider what MSX stands for):
@{U}@{B}M@{UB}icro@{B}S@{UB}oft e@{B}X@{UB}tended@{UU}
which means that it is an enhanced version of earlier Microsoft
products, notably their BASIC and DOS (that's right, MS-DOS!).
@{fg shine}The MSX1 standard@{fg text}
Among other things, the MSX standard specifies that machines should have
at least a Z80/3.5Mhz, 16KB RAM (although most machines had 64KB RAM),
16KB video RAM, and the MSX ROM's. Graphics, produced by the v9918,
are functional:
@{U}screenmode@{UU} @{U}resolution@{UU} @{U}colors@{UU}
0 40*24 characters 2
1 32*24 characters 16 (with restrictions)
2 256*192 pixels 16 (with restrictions)
3 64*48 pixels 16
In addition, screens 1-3 can have single-colored sprites, either 8*8
or 16*16, either at normal size or enlarged.
Sound is delivered by the AY-3-8912, a three-channel sound chip also
used in the Spectrum 128K and the Atari ST.
One thing that sets MSX machines apart from other comparable systems
is the ability to run cartridge software - most machines can, but for
MSX the system was very popular. Although I have never seen one, it
should be possible to build an MSX console.
Another unique feature is the popularity in both Japan and western
Europe. This resulted in a software catalogue filled with the best
of both worlds, a feature that always attracted me to the system.
Finally, it must be mentioned that MSX is not the product of a single
manufacturer. Instead, MSX is a minimum standard decided upon by ASCII
corporation, with individual manufacturers licensing and adding to the
system, much like 3D0 today.
There have been over 40 MSX manufacturers, and MSX machines were
manufactured by Daewoo in Korea after Commodore went broke in 1994!
@{fg shine}The MSX2 standard@{fg text}
In 1985 the MSX2 came out, which sported several large improvements.
The most remarkable is the graphics, provided by the v9938; it
offers all the MSX1 modes, and several others:
@{U}screenmode@{UU} @{U}resolution@{UU} @{U}colors@{UU}
0+ 80*26.5 characters 4
4 256*192 pixels 16 (with restrictions)
5 256*212 pixels 16
6 512*212 pixels 4
7 512*212 pixels 16
8 256*212 pixels 256
Other improvements to the graphics include an enhanced sprite system,
which allowed for more sprites with more colors, a color palette
of 512 colors, support for genlocking and digitizing, smooth vertical
scroll, and a built-in blitter which can do almost anything the Amiga
blitter can, and more.
The rest of the system had been updated as well. MSX2 machines are
equipped with at least 64KB RAM (128KB and 256KB are more common
configurations), 128KB video RAM, and usually a 3.5" diskdrive.
The MSX system uses exactly the same disk layout as MS-DOS. In fact,
CrossDos can be used to read/write MSX disks, even single sided ones
(my compliments to the authors for that), while modern PC's have lost
that ability!
@{fg shine}MSX2+, MSX Turbo-R@{fg text}
These are newer versions of the MSX system. New features include better
graphics (the MSX2+ VDP is capable of displaying 19268 colors at once on
screen), and a faster processor (the Turbo-R has an R800 CPU, comparable
to a Z80/28MHz).
This document used to say they were not on the list for emulation. Today
I'm not so sure - if it is remotely possible to run Illusion City on fMSX
I will do it.
@endnode
*****************************************************************
@node COPYRIGHTS ""
@{fg highlight}COPYRIGHT@{fg text}
The following notice is taken from fMSX UNIX. It applies mostly to
fMSX Amiga as well.
@{fg shine}fMSX is publicly supported freeware. Its sources are on the net,
and you can modify them as long as you notify me about modifications.
You can't use fMSX for commercial purposes though. If you want to market
anything based on fMSX source or executables, contact me please.@{fg text}
The 'me' referred to here is either @{"Hans" link AUTHORS} (for the Amiga version) or @{"Marat" link AUTHORS 28}
for any other version.
The notice is incorrect in that I do not regularly upload fMSX sources
for the Amiga version to any public place. However, if you are interested,
you can obtain them by mailing to me.
If your conscience does not allow you to work with software you did not
pay for, neither author refuses gifts, money or postcards. I'd appreciate
it very much if you were to send me email!
@endnode
*****************************************************************
@node INSTALLATION ""
@{fg highlight}Installation@{fg text}
No specific installation procedure is required, just drag the directory
containing fMSX to some place of your liking.
@{fg shine}To run cartridge images from the Workbench@{fg text}
Many games come with pre-made icons. These icons require that @{fg shine}fMSX:@{fg text}
is assigned to the directory where you installed fMSX.
@endnode
*****************************************************************
@node REQUIREMENTS ""
@{fg highlight}System requirements@{fg text}
Required are:
- Amiga OS 2.0
- 68020 processor
- 350 kilobytes chip ram
- 1000 kilobytes other ram
Recommended:
- Amiga OS 3.0
- 68030 processor, at least 25MHz
- Those 1000 kilobytes of 'other' ram had better be fast ram!
If you want to use MSX disks, you will need to have CrossDos or similar
installed.
This program was developed using:
- An a4000/30 with 14Mb RAM and 260Mb HD
- SAS/C 6.57
- GenAm 3.02
- TurboText 2.0
@endnode
*****************************************************************
@node LOADINGEMULATOR ""
@{fg highlight}Running the emulator@{fg text}
@{fg shine}From the shell@{fg text}
Type @{fg shine}fMSX@{fg text} to start the program. It is possible to load a cartridge file by
typing @{fg shine}fMSX <ROM-NAME>@{fg text}, which will load the specified cartridge. A full
pathname may be used when specifying the cartridge.
@{fg shine}From workbench@{fg text}
Double click on the fMSX icon to start the emulator without loading
any cartridges.
Loading a cartridge is accomplished by double-clicking it. Note that
the included game icon requires the directory @{fg shine}fMSX:@{fg text} to be assigned
to the directory where the emulator resides. You will need the shell to
create this assign.
@{fg shine}Restrictions@{fg text}
As an MSX1 emulator fMSX Amiga is fairly complete. However, many of the
MSX2 features are still missing. All screens are supported except for
screen 4 and the interlace screens. Still left for later implementation
are sprites for screen 6, and 8, some VDP commands, line interrupts,
and screen positioning.
The following sort of software will run:
- Standard ROMs (16KB or 32KB)
- MegaROMs (128KB or bigger)
These are not physical cartridges, but copies that are stored on the
harddisk of your Amiga. They can be obtained from several @{"FTP" link SOFTWARE} sites.
- Disk-based games
- Disk images
- Tape images
These are also available through @{"FTP" link SOFTWARE}, from the same sites.
@endnode
*****************************************************************
@node CONTROLWINDOW ""
@{fg highlight}The control window@{fg text}
The emulator can be controlled from a control window on the workbench
screen. This window gives you the following options:
@{fg shine}Refresh cycle@{fg text}
This is the number of frames skipped before a new frame is drawn. If the
refresh cycle is has a low value the emulation runs smooth and slow. If the
refresh cycle has a high value it runs faster but also less smooth. Try to
experiment with what works best for a particular game. Usually a value of
about 5 gives good results.
This value is ignored when running in @{"high-speed mode" link HIGHSPEED}.
@{fg shine}Interrupt period@{fg text}
This controls the number of operations between interrupts. In interrupt
driven games, setting this to a low number speeds the game up, while
high numbers slow it down. If the program you run does most of its
work outside the interrupt, setting it to a low number may actually
slow things down.
In addition to this, the emulator waits for at least 1/50th of a second
before issuing an interrupt.
@{fg shine}CAUTION: if this number is set too low, it may crash the MSX. Try again
with a larger number. A value of 1500 should always be safe.@{fg text}
Again, experiment for the best results. I recommend a value of 1500 when
running BASIC, and 800 when running games.
@{fg shine}Cartridge 1@{fg text}
Here you can specify the name of a cartridge file. It will be loaded and
executed when you reset the MSX.
@{fg shine}ROM type@{fg text}
This button specifies the memory mapping method that will be used for
the current megaROM. If this value is not set correctly the megaROM
will certainly not run! Note: a megaROM is a cartridge bigger than 32Kb.
If you do not know the correct setting for a megaROM you have no option
but to try them all.
@{fg shine}Load@{fg text}
This button calls up a filerequester which you can use to select a
cartridge file. The cartridge file is loaded when you reset the MSX.
@{fg shine}Lock drives@{fg text}
If this button has been checked the emulation can access the drive, but
the Amiga is locked out. Similarly, if it is not checked, the Amiga can
access the drive but the MSX cannot.
@{fg shine}Running / Paused / Music@{fg text}
If you need every last cycle your machine can provide, but are unwilling
to quit fMSX because you just reached level 48 of Tetris, you can pause
and restart the emulation with these buttons. When it is paused it takes
absolutely no CPU time.
You can pause fMSX from the MSX screen by pressing the * key on the
numeric keypad.
Music mode allows you to listen to music produced by the MSX without the
overhead of constant screen redraws. This mode makes fMSX a reasonably
effective music player.
@{fg shine}Reset@{fg text}
This button resets the MSX. It is necessary to reset the MSX for some
settings to take effect.
@endnode
*****************************************************************
@node SYSPREFSWINDOW ""
@{fg highlight}The system preferences window@{fg text}
This window allows you to specify several system related settings for the
emulation.
@{fg shine}Drives@{fg text}
With this gadget you can specify the amount of drives connected to the
MSX. Note that two drives need more MSX memory than one drive. Some
games will not run if you have two drives connected due to memory shortage.
This setting only takes effect when you reset the MSX.
@{fg shine}Soundmode@{fg text}
With this gadget you can select between PSG and SCC sound. SCC is a sound
chip used in some Konami games. It provides far better sound than the PSG.
Games that support SCC sound can easily be recognized by the following
features:
- The game is produced by Konami.
- It is a ROM of 128KB or bigger (only exception to this: S.D. Snatcher).
- PSG sound for this game consists of nothing more than beeps and clicks.
Examples of games that support SCC sound are:
Salamander
Nemesis 2
Nemesis 3
King's Valley 2
F1 Spirit
And MSX2 games:
Space Manbow
Metal Gear 2
Quarth
Gryzor
King's Valley 2 MSX2
Note that SCC emulation is incomplete; it should emulate 5 SCC channels
and the entire PSG chip, rather than just 4 SCC channels. A future version
of fMSX will use AHI to play all channels at the same time.
@{fg shine}Memory@{fg text}
With this gadget you can select the amount of memory the emulated MSX
uses. Note that the amount of free BASIC memory is constant (about 23KB),
no matter how big a number you put here. The biggest you will ever need
is the 512KB setting. The other settings are provided to let you boast
about the amount of memory your MSX can use ;-) . And remember, this is for
only one memory mapper! A real MSX can use 14 for a total of 56MB!
@{fg shine}Device A: and B:@{fg text}
In these gadgets you have to specify which Amiga device or disk image is
used for emulation of MSX drives A: and B:. Normally these would be PC0: and
PC1:, but you can also create an MS-DOS compatible disk image or ramdisk and
use it instead.
If you specify a device, it must have certain properties:
- It must have a blocksize of 512.
- It must have a low-cyl of 0.
- It must have a high-cyl of 39 or 79.
- It must have 9 blocks per track.
- It must be a real device, no assign or volume.
- It must be mounted.
Since v1.2 it is also possible to use disk images without the help of an
external device such as fmsdisk.device. To use a disk image, just type the
name (including the full path) in one of the gadgets. A disk image must be
either 368640 or 737280 bytes long.
It is not necessary to fill in a value in these gadgets, but if you don't
you cannot use the corresponding MSX drive.
Two alternative MSX devices are provided in the archive. @{"RAMSX:" LINK RAMSX} uses
memory as an MSX diskdrive while @{"FMSX0: and FMSX1:" LINK FMSX0} are based on
fmsdisk.device (not included but available on Aminet). They provide
permanent MSX disks stored on the Amiga harddrive.
@{fg shine}Load@{fg text}
There are two buttons marked 'load', one for each MSX device. They let you
pick a diskimage or device from a requester instead of typing the name into
the gadget.
@{fg shine}MSX2 enabled@{fg text}
Enables / disables MSX2 features. MSX2 games require MSX2 features to be
enabled. MSX1 games will (usually) run fine with MSX2 enabled.
@{fg shine}Allow external ROMs@{fg text}
If turned on fMSX will first look on disk for ROM files, otherwise it
will use the internal ROMs. Note that internal ROMs are always used when
no external ROMs are available.
@{fg shine}Save preferences@{fg text}
When turned on, fMSX preferences are saved when the program ends. When
turned off it is necessary to save preferences by hand, using the menu
option Project/Save preferences.
@{fg shine}Pretend Japanese ROMs@{fg text}
When turned on, the country ID bytes in the ROM files are set to
Japanese. This causes some games to act differently. Examples:
- Nemesis 1 gets a new name (Gradius).
- Nemesis 2 uses Japanese text.
- Nemesis 3 gets an animated title screen.
@{fg shine}Plug'n'Play@{fg text}
When turned on fMSX will reset automatically after you select a
cartridge from the filerequester or when you drop a cartridge on
the fMSX window. This way you get to play it even faster ;-)
@endnode
*****************************************************************
@node VIDEOPREFSWINDOW ""
@{fg highlight}The video preferences window@{fg text}
This window allows you to specify several video related settings for the
emulation.
@{fg shine}Screenmode (ghosted)@{fg text}
This option forces the MSX into a certain screenmode. fMSX cannot change
MSX screenmodes during a videoframe, and games that try will certainly not
work properly. Choosing a screenmode here forces the MSX into a specific
screenmode, which will allow you to see at least part of the display
correctly.
This option is not yet available.
@{fg shine}Only refresh when active@{fg text}
When this option is turned on, and the MSX window is deselected, the
emulator will no longer redraw the MSX screen. On most games this means that
the music suddenly runs at normal speeds, thus turning fMSX into a music
playing system!
This is not quite the same as music mode, which also closes the MSX screen.
@{fg shine}Double buffering@{fg text}
Turns double buffering on and off. It is a good idea to keep double
buffering on at all times, and only turn it off when you really cannot
afford the memory.
When using OS 3.0 the OS specific double buffering routines are used.
However, these routines are not available on older versions of the OS. If
you are still using an older OS version you may still experience some
flicker when using double buffering. This has to do with timing of the
screen redraws and cannot be avoided.
CyberGfx does not emulate OS3.0 double buffering, therefore you must turn it
off if you are running on a CyberGfx screen.
@{fg shine}Hide titlebar@{fg text}
Turns the titlebar of the MSX screen on and off.
@{fg shine}Respect VDP blanking bit@{fg text}
When selected fMSX respects the blanking signal of the MSX videochip. Some
games turn blanking on for very short periods during a frame, which can
cause fMSX to accidentally blank the whole display. If this happens you can
turn this option off.
@{fg shine}Load colors directly@{fg text}
Some graphical effects rely on quickly changing the colors several times per
screen. Normally the Amiga does not allow this (colors are only changed once
per screen by Intuition) but if this option is set any color changes are
also directly poked into the hardware registers. This may cause visual
confusion on other screens as well, but is in fact totally harmless.
@{fg shine}Use anchor screen@{fg text} Requires OS 3.0
Under OS3.0 (and up) it is possible to keep screens adjacent at all times.
fMSX can use this feature to keep it's own screen at a place of your
choosing (as opposed to popping it to the front of the display everytime
some screen attribute changes).
When you activate this feature an extra screen is opened, called the anchor
screen, which never changes. When the MSX screen is closed and reopened it
will appear directly in front of the anchor screen.
@{fg shine}The screen selector@{fg text}
The gadgets on the right hand side of the window are used to set the correct
display mode. When you select an MSX mode in the listview at the top, it's
name and attributes become visible at the bottom. Screenmodes marked with a
'*' are not available in this version of fMSX.
If you are using the v38 ASL library you will see a button marked 'Select'.
Pressing this button brings up the ASL screenmode requester. You should
choose a screenmode that fits the MSX screenmode you selected in the
listview.
If you are using the v36 or v37 ASL library you will see a cycle gadget in
which you can choose a screenmode. Not all screenmodes are available from
the cyclegadget. Consider it one more reason to upgrade to 3.1 ;-)
Note that a different Amiga screenmode can be set for every MSX screenmode.
You cannot just select a single screenmode and let fMSX do the rest.
@endnode
*****************************************************************
@node TAPEPREFSWINDOW ""
@{fg highlight}The tape preferences window@{fg text}
In this window you can control how fMSX deals with tape images. Tape images
are stored by fMSX Amiga as a collection of files, similar to the way a real
MSX stores files on tape. However, files on tape are ordered by nature,
which is not quite true for files on disk.
To emulate the ordering of files on a tape fMSX uses an index file. This is
a simple ASCII file which lists all the files in the right order. The index
file should be in the same directory as the files it indexes. For that
reason it only needs to list filenames, without path information.
@{fg shine}Load@{fg text}
The load button is used to load the index file of a tape. After selecting an
index file the contents of the tape are shown in the listview. It is also
possible to type in a pathname directly.
You can select a name that doesn't yet exist. If you do so, a new index
will be created.
@{fg shine}Append@{fg text}
The biggest problem with writing to a real tape is positioning it. No matter
how careful you are, the day will come when you accidentally overwrite
something important.
The 'append' option prevents this. When turned on, new files are always
appended to the end of a tape. When turned off, new files will overwrite the
currently selected file.
@{fg shine}The tape contents listview@{fg text}
The listview shows the contents of the currently selected tape. The tape is
positioned just before the highlighted item. This means that the next item
loaded by the MSX (or saved, if 'Append' is turned off) will be the selected
item.
It is possible to change the name of an item. To do this, select it and type
the new name in the stringgadget at the bottom of the window. @{B}It is strongly
recommended that you do this for newly created files.@{UB} fMSX searches for
possible new filenames by simply going through a range of filenames and
trying them all. The more filenames exist in this range, the longer the
search takes.
@{fg shine}Up@{fg text}
This button moves the currently selected file upwards in the index, ie.
forwards on tape.
@{fg shine}Down@{fg text}
This button moves the currently selected file downwards in the index, ie.
backwards on tape.
@{fg shine}Mark@{fg text}
This button marks the currently selected file for deletion. It will be
deleted when you press the 'Remove' button.
@{fg shine}Clear@{fg text}
This button unmarks the currently selected file.
@{fg shine}Remove@{fg text}
The Remove button removes all marked files from tape. The files are removed
from both the index and your harddisk.
@endnode
*****************************************************************
@node MENUBAR ""
@{fg highlight}The menu bar@{fg text}
@{fg shine}Project/About...@{fg text}
Calls up the 'about' requester.
@{fg shine}Project/Quit@{fg text}
Quits the program.
@{fg shine}Cartridge/Open...@{fg text}
Brings up a filerequester where you can choose a cartridge file for
use in the cartridge slot. The cartridge is loaded when you reset
the MSX.
@{fg shine}Cartridge/Save config@{fg text}
Saves several settings in the icon of the current cartridge. If the
cartridge does not have an icon, the fmsx_rom.info icon (in the program
directory) is used. If this icon does not exist either, no information is
saved.
You can also edit the @{"icon" link TOOLTYPES} manually.
@{fg shine}Diskdrives/Write bootblock drive A:@{fg text}
@{fg shine}Diskdrives/Write bootblock drive B:@{fg text}
The MSX cannot boot from disks that have a PC bootblock. With these menu
options you can write an MSX bootblock to one of the MSX drives.
@{B}CAUTION: some games have their own bootblocks. Overwriting them will
kill the game.@{UB}
@{fg shine}Diskdrives/Create 360KB diskimage@{fg text}
@{fg shine}Diskdrives/Create 720KB diskimage@{fg text}
With these options you can create a new diskimage. Select the size you want,
pick a location and name in the filerequester, and it's ready for use. There
is no need to write a bootblock to a diskimage created in this manner.
@{fg shine}Preferences/Save@{fg text}
Saves fMSX preferences. Preferences are saved to the file fmsx.prefs
in the directory containing the program. Note that this version uses
a slightly different preferences file, which cannot be used with older
versions of fMSX Amiga.
@{fg shine}Preferences/System...@{fg text}
Opens the @{"system preferences" LINK SYSPREFSWINDOW} window.
@{fg shine}Preferences/Tape...@{fg text}
Opens the @{"tape preferences" link TAPEPREFSWINDOW} window.
@{fg shine}Preferences/Video...@{fg text}
Opens the @{"video preferences" LINK VIDEOPREFSWINDOW} window.
@endnode
*****************************************************************
@node TOOLTYPES ""
@{fg highlight}Icon tooltypes@{fg text}
The optimal settings for a cartridge can be stored in its icon. To find out
what each tooltype means, read the section about the @{"control window" link CONTROLWINDOW}.
Currently the following tooltypes are supported:
@{fg shine}REFRESHCYCLE=value@{fg text}
Legal values are 1 to 10.
@{fg shine}INTERRUPTPERIOD=value@{fg text}
Legal values are 0 to 5000.
@{fg shine}ROMTYPE=value@{fg text}
Legal values are 0 to 5. These values mean, in order: SCC 1, Konami 1,
ASCII 1, ASCII 2, SCC 2, and Konami 2.
@{fg shine}SOUNDMODE=value@{fg text}
Legal values are 0 and 1. 0 selects PSG sound, while 1 selects SCC sound.
@{fg shine}MSXVERSION=value@{fg text}
Legal values are 0 and 1, which correspond to MSX versions 1 and 2.
@endnode
*****************************************************************
@node DIFFERENTROMS ""
@{fg highlight}Using different ROMs@{fg text}
fMSX has built-in ROMs, but it is possible to use different ones. To use
different MSX1 ROMs: place a file containing BIOS and BASIC in the same
directory as the program itself. The file must be named @{fg shine}MSX.ROM@{fg text}.
Using MSX2 ROMs works the same, but requires two files: @{fg shine}MSX2.ROM@{fg text} (BIOS
and BASIC), and @{fg shine}MSX2EXT.ROM@{fg text} (the SUBROM).
You must also turn on external ROMs in the preferences window.
@endnode
*****************************************************************
@node DISK ""
@{fg highlight}Using MSX diskdrives@{fg text}
The MSX disk system is an extension of the original MS-DOS disk system.
Anything you know about MS-DOS probably applies to MSX as well. This
section gives a short overview of features.
MSX filenames, like MS-DOS filenames, are very limited: they have a
maximum length of eight characters, followed by a three-character
extension. In addition, no lower-case characters or spaces are allowed.
The number of files on a disk is limited to 112. To make matters worse,
subdirectories are not supported by MSX.
There are two wildcards: @{fg shine}*@{fg text} and @{fg shine}?@{fg text}. These correspond to the Amiga wildcards
@{fg shine}#?@{fg text} and @{fg shine}?@{fg text}.
Examples:
@{fg shine}*.*@{fg text} Everything
@{fg shine}*.BAS@{fg text} All files with extension @{fg shine}.BAS@{fg text}
@{fg shine}GAME*.*@{fg text} All files starting with @{fg shine}GAME@{fg text}
@{fg shine}*.B??@{fg text} All files that have a @{fg shine}B@{fg text} as the first part of the extension.
fMSX Amiga supports up to two diskdrives. The MSX calls these drives @{fg shine}A:@{fg text}
and @{fg shine}B:@{fg text}.
There are two ways of dealing with disks on the MSX: by using @{"MSX-DOS" link MSXDOS}
and from @{"BASIC" link DISKBASIC}.
@endnode
*****************************************************************
@node MSXDOS ""
@{fg highlight}About MSX-DOS@{fg text}
MSX-DOS is a control program for the MSX which is based on the very
first version of MS-DOS. It is required if you want to use some MSX
programs, and it can be useful if you want to perform certain floppy
operations. It is close enough to CP/M that some CP/M programs run on
it; many others only require minor modifications to run.
MSX programs that require MSX-DOS can easily be recognized by their
filename. Programs that end in @{fg shine}.BAT@{fg text} are MSX-DOS script files; programs
that end in @{fg shine}.COM@{fg text} are MSX-DOS executables. Both types can be started by
typing the filename (without the extension) after the prompt.
@{fg shine}Getting started@{fg text}
To run MSX-DOS you need three things: an MSX-formatted floppy, and the
programs @{fg shine}MSXDOS.SYS@{fg text} and @{fg shine}COMMAND.COM@{fg text}. Obtaining an MSX-formatted floppy
is easy: any 720KB PC floppy will do.
Step 1: Find, buy, or format a PC floppy. Assuming you have CrossDos
installed this can easily be done from your workbench.
Step 2: Open the Preferences window by clicking on the Preferences
button, and check that the Drives button is set to 1 or 2. If it
isn't, change the setting and reset fMSX by clicking the Reset button
in the control window.
Step 3: Convert the disk to MSX format by selecting the menu option
@{fg shine}Write bootblock@{fg text} (for the appropriate device).
Step 4: Copy @{fg shine}MSXDOS.SYS@{fg text} and @{fg shine}COMMAND.COM@{fg text} to this floppy.
Step 5: Reset fMSX by clicking the Reset button.
Step 6: Wait until MSX-DOS has booted. One of the first things you'll
see is the prompt, which looks like this: @{fg shine}A>@{fg text}
When MSX-DOS boots it looks for a file called @{fg shine}AUTOEXEC.BAT@{fg text}. This is
a script file that is executed automatically if found.
@{fg shine}Complete overview of commands@{fg text}
Each command is followed by one or more examples. The lines between
square brackets represent BASIC equivalents for the MSX-DOS examples.
@{U}BASIC@{UU}
Quits MSX-DOS and returns you to the BASIC interpreter. From there you
can type CALL SYSTEM or _SYSTEM to go back to MSX-DOS. Note: this doesn't
work if you didn't originally boot from an MSX-DOS disk.
Examples:
A>BASIC (starts BASIC)
[CALL SYSTEM] or [_SYSTEM]
A>BASIC start.bas (starts BASIC and runs the BASIC program start.bas)
[no equivalent]
@{U}COPY@{UU}
Copies one or more files.
Examples:
A>COPY A:*.* B: (copies all files from drive A: to drive B:)
[COPY "A:*.*" TO "B:"]
A>COPY MSX.TXT PRN (copies the file msg.txt to the printer)
[COPY "MSX.TXT" TO "PRN"]
@{U}DATE@{UU}
Shows the date. Optionally you can also change it.
Examples:
A>DATE (shows the current date)
[GETDATE A$ : PRINT A$] (requires MSX2 BASIC)
@{U}DEL@{UU}
Removes a file from disk.
Examples:
A>DEL *.* (removes all files)
[KILL "*.*"]
@{U}DIR@{UU}
Shows the contents of a disk.
Examples:
A>DIR *.BAS (shows all files with extension .BAS)
[FILES "*.BAS"]
A>DIR /P (shows all files, pausing after every page of output)
[no equivalent]
A>DIR /W (shows all files in shortened format)
[FILES]
@{U}ERASE@{UU}
Same as DEL.
@{U}FORMAT@{UU}
Allows you to format a disk. Not supported by fMSX Amiga, you'll have
to format a disk from the workbench instead. Don't forget to write
an MSX bootblock to it.
@{U}MODE@{UU}
Change the width of the screen.
Examples:
A>MODE 40 (turns on 40-column mode)
[WIDTH 40]
@{U}PAUSE@{UU}
Puts the text @{fg shine}Strike any key when ready...@{fg text} on the screen and waits until
any key has been struck. It can also print an extra message.
Examples:
A>PAUSE (waits until a key has been struck)
[no equivalent]
A>PAUSE Message (prints Message on screen and waits)
[no equivalent]
@{U}REM@{UU}
Does nothing at all. If any text follows the REM statement it is printed
on screen.
Examples:
A>REM Message (prints Message)
[no equivalent]
@{U}REN@{UU}
Renames one or more files.
Examples:
A>REN *.LDR *.BAS (changes all .LDR extensions to .BAS extensions)
[NAME "*.LDR" AS "*.BAS"]
@{U}RENAME@{UU}
Same as REN.
@{U}TIME@{UU}
Shows the time. Optionally you can also change it.
Examples:
A>TIME (shows the current time)
[GETTIME A$ : PRINT A$] (requires MSX2 BASIC)
@{U}TYPE@{UU}
Prints the contents of a file on the screen.
Examples:
A>TYPE MSG.TXT (shows the contents of MSG.TXT)
[COPY "MSG.TXT" TO "CON"]
@{U}VERIFY@{UU}
Turns on verification mode. This command is actually ignored by MSX.
Examples:
A>VERIFY ON (turns verification on)
[no equivalent]
A>VERIFY OFF (turns verification off)
[no equivalent]
@endnode
*****************************************************************
@node DISKBASIC ""
@{fg highlight}Using the drives from BASIC@{fg text}
Unlike MSX-DOS, BASIC enforces no filenaming conventions for executables
or other kinds of files. However, some guidelines exist:
Files ending in @{fg shine}.BAS@{fg text} are BASIC files. There are several ways to load them:
LOAD "FILENAME.BAS" (loads the file)
LOAD "FILENAME.BAS",R (loads the file and executes it)
RUN "FILENAME.BAS" (loads the file and executes it)
If you want to save a BASIC file you can use this:
SAVE "FILENAME.BAS"
Files ending in @{fg shine}.BIN@{fg text} are executable files. There is only one way to load
them:
BLOAD "FILENAME.BIN",R (loads the file and executes it)
Files ending in @{fg shine}.BAT@{fg text} or @{fg shine}.COM@{fg text} are files that can only be used from @{"MSX-DOS" link MSXDOS}.
If the file you want to load has another kind of extension, try
experimenting with it. The MSX will tell you if you did something wrong.
There is one file that has special significance to MSX-BASIC. This
file is called @{fg shine}AUTOEXEC.BAS@{fg text} and is executed automatically during the
boot sequence.
The section about @{"MSX-DOS" link MSXDOS} contains BASIC equivalents for some MSX-DOS
statements.
@endnode
*****************************************************************
@node QUITTING ""
@{fg highlight}Quitting the emulator@{fg text}
There are two ways to quit the emulator: select @{fg shine}Quit@{fg text} from the menu, or
close the control window.
If the option 'Save preferences' is activated, quitting the emulator also
causes it to write many current settings to disk. These values are
automatically reloaded the next time you run the program.
@endnode
*****************************************************************
@node CONFIGURE
@{fg highlight}Configuring your MSX@{fg text}
A real MSX2 has a small amount of battery-backed RAM, which is used to
store (among other things) information about your preferred working
environment.
The following commands are used to customize the environment:
SCREEN n
Sets the desired screenmode. n can be 0 or 1.
WIDTH n
Selects the amount of columns of text displayed on screen. Valid values for
n are 80 or less for screen 0, and 32 or less for screen 1.
COLOR fore,back,border
Selects foreground, background, and border colors. Screen 0 does not support
border colors - one of the many weird features of the MSX2 VDP. Colors range
from 0 to 15.
KEY [ON|OFF]
Turns the function key list underneath the screen on or off.
SET SCREEN
Stores the current settings in battery backed RAM. fMSX actually keeps
a copy of these values on disk, in the file @{fg shine}fmsx.prefs@{fg text}.
@endnode
*****************************************************************
@node AMIGAHARDWARE ""
@{fg highlight}Using the Amiga hardware@{fg text}
@{fg shine}Keyboard@{fg text}
Keys are directly mapped to their MSX equivalents, which means that the
MSX ROMs determine what character results from a key press. The ROMs that
come with this version of fMSX Amiga give you an American keymap.
Some keys that may not be obvious:
@{U}Amiga key@{UU} @{U}MSX key@{UU}
F6 select
F7 stop
F8 clear/home
F9 insert
F10/delete delete
left alt graphics
right alt code
The following Amiga keys do nothing at all:
- Both Amiga keys.
- The keys on the numeric keypad (except '(' and '*').
- The extra international keys found on some keyboards.
@{fg shine}Joystick@{fg text}
The emulator can use two Amiga joysticks. The second joystick is activated
by pressing '(' on the numeric keypad while in the emulation screen. Press
'(' again to get the mouse back.
Joysticks with two buttons are very common with MSX systems, and many
games take advantage of the second button. Often there is a keyboard
equivalent for the second button; Konami games use 'M' and 'N' for this.
@{fg shine}Video@{fg text}
The emulator should run fine on any Amiga screen, including PAL, NTSC,
and any graphics card that supports workbench emulation. This has been
confirmed to work with several types of graphic card.
The @{"high-speed mode" link HIGHSPEED} will certainly not work with a graphics card, and
may in fact require a 15KHz mode to be active. Without a 30Khz monitor
it's hard to be sure :-( .
@{fg shine}Clock@{fg text}
MSX2 machines have a built-in battery-backed clock. The emulator
substitutes the Amiga clock for this clock.
@{fg shine}Diskdrives@{fg text}
MSX disk drives are emulated as Amiga devices. Read the section about
@{"diskdrives" link DISK} for more information.
@endnode
*****************************************************************
@node HIGHSPEED ""
@{fg highlight}High-speed mode@{fg text}
fMSX Amiga is written with an eye towards system-friendliness. This has
the unfortunate drawback that it is at times impossible to tap the full
potential of the Amiga. In order to show what is *really* possible with
the Amiga custom chips, a new way to refresh the screen was added to
fMSX Amiga: high-speed mode.
In high-speed mode the copper controls the blitter, which refreshes
the screen every second frame. As far as I am aware there is no way
to do this in a system-supported way, which means that some typical
Amiga features are disabled as long as high-speed mode is active.
@{fg shine}Disabled features@{fg text}
The following features are disabled during high-speed mode:
- Screen dragging.
- Screen switching.
In addition, the blitter is locked up all the time, which may cause
other tasks to be put on hold as long as high-speed mode is active.
Since version 1.0 high-speed mode is far more system friendly. It still uses
the same trick (and maintains the same speed) as the old version, though.
@{fg shine}Enabled features@{fg text}
All other Amiga OS functions remain enabled during high-speed mode,
including multitasking.
High-speed mode is activated with the HELP key. Pressing HELP a second
time returns the program to its normal mode of operation.
Only screenmodes 1 and 2 support high-speed mode.
@endnode
*****************************************************************
@node BUGS ""
@{fg highlight}Bugs and restrictions@{fg text}
@{U}Z80 emulation@{UU}
- All instructions except the illegal ones from the XDCB group are
emulated.
@{U}Video emulation@{UU}
- Screens 4 and 8 are not yet emulated.
- screens 6 and 7 don't have any sprites yet.
- Line interrupts don't work.
@{U}Sound emulation@{UU}
- SCC emulation is only 4 channels rather than 5 + PSG.
If you find any more bugs, please report them to the @{"authors" link AUTHORS}.
@endnode
*****************************************************************
@node FUTURE ""
@{fg highlight}Future plans@{fg text}
@{U}Shortish term@{UU}
- Remove everything mentioned in the @{"Bugs" link BUGS} section.
- Expand available MSX2 features, both speed and features.
- Play all SCC channels.
- Turn the graphics system into a library, allowing specific libraries
for other display systems (such as CyberGfx).
- More speed.
@{U}Longer term@{UU}
- Support the FM-PAC.
- Support MSX2+ and MSX Turbo-R
@endnode
*****************************************************************
@node SOFTWARE ""
@{fg highlight}Where to find MSX software@{fg text}
MSX software is available through FTP from the following sites:
@{U}Site:@{UU} @{U}Directory:@{UU}
altair.komkon.com /pub/MSX/
ftp.saitama-u.ac.jp /pub/msx/
ftp.funet.fi /pub/msx/
riaph.irkutsk.su /pub/
MSX software is also available via WWW:
@{U}Site:@{UU}
http://grelb.src.gla.ac.uk:8000/~webster/msx
http://www.cs.umd.edu/users/fms/
@endnode
*****************************************************************
@node ICONS ""
@{fg highlight}Why are the icons so ugly?@{fg text}
There are two possible reasons.
The first is that your Workbench palette is different from mine. If
you want to see what the icons should look like, set your Workbench
to 8 colors, and use the following palette:
color #0-3: standard Commodore colors
color #4: full red
color #5: - (unused)
color #6: full blue
color #7: - (unused)
The second reason is that I am a crap artist. Feel free to draw nicer
icons, if you like. And *SEND ME A COPY*!
A new set of icons was donated by Johan Forsberg (d92-jfo@nada.kth.se).
These icons use the Magic Workbench colors and are much better than my own
poor attempt at art.
@endnode
*****************************************************************
@node HOWTOLOAD ""
@{fg highlight}How do I load... ?@{fg text}
@{fg shine}Diskbased software@{fg text}
An MSX filename consists of eight characters, followed by a dot and another
three characters. The last three characters are called the extension.
The extension generally tells you how to load a file. So, if the filename
is...
@{U}xxx.BAT@{UU} or @{U}xxx.COM@{UU}
Go to @{"MSX-DOS" link MSXDOS} and type @{fg shine}xxx@{fg text}.
@{U}xxx.BAS@{UU}
Try the following: in BASIC, type @{fg shine}RUN "xxx.BAS"@{fg text}. If it responds with an
error message it isn't a BASIC file, try loading it as an executable file.
@{U}xxx.BIN@{UU}
Try the following: in BASIC, type @{fg shine}BLOAD "xxx.BIN",R@{fg text}. If it responds with an
error message it isn't an executable file, try loading it as a BASIC file.
@{U}xxx.PMA@{UU}
This is an MSX archive file, similar to a .LHA file on the Amiga. You
need PMEXT.COM (available from several @{"FTP sites" link SOFTWARE}) to unpack it.
PMEXT.COM requires @{"MSX-DOS" link MSXDOS}.
@{U}xxx.DSK@{UU}
This is a disk image. See below for more information.
@{U}any other@{UU}
Try loading it as either a BASIC file or an executable file.
If none of these work, it is a file that is part of another program,
in which case it can only be loaded by that program.
@{fg shine}Tapebased software@{fg text}
Tapebased software consists of a group files and an index file (see the
description @{"here" link TAPEPREFSWINDOW}.
There are three ways to load files from tape:
BLOAD "CAS:",R
This command loads the first binary file it can find from tape and executes
LOAD "CAS:",R
CLOAD
These commands load the first BASIC file they can find from tape. The MSX
has two ways to store BASIC files on tape - and they are not compatible. You
must use the right command for each type of file.
After loading a file with CLOAD you must type RUN to activate it.
@{fg shine}ROM files and disk images must be loaded from the Amiga side@{fg text}
Only MSX files can be loaded using MSX commands. ROM files and disk images
are not really MSX files (a real MSX cannot load them) and can only be
loaded from the Amiga side.
To load and activate ROM files you must use the "Load" and "Reset" buttons
on the @{"control window" link CONTROLWINDOW}.
Disk images can be loaded from the @{"system preferences window" link SYSPREFSWINDOW}. Just type
the name of the disk image in one of the "Device A:" or "Device B:" gadgets.
@endnode
*****************************************************************
@node COMPATIBILITY ""
@{fg highlight}When MSX software fails to run...@{fg text}
Note: many tricks described here require a reboot before they take effect.
@{fg shine}Try a higher interrupt period@{fg text}
Some games perform lots of processing between every two interrupts, and the
emulated Z80 may not be able to keep up (this is especially true for
graphically intensive operations). If interrupts happen too early this may
cause the MSX to crash or behave erratically.
Setting the interrupt period to a higher value causes the emulated Z80 to
perform at least a certain number of instructions between two interrupts.
This means that the game will run slower, but there is also a better chance
of it working at all.
A good example of a game that needs a higher interrupt period is Maze of
Galious.
The amount of instructions executed cannot easily be determined, but is
normally about five times higher than the interrupt period.
Although it is possible to enter values as high as 5000 it is not normally
necessary to go above 1500. Note that you do not need to reboot for this
setting to take effect.
@{fg shine}Use less drives@{fg text}
Every drive costs a bit of BASIC memory. Many games will not run when more
than one drive is present, because the BASIC loader can run out of memory.
Turning off the second drive (using the appropriate gadget in the system
preference window) may help. Allocating more memory to the MSX will not
help, this does not increase BASIC memory at all. Such are the wonders of
the MSX memory architecture...
@{fg shine}Use more memory@{fg text}
Some games require an MSX device called a memory mapper to be installed. 98%
of all programs will feel at home on a 256Kb mapper, and the rest will run
fine with 512Kb. The amount of memory used by the memory mapper can be
selected in the preferences window.
@{fg shine}Poking address -1 doesn't help@{fg text}
The mythical address -1, aka 65535, aka &hFFFF, is used by a real MSX for
secondary slot selection. fMSX Amiga supports nor needs secondary slots,
therefore pokes to this address are ignored. This is a real feature, ask
almost any MSX2 owner ;-)
@{fg shine}Use MSX1 ROMs@{fg text}
Some MSX1 games do not properly turn off MSX2 features, causing garbage to
appear on the screen (shades of ECS vs. AGA here?). Disable MSX2 in the
preference window and see if the problem disappears.
@{fg shine}Try hacking with BASIC@{fg text}
If all this doesn't help there is still a whole bag of BASIC tricks left to
try. Some of the following might do it - then again, it might not:
POKE &hFD9F,201
This turns off disk interrupt processing. On a real MSX this means the drive
engine never stops (this is regulated through this interrupt) but fMSX
controls the drive engine on its own.
CLEAR 0
This frees up extra BASIC memory.
MAXFILES = 0
This frees up extra BASIC memory.
@{fg shine}Get the next release@{fg text}
fMSX Amiga is still under development. I try to have better compatibility
with each new release. If something doesn't work and isn't listed in the
@{"bugs" link BUGS} section send me a report and I'll see what I can do.
@endnode
*****************************************************************
@node NEWVERSIONS ""
@{fg highlight}How to obtain new versions@{fg text}
New versions of fMSX Amiga will be distributed in three ways: one copy
will be uploaded to Aminet, another to the webpage of @{"Marat Fayzullin" link AUTHORS 28}
and finally a copy will be mailed to everybody on the fMSX Amiga
distribution list. If you want to be placed on this list (or removed
from it) simply send mail to
h.guijt@inter.nl.net
stating what you want. If you have mailed me in the past with questions
about fMSX you have automatically been placed on the list; I apologize
if you did not intend to receive new versions of fMSX. If you asked
to be on the list but aren't, try mailing me again. I am not a mail-demon,
and I occasionally misplace mail messages.
You do not need to fear being swamped by mail; there is usually a few
months between each successive version of the emulator.
@endnode
*****************************************************************
@node CSMSX ""
@{fg highlight}About comp.sys.msx@{fg text}
For public questions about MSX or fMSX, your best bet would be the
newsgroup @{fg shine}comp.sys.msx@{fg text}.
I'm also on @{fg shine}comp.emulations.misc@{fg text}.
Of course, questions can be aimed at the @{"authors" link AUTHORS} as well.
@endnode
*****************************************************************
@node AUTHORS ""
@{fg highlight}About the authors@{fg text}
fMSX Amiga is being written by @{U}Hans Guijt@{UU}. Until march 30 1995 I was a
computer science student at the university of Leiden, but since june 1st I
am employed by Palm Automatisering in Aalsmeer. I am not aversed against
bug reports, mail (of any kind), gifts, etc. Actually I quite like receiving
email, so write to me!
Past and future projects include: a large UNIX based system for image
normalization and recognition (Photobase), an advanced MSX disassembler
(MSXResourcer), needed to convert some games from MSX to Amiga but useful
for fMSX as well, and a level editor for the first game that is to be
converted (Konami's Metal Gear). Unfortunately the game conversion is not
getting much time lately, much to the frustration of the other people who
work on that project.
My (snailmail) address:
Hans Guijt
Kagersingel 30
2172 XG Sassenheim
The Netherlands
Telephone: (Holland) 2522-17251
Email: h.guijt@inter.nl.net
fMSX (generic) is being written by @{U}Marat Fayzullin@{UU}. He is a computer science
student in University of Maryland in College Park, who is going to graduate
this May [any job offers, especially from Europe? :)]. Aside from fMSX, he
also wrote WBGames and Dashboard for Amiga, maintains two FAQ lists on
USENET, and a large WWW site at
http://www.freeflight.com/fms/
He also doesn't refuse small [and not so small] monetary donations
in hard currency [preferably US dollars] sent to:
Marat Fayzullin
6304 Hampton Place
Elkridge, MD 21227
phone: (410)-379-2925
email: fms@freeflight.com
IRC: RST38h
@endnode
*****************************************************************
@node RAMSX ""
@{fg highlight}About RAMSX:@{fg text}
Included in this package is a mountlist for a device called RAMSX:. This
device (built from ramdrive.device and crossdosfilesystem) can be used with
fMSX to play disk-based games directly from RAM (it's not as good as using a
harddrive, but it's much better than using disks!).
If you want to use RAMSX: you will need about 720Kb of free RAM and the
crossdosfilesystem. You must also enter the device name RAMSX: into the
appropriate drive gadget in the preferences window.
It can be rather hard to recover RAMSX after a reboot, but it can be done.
Open a shell and type the following commands:
assign RAMSX: dismount
mount RAMSX:
and RAMSX: is back online. Thanks to Nikos Drogosis (ndrog@acropolis.net)
for reporting this.
@endnode
*****************************************************************
@node FMSX0 ""
@{fg highlight}About FMSX0: and FMSX1:@{fg text}
Included in this package are mountlists for two devices called FMSX0:
and FMSX1:. These devices require fmsdisk.device to be installed.
fmsdisk.device is available from Aminet (directory misc/disk).
FMSX0: and FMSX1: allow you to store MSX disks on the Amiga harddisk.
If you wish to easily access floppy-based MSX disks but cannot be
bothered with real floppies these devices are an excellent alternative.
FMSX0: and FMSX1: were contributed by Andrew G. Robson
(a.g.robson@northumbria.ac.uk). Complaints and compliments are
rightly his.
@endnode
*****************************************************************
@node THANKS ""
@{fg highlight}A big thank-you to:@{fg text}
@{U}Peter McGavin@{UU} (peterm@maths.grace.cri.nz)
Peter (who wrote an excellent Spectrum emulation) contributed many
ideas for the Z80 emulation. It was his @{fg shine}Spectrum 1.7@{fg text} which convinced me
that fast Z80 emulation is possible. In addition the c2p necessary
for the MSX2 screenmodes were inspired by his Flick 1.5.
@{U}Jeroen Vermeulen@{UU} (jtv@xs4all.nl)
Jeroen kindly offered to proof-read the accompanying documentation, and
found heaps of spelling errors. He is also a willing betatester (victim?)
who has found many enforcer hits and general nastiness.
@{U}Alex Wulms@{UU} (a.wulms@inter.nl.net)
Alex owns an MSX Turbo-R, and is the author of @{fg shine}Zone Terra@{fg text}, an excellent
shoot'em-up for that system. He is also an MSX-wizard, who explained
many of the MSX's internal workings to me.
@{U}Sergi Martinez and Juan Gomez@{UU} (pixador@adam.es)
Juan and Sergi are the authors of @{"AmiMSX" link AMIMSX}, a program similar to fMSX. Their
input so far includes a trick to speed up fMSX by 30%, information about
the MSX mouse interface (to be added in a future version), and of course
the constant inspiration provided by new AmiMSX features ;-)
@{U}B
rge N
st@{UU} (borgen@icenet.no)
For finding, fixing and reporting a major bug in high-speed mode.
@{U}Andrew G. Robson@{UU} (a.g.robson@northumbria.ac.uk)
For contributing @{"FMSX0: and FMSX1:" LINK FMSX0}.
@{U}Nikos Drogosis@{UU} (ndrog@acropolis.net)
For explaining how @{"RAMSX:" LINK RAMSX} can be remounted after a reboot.
@{U}Johan Forsberg@{UU} (d92-jfo@nada.kth.se)
For donating the Magic Workbench iconset for MSX.
...and all the betatesters and supporters!
@endnode
*****************************************************************
@node AMIMSX ""
@{fg highlight}About AmiMSX@{fg text}
fMSX is not the only MSX emulation available for the Amiga. A similar
program called AmiMSX is also available through Aminet. I shall attempt to
make an honest, non-biased comparison (and I point you to the AmiMSX
documentation for the other side of the story ;-) ):
@{fg shine}Advantages of fMSX@{fg text}
- fMSX is completely free, whereas AmiMSX needs to be registered.
- fMSX can use cartridges.
- fMSX is completely system-friendly.
- fMSX can run with the 68040 copyback cache enabled (I have heard
reports that AmiMSX needs to have copyback disabled).
- fMSX supports ampliated sprites (sorry about that Sergi ;-) ).
@{fg shine}Advantages of AmiMSX@{fg text}
- AmiMSX is quite a bit faster.
- AmiMSX kills the OS for extra speed (it returns to the workbench
when paused). I do not personally consider this an advantage but I
know some people do.
- AmiMSX is far ahead in VDP (and MSX2) emulation.
- SCC sounds better for some reason.
There are also features common to both programs:
- The user interfaces look somewhat similar.
- Both require 68020+ and OS2.0+.
If you like MSX emulation you will probably want to check out AmiMSX as
well.
@endnode