VOGONS


DOSBox ReelMagic Fork

Topic actions

Reply 140 of 155, by Uka

User metadata
Rank Member
Rank
Member
Dominus wrote on 2022-03-03, 09:23:

@uka: Windows 3.11 should work fine in DOSBox 0.73. Only problem (that persists in SVN as well) is that share is not working. If a game needs, you can fake it though with fakeshare (in my Wibdows 3.1x guide).

Well, I have tried installing Windows 3.11 in the current version of DOSBox ReelMagic Fork. It did not work for some reason - the setup freezes at 1% (copying WIN386.EXE).
I tried running the already installed Windows 3.11 as well - but the MPEG videos are not being played anyway and the ReelMagic drivers do not want to install (saying that no MPEG board is present).
Not that I expected it to work 😀 But just a try.

Reply 141 of 155, by Uka

User metadata
Rank Member
Rank
Member

Good news: thanks to Hammer, the 11th REALmagic game has been recovered - "Conspiracy" (better known as "KGB" by its 1992 floppy version) by Cryo Interactive! I have uploaded it to Archive.org.

Bad news: it does not work in DOSBox ReelMagic Fork for now.
This release, in difference from "Entity", is quite official - but it still appears somewhat strange and not quite polished for me. The authors had even left some sources files on disk, alongside with their bug notes addressed to Sigma Designs and other insiders' texts.
But it does work (well, mostly) on the real hardware (I have tried both ReelMagic Lite and Maxima) - and I hope it would not be difficult to make it work in DOSBox ReelMagic Fork as well!

So, here are the problems I see:

1) The MPEG version somehow does not want to work in DOSBox ReelMagic Fork. The game plays as a regular non-MPEG CD version there, with bad videos. I think it is something similar to "Entity" as the game uses its own FMPLOAD.COM on the CD to launch the driver FMPLOAD.EXE - maybe it conflicts with the DOSBox built-in driver? jrdennisoss, I hope you will have time to take a look, please 😀 I attach the LOG. Again, everything is fine with the real cards on old PCs - the non-interlaced videos are great!

2) The second problem is worse as it happens on the real hardware as well: there are no music or sound in the game itself (only in the MPEG videos)! It seems like an original bug to me as the in-game options do not allow to turn sound or music OFF - they are constantly ON there (and still silent).
On the other hand, the subtitles for videos are displayed regardless of their options being set to ON or OFF (and with the regular CD version, if I remember it correctly, the situation is exactly opposite - there are no subtitles in 'Help' videos even if the option is set to ON).
Also, the install allows to change the game language to French, German or Spanish - but it does not seem to work either, i.e. the game is always in English. Probably not a bug - they could have chosen not to include other translations from the regular CD-version for some reason. But it would be nice if music could be turned on in the MPEG version! I do not actually remember any sound effects in this game besides the videos.

Attachments

Reply 142 of 155, by Galatea2.2

User metadata
Rank Newbie
Rank
Newbie

Nicely done on tracking the bugs. Do we know anything more about realmagic Conspiracy's release? Was it released on only one continent? Did it have an official box? Did it ever make it on store shelves etc.

Reply 143 of 155, by Uka

User metadata
Rank Member
Rank
Member
Galatea2.2 wrote on 2022-05-15, 16:28:

Do we know anything more about realmagic Conspiracy's release? Was it released on only one continent? Did it have an official box? Did it ever make it on store shelves etc.

Well, that's a question for Hammer, but I think that - yes, "Conspiracy" (in difference from "Entity") was released officially, at least in the USA.
I only have a small picture of the box cover from the demo disk.

Attachments

Reply 145 of 155, by jrdennisoss

User metadata
Rank Newbie
Rank
Newbie
RaVeN-05 wrote on 2022-05-08, 12:38:
Hi, maybe stupid request ? Can you make dosbox option on scale videos (mpeg) using bilinear filtering like OpenGL do it, and may […]
Show full quote

