Driver:MSX

From MAMEDEV Wiki

The MSX standard was created by ASCII and Microsoft. Computers for this standard were created by several manufacturers such as Daewoo, Panasonic, Philips, Sanyo, Sony, and Yamaha. There were four generations of MSX computers:

  • MSX
  • MSX2
  • MSX2+
  • MSX Turbo-R

When there is no auto booting software inserted the MSX systems boot into MSX-BASIC. From BASIC software can be loaded from cassette or floppy.

Software was mainly released on cartridges, cassettes and floppy disks.


Firmware

Some systems came with firmware which can include functionality like a calendar or a word processor. Most of these firmwares can be disabled either by configuration that is saved in the MSX computer itself or through a configuration switch (available through the MAME Tab menu).

Cartridge

Almost all MSX systems have at least one cartridge slot. To load the software just mount the software in the cartridge slot(s) and start the emulation. The software should start automatically.


Cassette

Software on cassette must loaded through BASIC. Software can be stored on a cassette in 3 ways:

  • Tokenised Basic
- This format is stored by using the CSAVE command and can be loaded by using the CLOAD command. There is no command to start the software after it has been loaded, so a RUN command is needed once loading completes.
  • ASCII Basic
- This format is stored by using the SAVE command and can be loaded by using the LOAD"CAS:" or LOAD"CAS:filename" command or started automatically by using the RUN"CAS:" or RUN"CAS:filename" command.
  • Binary code
- This format can be loaded and executed by using the BLOAD"CAS:",R or BLOAD"CAS:filename",R command.

The LOAD/RUN/BLOAD commands need the "CAS:" device identifier on systems that have a floppy disk, otherwise they would try to load the software from floppy.

The entries in the software lists should already have information on which instruction(s) to use for running the software.

Floppy

The most common format used is the 3.5" floppy disk. However, there was also some software released on 5.25" floppy disks.

To use a 5.25" floppy disk, an external floppy interface (avdpf550, cdx2, ddx30d, or ddx30) must be inserted in a cartridge slot. Example: mame hx10 -cart1 cdx2 -flop1 amazonia

Most software released on floppies will start automatically. Regular software could be stored on floppy in 2 ways:

  • Basic
- This format is stored by using the SAVE command and can be loaded by using the LOAD"filename" or LOAD"A:filename" command or started automatically by using the RUN"filename" or RUN"CAS:filename" command.
  • Binary code
- This format can be loaded and executed by using the BLOAD"filename",R or BLOAD"A:filename",R command.

By default the files will be loaded from the A: drive. If you want to load a file from a specific (logical) device then the filename can be prefixed with the device specification. For instance RUN"B:start.bas".


MSX-DOS2

MSX-DOS2 adds support for directories and management of memory in memory mappers. The software consists of a cartridge and a floppy containing the MSX-DOS2 environment. The minimum system requirement for MSX-DOS2 is an MSX2 machine.

Quite some Japanese MSX2 computers came with no or a memory mapper too small for MSX-DOS2. This was overcome by adding extra memory in the MSX-DOS2 cartridge in some releases. The MSX system can access this memory through sub-slots in the cartridge. This memory becomes inaccessible when the cartridge is mounted in a cartridge slot that is itself in a sub-slot. This is rare, most cartridge slots are primary slots, but when using a slot expander this situation can occur.

Since the MSX2 computers released in Europe had enough memory installed to run MSX-DOS2 the European release has no additional memory installed in the cartridge.

Currently supported variants:

  • msxdos2j (Japanese, 256KB RAM)
  • msxdos2j_128 (Japanese, 128KB RAM)
  • msxdos2j_0 (Japanese, no extra RAM)
  • msxdos2e (European, no extra RAM)

BeeCard

TODO

Harddisk

IDE

Not supported yet.

SCSI

The MSX system uses FAT16 so hard disk partitions are limited to max 32MB. MSX-DOS2 is required to use directories.

To create a 20MB harddisk image using chdman: chdman createhd -ss 512 -chs 615,4,16 -c none -o msx_scsi_20mb.hdd

Start the emulation: mame nms8245 -cart1 msxdos2e -cart2 nov15966 -hard msx_scsi_20mb.hdd -flop1 nov15964

Once booted execute the following actions:

  • Enter the command CD HDDUTILS
  • Enter the command NFDISK
  • Press INS (Insert) key to create a new partition
  • Set the requested partition size (for a single 20MB partition enter the number 19.217)
  • Press W, Y(es), and ESC.
  • Press any key and the system will reboot into MSX-BASIC because there is no MSX-DOS(2) on the hard disk yet.
  • In MSX-BASIC enter the command COPY"B:"TO"A:". This will copy the base MSX-DOS2 files to the hard disk.
  • The installation is now complete and the hard disk can be used as you please. If the system is rebooted or the emulation restarted then the system will boot from the hard disk.

When you are used to working with other Microsoft systems then drive A: is usually assigned to the floppy disk. In this case, however, A: is the hard disk and B: is the first floppy disk.

MegaSCSI

TODO

MIDI

TODO

Other hardware

TODO