FRS' MSX Page

Tools


Software
Description
BLS v3.0A
This is a patch-enhanced version of this classic multi-format image viewer application for the MSX-DOS, that now features:
  • A simple built-in file manager
  • Joystick support
  • 7 different variations of the MSX1 palette to try
  • A direct mode to view files from the command line, without having to open the built-in file manager
  • Support for multiple image formats:
    • MSX BLOAD image format (.SCx): The well-known MSX-BASIC image format that require no introductions. The .PIC files saved by Philips Video Graphics and Matsushita Video Graphics will be automatically recognized as .SC8 by their header. BLS3 added the missing support for .SC2 to .SC4.
    • MSX Interlaced BLOAD images (.SCx+.S1x files, optionally .S0x+.S1x): dual file BLOAD image used to display with interlace, for 424 lines of resolution
    • Graph Saurus screen images (.SRx+.PLx / .SRI+.PL7). Another very popular MSX image format that, when not compressed or interlaced, is just a variation of the BLOAD image format with an external palette file containing 8 independent 16-color palettes. BLS3 now also supports the compressed and interlaced .SRx variations.
    • MSX2 COPY images (.SHx, .GLx). It's the file format used by the MSX-BASIC for images smaller than the screen (also called shapes). An optional .PLx file containing a single or eight 16-color palettes is usually paired to customize the colors of the image.
    • QLD format (.GRA): This is a little known image format with 8 fixed colors that was used on some Japanese BBSs
    • Makichan v1 (.MKI): An early Japanese image format that was quickly succeeded by the v2. It's mostly PC-98 oriented, with some rudimentary support for other platforms
    • Makichan v2 (.MAG): It was by far the most popular Japanese legacy image format, with support for multiple platforms including the MSX2/2+. Achieves excellent compression ratios on par with the GIF format, and was widely used on MSX disk magazines in the 90s.
    • Yanagisawa's PIC: Another Japanese multi-platform image format, mostly used on the Sharp X68000 due to its support for high-color. It also achieves excellent compression ratios, but was rarely used for MSX images.
    • Dynamic Publisher. This was a desktop publishing app for the MSX2. It used three different file types:
      • Page files (.PCT)
      • Font files (.FNT)
      • Stamp files (.STP, it's a synonym for .SHx)
    • Sega Bitmap (.SBM): Image format used to store VRAM dumps of the Sega consoles: SG-1000, Sega Master System and Game Gear
    • ZX-Spectrum image (.SCR): Image format widely used to store VRAM dumps of the UK ZX-Spectrum computer.
    • Text files are also supported (.TXT, .DOC, .DIZ, .HED, .HIS, .ENG), with either ASCII or Shift_JIS encoding
  • Full support for the NEOS MA-20 "Version Up Adapter"
  • Runs on any MSX2 or higher with 64KB or more of RAM and 64KB or more of VRAM (128KB of VRAM is required for SCREEN7/higher and the TextViewer)
  • Supports MSX-DOS1 and MSX-DOS2(/Nextor), with subdirectory support on the latter

The complete list of bugfixes and enhancements is huge. Be sure to check the included manual.

HIDtest v3.2 executable


HIDtest and HIDlib v0.4 sources
Formerly known as "Joystick Test" (and nicknamed Joytest), this utility lets you test a lot of Human Interface Devices that can be connected to the MSX, either directly or by using adapters. It's Acid1Test & Acid2Test compliant, and supports hot plugging and auto-detection. The following devices are supported:
  • MSX native devices:
    • Joystick (default)
    • Mouse
    • Trackball
    • Touchpad
    • Keyboard (arrows, SPACE and GRAPH)
    • Light gun (Plus-X Terminator Laser protocol. You can use NES and SMS light guns via adapters)
    • Light pen (Sanyo and V9938 interfaces)
    • Micomsoft XE-1AJ analog controller
      • Sharp Cyberstick CZ-8NJ2 (OEM version of the XE-1AJ)
      • Micomsoft XE-1AP analog joypad (has a backwards-compatibility mode with the XE-1AJ)
    • PWM protocol devices
      • MSX-Paddle, with up to 5 digital buttons
      • Yamaha MMP-01
    • Vaus Arkanoid paddle
    • Sega Megadrive 3-button joypad
    • Sega Megadrive 6-button joypad
    • Sega Megadrive MK-1654 Multi-tap (and compatibles)
    • Sega Saturn digital joypad
    • Saturn analog joypad (aka 3D-pad)
    • IBM DA-15 joysticks
    • Atari 2600's dual-paddles
  • Only detected, but won't be supported:
    • Sega Saturn mouse
  • The following devices are incompatible with the MSX-HID detection, but you can hold a button to disable the detection and force a compatibility mode:
    • Hold the button-B:
      • Panasonic FS-JH1 joywheel
      • Panasonic FS-JS222 joypad
      • FM-Towns controllers (2+2 and 6+2 buttons supported)
    • Hold the button-A:
      • Capcom CPS-A10CA + CPSF-PC/CPA001 adapter for the X68000

Special donators thanks for:
  • Manuel Bilderbeek, for donating a Philips NMS-1150 touchpad.
  • Erik Luppes, of www.msxinfo.net, for donating a rare Sanyo MLP-001 Lightpen.
  • SebastiĆ£o Singer, for donating an original Sega SJ-6000 joypad and a Panasonic JS-220 joypad
Without their help, proper support of those devices would remain impossible.

For usage, examples, credits and license, please read the included README.TXT file.

(Note: the MSXequs.zip provided below is also necessary to compile the sources)


MSX constants (EQUs) for assembly development
This is a convenient set of source code files with EQU-declared constants for nearly all variables, constants and functions of the MSX BIOS/DOS ecosystem. It's meant to be used as INCLUDEs in sjasm-plus or any other assembly that support this directive. The following files are provided:
  • MSX-DiskBIOS.equ.z80
  • MSX-DOS.equ.z80
  • MSX-Music.equ.z80
  • MSX-RS232C.equ.z80
  • MSXBIOS.equ.z80
  • MSXextBIOS.equ.z80
  • MSXhooks.equ.z80
  • MSXSubROM.equ.z80
  • MSXvars.equ.z80
The files in this set are released as Public Domain.

MSX-Audio BIOS v1.3b
This is an enhancement over the MSX-Audio BIOS, with a lot new features and fixes, listed below:
ChangeLog:

v1.3b:
  • Small optimisations on RCA_VOICE
  • Added an extension function table to the MSX-Music FM-BIOS jump table, at 4128h. This makes life a lot easier to use the PSG emulation for MSX-Music applications.
  • Fixed a bug in INIOPL that caused the machine to freeze if the game interrupt handler was located on frame-2
  • Fixed a bug that caused the ADPCM playback to be muted on the NMS-1205
v1.3:
  • Lots of bugfixes
  • Lots of optimisations
  • Enhanced Instrument set, from MSX-Music BIOS
  • Support for OPL3 soundchips (and OPL4fm, of course).
    • Support for stereo sound
    • The new WaveSelect parameter of OPL2/3/4 soundchips (register E0h) is now supported on instruments, on its parameter +21 (1st operator) and +29 (2nd operator), allowing enhanced custom instruments
  • Brand new SoundChipFish extension. This is a soundchip translation library that supports on-the-fly translation of commands between the following soundchips:
    • OPLL->OPLn (IOTW, YM2413 to YM3527/Y8950/YM3812/YMF262/YMF278)
    • AY-3-8910 to OPL3 (OPL4fm included, of course)
  • Software compatibility with the MSX-Music BIOS. Yes, you read it right: all games/tools that use the MSX-Music BIOS INIOPL/WRTOPL functions will work on this BIOS, as the BIOS will use the built-in SoundChipFish library to translate OPLL commands to OPLx commands on-the-fly!
  • This means the following MSX-Music games will work just fine on any device containing the MSX-Audio BIOS v1.3, and will even be played in stereo on OPL3/4 cartridges:
    • Many ASCII games:
      • Penguin Kun Wars 2
      • Dante2
      • Lubeck
      • Sea Sardine
      • Fleet Commander 2 (requires the patch to fix a race-condition that the game had on its initialization routines)
      • Gladius
    • The recently released FireHawk-HDD.
  • This new version is bigger now requires a 64KB ROM. The Philips Music-Module upgrade board already supports this. It's just a matter of installing a 27C512 EPROM and jumping the board accordingly. For the Toshiba Music-Module, a small mod of the upgrade will be required.
  • Because of the bigger ROM requirement, the Panasonic FS-CA1 isn't supported anymore. If anyone ever releases a guide on how to upgrade this cartridge to support this version of the BIOS, then it may be supported again on future versions (only if openMSX emulate the upgraded FS-CA1).
  • The dual-OPL support was removed, because it was slow, buggy and didn't add new FM channels to be used. But many of the routines were fixed, allowing real dual-OPL 18 channel support on future.
  • OPL2 (YM3812) is now supported as well. But no binary was released because there's no real cartridge or emulation that contains this soundchip currently (and for home-built cartridges it's much better to use an OPL3 anyway).
  • New soundchip detection routines that follows strictly the Yamaha's recommended algorithm.
  • It now properly detects and supports any of the OPL soundchips, on the following I/O ports configurations:
    • I/O ports C0h-C1h or C2h-C3h for OPL1/OPL2 soundchips
    • I/O ports C0h-C3h or C4h-C7h for OPL3/OPL4 soundchips
  • MSX-Music style transpose/temper tables are now supported. When a CALL MUSIC is issued, the MSX-Audio will now lower the RAM top to allocate RAM for the necessary structures to mimic the MSX-Music in-RAM structures, giving greater compatibility to the BASIC FM musics that make use of POKEs.
  • Other MSX-Music extensions connected to the same machine will be disabled once this BIOS receives a CALL AUDIO or a CALL MUSIC command, providing a way to solve the conflict on machines with an internal MSX-Music on a lower slot (like Panasonic MSX2+/TR and CIEL Expert-Turbo)
  • Fixed a bug that reported an the rhythm channel incorrectly as an ADPCM channel
  • Moved many initialization routines to the frame-2, to free space for the new routines on frame-1.
  • 0066h will now call HNMI, to allow real-hardware debugging using the NMI.
  • Turbo Z80 machines without a system-timer are now fully supported, up to 7MHz.
