open questions and wishes - cayce-msx/msxpp-quick-ref GitHub Wiki

Open questions

Please tell me if you have more info about these questions!

  • Q: Why does the VGA-to-SCART cable require external (9V or 5V) power?
    A: Maybe SCART pin 8 or 16 for blanking or switching? VGA pin 9 carries 5v; isn't that enough? The cable/pin layout is not documented.
  • Q: How to use romdump/kanjirom.bas (from FRS's reverse engineering tools) to fetch JIS1&2 ROMs?
    A: ?? All my attempts fail with Open err:Open err:Open err:Open err:Open err:etc. Works fine in openMSX Boosted_MSX2+_JP; results in a 256KiB file kanji.rom.
  • Q: What subset of Turbo-R MSX-MIDI is supported by ports E8-E9h - and why doesn't _MDR work?
    A: ??
  • Q: Why is 2MiB RAM the default (or even selectable at all; why not 4MiB always)?
    A: Might be related to MegaSDHC & Turbo-R?? Or more incompatibility reasons?
  • Q: What is required to gain full Turbo-R compatibility?
    A: After MSX3 is released (and when will that be, we all ask?!), and with it a full FPGA implementation of R800, OCM-PLD might benefit from that. An issue seems to be incomplete documentation of the S1990 controller. Also, Turbo-R DRAM mode may require a new PCB. Note that Turbo-R support won't be possible on Cyclone I devices like OCM and SX1 - already some R800 instructions are scrapped because of FPGA LE (Logic Element) shortage: "Most of the features of the MSX turboR have not yet been developed and are for testing purposes only. The MULU opcodes and System Timer (S1990) are no longer available on the 1st Gen machines due to the space limit reached." (history.txt, v3.9.1 [2022.09.24])
    But also: "The main intent of this release is to open the road for OCM to evolve in a MSX turboR machine and which is why I deliberately avoided the addition of less-used new components (ESE-RAMdisk, RS-232 and MOUSE PS/2 adapter)." (same file, v3.4 [2017.09.18]) Note that a mouse PS/2 adapter has been realised in SM-X/SX2 by now (7 years later).
  • Q: What is the history of MegaSD?
    A: A few things are already touched upon elsewhere in this quick ref.
    • See, e.g., at Q&A: "System ROM set of the original OneChipMSX" and MegaSD vs Nextor
    • It's a patch of Turbo-R FS-A1GT's MSX-DOS2.31 (1991), first by ESE Artists' Factory for their Mega-SCSI (1999) and later extended by OKEI for FAT16 (2006), then by Yuukun for 4GiB support (2017).
      • The latter version is also known as 'MegaSDHC', matching the name of the SDHC format which increases max SD card size from 2GiB to 32GiB. MegaSDHC only supports up to 4GiB.
      • Note that SDHC was defined in 2006 already
    • MegaSD supports just one FAT16 partition, which must also be the first partition. FAT16 supports max 4GiB per partition; matches with the ~4GiB max size of SD cards available in 2006. (Although only 2GiB was accessible using MegaSD until 2017.) Apparently, in the 2017 SDHC patch, supporting multiple partitions was not implemented.
    • MegaSD supports "a subset of MegaSCSI" - but what subset?
    • Potential source code, in Konamiman's github repo for Nextor:
      • SD3a, translated - is that the original source code, or a derivative, of MegaSD? I'm not sure where the '3a' comes from. It could also be an annotated decompile, given labels like CEFD_3...
      • ESE-16J, translated - is that an annotated decompile, or original source code, and from whom / which version? What's the significance of "16J"?
    • There is also a relation to MegaFlashROM SCC+ SD - which now uses Nextor exclusively. The relation might be purely the hardware interface; that's unclear to me.
    • That's all I know. Any further info is appreciated!

Questions that probably won't get a full answer

  • Q: Is OCM/MSX++ safe from the "PSG direction" issue that openMSX warns about?
    A: Discussion at MRC didn't result in an answer
  • Q: Would it be possible/desirable to have machine definitions in openMSX for OneChipMSX, SX1Mini+, SX2, etc?
    A: Discussed at MRC - not likely

Wishes

Seeing all that's possible with MSX++, there's just a few things that would make it even better.

Some might be easy to accommodate in the OCM-PLD firmware, others require additional (costly) hardware or are on the verge of being ludicrous ;)

Hardware:

  • HDMI, like the SM-X had
  • USB keyboard, mouse & controllers
  • USB-C power
  • printer port support as GPIO (9 digital out, 1 digital in)
  • MIDI in/out connectors

Firmware:

  • a (function) key to switch 50/60Hz
  • reset key combo, like Ctrl-Alt-Del - with variants for cold, warm and hard reset
    • solved: v3.9.2 adds [LCTRL+F12] to perform Warm Reset, and [LCTRL+SHIFT+F12] to perform Cold Reset!
  • keyboard key (or key combo) to skip SD-BIOS at boot
  • R800 LED indicator, e.g., LEDs 8/9 ON/ON
  • 192KiB VRAM
  • mic in - we already have tape in, so should be possible...
  • printer port as built-in Covox/SIMPL
  • V9990 / Video9000
  • Full Turbo-R support
  • support full 1MiB ESE-RAM and RAMdisk (probably impossible; writing to SD/MMC and EPCS happens through A8 pages #40 and upwards)
  • full MIDI in/out compatibility with Music Module, FAC MIDI, MIDI Saurus & MSX-MIDI
  • OPL3 and PSG2 volume control
  • Music Module ADPCM

BIOS ROMs:

  • support other MSX key matrices, e.g., International, with DEAD/accent key and proper mapping of characters ')', '\' and '|' for Ansi104 keyboards
  • Wi-Fi improved & included by default

Tools:

  • show & set audio volume (master + separate devices)
⚠️ **GitHub.com Fallback** ⚠️