MIDI Sync with MTV Music Generator/Music 2000

BIOS, Controllers, Memory Cards, Serial I/O, Parallel I/O, etc.
Post Reply
User avatar
Chandy
Interested PSXDEV User
Interested PSXDEV User
Posts: 9
Joined: Apr 24, 2017
I am a: Musician
Motto: Keep it crispy!
PlayStation Model: SCPH-7001

MIDI Sync with MTV Music Generator/Music 2000

Post by Chandy » November 7th, 2017, 2:11 pm

MTV Music Generator (known as Music 2000 internationally) is what got me started making music back when I was young. It's a pretty basic tracker composition software that's very easy to learn, and it comes with an extensive library of pre-packaged sounds to work with. I find a lot of the default melodic sounds to be pretty cheesy, but the drum presets are very usable and given that the 2MB RAM bottleneck of the PS1 often prevents you from getting too crazy with song creation anyway, you're usually better off just keeping it simple with drum tracks. The ability to rip custom samples from CD and store them on your PS1 memory card vastly expanded its versatility, although I still mostly used the limited sample memory for drum sounds. Before I finally shelled out for a drum machine I frequently used the game as a rhythm section on several demos, but without MIDI sync functionality it's little more than a fun oddity to fiddle with every now and then.

I think the PS1 supports some flavor of MIDI sequencing natively through its sound processing chipset (correct me if I'm wrong), but I'm equal parts confused and intrigued by this YouTube video from 2010. It seems to demonstrate some preliminary form of MIDI sync coming out of a PSX running Music (the prequel to Music 2000/MTVMG). I tried contacting the channel to ask more questions but his account has been inactive for four years now so I don't expect to hear anything from him.

From what I've gathered reading his replies to comments on the video, it seems as though whatever MIDI sync mod demonstrated in the video is not being achieved through a sound sync workaround. That would require him to send a lone timing pulse through one of the L or R channels to generate MIDI clock while all the other sounds would be forced onto a single mono RCA out, which is a less than ideal solution for recording and performance purposes.

In the comments he further explains that the MIDI output is being sent through some kind of external adapter that he built himself. He had plans to update it to work with MTV Music Generator and then build the adapter into the PS1 itself, but alas, that never panned out. I know next to nothing about PS1 modding, but I'm fairly certain he's not using a modded version of Music because modded PS1 games basically don't exist. It's more likely that he's taking the timing messages straight from a pin on the SPU or the CPU and using this adapter to translate them into MIDI clock signals, but again, I don't know jack about the PS1 and this is just my best guess.

Anyone have any idea what's going on here, or what his adapter is doing? I think this could be a really cool project if developed further and I would be happy to help however I can. I like making chiptunes and I'm an active part of the online scene, and even though this can hardly be considered "chiptunes" given the hardware at play, a lot of folks have expressed a fondness for the program and an interest in implementing it in their set-ups. There are plenty of more capable music composition games on more modern consoles (the sequels to MTVMG are a great example), but there's something about the vintage aesthetic of the PS1 that seems to appeal more to the lo-fi/chiptunes/video game music scene.

If you don't have any idea how he managed to rig up this prototype, I would appreciate other suggestions on how to proceed with this project. Thanks a bunch!

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 7th, 2017, 2:32 pm

Well he could be doing three things. One is just pressing the start button on the controller at the same time as the gameboy, two is linking the start button to the Arduino and then that sends it to other equipment down the line, or three, he has taken the audio pulse from one of the stereo channels and then fed that into an Arduino to be filtered further to generate a clock signal.

My solution would be to reverse the code to add serial output, and then every time there is a pulse, send it over the serial line. It should be very easy to do, but adding a serial line hook to the code might break things. It depends on how Codemasters programmed it since some later PSX games used their own interrupt handlers instead of the poorly designed Sony one.

I've been a fan of Music 2000 myself for the PSX, so I'd be keen to actually try and attempt to do this.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

User avatar
Chandy
Interested PSXDEV User
Interested PSXDEV User
Posts: 9
Joined: Apr 24, 2017
I am a: Musician
Motto: Keep it crispy!
PlayStation Model: SCPH-7001

Post by Chandy » November 8th, 2017, 6:51 am

Those are all great theories, but I was actually able to get in touch with Nex (the video's creator) and apparently the workaround is a little more complicated than we thought. He said:
that project was in my early years before i knew anything about electronics. it was a super lame hack in which i used an optical sensor directly on a small secondary LCD screen that read the BPM light in the program. problem is (which is why i stopped the project) after the first play the BPM light flashes at whatever point it was at from the last play meaning that it is only in sync on the first play, unless you stop the music exactly on beat.

i have a new version in the works (for a very long while now) it involves the higher quality sound processor of the early playstation motherboards, a fancy clear case and a parallel port hack which should hopefully give me full midi out of the serial port once i understand how the game works by hex editing. unfortunately there is a lot of work still to do and it has been pushed to one side lately.
It seems like he's also heading towards a code to communicate pulses through the serial port. I let him know that you might be interested in helping out and let him know about this forum. I'm probably not much help but at the very least I can get you guys in touch.
Shadow wrote:I've been a fan of Music 2000 myself for the PSX, so I'd be keen to actually try and attempt to do this.
I'm assuming that since you call it Music 2000 you must be working with the PAL version. Do you think the games are significantly different between MTVMG (NTSC) and Music 2000 (PAL) such that the hex editing would need considerable tweaking between versions?

Here's a rip of MTVMG someone shared with me, maybe it can be of some use to you.

http://toilville.com/mess/MTV%20Music%20Generator/

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 8th, 2017, 10:21 am

Ah, using an optical sensor is one method, and that can work, but I wanted to find the logic in the code which is responsible for that BPM light in the game and send that pulse out over the serial port.

Yeah, Music 2000 is the PAL version, and yes, they are significantly different so both region versions would need to be patched.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

User avatar
Chandy
Interested PSXDEV User
Interested PSXDEV User
Posts: 9
Joined: Apr 24, 2017
I am a: Musician
Motto: Keep it crispy!
PlayStation Model: SCPH-7001

Post by Chandy » December 4th, 2017, 6:11 pm

Did Nex ever end up getting in touch with you about working together? I don't mean to be pushy or anything, this project just really excites me.

I guess since this mod would require a custom disk image, I would think that porting the functionality over to MTV Music Generator wouldn't be that important. In order to play a back-up disc or ISO file you'd pretty much have to have a modchip or softmod of some kind, in which case there's no real reason why NTSC users can't just use the modded PAL version anyway. However, a port for PAL Music 2000 (alongside or in place of a version for the original PAL Music) would be ideal, as it would allow the use of the CD sample ripping feature that many composers would find useful, which the original Music lacks.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests