Thank you very much Uka for the test results as these logs are incredible helpful!
Well, the good news is I think I know why the games are acting all screwed up... (well, not the video issues seen in "Entity", but the game itself getting all screwed up)
The bad news is that this is not likely going an easy problem to fix 🙁
Uka wrote on 2022-03-08, 07:16:
OK, here is my first system: the original ReelMagic Lite (with feature connector) and drivers version 2.21 (not 2.01 - I forgot I have already upgraded that).
Looks like the probed driver version reflects this. That's a good sign.
Uka wrote on 2022-03-08, 11:25:
And here is the test of Maxima!
The official version of drivers is 2.30, but when loaded in DOS it still says it is 2.21. Maybe they did not bother to change the number?
Or maybe there is no real difference - the results are very similar to those of ReelMagic Lite.
The probe shows the same thing on our setup too: Installed version is Maxima 2.30, but reported version is 2.21.
Indeed! Sigma did encourage people to update drivers to a later version.
In fact, at least "Man Enough" says it requires "version 2.0 drivers or later"!
It sounds like I need to update the emulator to report the 2.21 value to ReelMagic applications. Having a value from a real world know working setup is incredibly helpful as it makes the emulator more realistic 😀
So all those problems with the games I mentioned above could well be due to incompatible drivers...
It is most certainly due to incompatible drivers. Not so much the reported version number, but rather me just screwing up compatibility in the emulator. 😀
Tests 01-04 - everything is fine!
Tests 05-06 - the video plays fine, but then the system freezes on its last frame. No LOG file […]
Show full quote
Tests 01-04 - everything is fine!
Tests 05-06 - the video plays fine, but then the system freezes on its last frame. No LOG files (they are 0 bytes).
Tests 07-09 - the video does not play! The system freezes with a message that the driver is already installed. There are LOG files though.
Test 10 - everything is fine, except that the video pauses for a second in the middle.
Test 11 - the sound plays fine, but only a small part of the video is seen, and after playing the system freezes with a message that the driver is already installed.
Thank you for the details! Question on tests 01-04 on the ReelMagic Lite: Was there any DOS text overlayed on top of the video on any of those tests?
Can I help you with anything here? What messages do you get? Have you calibrated the video?
Yeah help here would be great! We had to install Windows 3.11 in order just to install the DOS drivers. We are able to run the calibration tool in DOS and move the black rectangle over the pink one. However, the calibration does not run in Windows. (attached photos below) Video does not play in DOS using the same probe tests (01-04) nor in TESTFMP.EXE using "C:\SIGLOGO.MPG" instead of of CD-ROM. The card does seem to respond properly at port address 260h, however I have not yet confirmed if DMA is actually working as this might be the source of our problems. The screen does go black so that tells me that the ReelMagic card is physically installed correctly and able to intercept the VGA signal. We haven't fired up a game yet as we are currently sourcing blank CD-R discs. Also not sure if an IDE CD-ROM is OK for this or if a SCSI CD-ROM drive is needed. Some questions come to mind:
- Are we supposed to install in Windows then use in DOS? Or is there an actual DOS installer for the Maxima?
- Is there some step on the Windows install that we are missing or need to do before things work? (we installed just taking all the default parameters/values)
- Are there compatibility issues with the storage bus/hardware? (for example, the HD (CF disk) and CD-ROM drive we installed are IDE; Does ReelMagic require something like SCSI?)
I do not think so - you can copy any video file to a hard drive, and it would play just fine.
Well that's a bummer. I was hoping it was gonna be something easy like that. 🙁
Unfortunately I gotta do my real day job now 🙁 but I will analyze the logs in more detail later, and brainstorm on the next steps. Just quick looking at the failing tests, crashes, and logs, it would appear that my understanding of calling convention for the driver -> user callback ("CALLRM B 0 0 CBFUNC") is completely wrong. To be honest, I'm surprised the emulator works as well as it does! This would certainly explain the compatibility issues with the games mentioned above as well as the crashes/lockups with the probe. I will revisit my FMPDRV.EXE and Return to Zork projects in Ghidra to see what I am missing. I will also probably end up spending a good few hours with the DOSBox debugger again as this usually yields good information as to what is actually going on. The downside to this approach is that if the emulator is doing something wrong early on, it may be changing the game's behavior with the driver later on and I'm not see what really is supposed to happen. I may need to make some tweaks to the probe so that I can stabilize it and get more information on that callback function... I will probably have to write a couple different probe callback routines in assembly language. I am also thinking of writing a TSR tool which records all the exchanges between a game and the ReelMagic driver. This may be trickier than it sounds though because I would need to be careful not to consume too much precious conventional memory as well as not introduce any unreasonable delays in the ReelMagic calls by writing data to file in-between driver exchanges.
Again thank you very much Uka for running these tests as this data is incredibly helpful!