VOGONS


First post, by wolf

User metadata
Rank Member
Rank
Member

Running DOSBox 0.73
When I execute the game, I can hear it running, music/voices, but all I see is DOSBox text still frozen and flickering on screen while the game is actually running. No other game does this.

I tried different "machine" types, I tried different "outputs", nothing worked, all looked the same and did nothing. 😢

Reply 1 of 13, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The game is either mis-detecting the S3 chipset, or not using it in a way that is compatible with DOSBox. However, machine=svga_et4000 or machine=svga_paradise works OK. If using machine=svga_s3, the game works if you force the use of VESA by adding a command-line parameter of "vesa".

The issue is very alike to Wooden Ships and Iron Men Won't start
Wouldn't surprise me if both games share a common SVGA graphics library.

Reply 2 of 13, by wolf

User metadata
Rank Member
Rank
Member

I tried all the machines, nothing, same thing... the screan just flickers the text from DOSBox but the game is running, hearing everything, but can't see anything. I also tried forcing vesa from the post you linked, not sure if I did it right. Never done it before. The game's exe = scream.bat

So how would I type it to force vesa, they typed " wsim /v"

/v is force vesa?

Reply 3 of 13, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

You do realize you have to change the machine type in the conf file and restart DOSBox? just typing "machine=svga_et4000" at the prompt doesn't actually switch to the other machine type.

If I didn't spell it out clearly enough, type "scream vesa" to run with forced VESA.

Reply 4 of 13, by lightmaster

User metadata
Rank Oldbie
Rank
Oldbie

original game? hehe.

Reply 5 of 13, by wolf

User metadata
Rank Member
Rank
Member

Fixed!! Forcing VESA worked and I can see! Thanks Ripsaw8080!

Lightmaster, yes, original game. I heard there were install bugs, but I guess I had no problems installing the game.

Reply 6 of 13, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The game works without forcing VESA in 0.72 (which does have S3 emulation). This CRTC detection code is used:

   mov   dx,03d4h
mov ax,4838h
out dx,ax ; write 0x48 to index 0x38 (Reg lock 1)
mov ax,0a539h
out dx,ax ; write 0xa5 to index 0x39 (Reg lock 2)
mov al,47h
out dx,ax ; write 0xa5 to index 0x47 (HGC orgX)
inc dx
in al,dx ; read index 0x47
mov ah,al
mov al,0ffh
out dx,al ; write 0xff to index 0x47
in al,dx ; read index 0x47

In the last port read, DOSBox 0.72 always reads 0, but 0.73 reads back the 0xff that was written. The game also misbehaves in 0.72 if index 0x47 returns what is written to it. This is not to say the current register behavior is wrong, only that it appears to be a hinge point for the issue.

Reply 7 of 13, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Does it work if you mask off bits 11-15?

1+1=10

Reply 8 of 13, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

err 3-7

1+1=10

Reply 9 of 13, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It works when any value other than 0xff is read back after being written, so masking any bits at all; but just to be sure I changed it as you specified, and the game works without forcing VESA:

   case 0x47:  /*  HGC orgX */
- return vga.s3.hgc.originx&0xff;
+ return vga.s3.hgc.originx&0x07;

The other game (WSIM) works as well with any bits masked on 0x47.

Reply 10 of 13, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Unfortunately that is not how real hardware behaves. Might be used to ID some older S3 chips.

1+1=10

Reply 11 of 13, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I see a special video mode has been added in the svn for this

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

Reply 12 of 13, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Yes, the discussion was through PMs.

ripsaw8080 wrote:

So in 0.72 the games *failed* to detect S3 and fell through to using VESA; however in 0.73 the S3 was detected because of improved emulation accuracy of the regs, but then there was no support for mode 0x69. I see you called it a regression in the change log, and I guess it is in a sense; but the truth of the issue is a bit more twisted. Happy

1+1=10

Reply 13 of 13, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Thanks for clearing that up.

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