v1.2:
  • Many optimizations/bugfixes
  • Support for the E6h system-timer (aka Turbo-R timer). Now you'll be able to use the MSX-Audio in R800 mode, just like the MSX-Music
  • Support for the NMS-1205 and FS-CA1 proprietary mute-switches, and for the standard SP-OFF mute-switch used on the HX-MU900.
  • A more elegant work-around than Panasonic did to "fix" their mistake on the MusicKeyboard-port pinout of the FS-CA1
  • NMS-1160 Music Keyboard support
  • Music Keyboard auto-detection between the HX-MU901 (49 keys) and NMS-1160 (61 keys). The auto-detection routine will discover the MusicKeyboard type and change the keymap on-the-fly accordingly. To use it:
  • On a 49 keys keyboard: just press the last key.
  • On a 61 keys keyboard: just slide your finger on at least 5 consecutive white keys in any direction.
  • Preliminary OPL3 support. All MusicKeyboard and ADPCM related commands were block, just like the MSX-Music.
  • It now supports the CALL MUSIC command, so it isn't necessary to replace CALL MUSIC by CALL AUDIO on BASIC musics anymore.
MSX machines reverse engineering utilities v1.02
This set of utilities is aimed to help owners of MSX models that are not yet emulated to obtain all specifics about their machines so they can be properly emulated.
OPLLOFF
This utility temporary disables the internal MSX-Music of the Panasonic MSX2+ and Turbo-R computers. It is meant to:

1) Allow you enjoy the PSG soundtracks of many games
2) Have the games to detect the MSX-Audio BIOS v1.3 instead of the internal MSX-Music.

RUNDOS1
This small utility will allow you to run the MSX-DOS v1.x on top of the MSX-DOS v2.x. As weird as it sounds, doing this allows you to run a lot more games, since it will free quite a bunch of RAM for memory hungry games. You must read the included TXT file for instructions.
TRnewdrv v1.3
This is a new set of drivers for the MSX Turbo-R BIOS to be loaded from MSX-DOS, with many improvements over its original set of drivers, including way better performance and R800 support.

1) Adds the missing drivers for these devices:
  • MSX-Paddles (or any PWM device, just like the original)
  • Light-Pen
2) Replace the existing drivers with much better ones for these devices:
  • Mouse, now with supported for the extended mouse wheel protocol,  and much faster than the original
  • Trackball, with angular to linear conversion for a much improved response
  • Touchpad: 10 times faster on Z80, 120 times faster with the R800
  • PAUSE Key: Will now work correctly with Konami games when running on R800
  • Key click: the click tone will be the same regardless of the CPU speed
3) Other enhanced BIOS routines:
  • BEEP: Doesn't reset the system timer anymore
For more detailed info about the driver and the enhancements it provide, check the included TRNEWDRV.TXT file.
MSX2newdrv
This is an updated version of the MSX2 BIOS (v2.2) that includes the same high performance drivers of the TRnewdrv, as well as many other improvements, including a new driver for the V9938 light-pen interface that allows this device to be connected to the joystick port-2 (requires a small hardware mod).

