VOGONS


Reply 20 of 29, by FaSMaN

User metadata
Rank Member
Rank
Member
soviet conscript wrote:

Here we go, Return to Zork Reelmagic version intro. I didn't bother to set my mixer here with the SB Pro card so its in mono and no thunder sound effect at Infocom logo but meh....

Captured this in DOS on my 33mhz 486DLC rig with my DVI2PCIe card.

https://youtu.be/-qvPQrtgUKk

Thanks that looks amazing, I wonder if scummvm can be modded to work with the Reelmagic version of the game 😀

Reply 21 of 29, by KainXVIII

User metadata
Rank Member
Rank
Member
FaSMaN wrote:
soviet conscript wrote:

Here we go, Return to Zork Reelmagic version intro. I didn't bother to set my mixer here with the SB Pro card so its in mono and no thunder sound effect at Infocom logo but meh....

Captured this in DOS on my 33mhz 486DLC rig with my DVI2PCIe card.

https://youtu.be/-qvPQrtgUKk

Thanks that looks amazing, I wonder if scummvm can be modded to work with the Reelmagic version of the game 😀

Or dosbox 😊

Reply 22 of 29, by Kisai

User metadata
Rank Member
Rank
Member
KainXVIII wrote:
FaSMaN wrote:
soviet conscript wrote:

Here we go, Return to Zork Reelmagic version intro. I didn't bother to set my mixer here with the SB Pro card so its in mono and no thunder sound effect at Infocom logo but meh....

Captured this in DOS on my 33mhz 486DLC rig with my DVI2PCIe card.

https://youtu.be/-qvPQrtgUKk

Thanks that looks amazing, I wonder if scummvm can be modded to work with the Reelmagic version of the game 😀

Or dosbox 😊