Hi, maybe stupid request ?
Can you make dosbox option on scale videos (mpeg) using bilinear filtering like OpenGL do it, and maybe a 2d games too on top of reelmagic videos.
I mean when i play mpeg directly from cd it looks better and from dosbox its looks like neighborhood (nearest ) pixelated scaling, and it seems mpeg that played from reelmagic and 2d games has a same upscaled resolution and it like 2 layers on one game mpeg + 2d dos game.

I am sorry i very struggle to explain it.

No not a stupid request... I understand what you are getting at, especially as the scaling implementation in the current version of the emulator is abysmal 😀

I haven't had too much time lately, but I have been starting to look at properly implementing the video output stuff and playing around with DOSBox trunk, SDL, and OpenGL stuff. In the spirit of what the ReelMagic product attempted to accomplish (e.g. high quality multimedia experience), the first go at the ReelMagic DOSBox emulator on trunk that I am currently working on will likely only support the OpenGL DOSBox render mode because implementing things like scaling, color pallet conversion/matching, and combing multiple video surfaces are better left to something like an OpenGL shader. This way the emulator will have good quality video output regardless of the mismatching VGA and MPEG picture sizes.

Uka wrote on 2022-05-14, 07:06:

Good news: thanks to Hammer, the 11th REALmagic game has been recovered - "Conspiracy" (better known as "KGB" by its 1992 floppy version) by Cryo Interactive! I have uploaded it to Archive.org.

Oh wow this is awesome news! 😀

Thank you Uka for giving this a test... I'll take a look at the issues you brought up when I have some breathing room. Unfortunately, my current work situation is still pretty intense and will likely remain that way until the first week of June for best case, or mid-June for worst case. After that, I should have more time to look at this stuff.

Also, something else I have been looking into is creating a graphical MPEG-1 analyzer tool geared specifically for dissecting these ReelMagic video asset files. This should help visualize the problem I am having with these "magical MPEG" files and hopefully help get a real solution to this as opposed to the workaround I am currently doing in the emulator to just make things work. If I can't figure this out, hopefully a tool like this could help get more eyes on the problem. This is specifically required to get Space Ace working and not break everything else.

Reply 147 of 155, by jrdennisoss

User metadata
Rank Newbie
Rank
Newbie

Just a quick status update on this as I have been silent for a while....

My work situation has died down and I am finally in the wake of the burnout from that... I am already starting to feel much more motivated again to hack at a fun project like this. 😀

