AmiMSX 4.x is a community update of AmiMSX, the MSX, MSX2 and MSX2+
emulator by Juan Antonio Gomez Galvez (GUS Entertainment / RED Soft),
released with his permission. It is built from his v3.1 source, with parts
of his later v3.2/v3.5 source. This version puts accuracy first: many
games that broke or glitched in 3.x now run as on a real MSX.
As before, AmiMSX takes over the machine while the MSX runs and drives the
custom chips directly. HELP returns to the menu.
Beta
----
4.x is a beta. It runs a large test set well, but some games still have
problems (see Known limits). Please report anything you find as an issue
on GitHub, with the game, the AmiMSX settings and your machine (CPU,
accelerator or emulator), so it can be triaged for the next update:
https://github.com/z00p/AmiMSX/issues
Requirements
------------
- AmigaOS 3.0 or later.
- A 68030 or better. The low-spec target is an A1200 or similar with a
68030 at 50 MHz and fast RAM. A stock 68020 A1200 runs it, but slowly.
- AGA. On ECS AmiMSX warns that it needs AGA and can carry on, with
limits, as 3.x did.
- The libraries and devices listed in AmiMSX.guide (as for 3.1).
- PiStorm (Emu68), BigMig or another fast CPU for MSX-Music (FM), 60 Hz
games at full speed and Smooth display.
Installation
------------
Copy the AmiMSX drawer anywhere and start one of the preset icons:
AmiMSX 030 68030/50 with fast RAM: PSG, PAL, sprites every frame
AmiMSX PiStorm PiStorm, BigMig and other fast CPUs: PSG+FM, display
frequency from the VDP, Japanese ID (60 Hz), audio
filter, smooth display
Each preset keeps its own settings file (ToolType PREFS=<file>), and Save
Prefs in the menu writes to the preset you started.
AmiMSX4.romcache is created next to the program on first use: each
MegaROM is hashed once and its mapper looked up in AmiMSX4.romdb. Leave
the drawer writable.
The included AmiMSX2.data is the original one (MSX, MSX2 and MSX2+ system
ROMs, disk ROM and Kanji), as in the earlier AmiMSX packages, so disk
images and MSX-BASIC work.
What's new
----------
- Z80: POP/RET through ROM, RLD/RRD on ROM, NEG/CPL flags, M1 wait
states, LD A,R from emulated time.
- VDP: sprite collisions, the 5th sprite flag, sprite mode 2 bands and
mid-frame splits (sprite tables, SCREEN 4 tables, SCREEN 5/4 modes,
palettes, R#8/R#18/R#23, display off), transparent copies, LMMC.
- MSX2+: the machine is back, with V9958 fine scroll (R#27) and the left
mask (R#25) per line (Space Manbow, Nemesis 3 Enhanced, Chikubi Ninja).
- Sound: MSX-Music (FM) on Paula channel 3 ("PSG+FM", or "FM lite" with
the 4 loudest voices); PSG volume in 3 dB steps as the YM2149.
- Display: double-buffered sprites, Smooth display (SCREEN 4) for fast
CPUs, automatic edge mask for games that scroll sideways.
- Options: Use Japanese ID (60 Hz), Audio filter, Mask screen edges
(always or auto), per-game settings next to each cartridge.
- Cartridges: ROM database (mapper by SHA-1), 8 KB, 48/64 KB and 4 MB
ROMs, flash Konami SCC cartridges with saves (Pampas & Selene).
- Disks: drive B with its own image (written back), disk swap with Left
Amiga.
- Freeware texts and no anti-crack counter, from Juan's v3.2/v3.5.
- Cleaner exits when a screen, window or device can't be opened.
See Docs/CHANGES_4.x.txt for the full list.
New in 4.1.1
------------
- CD32 pads: a menu option per joystick port (Options: JoyPort 2
(Joystick) Pad, JoyPort 1 (Mouse port) Pad: Standard (2 buttons) or
CD32 pad). With CD32 pad the port is read with the CD32 protocol:
red = fire 1, blue = fire 2, yellow = Space, green = M, play = F1.
No auto-detection. Saved with the prefs and per game.
- MSX2+: sprites in SCREEN 5 are no longer garbled after a VDP
command touched their tables (Pampas & Selene walking left).
New in 4.1
----------
- MSX2+: coarse scroll (R#26) and two-page scroll (SP2) in SCREEN 5
and the tile modes (Gradius III Legends: set ROM to MSX2+).
- Mode splits: SCREEN 8 over SCREEN 5 (Manbow 2's title screen).
- Manbow 2: the ship no longer jumps back while it moves.
- Smooth display drops a late frame instead of repeating one, so the
music keeps its tempo.
- Z80: BIT, IN, RLD/RRD, CPI/CPD, DAA flags; RETI; IM 0; interrupt and
instruction timings.
- MVD drives are write-enabled by default, so disk games can save.
- A display bug that could blank a whole frame is fixed.
Games it runs well
------------------
Tested on a PiStorm A1200 and in the regression suite (WinUAE):
- Homebrew: Manbow 2, Lilly's Saga, Chikubi Ninja, Delta, Neon
Revenant, BUN-GA-RUA (Maiden's Extreme Fist), Pampas & Selene,
Uridium (MSXdev'14), Night Knight, Nogalious, Sword of IANNA,
Westen House, The Cure, Caos Begins, Uwol, Bit Logic, Mutants from
the Deep, Shoulder Blade OVERDRIVE, Gradius III Legends (MSX2+).
- Enhanced classics (community patches of Konami games; bring your
own original): Space Manbow (smooth on MSX2, superb on MSX2+),
Nemesis 3 Enhanced, Salamander Enhanced, Usas Enhanced, Zanac Ex
Enhanced, Gradius 2 with the SCC/enhancement patches.
- Disks: Ark-A-Noah and Sex Bomb Bunny (in MVD_Files), disk-based
homebrew such as Gradius III Legends.
Free homebrew: file-hunter.com and msx.org list most of these.
Known limits
------------
- Smooth display covers SCREEN 4 only; other modes run as before.
- Smooth display switches itself off in games that play MSX-Music
(FM), so their music keeps its tempo.
- MSX2+: no YJK modes (SCREEN 10-12) yet. Some MSX2 games show a
different picture size or position with ROM set to MSX2+ (Gradius 2,
Pampas & Selene); run MSX2 games as MSX2.
- Gradius III Legends (MSX2+): scenery can also appear at the left
edge, with a jump in the scroll.
- Uridium 2: the title picture is drawn wrong (the game plays fine).
- Gradius 2 with the enhancement patch (MSX2+): a grid of extra dots
on the star field (the two-page tile scroll); fine as MSX2.
- Jailbreak: scenery rows flash at the top of the playfield (bitmap
splits are timed from the Amiga beam).
- Head over Heels Remake: letters missing from the menu text.
- Nemesis 2: stray cyan dots on the star field.
- Barbarian: the sky is lighter than on an MSX.
- Bombaman: moving characters look ghosted on fast machines (seen on
PiStorm and BigMig), though each frame is correct.
- Manbow 2: a stray line at the top left of the title screen.
- Lilly's Saga: on fast machines the save-slot menu text can be drawn
as solid blocks (seen with Smooth display off).
- Lotus F3: the car jitters while it moves (seen on PiStorm).
- CD32 pads: on Standard a pad is read as a plain two-button joystick
(red = fire 1, blue = fire 2); set the port to CD32 pad for the
other buttons, and set a switchable adapter to its CD32 mode too.
Left Amiga (port 2) or Right Amiga (port 1) also press MSX fire
button 2.
- Bit Logic: the hero on the intro screen is drawn split in two.
- Rarely, a game doesn't start on the first Power ON after the
cartridge was changed (a black screen): press Power ON again.
Credits
-------
AmiMSX: Juan Antonio Gomez Galvez, GUS Entertainment / RED Soft
(1994-2000/2009/2021).
Graphics: Multivac.
Thanks: Zener and Sandman.
Testing references: openMSX.
YM2413 instrument data: emu2413 (c) Mitsutaka Okazaki, MIT licence
(Docs/LICENSE.emu2413).
AmiMSX4.romdb: built from the openMSX software database.
Source
------
The 68k assembler source (vasm), tools and test suite:
https://github.com/z00p/AmiMSX
|