VOGONS


MT-32 emulation

Topic actions

First post, by vladr

User metadata
Rank Oldbie
Rank
Oldbie

This is for whoever might be interested (yeah, right) and/or for me to keep track (and actually remember at some point in the future) that I'm supposed to conrinue working on this. 😉

Step 1: digitally record the MT-32 at work

Well, got the first incarnation of the USB "ripper" (more of a high-speed logic probe, really) to work today. I manage to stream around 660kB/s into my computer and to disk with it (somewhat less than what I expected, but still good enough -- crappy USB host on my PC I guess). No actual "ripping" performed yet (just feeding dummy numbers in for throughput and data integrity tests), but hell, it's a start. Stiletto: this may be of interest to some of your emulation friends (including Jarek) -- though 0.6MB/s is not that impressive (can get several times that with a USB2.0 chip or a custom PCI card), it's simple and inexpensive (it cost me less than US$50 or so so far). I know Jarek has (or had, last time we talked) his own ISA card and dedicated PC for ripping.

Reply 1 of 148, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

hehe looking nice vlad, get that thing emulated already 😀

Reply 2 of 148, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
vladr wrote:

This is for whoever might be interested (yeah, right) and/or for me to keep track (and actually remember at some point in the future) that I'm supposed to conrinue working on this. 😉

Step 1: digitally record the MT-32 at work

Well, got the first incarnation of the USB "ripper" (more of a high-speed logic probe, really) to work today. I manage to stream around 660kB/s into my computer and to disk with it (somewhat less than what I expected, but still good enough -- crappy USB host on my PC I guess). No actual "ripping" performed yet (just feeding dummy numbers in for throughput and data integrity tests), but hell, it's a start. Stiletto: this may be of interest to some of your emulation friends (including Jarek) -- though 0.6MB/s is not that impressive (can get several times that with a USB2.0 chip or a custom PCI card), it's simple and inexpensive (it cost me less than US or so so far). I know Jarek has (or had, last time we talked) his own ISA card and dedicated PC for ripping.

Cool! Good luck. I forwarded the URL of this thread to the MAMEDEV team, maybe they'll have input on this or at least lurk and read. Keep us posted.

Still a long ways to go...

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 3 of 148, by bujar

User metadata
Rank Newbie
Rank
Newbie
vladr wrote:

Stiletto: this may be of interest to some of your emulation friends (including Jarek) -- though 0.6MB/s is not that impressive (can get several times that with a USB2.0 chip or a custom PCI card), it's simple and inexpensive (it cost me less than US or so so far). I know Jarek has (or had, last time we talked) his own ISA card and dedicated PC for ripping.

First of all: Congratulations, Vlad!

Would you post more details about it here? Yes, I mean the schematics 😉
Btw. How many bits can you read with one read? Lokking at the photo I'd say its 2 ?

Your USB seems way better than my ISA. I can capture at 150kB/s only. I have to use DOS and disable interrupts to get consistent data. Yep, I still ISA (though, its a crap). And it is the only explanation I have for this old PC at home 😉

Jarek

Reply 4 of 148, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

Heyya Jarek.. How's that OPL3 coming? 😀

Note to all: 83 views in a few days? 😮 I bet more than a few are anonymous lurkers. You know who you are.

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 5 of 148, by vladr

User metadata
Rank Oldbie
Rank
Oldbie

OK, here are the dirty details: I'm stuck with a FTDI USB1.1 solution because there are no (cheap) USB2.0 solutions that can be mounted on a bread-board (one can either get the surface-mount chip and do the PCB/soldering oneself -- which I wasn't prepared to do just yet --, or get an expensive [90 euros or so] module from Germany based on Cypress' E-Z-Usb).

So yeah, I got the USB245M module from http://www.dlpdesign.com/usb/ (it's based on FTDI's USB1.1-capable FT245BM; it has the chip and some minimal logic around it, and you get access to some of the chip's inputs/outputs via the board's legs (that can be plugged into a breadboard). The page claims 8Mbps (1MB/s), which is around the theoretical limit of USB1.1, but I only got 60% of that (could be the USB host on my computer, dunno). Anyway, ideally I would have used an USB2.0 "high-speed"-capable chip for an order of magnitude bettwer performance, but that will have to wait (see reasons above -- moreover, my current USB host isn't USB2.0 capable).