I have also been slowly hacking at a related project called "Voxam" (https://github.com/jrdennisoss/voxam) which is a visual MPEG-1 file analyzer targeted for inspecting ReelMagic game asset files. Nothing really exists that I could find which allows someone to analyze an MPEG-1 file to this detail (especially non-standard/proprietary MPEG-1 files) so I ended up writing my own. This tool to has enabled discovery of a new algorithm ("delta/delta" technical details documented here: https://github.com/jrdennisoss/dosboxrm/blob/ … n/NOTES_MPEG.md) that can perform a true per-picture correction with no dependencies on any other pictures in the stream. It is not perfect as the exact usage of the "magic key" is still unknown, however now only two very small lookup tables need to be hardcoded into the emulator as opposed to it needing to seek through an MPEG file in order to correct it so that the game can play it. I have not yet actually tested this algorithm in the analyzer or emulator, but see no reason this will not work.

The good news is that this means that now I can make the emulator behave exactly as the original hardware does instead of taking awful shortcuts which cause certain games (e.g. Space Ace and now Conspiracy) to malfunction. So finally some light at the end of this tunnel! 😀

In parallel I am also working on getting this ported to DOSBox trunk with a proper video overlay/mixing solution. This has turned out to be a bit trickier than I had originally thought, but also since I have been so distracted with my day job I have not had too much time to give this some good thought.

Uka wrote on 2022-05-14, 07:06:

I think it is something similar to "Entity" as the game uses its own FMPLOAD.COM on the CD to launch the driver FMPLOAD.EXE - maybe it conflicts with the DOSBox built-in driver?

As always, thank you Uka for posting the debug logs as these are super helpful! 😀 On the surface, it would sure seem like this is similar to driver load the issues with Entity, however, this problem is completely different.

We can see that the game's provided "FMPLOAD.COM" file is properly respecting the ReelMagic driver load procedure and using the emulator's ("Z:\FMPDRV.EXE") driver shim provided by the emulated "FMPDRV.SYS" file:

 604590526: EXEC:Execute FMPLOAD.COM 0
604590526: FILES:file open command 0 file FMPLOAD.COM
604590547: REELMAGIC:RMDEV.SYS ax = 0x9800 bx = 0x0000 cx = 0x0000 dx = 0x0188
604590555: REELMAGIC:RMDEV.SYS ax = 0x9803 bx = 0x0244 cx = 0x0000 dx = 0x0188
604590576: EXEC:Execute Z:\FMPDRV.EXE 0
604590576: FILES:file open command 0 file Z:\FMPDRV.EXE
604590585: REELMAGIC:Successfully installed FMPDRV.EXE at INT 80h

... but slightly further down, things start to fail:

 605064553: REELMAGIC:RMDEV.SYS Caught a likely unhandled ReelMagic destined INT 2F!! ax = 0x9800 bx = 0x001E cx = 0x0000 dx = 0x0002
605064553: DOSMISC:DOS:Multiplex Unhandled call 9800
605064572: FILES:file open command 0 file îÖ

605064572: FILES:Makename encountered an illegal char î hex:EE in îÖ
!
605064572: FILES:Makename encountered an illegal char î hex:EE in îÖ
!
605064572: FILES:Makename encountered an illegal char î hex:EE in îÖ
!
605064572: REELMAGIC:DOS File: Open for read failed: DOS:îÖ

605064572: REELMAGIC:Zeroing out INT return registers due to exception in driver_call(01h,00h,2h,2B08h,1A2h)

Again, it looks very similar to what Entity was doing, however, this is a much "cleaner" failure as there are no signs of memory corruption like there was with Entity as the game engine keeps running and trying (and failing) to allocate a video decoder. The biggest hint of what the root cause of the problem is this specific message "driver_call(01h,00h,2h,2B08h,1A2h)" which in turn is responsible for causing the above FILES failures. The 1st ("01h") and 3rd ("02h") parameters tell us that the game is calling down to allocate a DMA streaming resource. However, as I have previously mentioned, DMA streaming is not (yet 😉 ) implemented in the emulator and am surprised that some games (e.g. Return to Zork) making this call work at all! In the emulator's current state, it assumes the 4th and 5th ("2B08h,1A2h") parameters are the location in memory of a filepath, and this seems to work for a lot of games. However, these values are truely arbitrary (tested/confirmed on the Maxima) and it is up to the game to decide what what values it puts there. The ReelMagic driver's responsibility is to provide these exact values back to the game engine right before the board's DMA engine is started.

I now should be able to actually implement support for DMA streaming emulation. The "magical MPEG" "delta/delta" algorithm mentioned above that was just discovered should (in theory 😉 ) enable DMA streaming to work perfectly in the emulator.

Reply 150 of 155, by Marty2dos

User metadata
Rank Newbie
Rank
Newbie

To KGB aka Conspiracy.

i tried out and you can force some settings through the consp.bat. The install Programm on cd INSTRM doenst save the settings.
I tried many options and always got the same config although the message came that the options were saved. Loaded 'csp.cfg' in the HexEditor was always "01 00 00 00 02 00".


@echo off
REM *** RealMagic CONSPIRACY-CD launcher V3.6 ***
REM load the driver
E:
LH FMPLOAD
CSPPRGR GER VGA ADL SDP HIM WRIC:\CONSPCD\

REM unload the driver
FMPLOAD /U
C:

I looked in the asm files and you can find a list with arguments. It runs in my Language with Music. I haven't figured out why the game doesn't bring sound effects with "SDP or SBP". The option can also be SBP:220 or SBP220 and dosbox may be set incorrectly.


Params db 'ENG',0,ENGLISH,0
dw Lang,0
db 'AMR',0,USA,0 // American English
dw Lang,0
db 'FRA',0,FRENCH,0
dw Lang,0
db 'GER',0,DEUTSCH,0
dw Lang,0
db 'SPA',0,SPANISH,0
dw Lang,0

db 'VGA',0FFh,0,0 // VGA 256
dw Options,0
db 'MON',NOT O_MONO,O_MONO,0 // Monochrome VGA
dw Options,0
db 'NOM',NOT O_MOUSE,0,0 // No Mouse
dw Options,0
db 'JOY',NOT O_JOY,O_JOY,0 //Joystick
dw Options,0
db '386',0FFh,0,0 // 80386 or Better
dw Options,0

db 'ADL',0F0h,C_ADL,0 // Adlib Music Card
dw SoundCard,PortMusicCard
db 'ADP',0F0h,C_ADP,0 // Soundblaster (=Adlib Music)
dw SoundCard,PortMusicCard
db 'ADG',0F0h,C_ADG,0 // Adlib Gold
dw SoundCard,PortMusicCard
db 'MID',0F0h,C_MID,0 //Midi Card
dw SoundCard,PortMusicCard
db 'SDB',00Fh,C_SDB,0 // Sound Blaster
dw SoundCard,PortSndCard
db 'SBP',00Fh,C_SBP,0 // Soundblaster Pro
dw SoundCard,PortSndCard
db 'TDY',00Fh,C_TDY,0 // Tandy ?Sensation?
dw SoundCard,PortSndCard


db 'EMS',NOT E_EMS,E_EMS,0 // Expand memory
dw ExtMem,0
db 'HIM',NOT E_HIM,E_HIM,0 // Extra Mem with HIMEM
dw ExtMem,0

comment $
db 'XMS',NOT E_XMS,E_XMS,0 //
dw ExtMem,0
db 'EM4',NOT E_EMS64,E_EMS64,0
dw ExtMem,0
$

IF VERSIONCD

db 'SAF',7Fh,0,0 ??
dw IntroFlags,0

db 'WRI',0FFh,0,1 // WRI[Letter:\Directory\]
dw Options,SaveDir

Attachments

Reply 151 of 155, by jrdennisoss

User metadata
Rank Newbie
Rank
Newbie

Just an update as I have been silent for a while: Unfortunately my work situation has ramped up again as well multiple critical things (when it rains it storms 🙁 ) that have come up in my personal life that I have to deal with. Hopefully in a couple months or so things will have died back down to the point where I can continue working on this with the luxury of having the same focus I had earlier this year.

Reply 152 of 155, by Bobbytoz

User metadata
Rank Newbie
Rank
Newbie
jrdennisoss wrote on 2022-07-10, 21:59:

Just an update as I have been silent for a while: Unfortunately my work situation has ramped up again as well multiple critical things (when it rains it storms 🙁 ) that have come up in my personal life that I have to deal with. Hopefully in a couple months or so things will have died back down to the point where I can continue working on this with the luxury of having the same focus I had earlier this year.

Cheer up! We believe in you. You can handle it...

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Games used to be better!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Reply 153 of 155, by Bobbytoz

User metadata
Rank Newbie
Rank
Newbie

Dear friend (jrdennisoss), are you all right? You're out of sight. Let me know about you...

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Games used to be better!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Reply 154 of 155, by jrdennisoss

User metadata
Rank Newbie
Rank
Newbie
Bobbytoz wrote on 2022-09-24, 14:48:

Dear friend (jrdennisoss), are you all right? You're out of sight. Let me know about you...

Sorry for the long radio silence Bobbytoz. (I guess I didn't get an email notification when you originally posted that) A LOT has been going on in my life since earlier this summer and I haven't really had much time for working on hobby projects like this. Hopefully someday soon I will have some time to get back to this project... There are still some things to be learned about emulating the original hardware as well as plenty of bugs in the emulator I would like to knock out 😄

For some good news, it looks like someone named 'kcgen' on GitHub has made some excellent progress working on getting this up to snuff to get into DOSBox staging: https://github.com/dosbox-staging/dosbox-staging/pull/2077