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 >
Amigaguide Document  |  1997-03-06  |  59KB  |  1,156 lines

  1. @database fmsx
  2. @version $VER: fmsx.guide 1.3 (20.2.97)
  3. *****************************************************************
  4. @node MAIN ""
  5.         @{fg highlight}fMSX Amiga 1.3@{fg text}
  6.  1994 by Marat Fayzullin.
  7.  1995 by Hans Guijt.
  8. @{B}General information@{UB}
  9.     @{" Introduction to fMSX          " link WHAT_IS_IT} @{" Disclaimer                    " link DISCLAIMER}
  10.     @{" About MSX                     " link MSX} @{" Copyright notice              " link COPYRIGHTS}
  11. @{B}Installation and usage@{UB}
  12.     @{" Installation                  " link INSTALLATION} @{" Running fMSX                  " link LOADINGEMULATOR}
  13.     @{" The control window            " link CONTROLWINDOW} @{" The system preferences window " link SYSPREFSWINDOW}
  14.     @{" The tape preferences window   " link TAPEPREFSWINDOW} @{" The video preferences window  " link VIDEOPREFSWINDOW}
  15.     @{" The menu bar                  " link MENUBAR} @{" Using different ROMs          " link DIFFERENTROMS}
  16.     @{" Using MSX diskdrives          " link DISK} @{" Quitting the emulator         " link QUITTING}
  17.     @{" Configuring your MSX          " link CONFIGURE}
  18. @{B}Technical information@{UB}
  19.     @{" System requirements           " link REQUIREMENTS} @{" Using the Amiga hardware      " link AMIGAHARDWARE}
  20.     @{" High-speed mode               " link HIGHSPEED}
  21. @{B}Program information@{UB}
  22.     @{" Bugs and restrictions         " link BUGS} @{" Future plans                  " link FUTURE}
  23.     @{" History                       " link history.guide/main}
  24. @{B}Problems?@{UB}
  25.     @{" Where to find MSX software    " link SOFTWARE} @{" Why are the icons so ugly?    " link ICONS}
  26.     @{" How do I load... ?            " link HOWTOLOAD} @{" When MSX software fails to run" link COMPATIBILITY}
  27. @{B}Miscellaneous@{UB}
  28.     @{" How to obtain new versions    " link NEWVERSIONS} @{" About comp.sys.msx            " link CSMSX}
  29.     @{" About the authors             " link AUTHORS} @{" About RAMSX:                  " link RAMSX}
  30.     @{" About AmiMSX                  " link AMIMSX} @{" About FMSX0: and FMSX1:       " link FMSX0}
  31.     @{" Thanks                        " link THANKS}
  32. @endnode
  33. *****************************************************************
  34. @node WHAT_IS_IT ""
  35.         @{fg highlight}Introduction to fMSX@{fg text}
  36. fMSX stands for @{U}@{B}F@{UB}ast @{B}MSX@{UB}@{UU}, and that's what it is: a reasonably speedy
  37. emulation of the @{"MSX" link MSX} computer system.
  38. It was originally programmed by @{"Marat Fayzullin" link AUTHORS 28} as a generic MSX
  39. emulator - that means that it can be compiled on any machine, in
  40. any environment! To reach this goal he programmed fMSX in C code,
  41. resulting in a program that runs on UNIX machines, PCs, Macs, and
  42. of course Amigas.
  43. At some point I (@{"Hans Guijt" link AUTHORS}) offered to rewrite the screen drivers
  44. for the Amiga, and @{"Marat" link AUTHORS 28} accepted this offer. I received the sources
  45. and went to work.
  46. The first thing I noticed was that the emulation was exceptionally slow!
  47. This is okay for a fast UNIX workstation, but most Amiga's are low-end,
  48. and the emulation would be next to useless in such an environment.
  49. The solution seemed easy: just rewrite the Z80 emulation in optimized
  50. 68020 assembler code (easier said than done!). The results were
  51. spectacular. A short BASIC program was selected as the benchmark:
  52. @{fg shine}10 FORT=1TO10000
  53. 20 NEXTT@{fg text}
  54.     @{U}Machine@{UU}            @{U}Time@{UU}
  55.     A4000/30        94 seconds (fMSX 0.3, original version)
  56.     Sun Sparc 2        86 seconds (fMSX 0.4, UNIX version)
  57.     Sun Tatung        43 seconds (fMSX 0.4, UNIX version)
  58.     a4000/30        22 seconds (fMSX 0.3, modified version)
  59.     @{"VG-8235 MSX2" link MYMSX}        21 seconds
  60.     a4000/40        15 seconds (fMSX Amiga 0.2, standard settings)
  61.     a4000/40 (warp 4040)     9 seconds (fMSX 0.3, modified)
  62.     @{"MSX Turbo-R/RAM mode" link TURBOR}     6 seconds
  63. Note that this chart is not particularly valid anymore. The Z80 emulation
  64. in fMSX v0.7 was rewritten almost from scratch, causing incredible speedups
  65. in some operations (bankswitching and memory mapping) and some slowdown in
  66. others (memory reads/writes).
  67. The end result is that BASIC programs run quite a bit slower (BASIC is
  68. fairly memory intensive), but games run faster (and that's what counts).
  69. @endnode
  70. *****************************************************************
  71. @node MYMSX ""
  72.         @{fg highlight}The Philips VG-8235 MSX2@{fg text}
  73. This is my own MSX machine. It is from 1985, and is equipped with
  74. a single sided 3.5" diskdrive. It is an MSX2 machine, but unfortunately
  75. the VDP (video chip) is broken, so I lose half the screen once the
  76. machine starts to get warm.
  77. I have bought a new machine! It is a Sanyo PHC-70FD, which is an MSX2+
  78. machine with several nice features:
  79. -    256KB RAM (expanded from the original 64KB)
  80. -    Numeric keypad
  81. -    Joystick autofire control
  82. -    Double-sided diskdrive, which is turned to the front of the machine
  83.     (rather than the side as is usual on many other machines)
  84. -    Pause button
  85. -    Built-in FM Pac
  86. As an added 'bonus', it is equipped with a Japanese keyboard!
  87. That means that every key carries four or five different symbols,
  88. including the European glyphs.
  89. @endnode
  90. *****************************************************************
  91. @node TURBOR ""
  92.         @{fg highlight}The MSX Turbo-R@{fg text}
  93. The newest MSX system, the Turbo-R is equipped with a very fast CPU:
  94. the R800, which is comparable to a Z80/28MHz. It can do multiplications
  95. faster than the 68030 in my a4000!
  96. The Turbo-R has a slow ROM system, and the designers made it possible
  97. to copy ROM to RAM and use that instead. In the speed test this method
  98. was used.
  99. @endnode
  100. *****************************************************************
  101. @node DISCLAIMER ""
  102.         @{fg highlight}Disclaimer@{fg text}
  103. @{B}THIS SOFTWARE IS PROVIDED AS-IS. NEITHER @{"AUTHOR" link AUTHORS} WILL BE HELD RESPONSIBLE
  104. FOR ANYTHING IT DOES, WHETHER RIGHT OR WRONG, GOOD OR EVIL, LAWFUL OR
  105. CHAOTIC. RUN AT YOUR OWN RISK!@{UB}
  106. @endnode
  107. *****************************************************************
  108. @node MSX ""
  109.         @{fg highlight}The MSX system@{fg text}
  110. The MSX originally came out in 1983, with the intention to create a
  111. low-cost low-performance all-compatible computer system (a gap that
  112. is now filled by the PC, ironic when you consider what MSX stands for):
  113.     @{U}@{B}M@{UB}icro@{B}S@{UB}oft e@{B}X@{UB}tended@{UU}
  114. which means that it is an enhanced version of earlier Microsoft
  115. products, notably their BASIC and DOS (that's right, MS-DOS!).
  116.     @{fg shine}The MSX1 standard@{fg text}
  117. Among other things, the MSX standard specifies that machines should have
  118. at least a Z80/3.5Mhz, 16KB RAM (although most machines had 64KB RAM),
  119. 16KB video RAM, and the MSX ROM's. Graphics, produced by the v9918,
  120. are functional:
  121. @{U}screenmode@{UU}        @{U}resolution@{UU}        @{U}colors@{UU}
  122. 0            40*24 characters    2
  123. 1            32*24 characters    16 (with restrictions)
  124. 2            256*192 pixels        16 (with restrictions)
  125. 3            64*48 pixels        16
  126. In addition, screens 1-3 can have single-colored sprites, either 8*8
  127. or 16*16, either at normal size or enlarged.
  128. Sound is delivered by the AY-3-8912, a three-channel sound chip also
  129. used in the Spectrum 128K and the Atari ST.
  130. One thing that sets MSX machines apart from other comparable systems
  131. is the ability to run cartridge software - most machines can, but for
  132. MSX the system was very popular. Although I have never seen one, it
  133. should be possible to build an MSX console.
  134. Another unique feature is the popularity in both Japan and western
  135. Europe. This resulted in a software catalogue filled with the best
  136. of both worlds, a feature that always attracted me to the system.
  137. Finally, it must be mentioned that MSX is not the product of a single
  138. manufacturer. Instead, MSX is a minimum standard decided upon by ASCII
  139. corporation, with individual manufacturers licensing and adding to the
  140. system, much like 3D0 today.
  141. There have been over 40 MSX manufacturers, and MSX machines were
  142. manufactured by Daewoo in Korea after Commodore went broke in 1994!
  143.     @{fg shine}The MSX2 standard@{fg text}
  144. In 1985 the MSX2 came out, which sported several large improvements.
  145. The most remarkable is the graphics, provided by the v9938; it
  146. offers all the MSX1 modes, and several others:
  147. @{U}screenmode@{UU}        @{U}resolution@{UU}        @{U}colors@{UU}
  148. 0+            80*26.5 characters    4
  149. 4            256*192 pixels        16 (with restrictions)
  150. 5            256*212 pixels        16
  151. 6            512*212 pixels        4
  152. 7            512*212 pixels        16
  153. 8            256*212 pixels        256
  154. Other improvements to the graphics include an enhanced sprite system,
  155. which allowed for more sprites with more colors, a color palette
  156. of 512 colors, support for genlocking and digitizing, smooth vertical
  157. scroll, and a built-in blitter which can do almost anything the Amiga
  158. blitter can, and more.
  159. The rest of the system had been updated as well. MSX2 machines are
  160. equipped with at least 64KB RAM (128KB and 256KB are more common
  161. configurations), 128KB video RAM, and usually a 3.5" diskdrive.
  162. The MSX system uses exactly the same disk layout as MS-DOS. In fact,
  163. CrossDos can be used to read/write MSX disks, even single sided ones
  164. (my compliments to the authors for that), while modern PC's have lost
  165. that ability!
  166.     @{fg shine}MSX2+, MSX Turbo-R@{fg text}
  167. These are newer versions of the MSX system. New features include better
  168. graphics (the MSX2+ VDP is capable of displaying 19268 colors at once on
  169. screen), and a faster processor (the Turbo-R has an R800 CPU, comparable
  170. to a Z80/28MHz).
  171. This document used to say they were not on the list for emulation. Today
  172. I'm not so sure - if it is remotely possible to run Illusion City on fMSX
  173. I will do it.
  174. @endnode
  175. *****************************************************************
  176. @node COPYRIGHTS ""
  177.         @{fg highlight}COPYRIGHT@{fg text}
  178. The following notice is taken from fMSX UNIX. It applies mostly to
  179. fMSX Amiga as well.
  180. @{fg shine}fMSX is publicly supported freeware. Its sources are on the net,
  181. and you can modify them as long as you notify me about modifications.
  182. You can't use fMSX for commercial purposes though. If you want to market
  183. anything based on fMSX source or executables, contact me please.@{fg text}
  184. The 'me' referred to here is either @{"Hans" link AUTHORS} (for the Amiga version) or @{"Marat" link AUTHORS 28}
  185. for any other version.
  186. The notice is incorrect in that I do not regularly upload fMSX sources
  187. for the Amiga version to any public place. However, if you are interested,
  188. you can obtain them by mailing to me.
  189. If your conscience does not allow you to work with software you did not
  190. pay for, neither author refuses gifts, money or postcards. I'd appreciate
  191. it very much if you were to send me email!
  192. @endnode
  193. *****************************************************************
  194. @node INSTALLATION ""
  195.         @{fg highlight}Installation@{fg text}
  196. No specific installation procedure is required, just drag the directory
  197. containing fMSX to some place of your liking.
  198.     @{fg shine}To run cartridge images from the Workbench@{fg text}
  199. Many games come with pre-made icons. These icons require that @{fg shine}fMSX:@{fg text}
  200. is assigned to the directory where you installed fMSX.
  201. @endnode
  202. *****************************************************************
  203. @node REQUIREMENTS ""
  204.         @{fg highlight}System requirements@{fg text}
  205.     Required are:
  206.     - Amiga OS 2.0
  207.     - 68020 processor
  208.     - 350 kilobytes chip ram
  209.     - 1000 kilobytes other ram
  210.     Recommended:
  211.     - Amiga OS 3.0
  212.     - 68030 processor, at least 25MHz
  213.     - Those 1000 kilobytes of 'other' ram had better be fast ram!
  214. If you want to use MSX disks, you will need to have CrossDos or similar
  215. installed.
  216. This program was developed using:
  217. -    An a4000/30 with 14Mb RAM and 260Mb HD
  218. -    SAS/C 6.57
  219. -    GenAm 3.02
  220. -    TurboText 2.0
  221. @endnode
  222. *****************************************************************
  223. @node LOADINGEMULATOR ""
  224.         @{fg highlight}Running the emulator@{fg text}
  225.     @{fg shine}From the shell@{fg text}
  226. Type @{fg shine}fMSX@{fg text} to start the program. It is possible to load a cartridge file by
  227. typing @{fg shine}fMSX <ROM-NAME>@{fg text}, which will load the specified cartridge. A full
  228. pathname may be used when specifying the cartridge.
  229.     @{fg shine}From workbench@{fg text}
  230. Double click on the fMSX icon to start the emulator without loading
  231. any cartridges.
  232. Loading a cartridge is accomplished by double-clicking it. Note that
  233. the included game icon requires the directory @{fg shine}fMSX:@{fg text} to be assigned
  234. to the directory where the emulator resides. You will need the shell to
  235. create this assign.
  236.     @{fg shine}Restrictions@{fg text}
  237. As an MSX1 emulator fMSX Amiga is fairly complete. However, many of the
  238. MSX2 features are still missing. All screens are supported except for
  239. screen 4 and the interlace screens. Still left for later implementation
  240. are sprites for screen 6, and 8, some VDP commands, line interrupts,
  241. and screen positioning.
  242. The following sort of software will run:
  243. -    Standard ROMs (16KB or 32KB)
  244. -    MegaROMs (128KB or bigger)
  245. These are not physical cartridges, but copies that are stored on the
  246. harddisk of your Amiga. They can be obtained from several @{"FTP" link SOFTWARE} sites.
  247. -    Disk-based games
  248. -    Disk images
  249. -    Tape images
  250. These are also available through @{"FTP" link SOFTWARE}, from the same sites.
  251. @endnode
  252. *****************************************************************
  253. @node CONTROLWINDOW ""
  254.         @{fg highlight}The control window@{fg text}
  255. The emulator can be controlled from a control window on the workbench
  256. screen. This window gives you the following options:
  257.     @{fg shine}Refresh cycle@{fg text}
  258. This is the number of frames skipped before a new frame is drawn. If the
  259. refresh cycle is has a low value the emulation runs smooth and slow. If the
  260. refresh cycle has a high value it runs faster but also less smooth. Try to
  261. experiment with what works best for a particular game. Usually a value of
  262. about 5 gives good results.
  263. This value is ignored when running in @{"high-speed mode" link HIGHSPEED}.
  264.     @{fg shine}Interrupt period@{fg text}
  265. This controls the number of operations between interrupts. In interrupt
  266. driven games, setting this to a low number speeds the game up, while
  267. high numbers slow it down. If the program you run does most of its
  268. work outside the interrupt, setting it to a low number may actually
  269. slow things down.
  270. In addition to this, the emulator waits for at least 1/50th of a second
  271. before issuing an interrupt.
  272. @{fg shine}CAUTION: if this number is set too low, it may crash the MSX. Try again
  273. with a larger number. A value of 1500 should always be safe.@{fg text}
  274. Again, experiment for the best results. I recommend a value of 1500 when
  275. running BASIC, and 800 when running games.
  276.     @{fg shine}Cartridge 1@{fg text}
  277. Here you can specify the name of a cartridge file. It will be loaded and
  278. executed when you reset the MSX.
  279.     @{fg shine}ROM type@{fg text}
  280. This button specifies the memory mapping method that will be used for
  281. the current megaROM. If this value is not set correctly the megaROM
  282. will certainly not run! Note: a megaROM is a cartridge bigger than 32Kb.
  283. If you do not know the correct setting for a megaROM you have no option
  284. but to try them all.
  285.     @{fg shine}Load@{fg text}
  286. This button calls up a filerequester which you can use to select a
  287. cartridge file. The cartridge file is loaded when you reset the MSX.
  288.     @{fg shine}Lock drives@{fg text}
  289. If this button has been checked the emulation can access the drive, but
  290. the Amiga is locked out. Similarly, if it is not checked, the Amiga can
  291. access the drive but the MSX cannot.
  292.     @{fg shine}Running / Paused / Music@{fg text}
  293. If you need every last cycle your machine can provide, but are unwilling
  294. to quit fMSX because you just reached level 48 of Tetris, you can pause
  295. and restart the emulation with these buttons. When it is paused it takes
  296. absolutely no CPU time.
  297. You can pause fMSX from the MSX screen by pressing the * key on the
  298. numeric keypad.
  299. Music mode allows you to listen to music produced by the MSX without the
  300. overhead of constant screen redraws. This mode makes fMSX a reasonably
  301. effective music player.
  302.     @{fg shine}Reset@{fg text}
  303. This button resets the MSX. It is necessary to reset the MSX for some
  304. settings to take effect.
  305. @endnode
  306. *****************************************************************
  307. @node SYSPREFSWINDOW ""
  308.         @{fg highlight}The system preferences window@{fg text}
  309. This window allows you to specify several system related settings for the
  310. emulation.
  311.     @{fg shine}Drives@{fg text}
  312. With this gadget you can specify the amount of drives connected to the
  313. MSX. Note that two drives need more MSX memory than one drive. Some
  314. games will not run if you have two drives connected due to memory shortage.
  315. This setting only takes effect when you reset the MSX.
  316.     @{fg shine}Soundmode@{fg text}
  317. With this gadget you can select between PSG and SCC sound. SCC is a sound
  318. chip used in some Konami games. It provides far better sound than the PSG.
  319. Games that support SCC sound can easily be recognized by the following
  320. features:
  321. - The game is produced by Konami.
  322. - It is a ROM of 128KB or bigger (only exception to this: S.D. Snatcher).
  323. - PSG sound for this game consists of nothing more than beeps and clicks.
  324. Examples of games that support SCC sound are:
  325.     Salamander
  326.     Nemesis 2
  327.     Nemesis 3
  328.     King's Valley 2
  329.     F1 Spirit
  330. And MSX2 games:
  331.     Space Manbow
  332.     Metal Gear 2
  333.     Quarth
  334.     Gryzor
  335.     King's Valley 2 MSX2
  336. Note that SCC emulation is incomplete; it should emulate 5 SCC channels
  337. and the entire PSG chip, rather than just 4 SCC channels. A future version
  338. of fMSX will use AHI to play all channels at the same time.
  339.     @{fg shine}Memory@{fg text}
  340. With this gadget you can select the amount of memory the emulated MSX
  341. uses. Note that the amount of free BASIC memory is constant (about 23KB),
  342. no matter how big a number you put here. The biggest you will ever need
  343. is the 512KB setting. The other settings are provided to let you boast
  344. about the amount of memory your MSX can use ;-) . And remember, this is for
  345. only one memory mapper! A real MSX can use 14 for a total of 56MB!
  346.     @{fg shine}Device A: and B:@{fg text}
  347. In these gadgets you have to specify which Amiga device or disk image is
  348. used for emulation of MSX drives A: and B:. Normally these would be PC0: and
  349. PC1:, but you can also create an MS-DOS compatible disk image or ramdisk and
  350. use it instead.
  351. If you specify a device, it must have certain properties:
  352. - It must have a blocksize of 512.
  353. - It must have a low-cyl of 0.
  354. - It must have a high-cyl of 39 or 79.
  355. - It must have 9 blocks per track.
  356. - It must be a real device, no assign or volume.
  357. - It must be mounted.
  358. Since v1.2 it is also possible to use disk images without the help of an
  359. external device such as fmsdisk.device. To use a disk image, just type the
  360. name (including the full path) in one of the gadgets. A disk image must be
  361. either 368640 or 737280 bytes long.
  362. It is not necessary to fill in a value in these gadgets, but if you don't
  363. you cannot use the corresponding MSX drive.
  364. Two alternative MSX devices are provided in the archive. @{"RAMSX:" LINK RAMSX} uses
  365. memory as an MSX diskdrive while @{"FMSX0: and FMSX1:" LINK FMSX0} are based on
  366. fmsdisk.device (not included but available on Aminet). They provide
  367. permanent MSX disks stored on the Amiga harddrive.
  368.     @{fg shine}Load@{fg text}
  369. There are two buttons marked 'load', one for each MSX device. They let you
  370. pick a diskimage or device from a requester instead of typing the name into
  371. the gadget.
  372.     @{fg shine}MSX2 enabled@{fg text}
  373. Enables / disables MSX2 features. MSX2 games require MSX2 features to be
  374. enabled. MSX1 games will (usually) run fine with MSX2 enabled.
  375.     @{fg shine}Allow external ROMs@{fg text}
  376. If turned on fMSX will first look on disk for ROM files, otherwise it
  377. will use the internal ROMs. Note that internal ROMs are always used when
  378. no external ROMs are available.
  379.     @{fg shine}Save preferences@{fg text}
  380. When turned on, fMSX preferences are saved when the program ends. When
  381. turned off it is necessary to save preferences by hand, using the menu
  382. option Project/Save preferences.
  383.     @{fg shine}Pretend Japanese ROMs@{fg text}
  384. When turned on, the country ID bytes in the ROM files are set to
  385. Japanese. This causes some games to act differently. Examples:
  386.     - Nemesis 1 gets a new name (Gradius).
  387.     - Nemesis 2 uses Japanese text.
  388.     - Nemesis 3 gets an animated title screen.
  389.     @{fg shine}Plug'n'Play@{fg text}
  390. When turned on fMSX will reset automatically after you select a
  391. cartridge from the filerequester or when you drop a cartridge on
  392. the fMSX window. This way you get to play it even faster ;-)
  393. @endnode
  394. *****************************************************************
  395. @node VIDEOPREFSWINDOW ""
  396.         @{fg highlight}The video preferences window@{fg text}
  397. This window allows you to specify several video related settings for the
  398. emulation.
  399.     @{fg shine}Screenmode (ghosted)@{fg text}
  400. This option forces the MSX into a certain screenmode. fMSX cannot change
  401. MSX screenmodes during a videoframe, and games that try will certainly not
  402. work properly. Choosing a screenmode here forces the MSX into a specific
  403. screenmode, which will allow you to see at least part of the display
  404. correctly.
  405. This option is not yet available.
  406.     @{fg shine}Only refresh when active@{fg text}
  407. When this option is turned on, and the MSX window is deselected, the
  408. emulator will no longer redraw the MSX screen. On most games this means that
  409. the music suddenly runs at normal speeds, thus turning fMSX into a music
  410. playing system!
  411. This is not quite the same as music mode, which also closes the MSX screen.
  412.     @{fg shine}Double buffering@{fg text}
  413. Turns double buffering on and off. It is a good idea to keep double
  414. buffering on at all times, and only turn it off when you really cannot
  415. afford the memory.
  416. When using OS 3.0 the OS specific double buffering routines are used.
  417. However, these routines are not available on older versions of the OS. If
  418. you are still using an older OS version you may still experience some
  419. flicker when using double buffering. This has to do with timing of the
  420. screen redraws and cannot be avoided.
  421. CyberGfx does not emulate OS3.0 double buffering, therefore you must turn it
  422. off if you are running on a CyberGfx screen.
  423.     @{fg shine}Hide titlebar@{fg text}
  424. Turns the titlebar of the MSX screen on and off.
  425.     @{fg shine}Respect VDP blanking bit@{fg text}
  426. When selected fMSX respects the blanking signal of the MSX videochip. Some
  427. games turn blanking on for very short periods during a frame, which can
  428. cause fMSX to accidentally blank the whole display. If this happens you can
  429. turn this option off.
  430.     @{fg shine}Load colors directly@{fg text}
  431. Some graphical effects rely on quickly changing the colors several times per
  432. screen. Normally the Amiga does not allow this (colors are only changed once
  433. per screen by Intuition) but if this option is set any color changes are
  434. also directly poked into the hardware registers. This may cause visual
  435. confusion on other screens as well, but is in fact totally harmless.
  436.     @{fg shine}Use anchor screen@{fg text} Requires OS 3.0
  437. Under OS3.0 (and up) it is possible to keep screens adjacent at all times.
  438. fMSX can use this feature to keep it's own screen at a place of your
  439. choosing (as opposed to popping it to the front of the display everytime
  440. some screen attribute changes).
  441. When you activate this feature an extra screen is opened, called the anchor
  442. screen, which never changes. When the MSX screen is closed and reopened it
  443. will appear directly in front of the anchor screen.
  444.     @{fg shine}The screen selector@{fg text}
  445. The gadgets on the right hand side of the window are used to set the correct
  446. display mode. When you select an MSX mode in the listview at the top, it's
  447. name and attributes become visible at the bottom. Screenmodes marked with a
  448. '*' are not available in this version of fMSX.
  449. If you are using the v38 ASL library you will see a button marked 'Select'.
  450. Pressing this button brings up the ASL screenmode requester. You should
  451. choose a screenmode that fits the MSX screenmode you selected in the
  452. listview.
  453. If you are using the v36 or v37 ASL library you will see a cycle gadget in
  454. which you can choose a screenmode. Not all screenmodes are available from
  455. the cyclegadget. Consider it one more reason to upgrade to 3.1 ;-)
  456. Note that a different Amiga screenmode can be set for every MSX screenmode.
  457. You cannot just select a single screenmode and let fMSX do the rest.
  458. @endnode
  459. *****************************************************************
  460. @node TAPEPREFSWINDOW ""
  461.         @{fg highlight}The tape preferences window@{fg text}
  462. In this window you can control how fMSX deals with tape images. Tape images
  463. are stored by fMSX Amiga as a collection of files, similar to the way a real
  464. MSX stores files on tape. However, files on tape are ordered by nature,
  465. which is not quite true for files on disk.
  466. To emulate the ordering of files on a tape fMSX uses an index file. This is
  467. a simple ASCII file which lists all the files in the right order. The index
  468. file should be in the same directory as the files it indexes. For that
  469. reason it only needs to list filenames, without path information.
  470.     @{fg shine}Load@{fg text}
  471. The load button is used to load the index file of a tape. After selecting an
  472. index file the contents of the tape are shown in the listview. It is also
  473. possible to type in a pathname directly.
  474. You can select a name that doesn't yet exist. If you do so, a new index
  475. will be created.
  476.     @{fg shine}Append@{fg text}
  477. The biggest problem with writing to a real tape is positioning it. No matter
  478. how careful you are, the day will come when you accidentally overwrite
  479. something important.
  480. The 'append' option prevents this. When turned on, new files are always
  481. appended to the end of a tape. When turned off, new files will overwrite the
  482. currently selected file.
  483.     @{fg shine}The tape contents listview@{fg text}
  484. The listview shows the contents of the currently selected tape. The tape is
  485. positioned just before the highlighted item. This means that the next item
  486. loaded by the MSX (or saved, if 'Append' is turned off) will be the selected
  487. item.
  488. It is possible to change the name of an item. To do this, select it and type
  489. the new name in the stringgadget at the bottom of the window. @{B}It is strongly
  490. recommended that you do this for newly created files.@{UB} fMSX searches for
  491. possible new filenames by simply going through a range of filenames and
  492. trying them all. The more filenames exist in this range, the longer the
  493. search takes.
  494.     @{fg shine}Up@{fg text}
  495. This button moves the currently selected file upwards in the index, ie.
  496. forwards on tape.
  497.     @{fg shine}Down@{fg text}
  498. This button moves the currently selected file downwards in the index, ie.
  499. backwards on tape.
  500.     @{fg shine}Mark@{fg text}
  501. This button marks the currently selected file for deletion. It will be
  502. deleted when you press the 'Remove' button.
  503.     @{fg shine}Clear@{fg text}
  504. This button unmarks the currently selected file.
  505.     @{fg shine}Remove@{fg text}
  506. The Remove button removes all marked files from tape. The files are removed
  507. from both the index and your harddisk.
  508. @endnode
  509. *****************************************************************
  510. @node MENUBAR ""
  511.         @{fg highlight}The menu bar@{fg text}
  512.     @{fg shine}Project/About...@{fg text}
  513. Calls up the 'about' requester.
  514.     @{fg shine}Project/Quit@{fg text}
  515. Quits the program.
  516.     @{fg shine}Cartridge/Open...@{fg text}
  517. Brings up a filerequester where you can choose a cartridge file for
  518. use in the cartridge slot. The cartridge is loaded when you reset
  519. the MSX.
  520.     @{fg shine}Cartridge/Save config@{fg text}
  521. Saves several settings in the icon of the current cartridge. If the
  522. cartridge does not have an icon, the fmsx_rom.info icon (in the program
  523. directory) is used. If this icon does not exist either, no information is
  524. saved.
  525. You can also edit the @{"icon" link TOOLTYPES} manually.
  526.     @{fg shine}Diskdrives/Write bootblock drive A:@{fg text}
  527.     @{fg shine}Diskdrives/Write bootblock drive B:@{fg text}
  528. The MSX cannot boot from disks that have a PC bootblock. With these menu
  529. options you can write an MSX bootblock to one of the MSX drives.
  530. @{B}CAUTION: some games have their own bootblocks. Overwriting them will
  531. kill the game.@{UB}
  532.     @{fg shine}Diskdrives/Create 360KB diskimage@{fg text}
  533.     @{fg shine}Diskdrives/Create 720KB diskimage@{fg text}
  534. With these options you can create a new diskimage. Select the size you want,
  535. pick a location and name in the filerequester, and it's ready for use. There
  536. is no need to write a bootblock to a diskimage created in this manner.
  537.     @{fg shine}Preferences/Save@{fg text}
  538. Saves fMSX preferences. Preferences are saved to the file fmsx.prefs
  539. in the directory containing the program. Note that this version uses
  540. a slightly different preferences file, which cannot be used with older
  541. versions of fMSX Amiga.
  542.     @{fg shine}Preferences/System...@{fg text}
  543. Opens the @{"system preferences" LINK SYSPREFSWINDOW} window.
  544.     @{fg shine}Preferences/Tape...@{fg text}
  545. Opens the @{"tape preferences" link TAPEPREFSWINDOW} window.
  546.     @{fg shine}Preferences/Video...@{fg text}
  547. Opens the @{"video preferences" LINK VIDEOPREFSWINDOW} window.
  548. @endnode
  549. *****************************************************************
  550. @node TOOLTYPES ""
  551.         @{fg highlight}Icon tooltypes@{fg text}
  552. The optimal settings for a cartridge can be stored in its icon. To find out
  553. what each tooltype means, read the section about the @{"control window" link CONTROLWINDOW}.
  554. Currently the following tooltypes are supported:
  555.     @{fg shine}REFRESHCYCLE=value@{fg text}
  556. Legal values are 1 to 10.
  557.     @{fg shine}INTERRUPTPERIOD=value@{fg text}
  558. Legal values are 0 to 5000.
  559.     @{fg shine}ROMTYPE=value@{fg text}
  560. Legal values are 0 to 5. These values mean, in order: SCC 1, Konami 1,
  561. ASCII 1, ASCII 2, SCC 2, and Konami 2.
  562.     @{fg shine}SOUNDMODE=value@{fg text}
  563. Legal values are 0 and 1. 0 selects PSG sound, while 1 selects SCC sound.
  564.     @{fg shine}MSXVERSION=value@{fg text}
  565. Legal values are 0 and 1, which correspond to MSX versions 1 and 2.
  566. @endnode
  567. *****************************************************************
  568. @node DIFFERENTROMS ""
  569.         @{fg highlight}Using different ROMs@{fg text}
  570. fMSX has built-in ROMs, but it is possible to use different ones. To use
  571. different MSX1 ROMs: place a file containing BIOS and BASIC in the same
  572. directory as the program itself. The file must be named @{fg shine}MSX.ROM@{fg text}.
  573. Using MSX2 ROMs works the same, but requires two files: @{fg shine}MSX2.ROM@{fg text} (BIOS
  574. and BASIC), and @{fg shine}MSX2EXT.ROM@{fg text} (the SUBROM).
  575. You must also turn on external ROMs in the preferences window.
  576. @endnode
  577. *****************************************************************
  578. @node DISK ""
  579.         @{fg highlight}Using MSX diskdrives@{fg text}
  580. The MSX disk system is an extension of the original MS-DOS disk system.
  581. Anything you know about MS-DOS probably applies to MSX as well. This
  582. section gives a short overview of features.
  583. MSX filenames, like MS-DOS filenames, are very limited: they have a
  584. maximum length of eight characters, followed by a three-character
  585. extension. In addition, no lower-case characters or spaces are allowed.
  586. The number of files on a disk is limited to 112. To make matters worse,
  587. subdirectories are not supported by MSX.
  588. There are two wildcards: @{fg shine}*@{fg text} and @{fg shine}?@{fg text}. These correspond to the Amiga wildcards
  589. @{fg shine}#?@{fg text} and @{fg shine}?@{fg text}.
  590. Examples:
  591. @{fg shine}*.*@{fg text}        Everything
  592. @{fg shine}*.BAS@{fg text}        All files with extension @{fg shine}.BAS@{fg text}
  593. @{fg shine}GAME*.*@{fg text}        All files starting with @{fg shine}GAME@{fg text}
  594. @{fg shine}*.B??@{fg text}        All files that have a @{fg shine}B@{fg text} as the first part of the extension.
  595. fMSX Amiga supports up to two diskdrives. The MSX calls these drives @{fg shine}A:@{fg text}
  596. and @{fg shine}B:@{fg text}.
  597. There are two ways of dealing with disks on the MSX: by using @{"MSX-DOS" link MSXDOS}
  598. and from @{"BASIC" link DISKBASIC}.
  599. @endnode
  600. *****************************************************************
  601. @node MSXDOS ""
  602.         @{fg highlight}About MSX-DOS@{fg text}
  603. MSX-DOS is a control program for the MSX which is based on the very
  604. first version of MS-DOS. It is required if you want to use some MSX
  605. programs, and it can be useful if you want to perform certain floppy
  606. operations. It is close enough to CP/M that some CP/M programs run on
  607. it; many others only require minor modifications to run.
  608. MSX programs that require MSX-DOS can easily be recognized by their
  609. filename. Programs that end in @{fg shine}.BAT@{fg text} are MSX-DOS script files; programs
  610. that end in @{fg shine}.COM@{fg text} are MSX-DOS executables. Both types can be started by
  611. typing the filename (without the extension) after the prompt.
  612.     @{fg shine}Getting started@{fg text}
  613. To run MSX-DOS you need three things: an MSX-formatted floppy, and the
  614. programs @{fg shine}MSXDOS.SYS@{fg text} and @{fg shine}COMMAND.COM@{fg text}. Obtaining an MSX-formatted floppy
  615. is easy: any 720KB PC floppy will do.
  616. Step 1: Find, buy, or format a PC floppy. Assuming you have CrossDos
  617. installed this can easily be done from your workbench.
  618. Step 2: Open the Preferences window by clicking on the Preferences
  619. button, and check that the Drives button is set to 1 or 2. If it
  620. isn't, change the setting and reset fMSX by clicking the Reset button
  621. in the control window.
  622. Step 3: Convert the disk to MSX format by selecting the menu option
  623. @{fg shine}Write bootblock@{fg text} (for the appropriate device).
  624. Step 4: Copy @{fg shine}MSXDOS.SYS@{fg text} and @{fg shine}COMMAND.COM@{fg text} to this floppy.
  625. Step 5: Reset fMSX by clicking the Reset button.
  626. Step 6: Wait until MSX-DOS has booted. One of the first things you'll
  627. see is the prompt, which looks like this: @{fg shine}A>@{fg text}
  628. When MSX-DOS boots it looks for a file called @{fg shine}AUTOEXEC.BAT@{fg text}. This is
  629. a script file that is executed automatically if found.
  630.     @{fg shine}Complete overview of commands@{fg text}
  631. Each command is followed by one or more examples. The lines between
  632. square brackets represent BASIC equivalents for the MSX-DOS examples.
  633. @{U}BASIC@{UU}
  634. Quits MSX-DOS and returns you to the BASIC interpreter. From there you
  635. can type CALL SYSTEM or _SYSTEM to go back to MSX-DOS. Note: this doesn't
  636. work if you didn't originally boot from an MSX-DOS disk.
  637. Examples:
  638. A>BASIC            (starts BASIC)
  639. [CALL SYSTEM] or [_SYSTEM]
  640. A>BASIC start.bas    (starts BASIC and runs the BASIC program start.bas)
  641. [no equivalent]
  642. @{U}COPY@{UU}
  643. Copies one or more files.
  644. Examples:
  645. A>COPY A:*.* B:        (copies all files from drive A: to drive B:)
  646. [COPY "A:*.*" TO "B:"]
  647. A>COPY MSX.TXT PRN    (copies the file msg.txt to the printer)
  648. [COPY "MSX.TXT" TO "PRN"]
  649. @{U}DATE@{UU}
  650. Shows the date. Optionally you can also change it.
  651. Examples:
  652. A>DATE            (shows the current date)
  653. [GETDATE A$ : PRINT A$]    (requires MSX2 BASIC)
  654. @{U}DEL@{UU}
  655. Removes a file from disk.
  656. Examples:
  657. A>DEL *.*        (removes all files)
  658. [KILL "*.*"]
  659. @{U}DIR@{UU}
  660. Shows the contents of a disk.
  661. Examples:
  662. A>DIR *.BAS        (shows all files with extension .BAS)
  663. [FILES "*.BAS"]
  664. A>DIR /P        (shows all files, pausing after every page of output)
  665. [no equivalent]
  666. A>DIR /W        (shows all files in shortened format)
  667. [FILES]
  668. @{U}ERASE@{UU}
  669. Same as DEL.
  670. @{U}FORMAT@{UU}
  671. Allows you to format a disk. Not supported by fMSX Amiga, you'll have
  672. to format a disk from the workbench instead. Don't forget to write
  673. an MSX bootblock to it.
  674. @{U}MODE@{UU}
  675. Change the width of the screen.
  676. Examples:
  677. A>MODE 40        (turns on 40-column mode)
  678. [WIDTH 40]
  679. @{U}PAUSE@{UU}
  680. Puts the text @{fg shine}Strike any key when ready...@{fg text} on the screen and waits until
  681. any key has been struck. It can also print an extra message.
  682. Examples:
  683. A>PAUSE            (waits until a key has been struck)
  684. [no equivalent]
  685. A>PAUSE Message        (prints Message on screen and waits)
  686. [no equivalent]
  687. @{U}REM@{UU}
  688. Does nothing at all. If any text follows the REM statement it is printed
  689. on screen.
  690. Examples:
  691. A>REM Message        (prints Message)
  692. [no equivalent]
  693. @{U}REN@{UU}
  694. Renames one or more files.
  695. Examples:
  696. A>REN *.LDR *.BAS    (changes all .LDR extensions to .BAS extensions)
  697. [NAME "*.LDR" AS "*.BAS"]
  698. @{U}RENAME@{UU}
  699. Same as REN.
  700. @{U}TIME@{UU}
  701. Shows the time. Optionally you can also change it.
  702. Examples:
  703. A>TIME            (shows the current time)
  704. [GETTIME A$ : PRINT A$] (requires MSX2 BASIC)
  705. @{U}TYPE@{UU}
  706. Prints the contents of a file on the screen.
  707. Examples:
  708. A>TYPE MSG.TXT        (shows the contents of MSG.TXT)
  709. [COPY "MSG.TXT" TO "CON"]
  710. @{U}VERIFY@{UU}
  711. Turns on verification mode. This command is actually ignored by MSX.
  712. Examples:
  713. A>VERIFY ON        (turns verification on)
  714. [no equivalent]
  715. A>VERIFY OFF        (turns verification off)
  716. [no equivalent]
  717. @endnode
  718. *****************************************************************
  719. @node DISKBASIC ""
  720.         @{fg highlight}Using the drives from BASIC@{fg text}
  721. Unlike MSX-DOS, BASIC enforces no filenaming conventions for executables
  722. or other kinds of files. However, some guidelines exist:
  723. Files ending in @{fg shine}.BAS@{fg text} are BASIC files. There are several ways to load them:
  724. LOAD "FILENAME.BAS"        (loads the file)
  725. LOAD "FILENAME.BAS",R        (loads the file and executes it)
  726. RUN "FILENAME.BAS"        (loads the file and executes it)
  727. If you want to save a BASIC file you can use this:
  728. SAVE "FILENAME.BAS"
  729. Files ending in @{fg shine}.BIN@{fg text} are executable files. There is only one way to load
  730. them:
  731. BLOAD "FILENAME.BIN",R        (loads the file and executes it)
  732. 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}.
  733. If the file you want to load has another kind of extension, try
  734. experimenting with it. The MSX will tell you if you did something wrong.
  735. There is one file that has special significance to MSX-BASIC. This
  736. file is called @{fg shine}AUTOEXEC.BAS@{fg text} and is executed automatically during the
  737. boot sequence.
  738. The section about @{"MSX-DOS" link MSXDOS} contains BASIC equivalents for some MSX-DOS
  739. statements.
  740. @endnode
  741. *****************************************************************
  742. @node QUITTING ""
  743.         @{fg highlight}Quitting the emulator@{fg text}
  744. There are two ways to quit the emulator: select @{fg shine}Quit@{fg text} from the menu, or
  745. close the control window.
  746. If the option 'Save preferences' is activated, quitting the emulator also
  747. causes it to write many current settings to disk. These values are
  748. automatically reloaded the next time you run the program.
  749. @endnode
  750. *****************************************************************
  751. @node CONFIGURE
  752.         @{fg highlight}Configuring your MSX@{fg text}
  753. A real MSX2 has a small amount of battery-backed RAM, which is used to
  754. store (among other things) information about your preferred working
  755. environment.
  756. The following commands are used to customize the environment:
  757.     SCREEN n
  758. Sets the desired screenmode. n can be 0 or 1.
  759.     WIDTH n
  760. Selects the amount of columns of text displayed on screen. Valid values for
  761. n are 80 or less for screen 0, and 32 or less for screen 1.
  762.     COLOR fore,back,border
  763. Selects foreground, background, and border colors. Screen 0 does not support
  764. border colors - one of the many weird features of the MSX2 VDP. Colors range
  765. from 0 to 15.
  766.     KEY [ON|OFF]
  767. Turns the function key list underneath the screen on or off.
  768.     SET SCREEN
  769. Stores the current settings in battery backed RAM. fMSX actually keeps
  770. a copy of these values on disk, in the file @{fg shine}fmsx.prefs@{fg text}.
  771. @endnode
  772. *****************************************************************
  773. @node AMIGAHARDWARE ""
  774.         @{fg highlight}Using the Amiga hardware@{fg text}
  775.     @{fg shine}Keyboard@{fg text}
  776. Keys are directly mapped to their MSX equivalents, which means that the
  777. MSX ROMs determine what character results from a key press. The ROMs that
  778. come with this version of fMSX Amiga give you an American keymap.
  779. Some keys that may not be obvious:
  780. @{U}Amiga key@{UU}        @{U}MSX key@{UU}
  781. F6            select
  782. F7            stop
  783. F8            clear/home
  784. F9            insert
  785. F10/delete        delete
  786. left alt        graphics
  787. right alt        code
  788. The following Amiga keys do nothing at all:
  789. -    Both Amiga keys.
  790. -    The keys on the numeric keypad (except '(' and '*').
  791. -    The extra international keys found on some keyboards.
  792.     @{fg shine}Joystick@{fg text}
  793. The emulator can use two Amiga joysticks. The second joystick is activated
  794. by pressing '(' on the numeric keypad while in the emulation screen. Press
  795. '(' again to get the mouse back.
  796. Joysticks with two buttons are very common with MSX systems, and many
  797. games take advantage of the second button. Often there is a keyboard
  798. equivalent for the second button; Konami games use 'M' and 'N' for this.
  799.     @{fg shine}Video@{fg text}
  800. The emulator should run fine on any Amiga screen, including PAL, NTSC,
  801. and any graphics card that supports workbench emulation. This has been
  802. confirmed to work with several types of graphic card.
  803. The @{"high-speed mode" link HIGHSPEED} will certainly not work with a graphics card, and
  804. may in fact require a 15KHz mode to be active. Without a 30Khz monitor
  805. it's hard to be sure :-( .
  806.     @{fg shine}Clock@{fg text}
  807. MSX2 machines have a built-in battery-backed clock. The emulator
  808. substitutes the Amiga clock for this clock.
  809.     @{fg shine}Diskdrives@{fg text}
  810. MSX disk drives are emulated as Amiga devices. Read the section about
  811. @{"diskdrives" link DISK} for more information.
  812. @endnode
  813. *****************************************************************
  814. @node HIGHSPEED ""
  815.         @{fg highlight}High-speed mode@{fg text}
  816. fMSX Amiga is written with an eye towards system-friendliness. This has
  817. the unfortunate drawback that it is at times impossible to tap the full
  818. potential of the Amiga. In order to show what is *really* possible with
  819. the Amiga custom chips, a new way to refresh the screen was added to
  820. fMSX Amiga: high-speed mode.
  821. In high-speed mode the copper controls the blitter, which refreshes
  822. the screen every second frame. As far as I am aware there is no way
  823. to do this in a system-supported way, which means that some typical
  824. Amiga features are disabled as long as high-speed mode is active.
  825.     @{fg shine}Disabled features@{fg text}
  826. The following features are disabled during high-speed mode:
  827. -    Screen dragging.
  828. -    Screen switching.
  829. In addition, the blitter is locked up all the time, which may cause
  830. other tasks to be put on hold as long as high-speed mode is active.
  831. Since version 1.0 high-speed mode is far more system friendly. It still uses
  832. the same trick (and maintains the same speed) as the old version, though.
  833.     @{fg shine}Enabled features@{fg text}
  834. All other Amiga OS functions remain enabled during high-speed mode,
  835. including multitasking.
  836. High-speed mode is activated with the HELP key. Pressing HELP a second
  837. time returns the program to its normal mode of operation.
  838. Only screenmodes 1 and 2 support high-speed mode.
  839. @endnode
  840. *****************************************************************
  841. @node BUGS ""
  842.         @{fg highlight}Bugs and restrictions@{fg text}
  843. @{U}Z80 emulation@{UU}
  844. -    All instructions except the illegal ones from the XDCB group are
  845.     emulated.
  846. @{U}Video emulation@{UU}
  847. -    Screens 4 and 8 are not yet emulated.
  848. -    screens 6 and 7 don't have any sprites yet.
  849. -    Line interrupts don't work.
  850. @{U}Sound emulation@{UU}
  851. -    SCC emulation is only 4 channels rather than 5 + PSG.
  852. If you find any more bugs, please report them to the @{"authors" link AUTHORS}.
  853. @endnode
  854. *****************************************************************
  855. @node FUTURE ""
  856.         @{fg highlight}Future plans@{fg text}
  857. @{U}Shortish term@{UU}
  858. -    Remove everything mentioned in the @{"Bugs" link BUGS} section.
  859. -    Expand available MSX2 features, both speed and features.
  860. -    Play all SCC channels.
  861. -    Turn the graphics system into a library, allowing specific libraries
  862.     for other display systems (such as CyberGfx).
  863. -    More speed.
  864. @{U}Longer term@{UU}
  865. -    Support the FM-PAC.
  866. -    Support MSX2+ and MSX Turbo-R
  867. @endnode
  868. *****************************************************************
  869. @node SOFTWARE ""
  870.         @{fg highlight}Where to find MSX software@{fg text}
  871. MSX software is available through FTP from the following sites:
  872.     @{U}Site:@{UU}                @{U}Directory:@{UU}
  873.     altair.komkon.com        /pub/MSX/
  874.     ftp.saitama-u.ac.jp        /pub/msx/
  875.     ftp.funet.fi            /pub/msx/
  876.     riaph.irkutsk.su        /pub/
  877. MSX software is also available via WWW:
  878.     @{U}Site:@{UU}
  879.     http://grelb.src.gla.ac.uk:8000/~webster/msx
  880.     http://www.cs.umd.edu/users/fms/
  881. @endnode
  882. *****************************************************************
  883. @node ICONS ""
  884.         @{fg highlight}Why are the icons so ugly?@{fg text}
  885. There are two possible reasons.
  886. The first is that your Workbench palette is different from mine. If
  887. you want to see what the icons should look like, set your Workbench
  888. to 8 colors, and use the following palette:
  889. color #0-3: standard Commodore colors
  890. color #4: full red
  891. color #5: - (unused)
  892. color #6: full blue
  893. color #7: - (unused)
  894. The second reason is that I am a crap artist. Feel free to draw nicer
  895. icons, if you like. And *SEND ME A COPY*!
  896. A new set of icons was donated by Johan Forsberg (d92-jfo@nada.kth.se).
  897. These icons use the Magic Workbench colors and are much better than my own
  898. poor attempt at art.
  899. @endnode
  900. *****************************************************************
  901. @node HOWTOLOAD ""
  902.         @{fg highlight}How do I load... ?@{fg text}
  903.     @{fg shine}Diskbased software@{fg text}
  904. An MSX filename consists of eight characters, followed by a dot and another
  905. three characters. The last three characters are called the extension.
  906. The extension generally tells you how to load a file. So, if the filename
  907. is...
  908. @{U}xxx.BAT@{UU} or @{U}xxx.COM@{UU}
  909. Go to @{"MSX-DOS" link MSXDOS} and type @{fg shine}xxx@{fg text}.
  910. @{U}xxx.BAS@{UU}
  911. Try the following: in BASIC, type @{fg shine}RUN "xxx.BAS"@{fg text}. If it responds with an
  912. error message it isn't a BASIC file, try loading it as an executable file.
  913. @{U}xxx.BIN@{UU}
  914. Try the following: in BASIC, type @{fg shine}BLOAD "xxx.BIN",R@{fg text}. If it responds with an
  915. error message it isn't an executable file, try loading it as a BASIC file.
  916. @{U}xxx.PMA@{UU}
  917. This is an MSX archive file, similar to a .LHA file on the Amiga. You
  918. need PMEXT.COM (available from several @{"FTP sites" link SOFTWARE}) to unpack it.
  919. PMEXT.COM requires @{"MSX-DOS" link MSXDOS}.
  920. @{U}xxx.DSK@{UU}
  921. This is a disk image. See below for more information.
  922. @{U}any other@{UU}
  923. Try loading it as either a BASIC file or an executable file.
  924. If none of these work, it is a file that is part of another program,
  925. in which case it can only be loaded by that program.
  926.     @{fg shine}Tapebased software@{fg text}
  927. Tapebased software consists of a group files and an index file (see the
  928. description @{"here" link TAPEPREFSWINDOW}.
  929. There are three ways to load files from tape:
  930.     BLOAD "CAS:",R
  931. This command loads the first binary file it can find from tape and executes
  932.     LOAD "CAS:",R
  933.     CLOAD
  934. These commands load the first BASIC file they can find from tape. The MSX
  935. has two ways to store BASIC files on tape - and they are not compatible. You
  936. must use the right command for each type of file.
  937. After loading a file with CLOAD you must type RUN to activate it.
  938.     @{fg shine}ROM files and disk images must be loaded from the Amiga side@{fg text}
  939. Only MSX files can be loaded using MSX commands. ROM files and disk images
  940. are not really MSX files (a real MSX cannot load them) and can only be
  941. loaded from the Amiga side.
  942. To load and activate ROM files you must use the "Load" and "Reset" buttons
  943. on the @{"control window" link CONTROLWINDOW}.
  944. Disk images can be loaded from the @{"system preferences window" link SYSPREFSWINDOW}. Just type
  945. the name of the disk image in one of the "Device A:" or "Device B:" gadgets.
  946. @endnode
  947. *****************************************************************
  948. @node COMPATIBILITY ""
  949.         @{fg highlight}When MSX software fails to run...@{fg text}
  950. Note: many tricks described here require a reboot before they take effect.
  951.     @{fg shine}Try a higher interrupt period@{fg text}
  952. Some games perform lots of processing between every two interrupts, and the
  953. emulated Z80 may not be able to keep up (this is especially true for
  954. graphically intensive operations). If interrupts happen too early this may
  955. cause the MSX to crash or behave erratically.
  956. Setting the interrupt period to a higher value causes the emulated Z80 to
  957. perform at least a certain number of instructions between two interrupts.
  958. This means that the game will run slower, but there is also a better chance
  959. of it working at all.
  960. A good example of a game that needs a higher interrupt period is Maze of
  961. Galious.
  962. The amount of instructions executed cannot easily be determined, but is
  963. normally about five times higher than the interrupt period.
  964. Although it is possible to enter values as high as 5000 it is not normally
  965. necessary to go above 1500. Note that you do not need to reboot for this
  966. setting to take effect.
  967.     @{fg shine}Use less drives@{fg text}
  968. Every drive costs a bit of BASIC memory. Many games will not run when more
  969. than one drive is present, because the BASIC loader can run out of memory.
  970. Turning off the second drive (using the appropriate gadget in the system
  971. preference window) may help. Allocating more memory to the MSX will not
  972. help, this does not increase BASIC memory at all. Such are the wonders of
  973. the MSX memory architecture...
  974.     @{fg shine}Use more memory@{fg text}
  975. Some games require an MSX device called a memory mapper to be installed. 98%
  976. of all programs will feel at home on a 256Kb mapper, and the rest will run
  977. fine with 512Kb. The amount of memory used by the memory mapper can be
  978. selected in the preferences window.
  979.     @{fg shine}Poking address -1 doesn't help@{fg text}
  980. The mythical address -1, aka 65535, aka &hFFFF, is used by a real MSX for
  981. secondary slot selection. fMSX Amiga supports nor needs secondary slots,
  982. therefore pokes to this address are ignored. This is a real feature, ask
  983. almost any MSX2 owner ;-)
  984.     @{fg shine}Use MSX1 ROMs@{fg text}
  985. Some MSX1 games do not properly turn off MSX2 features, causing garbage to
  986. appear on the screen (shades of ECS vs. AGA here?). Disable MSX2 in the
  987. preference window and see if the problem disappears.
  988.     @{fg shine}Try hacking with BASIC@{fg text}
  989. If all this doesn't help there is still a whole bag of BASIC tricks left to
  990. try. Some of the following might do it - then again, it might not:
  991.     POKE &hFD9F,201
  992. This turns off disk interrupt processing. On a real MSX this means the drive
  993. engine never stops (this is regulated through this interrupt) but fMSX
  994. controls the drive engine on its own.
  995.     CLEAR 0
  996. This frees up extra BASIC memory.
  997.     MAXFILES = 0
  998. This frees up extra BASIC memory.
  999.     @{fg shine}Get the next release@{fg text}
  1000. fMSX Amiga is still under development. I try to have better compatibility
  1001. with each new release. If something doesn't work and isn't listed in the
  1002. @{"bugs" link BUGS} section send me a report and I'll see what I can do.
  1003. @endnode
  1004. *****************************************************************
  1005. @node NEWVERSIONS ""
  1006.         @{fg highlight}How to obtain new versions@{fg text}
  1007. New versions of fMSX Amiga will be distributed in three ways: one copy
  1008. will be uploaded to Aminet, another to the webpage of @{"Marat Fayzullin" link AUTHORS 28}
  1009. and finally a copy will be mailed to everybody on the fMSX Amiga
  1010. distribution list. If you want to be placed on this list (or removed
  1011. from it) simply send mail to
  1012.     h.guijt@inter.nl.net
  1013. stating what you want. If you have mailed me in the past with questions
  1014. about fMSX you have automatically been placed on the list; I apologize
  1015. if you did not intend to receive new versions of fMSX. If you asked
  1016. to be on the list but aren't, try mailing me again. I am not a mail-demon,
  1017. and I occasionally misplace mail messages.
  1018. You do not need to fear being swamped by mail; there is usually a few
  1019. months between each successive version of the emulator.
  1020. @endnode
  1021. *****************************************************************
  1022. @node CSMSX ""
  1023.         @{fg highlight}About comp.sys.msx@{fg text}
  1024. For public questions about MSX or fMSX, your best bet would be the
  1025. newsgroup @{fg shine}comp.sys.msx@{fg text}.
  1026. I'm also on @{fg shine}comp.emulations.misc@{fg text}.
  1027. Of course, questions can be aimed at the @{"authors" link AUTHORS} as well.
  1028. @endnode
  1029. *****************************************************************
  1030. @node AUTHORS ""
  1031.         @{fg highlight}About the authors@{fg text}
  1032. fMSX Amiga is being written by @{U}Hans Guijt@{UU}. Until march 30 1995 I was a
  1033. computer science student at the university of Leiden, but since june 1st I
  1034. am employed by Palm Automatisering in Aalsmeer. I am not aversed against
  1035. bug reports, mail (of any kind), gifts, etc. Actually I quite like receiving
  1036. email, so write to me!
  1037. Past and future projects include: a large UNIX based system for image
  1038. normalization and recognition (Photobase), an advanced MSX disassembler
  1039. (MSXResourcer), needed to convert some games from MSX to Amiga but useful
  1040. for fMSX as well, and a level editor for the first game that is to be
  1041. converted (Konami's Metal Gear). Unfortunately the game conversion is not
  1042. getting much time lately, much to the frustration of the other people who
  1043. work on that project.
  1044. My (snailmail) address:
  1045.     Hans Guijt
  1046.     Kagersingel 30
  1047.     2172 XG Sassenheim
  1048.     The Netherlands
  1049.     Telephone: (Holland) 2522-17251
  1050.     Email: h.guijt@inter.nl.net
  1051. fMSX (generic) is being written by @{U}Marat Fayzullin@{UU}. He is a computer science
  1052. student in University of Maryland in College Park, who is going to graduate
  1053. this May [any job offers, especially from Europe? :)]. Aside from fMSX, he
  1054. also wrote WBGames and Dashboard for Amiga, maintains two FAQ lists on
  1055. USENET, and a large WWW site at
  1056.     http://www.freeflight.com/fms/
  1057. He also doesn't refuse small [and not so small] monetary donations
  1058. in hard currency [preferably US dollars] sent to:
  1059.     Marat Fayzullin
  1060.     6304 Hampton Place
  1061.     Elkridge, MD 21227
  1062.     phone: (410)-379-2925
  1063.     email: fms@freeflight.com
  1064.     IRC:   RST38h
  1065. @endnode
  1066. *****************************************************************
  1067. @node RAMSX ""
  1068.         @{fg highlight}About RAMSX:@{fg text}
  1069. Included in this package is a mountlist for a device called RAMSX:. This
  1070. device (built from ramdrive.device and crossdosfilesystem) can be used with
  1071. fMSX to play disk-based games directly from RAM (it's not as good as using a
  1072. harddrive, but it's much better than using disks!).
  1073. If you want to use RAMSX: you will need about 720Kb of free RAM and the
  1074. crossdosfilesystem. You must also enter the device name RAMSX: into the
  1075. appropriate drive gadget in the preferences window.
  1076. It can be rather hard to recover RAMSX after a reboot, but it can be done.
  1077. Open a shell and type the following commands:
  1078.     assign RAMSX: dismount
  1079.     mount RAMSX:
  1080. and RAMSX: is back online. Thanks to Nikos Drogosis (ndrog@acropolis.net)
  1081. for reporting this.
  1082. @endnode
  1083. *****************************************************************
  1084. @node FMSX0 ""
  1085.         @{fg highlight}About FMSX0: and FMSX1:@{fg text}
  1086. Included in this package are mountlists for two devices called FMSX0:
  1087. and FMSX1:. These devices require fmsdisk.device to be installed.
  1088. fmsdisk.device is available from Aminet (directory misc/disk).
  1089. FMSX0: and FMSX1: allow you to store MSX disks on the Amiga harddisk.
  1090. If you wish to easily access floppy-based MSX disks but cannot be
  1091. bothered with real floppies these devices are an excellent alternative.
  1092. FMSX0: and FMSX1: were contributed by Andrew G. Robson
  1093. (a.g.robson@northumbria.ac.uk). Complaints and compliments are
  1094. rightly his.
  1095. @endnode
  1096. *****************************************************************
  1097. @node THANKS ""
  1098.         @{fg highlight}A big thank-you to:@{fg text}
  1099. @{U}Peter McGavin@{UU} (peterm@maths.grace.cri.nz)
  1100. Peter (who wrote an excellent Spectrum emulation) contributed many
  1101. ideas for the Z80 emulation. It was his @{fg shine}Spectrum 1.7@{fg text} which convinced me
  1102. that fast Z80 emulation is possible. In addition the c2p necessary
  1103. for the MSX2 screenmodes were inspired by his Flick 1.5.
  1104. @{U}Jeroen Vermeulen@{UU} (jtv@xs4all.nl)
  1105. Jeroen kindly offered to proof-read the accompanying documentation, and
  1106. found heaps of spelling errors. He is also a willing betatester (victim?)
  1107. who has found many enforcer hits and general nastiness.
  1108. @{U}Alex Wulms@{UU} (a.wulms@inter.nl.net)
  1109. Alex owns an MSX Turbo-R, and is the author of @{fg shine}Zone Terra@{fg text}, an excellent
  1110. shoot'em-up for that system. He is also an MSX-wizard, who explained
  1111. many of the MSX's internal workings to me.
  1112. @{U}Sergi Martinez and Juan Gomez@{UU} (pixador@adam.es)
  1113. Juan and Sergi are the authors of @{"AmiMSX" link AMIMSX}, a program similar to fMSX. Their
  1114. input so far includes a trick to speed up fMSX by 30%, information about
  1115. the MSX mouse interface (to be added in a future version), and of course
  1116. the constant inspiration provided by new AmiMSX features ;-)
  1117. @{U}B
  1118. rge N
  1119. st@{UU} (borgen@icenet.no)
  1120. For finding, fixing and reporting a major bug in high-speed mode.
  1121. @{U}Andrew G. Robson@{UU} (a.g.robson@northumbria.ac.uk)
  1122. For contributing @{"FMSX0: and FMSX1:" LINK FMSX0}.
  1123. @{U}Nikos Drogosis@{UU} (ndrog@acropolis.net)
  1124. For explaining how @{"RAMSX:" LINK RAMSX} can be remounted after a reboot.
  1125. @{U}Johan Forsberg@{UU} (d92-jfo@nada.kth.se)
  1126. For donating the Magic Workbench iconset for MSX.
  1127. ...and all the betatesters and supporters!
  1128. @endnode
  1129. *****************************************************************
  1130. @node AMIMSX ""
  1131.         @{fg highlight}About AmiMSX@{fg text}
  1132. fMSX is not the only MSX emulation available for the Amiga. A similar
  1133. program called AmiMSX is also available through Aminet. I shall attempt to
  1134. make an honest, non-biased comparison (and I point you to the AmiMSX
  1135. documentation for the other side of the story ;-) ):
  1136.     @{fg shine}Advantages of fMSX@{fg text}
  1137. -    fMSX is completely free, whereas AmiMSX needs to be registered.
  1138. -    fMSX can use cartridges.
  1139. -    fMSX is completely system-friendly.
  1140. -    fMSX can run with the 68040 copyback cache enabled (I have heard
  1141.     reports that AmiMSX needs to have copyback disabled).
  1142. -    fMSX supports ampliated sprites (sorry about that Sergi ;-) ).
  1143.     @{fg shine}Advantages of AmiMSX@{fg text}
  1144. -    AmiMSX is quite a bit faster.
  1145. -    AmiMSX kills the OS for extra speed (it returns to the workbench
  1146.     when paused). I do not personally consider this an advantage but I
  1147.     know some people do.
  1148. -    AmiMSX is far ahead in VDP (and MSX2) emulation.
  1149. -    SCC sounds better for some reason.
  1150. There are also features common to both programs:
  1151. -    The user interfaces look somewhat similar.
  1152. -    Both require 68020+ and OS2.0+.
  1153. If you like MSX emulation you will probably want to check out AmiMSX as
  1154. well.
  1155. @endnode
  1156.