MEGA MINI MPI
The MEGA Mini Multi-Pak Interface includes:
- 4-slot Multi-Pak interface
- Yamaha YMF-262 FM synthesizer
- 2 x high-speed SC16550 Universal Asynchronous Receiver / Transmitter (UART) (USB dongle available)
- Additional MPI controls such as software selectable cartridge sound routing and interrupt control
Created by Ed “Zippster” Snider https://thezippsterzone.com/2018/05/09/mega-mini-mpi/
EXAMPLE APPLICATIONS
LORD DRAGON'S OS9 PLAYER
Todd "Lord Dragon" Wallace's cctplayer for OS-9
Todd "Lord Dragon" Wallace's cctplayer for OS-9 Virtual Hard Drive with CCT and VGM files
Usage notes from Lord Dragon:
both have the “cctplay” program itself in the root of the disk
on the VHD i put all the .CCT files that Ed has converter for use with his “Coco Chip Tunes” player and also a number of various pure VGM files (which the CCT files are mostly converter from)
the player has a “playlist” function that will read a text file with filenames (and/or fullpathnames) to whichever songs you want to play in a row use the -p flag to tell the player the file is a playlist instead of the song file itself
just type “cctplay” by itself to see more usage info
i included a small playlist file called “vgm.pls”
feel free to experiment and make your own
you can use both .VGM and .CCT song files interchangably inside a playlist
you can use it to refer to files in the current directory or absolute paths off of other devices, or a mix of both so you could potentially play some songs off of a drivewire volume and then an SDC volume and then a floppy drive itself 😄
please if you feel motivated, find some of your own random VGM files to try it with to see if you can help me discover bugs the megamini mpi has support for either OPL2 (YM3812) or OPL3 (YM262) chips
VGM is a universal format so some are for entirely different sound chips that obviusly coco cant play
i found my VGMs here: https://vgmrips.net/packs/ and i browsed specifally for YM3812 or YM262 sound chips
PROGRAMMING
Zippster already provided a nifty assembly program to play the 12-note scale, so I didn't have to write one:
https://thezippsterzone.com/2018/12/01/programming-the-opl3-chip-with-the-color-computer/
The manual includes a number of other programming bits you will need:
MEGAmini Manual
MY EXAMPLE CODE
Since Zippster already covered playing scales through the OPL3 in assembly, I tried something else - decoding Ad Lib instrument banks and programming the MMMPI from BASIC to play sounds or scales with those instruments.
Wow is my BASIC rusty and even more horrible than my 6809 assembly.
Buggy, incomplete demo of scales through 145 FM instruments on MEGAmini MPI … in BASIC.
POKE 25,14:POKE3584,0:NEW for 28K free with SDC-DOS/DECB before running.
Plays in headphones direct from MMMPI - not sure what I got wrong on CART MUX (fixed in next demo)
This the start of the demo you asked for by Tom C on the CoCo Discord.
Yes, the instrument settings and processing could be much better but I did it this way for reasons which may become apparent later … stay tuned to Glenside Newsletter:
demo01.bas
Working better - Sound out of CoCo CART line and MMMPI headphones …
bad data imported in the HIHAT2 instrument will crash with FC error -
for some reason the instrument file has a 252 for the feedback which is normally only the range 0-7 …
but this is at least a preview:
demo2.bas
Further along with the AdLib standard instrument banks:
demo5.bas
A different tack using pre-figured instrument register data and Bisqwit's MIDIPLAY general MIDI sound bank example instruments:
demo7.bas
EXPLORING THE MEGA-MINI MPI IN COCO~123
My write up exploring the MMMPI's OPL3 sound for the Glenside Color Computer Club CoCo~123 Newsletter Vol 41 #2 Summer 2021 which describes more of what the BASIC code above is doing and why.
MEGAMINI MPI COMMUNITY
I can see that I would have been much better off using single long strings of hexdata and a small 2 character MID$() to poke those in, instead of the DATA &H business.
If you would like to discuss tips, tricks, coding, and more for the MEGA-mini Multi-Pak Interface, its UARTs, or OPL3 sound, join us on the CoCo Discord in the SOUND / #mmmpi-sdc-extender-opl3 channel.
We do have a PROGRAMMING / #basic channel you can make fun of me in as well…
NEED MORE?
Deep dive on the great-grandfather of the OPL3 chip in the MEGAmini MPI …
https://www.righto.com/2021/12/yamaha-dx7-chip-reverse-engineering.html
Programmer's Guide to Yamaha YMF 262/OPL3 FM Music Synthesizer
RTS
Return to Tandy Color Computer