The FTDI is mainly a parallel-to-USB interface (driven from the parallel side, with a small internal FIFO). The Cypress E-Z-Usb (USB2.0 high-speed-capable) has more than one interface (it can interface with a microcontroller as well as with external logic via a "slave FIFO" mode, gives access to all USB channels whereas the FTDI hides all channels but one). On the Cypress I would have used the slave-FIFO for data and the uC interface for control (start/stop, change sampling frequency, etc.). On the FTDI I will be stuck with data only. For now I just made a test circuit with some counters to check throughput and data integrity (actually only 3 out of 8 data lines are connected on the breadboard if you look closely -- I got impatient 😉 ). The next step will be to try to get an FPGA or PLD in to get a state machine to interface with a larger external FIFO (RAM-based). I see no problems with maintaining the 600kHz throughput. When that works I'll release schematics (and maybe even start looking into the Cypress E-Z-Usb variant... but let's do things in order). 😀

V.

Reply 6 of 148, by Snover

User metadata
Rank l33t++
Rank
l33t++

Vlad, have you considered using IEEE-1394?

Yes, it’s my fault.

Reply 7 of 148, by vladr

User metadata
Rank Oldbie
Rank
Oldbie

Ahem, I could have used a PCI board as well if I felt like it. 😉
Seriously, man, even this USB thing comes out pretty expensive and hard to find, can you imagine how impossible a firewire bread-board design would be?

V.

Reply 8 of 148, by Snover

User metadata
Rank l33t++
Rank
l33t++

Well, maybe you can get a USB2.0 connector, glue stuff together, ship it and the MT-32 to me, and I can do it. 😉)

I wonder... is there a USB2.0 > IEEE-1394 converter? Hmm...

Yes, it’s my fault.

Reply 9 of 148, by vladr

User metadata
Rank Oldbie
Rank
Oldbie

USB1.1 will do just fine (and the connector is the same for USB2.0 and USB1.1). All I need is a silly FIFO chip (1KB or more), but the electronics shop next to me doesn't appear to carry it (arrow.com sells it at 50x the price it's supposed to sell at so forget about *them*), etc., etc. In the end this design will be like three-four chips total, but hell it's hard to come by the parts.

V.

Reply 10 of 148, by Snover

User metadata
Rank l33t++
Rank
l33t++

No Fry's?
...
None here either.

Yes, it’s my fault.

Reply 12 of 148, by Snover

User metadata
Rank l33t++
Rank
l33t++

Neat!
I want a course at school that teaches us how to build shit like this. Arrgh! *hates his highschool, they teach Python for computer sciences -- PYTHON for fuck's sake!*

Yes, it’s my fault.

Reply 13 of 148, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
Snover wrote:

Neat!
I want a course at school that teaches us how to build shit like this. Arrgh! *hates his highschool, they teach Python for computer sciences -- PYTHON for fuck's sake!*

Well, that would really fall under computer/electrical engineering. Not "computer science" which is mostly programming. Colleges differ between the two.

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 14 of 148, by Snover

User metadata
Rank l33t++
Rank
l33t++

I know. I was just using an example to illustrate just how stupid my school is. For US$16,000/yr for tuition and US$8.55/day for lunch ($1000/yr) I'd expect them to have some IT classes that aren't shit!

Yes, it’s my fault.

Reply 15 of 148, by vladr

User metadata
Rank Oldbie
Rank
Oldbie

Find a HAM (amateur radio) club near you, and/or visit a library near you. 😀 The (logic) side of digital design is easy to get just by reading stuff in a library (e.g "Contemporary Logic Design" by Katz) or on the web (google, e-books or e-book versions of printed books like "Contemporary Logic Design" by Katz again). The "electronics" part (why do you need capacitors, pull-up resistors, difference between CMOS/TTL/etc.) you can also get from the web, but it really helps to have hands-on experience (meaning book with design examples and explanations or, even better, a friend who knows all this stuff and can answer your questions -- that's where a HAM club may help).

V.

Reply 16 of 148, by oneirotekt

User metadata
Rank Member
Rank
Member

this is pretty exciting! any recent news on the MT-32 emulation project?

Reply 17 of 148, by vladr

User metadata
Rank Oldbie
Rank
Oldbie

MT-32 ROM ripping rig.

Reply 19 of 148, by Schadenfreude

User metadata
Rank Member
Rank
Member

Possible helpers?
https://listman.redhat.com/pipermail/bochs-de … une/000803.html
http://www.alsa-project.org/archive/alsa-devel/msg08398.html
http://www.alsa-project.org/archive/alsa-devel/msg08400.html
http://groups.google.com/groups?selm=3a96f420 … 3%40news.utu.fi
http://www.ircam.fr/sons/archives/MIDI/doc/MT32internals