The following parts of the BIOS were updated:

1) New optimized drivers for
  • Mouse
  • Trackball
  • Touchpad
  • V9938 Light-pen on joystick port-2
  • Much faster GTPAD functions n+1 and n+2

2) Modernized function keys default text, to be more useful on a daily basis
  • F1  = copy
  • F2  = files
  • F3  = goto
  • F4  = list
  • F5  = run+<ENTER>
  • F6  = color15,4,7   (color 15,4,4 on European version)
  • F7  = load"
  • F8  = _chdir("")
  • F9  = save"
  • F10 = <CLS>+run

3) SETSCREEN now also saves the current screen Hertz selection on the RTC

4) Added the missing P command to the BIOS GML routines (used by the command DRAW). This command paints a drawing with the current color, and has the following syntax:
  • P<boundady color>

5) New bootlogo code, with many improvements:
  • Much more compact than the original
  • The MSX logo raise speed is now adjusted when played on 50Hz, to match the same speed as NTSC machines
  • Honors the hertz and interlace/progressive mode settings saved on the RTC
  • New colors on the bootLogo. Now only the background color changes with the SET TITLE options, between red, green, blue and orange. No more hideous color schemes that nobody liked to use.   😅
6) On the European version, the "xxxx Bytes free" message on the MSX-BASIC boot screen was restored

VEDIT Plus v2.33
VEDIT is an excellent text editor for the CP/M operating system that was released as freeware by Greenview Data Inc. This version is configured to run properly on a MSX machine and has a wrapper included, that allows it to run from a subdirectory under the MSX-DOS2. Pleas read the README.MSX file for the instalation instructions.
MSX Image Viewers The images contained in the collections can be viewed on a real MSX with the following native applications:
  • DMAG.COM: It's the best viewer for Makichan .MAG and .MAX files. It supports all modes, and scroll for images that are larger than the screen.
  • GIFI.COM: GIF file viewer. It supports vertical scroll for images that are taller than the screen.
  • BLS.COM: Viewer for .SCx, .SRx, Makichan .MKI, Yanagisawa's .PIC, .GRA files and some others
  • JLD.COM: Viewer for .JPG files
  • DBMP.COM: Viewer for .BMP files
  • PI.COM: Viewer for Yanagisawa's PI format
  • SCXVIEW.BAS: Viewer for .SCx files on MSX-BASIC
Note: most of them require the MSX-DOS v2 (or Nextor).