RoboPlay update 1.2 released

RoboPlay update 1.2 released

by ToriHino on 13-10-2020, 17:08
Topic: Music
Tags: opl4, roboplay, MIDI, SCC
Languages:

A new update of RoboPlay is released with also support for the SCC chip.

Updates for 1.2:

  • MIDI: standard MIDI files using either FM or OPL4 WaveTable playback (WaveTable needs a fast MSX)
  • SCC: support for SCC Musixx and SCC Blaffer NT fileformats

Binaries of latest version can still be downloaded from this location.
Also updated the RoboPlay Starter pack with a number of SCC based songs, which you can find here.

Currently so far the following file formats are supported:

For OPL4:

  • SOP: Note OPL3 Music Sequencer
  • D00: EdLib packed module
  • DRO: DOSBox Raw OPL v0.1 and v2.0
  • RAW: Rdos Adlib Capture
  • MOD: Amiga Module (up to 24 channels)
  • VGM: Video Game Music
  • IMF: iD Software Music Format (for .WLF extension 700Hz replay is used)
  • MBM: MoonBlaster 1.4 (inlcuding PSG drums, ADPCM sample support)
  • MUS: FAC SoundTracker 1.0, 2.0 and PRO (stereo replay, ADPCM sample support)
  • PRO: Tyfoon Pro-Tracker (stereo replay)
  • MID: Standard MIDI file (WaveTable or FM)

For SCC:

  • SBM: SCC Blaffer NT (including PSG drums)
  • SNG: SCC Musixx

Project location and source files can be found here.

Comments (9)

By Gloriou

Master (180)

Gloriou's picture

14-10-2020, 16:45

Great! Thank Guys
Can't wait to try it Smile

By PAC

Guardian (5868)

PAC's picture

14-10-2020, 17:24

Great work! The ultimate MSX sound player. Wink

By The Apeman

Expert (79)

The Apeman's picture

15-10-2020, 15:41

How fast is a "fast MSX?" 7Mhz? R800?

By ToriHino

Hero (583)

ToriHino's picture

15-10-2020, 17:19

The Apeman wrote:

How fast is a "fast MSX?" 7Mhz? R800?

R800 still has sometimes problems with certain MIDI files now so I think in general that's currently the minimum (did not try much on different configurations yet though). It really depends on the complexity of the MIDI file.
I also think there is still room for performance improvement (it's also completely in C now) so will continue to look into that.

By msd

Paragon (1400)

msd's picture

18-10-2020, 12:55

I’ve created an asm lib to play the OPL4 gm instruments , I could send it to you. Perhaps you can use it or use it as inspiration .

By msd

Paragon (1400)

msd's picture

18-10-2020, 14:44

@torihino. The opl4 is you might know as very sensitive register timing. In the sense that you have to respect the timing between out instructions. When i was working on the mbwave drivers I made sure it worked on 7.16MHz systems by checking these timings. The turbo r version used a push bc pop bc between every out instruction. What did you do to check this timing in roboplay?

By ToriHino

Hero (583)

ToriHino's picture

18-10-2020, 15:34

I'm indeed interested in your asm lib for playing the OPL4 instruments, I think current implementation is still far from optimal Smile. You can send it to torihino at Google's mail if you want to.

For timing I use either the BUSY flag when writing to registers or the LOAD flag when loading data in the wave table. I always test at least on my Turbo-r, sometime also on my MSX 2+. Most likely for regular Z80 most of the waiting is overkill, but so far I did not make any exception for it.

By msd

Paragon (1400)

msd's picture

18-10-2020, 16:25

@torihino. Send it , if you don't receive then i failed to decipher your email address Tongue

By ToriHino

Hero (583)

ToriHino's picture

18-10-2020, 16:52

Yes got it, thanks. Will take a look at it.