VOGONS


Lost in time

Topic actions

First post, by lee-meere

User metadata
Rank Newbie
Rank
Newbie

Hi

I was given instructions a while ago on how to run "lost in time" on xp using dosbox which was great. My problem is the 1st set of cut scenes are distorted and the game crashes when it gets to the second set of cut scenes every time in the same place. Task manager says the program is still running but it just seems to hang. The disk is not scratched or smudged. Has anybody else experienced this or does anybody have any suggestions?

Thanks

Lee

Reply 1 of 15, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

I get the distortion when talking to Aruba through the hole behind the poster (the cutscene plays way too fast, without any sync to the audio). Haven't tried any further.

The games list mentions that the cdrom should be mounted with -ioctl, but that doesn't make a difference in my case.

My site: Ramblings on mostly tech stuff.

Reply 3 of 15, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

Lowering cycles won't help. LIT synchs its cutscenes to the Q channel from CD audio playback. DOSBox doesn't seem to support that. The second cutscene, when talking to the time agent, does indeed crash.

My site: Ramblings on mostly tech stuff.

Reply 4 of 15, by collector

User metadata
Rank l33t
Rank
l33t

The game currently can not be finished in DOSBox. The cutscenes take their timing from the CD audio, which, as you have seen, does not work right. there are some scenes that just lock up the game. VDMS works better (if you use SAPUCDEX), but will lock up at least one cutscene, too. It really wants to run in pure DOS.

I experimented with trying to run the game in DOSBox booting to a DOS 6.2 image, but could find no way to mount the CD or an image of the CD at the same time. ScummVM is adding support for the Coktel Vision CD games, but there is no mention of LIT.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 5 of 15, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Would it be possible to implement functionality in DOSBox to support this method the game is trying to use? Is it used in any other games as far as anyone knows?

Reply 6 of 15, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

Hmmm... Seems LIT doesn't use the Audio QSubChannel, but instead uses IOCTL INPUT subfunction 01 - determine the position of the read head. (This uses the QSubChannel internally).

The problem is that this subfunction returns the position of the read head in either HSG or Red Book format. This is at the driver's discretion. The driver can choose either format and sets a flag to indicate which one it has used.

DOSBox chooses Red Book format, and sets the flag correctly. Lost In Time, though, ignores this, and assumes the returned value is an HSG sector number. This causes the jumps.

Changing DOSBox to return an HSG sector number fixes things.

In dos_mscdex.cpp, function MSCDEX_Interrupt_Handler, case value 0x03, sub case value 0x01, there is this code:

mem_writeb(buffer+1,0x01); // Red book
mem_writeb(buffer+2,pos.fr);
mem_writeb(buffer+3,pos.sec);
mem_writeb(buffer+4,pos.min);
mem_writeb(buffer+5,0x00);

LIT works when this is changed to:

mem_writeb(buffer+1,0x00); //HSG
mem_writed(buffer+2,MSF_TO_FRAMES (pos.min, pos.sec, pos.fr));

Audio and video aren't in synch, though.

Reply 7 of 15, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

There is a patch for LIT available from Sierra's FTP site:
ftp://ftp.sierra.com/pub/patches/pc/litcd.exe

This fixes the problem, without the need to recompile DOSBox.

Reply 9 of 15, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

You'd be more compatible with unpatched LIT. I have no idea how many other games are borked in this way. I'd suspect that there wouldn't be too many programs that handle this incorrectly. I guess it's more likely that a bad programmer would ignore a zero byte at the start of the return structure and assume HSG is always returned than that he would ignore a 0x01 byte on his devsystem.

BTW, completely off-topic, but are you going to include the Tandy patches I mentioned on the "Tandy Graphics Mode Artifacts" thread?

My site: Ramblings on mostly tech stuff.

Reply 10 of 15, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

harekiet should include them.
I brought it to his attention.

but if they aren't present in his video update commit I will add them.

Anyway. We just try to mimic the original dos as close as possible. So if some weird game has a programming error that works because it's dos default then it might be an idea to include it.

Water flows down the stream
How to ask questions the smart way!

Reply 11 of 15, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

According to my systems programming manual, it is dependent on the CD-ROM device driver. The actual driver, not MSCDEX, nor DOS itself.

A quick check reveals that the common Oak CD-ROM driver included with Windows 98 uses HSG.

Reply 12 of 15, by Jiri

User metadata
Rank Member
Rank
Member
Kippesoep wrote:

There is a patch for LIT available from Sierra's FTP site:
ftp://ftp.sierra.com/pub/patches/pc/litcd.exe
This fixes the problem, without the need to recompile DOSBox.

Yes, the patch can solve cut scenes problem, but I read some complaints on other forums that it has a negative effect on mouse movement that becomes jerky with it. I tried it with my copy of the game and can confirm that (changing mouse sensitivity did not help).

Reply 14 of 15, by collector

User metadata
Rank l33t
Rank
l33t

That patch causes LIT to lock up at the very start of the game for me. I know several other people that have had the same problem with the patch when using DOSBox.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers