Emulating Pioneer LaserActive (Mega-LD) games
Posted: Thu Apr 30, 2009 6:05 am
Has anyone attempted this? For people who may not be familiar with the system, the Pioneer Laseractive ( http://en.wikipedia.org/wiki/Laseractive ) was a Laserdisc player which had several addon modules engineered for it, one of which was a MegaDrive/MegaCD/MegaLD module. This module allowed regular Mega Drive and MegaCD games to be played through the unit, but it also allowed some unique "MegaLD" games to be played. MegaLD games are essentially unique MegaCD games which were made for the system and not available on any other format, which were stored on Laserdiscs. These games use analog video tracks from the Laserdisc and overlay them with the output from the MegaDrive hardware (akin to the way the 32x works) to blend MegaDrive graphics with true full motion video.
This system keeps popping into my mind. I don't think anyone's had a serious crack at emulating it yet, and I really don't think it would be very hard to do. Now that Virtua Racing has finally been emulated, Mega-LD games would be the only remaining commercial games for the Mega Drive which haven't been emulated yet, wouldn't they? According to Wikipedia, there are a good 20 or so unique Sega MegaLD games which were produced. I think we should have a serious look at what would be involved in adding support for MegaLD games.
What I want to do is simply open a discussion. It seems to me there are three main stages that we need to figure out how to approach in order to emulate this system:
1. Dumping the digital data from a MegaLD disk
2. Ripping the analog video from a MegaLD disk
3. Emulating the LaserActive hardware
I'm going to give my comments on each step.
1. Dumping the digital data from a MegaLD disk
As far as I can tell, nobody has ever dumped the digital data from a MegaLD disk. This would seem to be the first, most fundamental step. I think we'll find it won't turn out to be very hard at all to run a MegaLD game in existing MegaCD emulators, all be it without any analog video initially.
I think the best way to rip the digital data from a MegaLD disk would be to write a custom ROM file for this purpose, which we can load onto a flashcart. This ROM would have to directly communicate with the MegaCD hardware (similar to what the Flux cart does), and read the digital data from the disk sector by sector. As the data is read from the disk, it is streamed over the second controller port using MoD's parallel transfer code, and saved to an iso file on the target computer.
I think it's almost certain that the process for reading digital data from a MegaLD game would be identical to the process for reading the digital data from a MegaCD game. If this is correct, it should be possible for anyone who has a MegaCD to develop and test this ROM. Note that the ROM would have to be a normal Mega Drive ROM, not a MegaCD iso. The Laseractive physically locks down the disk it is currently running, and the CD and LD drives use the same physical spindle, so it wouldn't be possible to boot a MegaCD iso with some kind of ripping program, then switch out the disks and rip a MegaLD game, without making significant modifications to the Laseractive drive bay.
2. Ripping the analog video from a MegaLD disk
Ok, now this is the one we really need to discuss. A laserdisk stores analog video. There is no digital video content to rip. That means we need to decide on some kind of format to store this video data in. This is going to be back to the days of something akin to an iso+mp3 rip of a disk. We're going to have a digital image of the data area of the disk, then a series of separate video files for each analog video track. This seems to be the only option. The question then, is which video format are we going to use?
I have absolutely no idea about this one. We need to decide on some kind of format we can work with, and in reality, we probably need to make up our minds before any kind of effort can begin to even rip the video content from these disks. The format should be something which is supported across multiple platforms (IE, not windows-specific). It also needs to be something we can not only play back within our emulator, it needs to be something that we can work with during emulation. This video stream from the Laseractive needs to be composited with the video output from the Mega Drive, in a similar fashion to the way the 32x video is combined with the Mega Drive video. That means whatever library we use to access the video, we need to be able to get at the raw output. I haven't ever written an app to work with any kind of video container format before, so I don't really know what's out there, or what it's like to work with. Anyone have any advice or suggestions in this area?
In terms of the practical question of how to rip the video, I think that'll actually be pretty easy. Once we have a copy of the digital data from a MegaLD game, we should be able to easily see what interface the MegaLD games use to instruct the Laseractive to play a given video track. We then just need to write a test ROM which allows the user to trigger playback of individual tracks, and doesn't include any visible output from the VDP which would interfere with it. Load this ROM onto a flashcart and place a MegaLD game in the drive, and use an analog capture card to record each video segment out one at a time. Some care would have to be taken to provide clear markers as to the beginning and end of each track, but it shouldn't be too difficult.
3. Emulating the LaserActive hardware
I really don't think this is going to be very hard compared to the task of ripping the games themselves. I doubt there is going to be all that much difference between a MegaDrive+MegaCD and the Laseractive when all is said and done, and this is evidenced by the fact that the unit can of course play MegaCD and Mega Drive games. There is probably simply going to be an extra set of control registers somewhere in the MegaCD interface which allows the analog video tracks from MegaLD games to be controlled. All we really should have to do is emulate this interface, and use it to select which ripped video track to play.
I have a LaserActive, and I have one MegaLD game. I also have a flashcart, and a damn good analog capture card. I'm keen to attempt to rip a MegaLD game, but I can't do it by myself, at least not any time soon. I've never written anything for the MegaCD. It's a foreign world to me. I've never even looked at what would be involved in emulating it, or writing code for it. As a result, I've got no damn idea about how to go about writing the homebrew ROM(s) we need in order to rip either the digital or analog video from the disk. One of the reasons I'm posting this now is to see if someone here wants to give it a go. What we need is a MegaDrive ROM which can directly access the MegaCD hardware, and read out the digital contents of a disk sector by sector. Is this even possible? Do we have a resident MegaCD guru who wants to take up the challenge?
As for the rest of this project, has anyone looked into emulating this system before? Any comments/suggestions/advice?
This system keeps popping into my mind. I don't think anyone's had a serious crack at emulating it yet, and I really don't think it would be very hard to do. Now that Virtua Racing has finally been emulated, Mega-LD games would be the only remaining commercial games for the Mega Drive which haven't been emulated yet, wouldn't they? According to Wikipedia, there are a good 20 or so unique Sega MegaLD games which were produced. I think we should have a serious look at what would be involved in adding support for MegaLD games.
What I want to do is simply open a discussion. It seems to me there are three main stages that we need to figure out how to approach in order to emulate this system:
1. Dumping the digital data from a MegaLD disk
2. Ripping the analog video from a MegaLD disk
3. Emulating the LaserActive hardware
I'm going to give my comments on each step.
1. Dumping the digital data from a MegaLD disk
As far as I can tell, nobody has ever dumped the digital data from a MegaLD disk. This would seem to be the first, most fundamental step. I think we'll find it won't turn out to be very hard at all to run a MegaLD game in existing MegaCD emulators, all be it without any analog video initially.
I think the best way to rip the digital data from a MegaLD disk would be to write a custom ROM file for this purpose, which we can load onto a flashcart. This ROM would have to directly communicate with the MegaCD hardware (similar to what the Flux cart does), and read the digital data from the disk sector by sector. As the data is read from the disk, it is streamed over the second controller port using MoD's parallel transfer code, and saved to an iso file on the target computer.
I think it's almost certain that the process for reading digital data from a MegaLD game would be identical to the process for reading the digital data from a MegaCD game. If this is correct, it should be possible for anyone who has a MegaCD to develop and test this ROM. Note that the ROM would have to be a normal Mega Drive ROM, not a MegaCD iso. The Laseractive physically locks down the disk it is currently running, and the CD and LD drives use the same physical spindle, so it wouldn't be possible to boot a MegaCD iso with some kind of ripping program, then switch out the disks and rip a MegaLD game, without making significant modifications to the Laseractive drive bay.
2. Ripping the analog video from a MegaLD disk
Ok, now this is the one we really need to discuss. A laserdisk stores analog video. There is no digital video content to rip. That means we need to decide on some kind of format to store this video data in. This is going to be back to the days of something akin to an iso+mp3 rip of a disk. We're going to have a digital image of the data area of the disk, then a series of separate video files for each analog video track. This seems to be the only option. The question then, is which video format are we going to use?
I have absolutely no idea about this one. We need to decide on some kind of format we can work with, and in reality, we probably need to make up our minds before any kind of effort can begin to even rip the video content from these disks. The format should be something which is supported across multiple platforms (IE, not windows-specific). It also needs to be something we can not only play back within our emulator, it needs to be something that we can work with during emulation. This video stream from the Laseractive needs to be composited with the video output from the Mega Drive, in a similar fashion to the way the 32x video is combined with the Mega Drive video. That means whatever library we use to access the video, we need to be able to get at the raw output. I haven't ever written an app to work with any kind of video container format before, so I don't really know what's out there, or what it's like to work with. Anyone have any advice or suggestions in this area?
In terms of the practical question of how to rip the video, I think that'll actually be pretty easy. Once we have a copy of the digital data from a MegaLD game, we should be able to easily see what interface the MegaLD games use to instruct the Laseractive to play a given video track. We then just need to write a test ROM which allows the user to trigger playback of individual tracks, and doesn't include any visible output from the VDP which would interfere with it. Load this ROM onto a flashcart and place a MegaLD game in the drive, and use an analog capture card to record each video segment out one at a time. Some care would have to be taken to provide clear markers as to the beginning and end of each track, but it shouldn't be too difficult.
3. Emulating the LaserActive hardware
I really don't think this is going to be very hard compared to the task of ripping the games themselves. I doubt there is going to be all that much difference between a MegaDrive+MegaCD and the Laseractive when all is said and done, and this is evidenced by the fact that the unit can of course play MegaCD and Mega Drive games. There is probably simply going to be an extra set of control registers somewhere in the MegaCD interface which allows the analog video tracks from MegaLD games to be controlled. All we really should have to do is emulate this interface, and use it to select which ripped video track to play.
I have a LaserActive, and I have one MegaLD game. I also have a flashcart, and a damn good analog capture card. I'm keen to attempt to rip a MegaLD game, but I can't do it by myself, at least not any time soon. I've never written anything for the MegaCD. It's a foreign world to me. I've never even looked at what would be involved in emulating it, or writing code for it. As a result, I've got no damn idea about how to go about writing the homebrew ROM(s) we need in order to rip either the digital or analog video from the disk. One of the reasons I'm posting this now is to see if someone here wants to give it a go. What we need is a MegaDrive ROM which can directly access the MegaCD hardware, and read out the digital contents of a disk sector by sector. Is this even possible? Do we have a resident MegaCD guru who wants to take up the challenge?
As for the rest of this project, has anyone looked into emulating this system before? Any comments/suggestions/advice?