Uka wrote on 2022-03-01, 18:24:
and it is not possible to complete it anyway as the disk 2 of 3 has not yet been dumped...
And do you know why the subtitles are not showing up here and in "Return to Zork"?
I'm glad you brought this up because to be honest, subtitles was something I didn't even think about. I didn't even know RTZ had subtitles. Can you tell me where in "Return to Zork" or "Man Enough" you expect to see the subtitles or how to enable?
Yesterday we just received an actual ReelMagic ISA card and are currently working on getting this setup in an old PC so that we can peek/poke at the real deal. The DOSBox debugger and Ghidra are great tools to help figure this stuff out, but can also be very time consuming to hammer out large features like this. 😀 Once we put the game in a PC with the real ReelMagic card and get the subtitles to come out, likely we can narrow down the issue and get it fixed/implemented in the emulator.
One of the items on the current TODO list is to better understand how the driver -> game callback events works, as well as fill in the gaps for some of the driver calls I just guessed at. I've only implemented one of the callbacks ("media closed" I think?) and I suspect more are needed to address some of Return to Zork's (+ other games) glitches. Currently, the only status the emulator tells the game is if the MPEG video is playing or not, and the picture size. I'm pretty sure there is a mechanism which is supposed to provide things like video play position. Something like that could certainly impact the game's ability to overlay subtitles as it would need to know when the right time / video position is to display the text.
I'm 90% sure that subtitles would be located in the game as opposed to the MPEG file because from what I can tell, the CL450 (MPEG chip on the ReelMagic board) does not have any support for decoding and displaying some format of subtitles. I don't think MPEG-1 supports this either, although I suppose one could mux in a proprietary data/text stream of some sort. I've worked with CEA 608 (line 21) and 708 (digital) closed-captioning/subtitle standards in past lives, but AFAIK, only MPEG-2 or higher supports this. If there are indeed subtitles embedded in the MPEG files as opposed to the game, it may take some time to implement that feature as that requires finding a font to use, and rendering the font and text to the correct screen positions.
Sadly that does not work...
Well was worth a shot 😀 Good to know as it gives us a known bad point of test to investigate.
And what does "#vgadup5hack" setting mean? It is not fully implemented yet?
In a nutshell, if this parameter is false or unset, MPEG quality is likely sacrificed in favor of the original VGA signal quality. If this parameter is true, then likely you will have better MPEG video quality, at a very slight sacrifice of VGA quality. I think the best answer here for what to use is to try it and see which mode you prefer better.
In more detail: Setting "vgadup5hack=true" will duplicate every 5th VGA (vertical) line. For example, if the game calls for a VGA resolution of 320x200, the output resolution will be stretched to 320x240, which yields a 4:3 aspect ratio. This is certainly not the best way to solve this problem, but I put it in as a quick and dirty hack because most of the MPEG video assets I have analyzed so far have a 4:3 aspect ratio (or close to), and I wanted a way to get the full MPEG quality/experience for games like Return to Zork and Lord of the Rings which call for a "classical" VGA/DOS aspect ratio.
I made sure to explicitly call it a "hack" because something like this (and just the video mixing in general 😀 ) should probably be done in an OpenGL shader or similar layer to properly implement image mixing and scaling.
There was a gap in implementation (especially with the Lord of the Ring videos) where it would just paint a red picture, but I recently pushed a code change that should allow the "dup5 hack" to work with all video sizes. So as of the current main branch it should be fully implemented.
Does "The Lord of the Rings" work for you?
No not quite yet, but it is currently a work-in-progress as I am actively testing this game at the moment with the emulator. I think that likely it will be supported soon as I have a good idea what the current problems (emulated driver API limitations) are on this one. One issue is the stop command is not properly implemented and the "FMPOpen Error Code: 0" you get I think is a relative path the emulator is not currently handling. Both should be fairly easy to fix.
I have also tried "Dragon's Lair": it launches fine, but for some reason only the end game videos appear. As if I just die all the time and nothing else
Good to know. Thanks for another good data point 😀