I managed to fake enough of the INT 2f functions to get RTZ-RM to run in DOSBOX.
9800 = Query for RM Device, return 524D on AX seems to get past it "RM"
9803 = Queried by FMPLOAD.COM (seems to be a version query as I've seen 392 and 402). Might simply be "path to FMPDRV.EXE"
981E = Seems to be "setup MPEG stream", as it's called once, and then RTZ just opens mpg files without any additional queries to 2F-98xx.
98FF = Queried by FMPLOAD.COM (seems to be a UNLOAD command)
I ran FMPDRV manually and then the RTZ command line and was surprised that I got the Infocom logo.

That was as far as I got for now, but since I've played the non-RM version before, I was able to fumble straight to the "road to the south" and die. Other than obviously needed an mpg decoder available that can understand the MPG stream (FFMPEG doesn't understand RTZ's mpg files, Windows Quartz does,) it looks like it might be do-able.

EDIT: Looks like the only reason it works is the AX:9800 - BX:00 Query returning 524D as it's queried by FMPLOAD, and FMPDRV. It seems to not care one bit if it works at all after that. Exiting the game is another matter.

Obviously you can't play a game that has a almost-entirely blank screen other than the mouse cursor, which makes me wonder how the VGA feature connector vs the passive connector worked. It appears that the game is supposed to appear over top, as if it were chroma-key'd, but then how exactly did it know how to chroma-key it when it's a 256 color game? From an emulation POV, you'd have to play the video underneath the game too. Anyone with a real device want want to try an experiment and plug in two monitors, one to the real card and one to the RM card and see what actually shows up?

Reply 24 of 29, by DonutKing

User metadata
Rank Oldbie
Rank
Oldbie

Very cool!

Unfortunately my system is all packed away, but when I get some free time to pull it out and set it up, I'll try that out.
I'm pretty sure with my system, both the VGA card and ReelMagic outputs showed the same thing, but I didn't try removing the feature connector.

If you are squeamish, don't prod the beach rubble.

Reply 25 of 29, by Kisai

User metadata
Rank Member
Rank
Member

More fumbling around.

RTZ-RM is 320x200, The MPG files on the disc are 320x240 30fps(I think, anything that can play them back thinks they're 15fps or 12fps). So this adds another question to the Overlay/VGA feature question. Is the output monitor in 320x200 or 320x240, or maybe some other mode. I suppose to emulate this kind of weirdness would require layering two hardware surfaces of different resolutions stretched to the same size on top of each other. Considering that ultimately they're the same aspect ratio other than a few videos that have a different AR (95:48), I think they're meant to be "wide-screen", like the Intro.

Discovered this:
http://bitsavers.informatik.uni-stuttgart.de/ … Manual_1994.pdf

The CL450 is the actual MPEG-1 Decoder used by the board, but it appears that the EM7110 must be some kind of microprocessor that issues commands to it instead of talking to the host system CPU, the CL450 is just a decoder that communicates with 512KB of RAM.

Using some research, I believe the EM9000 is the Analog overlay chip (as a datasheet for a later device says EM9010 on a EM8300 (MPEG-2) board is)

So what I think is required to emulate this could work pretty much the same way MSCDEX does. DOSBOX emulates MSCDEX, not a cd-rom in DOS mode. In DOS mode, emulating the INT 2F 9800 gets over the RMDEV.SYS hump, but perhaps emulating FMPDRV would be the better outcome. If I log the output of port 9800,9802 I get some fun stuff that I'm not sure what to do with yet.

iow16 9800 804b, cs:ip 01a2:06a4
17828126: IO:Writing 4B to port 9800
17828126: IO:Writing 80 to port 9801
17828128: IO:Read from port 9803
17828128: IO:Read from port 9802
ior16 9802 ffff, cs:ip 01a2:06a8
iow16 9800 804b, cs:ip 01a2:06b9
iow16 9802 fffc, cs:ip 01a2:06c0
17828145: IO:Writing FC to port 9802
17828145: IO:Writing FF to port 9803
iow16 9800 8049, cs:ip 01a2:06a4
ior16 9802 ffff, cs:ip 01a2:06a8
iow16 9800 804a, cs:ip 01a2:06a4
ior16 9802 ffff, cs:ip 01a2:06a8
iow16 9800 804b, cs:ip 01a2:06a4
ior16 9802 ffff, cs:ip 01a2:06a8
iow16 9800 804b, cs:ip 01a2:06a4
ior16 9802 ffff, cs:ip 01a2:06a8
iow16 9800 804b, cs:ip 01a2:06b9
iow16 9802 fffc, cs:ip 01a2:06c0
iow16 9800 804b, cs:ip 01a2:06b9
iow16 9802 1008, cs:ip 01a2:06c0
iow16 9800 804a, cs:ip 01a2:06b9
iow16 9802 0, cs:ip 01a2:06c0
iow16 9800 8049, cs:ip 01a2:06b9
iow16 9802 0, cs:ip 01a2:06c0
iow16 9800 8049, cs:ip 01a2:06a4
ior16 9802 ffff, cs:ip 01a2:06a8
iow16 9800 804a, cs:ip 01a2:06a4
ior16 9802 ffff, cs:ip 01a2:06a8
iow16 9800 804b, cs:ip 01a2:06a4
ior16 9802 ffff, cs:ip 01a2:06a8
iow16 9800 804b, cs:ip 01a2:06a4
ior16 9802 ffff, cs:ip 01a2:06a8
iow16 9800 804b, cs:ip 01a2:06b9
iow16 9802 fffc, cs:ip 01a2:06c0
iow16 9800 804b, cs:ip 01a2:06b9
iow16 9802 1003, cs:ip 01a2:06c0
iow16 9800 804a, cs:ip 01a2:06b9
iow16 9802 7fff, cs:ip 01a2:06c0
iow16 9800 8049, cs:ip 01a2:06b9
iow16 9802 7fff, cs:ip 01a2:06c0
iow16 9800 a001, cs:ip 01a2:02b4
iow16 9802 1f38, cs:ip 01a2:02bb
iow16 9800 a000, cs:ip 01a2:02b4
iow16 9802 5555, cs:ip 01a2:02bb
iow16 9800 a001, cs:ip 01a2:02b4
iow16 9802 1f38, cs:ip 01a2:02bb
iow16 9800 a000, cs:ip 01a2:02f4
ior16 9802 ffff, cs:ip 01a2:02f8
iow16 9800 a001, cs:ip 01a2:02b4
iow16 9802 1f38, cs:ip 01a2:02bb
iow16 9800 a000, cs:ip 01a2:02f4
ior16 9802 ffff, cs:ip 01a2:02f8
iow16 9800 a001, cs:ip 01a2:02b4
iow16 9802 1f38, cs:ip 01a2:02bb
iow16 9800 a000, cs:ip 01a2:02f4

And it just loops the last 4 lines repeatedly after that without completing FMPDRV loading.
Referencing https://www.youtube.com/watch?v=-qvPQrtgUKk , it appears that, Zork, at least needs a "done playing" callback, because otherwise it just immediately jumps to the next.

260975418: SBLASTER:Raising IRQ
260975418: SBLASTER:Single cycle transfer ended
260975683: SBLASTER:DMA Transfer:8-bits PCM Mono Single-Cycle freq 14836 rate 14836 size 362
260975696: SBLASTER:DMA unmasked,starting output, auto 0 block 361
261043476: SBLASTER:Raising IRQ
261043476: SBLASTER:Single cycle transfer ended
278828488: FILES:file open command 0 file D:\FINTRO01.MPG
279819751: FILES:file open command 0 file D:\BMPEEP00.MPG
442997522: FILES:file open command 0 file D:\FMPVLS00.MPG
443928820: FILES:file open command 0 file D:\FMPVSS00.MPG
445390471: FILES:file open command 0 file D:\FWIZ01XX.MPG
446947893: FILES:file open command 0 file D:\FMPVSS00.MPG
498392984: FILES:file open command 0 file D:\ZMP0SI00.MPG
517166903: SBLASTER:DMA Transfer:8-bits PCM Mono Single-Cycle freq 14836 rate 14836 size 1024
517166916: SBLASTER:DMA unmasked,starting output, auto 0 block 1023
517330614: SBLASTER:Raising IRQ
517330614: SBLASTER:Single cycle transfer ended

So that first SBLASTER listed is the end of the Infocom thunder noise, and there are 7 videos played without any Soundblaster sounds played between them.

FINTRO01.MPG is the Opening
BMPEEP00.MPG is a still image of "Valley of the Vultures" that the credits play over without the vulture.
FMPVLS00.MPG is the vulture landing
FMPVSS00.MPG appears to be a loop of the vultures swirling in the background
FWIZ01XX.MPG is the "Hey, Hey, I haven't talked in a long time, I need a new Battery, a New Battery"
FMPVSS00.MPG is again the loop of the vultures
ZMP0SI00.MPG is a closeup of the sign. This is one of those strange 95:48 AR video stills

Now that I think about it 95:48 might actually be a reverse 320x240 if it were unstretched to 320x200 (oh look at that, the first screen shot is the correct AR.)
1izdk4.png
Plus what should be overlaid:
by7n9.png

(EDIT) Probably what it looks like composited (done with photoshop):
15d3vd5.png

vs RTZ CD-ROM (non-mpeg)
33djfvp.png

If you can't notice the difference, the first image has 25068 colors, while the second has 37, and the RTZ-cdrom has 148.

Which comes back to my question of how does the real hardware know where to overlay the game screen. It's just black in the emulator. But maybe it tells the VGA to change the color palette? I suppose it's possible that it just uses solid-black as the chroma-key, and then uses a not-quite-black as black for things that aren't supposed to be composited.

Also I'll note, that with the MPU-401 enabled, you hear a "bell ringing" sound over the opening credits of the MPEG version that doesn't appear to be present in the non-MPEG version. Like a "phone ringing"

Reply 26 of 29, by Uka

User metadata
Rank Member
Rank
Member

Can anyone with 'Return to Zork' MPEG disk please check the date of its creation?

I an curious because the CD I have is dated 2nd of June 1994 (with the READ.ME dated 25th of May 1994) - while the usual disk version advertises the ReelMagic edition as the one that was going to be available on the 1st of November 1993, together with the launch of ReelMagic cards.

So - either there was an earlier 1993 edition, or the game was not bundled with the cards until 1994?..

Reply 27 of 29, by j^aws

User metadata
Rank Oldbie
Rank
Oldbie
Kisai wrote:

...
Which comes back to my question of how does the real hardware know where to overlay the game screen. It's just black in the emulator. But maybe it tells the VGA to change the color palette? I suppose it's possible that it just uses solid-black as the chroma-key, and then uses a not-quite-black as black for things that aren't supposed to be composited.
...

There are two versions of Reelmagic, one using a Feature connector attached to the VGA card, and the other using a pass through overlay for the VGA card. It's been a while, but IIRC, the pass through version needs to be calibrated to your display or something similar, whilst the Feature connector version just uses this connection to know where the pixels are. The driver should handle the composition.

@Uka:
The game could've been delayed or re-released with patch. I got the game buried somewhere, so would be hard to dig out anytime soon.

Reply 28 of 29, by Uka

User metadata
Rank Member
Rank
Member
j^aws wrote:

There are two versions of Reelmagic, one using a Feature connector attached to the VGA card, and the other using a pass through overlay for the VGA card.

As I have written in another topic (Issues with ReelMagic EM7011 ISA card), 'Return to Zork' requires the earlier cards with Feature connector: the overlay pass-through method provided by EM9000 chip shows wrong colors!

Reply 29 of 29, by j^aws

User metadata
Rank Oldbie
Rank
Oldbie
Uka wrote:
j^aws wrote:

There are two versions of Reelmagic, one using a Feature connector attached to the VGA card, and the other using a pass through overlay for the VGA card.

As I have written in another topic (Issues with ReelMagic EM7011 ISA card), 'Return to Zork' requires the earlier cards with Feature connector: the overlay pass-through method provided by EM9000 chip shows wrong colors!

That's interesting to know. Besides that, the pass-through version has worse image quality, but better compatibility. I think there were issues with the Feature connector not being implemented consistently with manufacturers that caused compatibility issues, although this connection provided a sharper image.