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, 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 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:

  • 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
  • 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.
  • 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.
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.

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.
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.