Software MSX-driven Laserdisc player

Page 1/6
| 2 | 3 | 4 | 5 | 6

By Louthrax

Prophet (2406)

Louthrax's picture

06-11-2015, 18:58

I was thinking about creating a little software for Windows/Mac/Linux that would play Laserdisc images and that would be controlled by MSX. The goal would be of course to play MSX Laserdisc games Smile

My first idea was to use the MSX joystick port to communicate with the PC serial port, so that this would work on every MSX machine with superimpose capability. You'll just need a composite (or maybe RGB for the NMS8280 ??) output from your Windows/Mac/Linux machine.

I was also wondering if this has not already been done, as it does not seem too difficult to do ?

Of course, the Laserdisc ROMs will need to be patched in order to use the joystick port instead of the rela Laserdisc interface.

So that's just an idea for now, any suggestions are welcomed.

Login or register to post comments

By ray2day

Paladin (671)

ray2day's picture

06-11-2015, 19:01

Great idea Louthrax. I hope you'll succeed in creating this!

By Wild_Penguin

Hero (641)

Wild_Penguin's picture

06-11-2015, 19:39

What is the protocol that the MSX uses to talk to the Laserdisc player originally?

I was just thinking, that maybe with an Rasp Pi or similar, you could use the GPIO pins to read and support the native protocol? But those mini-computers don't have the necessary video output(s), I think, and also that would not work with every PC out there (but, a lot of new motherboards do not have serial ports, either, and if they do, it is only as a header). But, if this is going to require extra hardware in any case (self-made cables etc.), it's something to consider as an alternative - no need to patch the ROMs.

(I could be totally lost with what the GPIO pins can be used for, I must admit...)

By Pentarou

Champion (400)

Pentarou's picture

06-11-2015, 20:22

By Louthrax

Prophet (2406)

Louthrax's picture

06-11-2015, 21:26

Thanks Pentarou, Eric's project is almost the same as what I had in mind Smile

I'd like this to be the more "generic" as possible, that's why I first favored the "desktop" solution compared to Raspberry. The main question here is the composite output, that might not be so easy to get on modern PC video cards (or you'll need VGA to composite converters...). I'm wondering about the Raspberry's ?

Also, I'm not sure if the communication between the MSX and the Laserdisc is bi-directionnal or not ? I was assuming that the MSX was only sending commands to the Laserdisc ("go to the chapter or time index"), but there might be some extra sync signals ?

About the serial port for PC input, you can find some very cheap "serial port to USB" converters on eBay, so that's not a real blocker. If anyone has a solution using USB port directly, I'd be interested (but I think the soldering might not be so easy compared to soldering a MSX joystick port to a PC serial port).

By Louthrax

Prophet (2406)

Louthrax's picture

06-11-2015, 21:39

Must say the idea of having a nice little Raspberry near the MSX is seducing... We'll just need some king of browser to select the Laserdisc image to play (or it could just be the first file found on the SD card).

By Manuel

Ascended (18256)

Manuel's picture

06-11-2015, 22:58

AFAIK the protocol is exactly like a remote control (so one direction). See the openMSX sources for details!

By enribar

Paragon (1144)

enribar's picture

06-11-2015, 23:59

is this project more simple to build than a dvd remote control?
a remote control could be made with raspberry or arduino?

By Louthrax

Prophet (2406)

Louthrax's picture

07-11-2015, 00:42

enribar wrote:

is this project more simple to build than a dvd remote control?
a remote control could be made with raspberry or arduino?

I don't know if all the "commands" would be supported by a remote controller (like jumping directly to a specific chapter or time). And that would be remote controller specific, and you'll need a DVD player with a converted laser disc image. Still an interesting idea though.

By Louthrax

Prophet (2406)

Louthrax's picture

07-11-2015, 00:54

Think I'll use that Hotbit interface for joystick to PC serial port:
http://hotbit.blogspot.fr/2008/01/conversor-ttl-rs232.html
Should be fine for most people with basic soldering skills.

Let me know if anybody sees a simpler solution for that (simple MSX joystick port to PC serial port communication).

By ericb59

Paragon (1049)

ericb59's picture

07-11-2015, 08:08

Hello guys,

My own project (FMV Game system) has stalled for now. I loose my first source code, thus I had to re-write it, but in fact my second code was not as accurate as the first one !! and no time for now to work again on it.

It's not so simple to drive laserdisc game's image from MSX....

First, this is not possible to use DVD based game.
-> Laserdisc have the ability to jump directly and instantly to a specific time code, DVD cannot do that !
DVD are based on chapters. Thus, if you want to use a DVD player you have to cut your game movie into chapters...
But, the time a DVD player take to jump to a chapter is quite long. Even hight end DVD players take 1 to 2 seconds to jump
to a chapter. it is too long for this type of game.

->My solution was to use a PC with an composite video out.
The Movie Player on the PC must be able to jump on any time code of the video file, like a Laserdisc player do.
Most of the PC Video players do not do that. They jump 10secondes by 10seconds for example...
The videoplayer I used and had this ability is MPLAYER (http://www.mplayerhq.hu/design7/news.html)

-> Using a RaspberryPi is a solution. It have a video composite output. But the probleme is to find a videoplayer for Raspberry pi that can jump to any time code... MPLAYER is not available for the Raspberry...

-> The communication problem...
You have 2 way to do :
- First, the MSX is calculating all. MSX launch the video game, and have a table of all events in the game, also it knows all time code to jump. Thus the MSX must calculate exactly the passing time, and request events from the player.
In a one way communication system (MSX -> PC), MSX is totaly blind to the Video Player ; it doesn't know if the video is really at the good time code, and if all is going well (it's quite hazardous).
If you have a two way communication (MSX <-> PC) you can request from the PC the actuall time code it play, and have a very accurate control of what the video player do. In this case you indeed need a fast communication interface between MSX and PC.

- Second way to do : The PC is calculating all. The PC knows all events in the game, and knows all time code to jump.
The PC launch the video game, control the video, and it send request to the MSX when a player request is need.
If the request is send back to the PC in time the video game continue, if not, the PC player jump to a end-sequence time code.
This is my own solution. It need a two way communication interface, but it not need a really fast one because data to transfert are limited.

Page 1/6
| 2 | 3 | 4 | 5 | 6