* captain comic
@ 2003-02-01 21:07 Jan Willem Stumpel
2003-02-03 6:32 ` Bart Oldeman
0 siblings, 1 reply; 4+ messages in thread
From: Jan Willem Stumpel @ 2003-02-01 21:07 UTC (permalink / raw)
To: linux-msdos
The 1980's EGA game Captain Comic (which can still be downloaded
from many sites on the Web) works 100 % OK on the console as far
as I can see.
In X the game is playable, but several image elements are not
displayed, i.e. the start-up screen (a text in green letters which
should be shown while the start-up music plays), and the frame
around the "points counter" on the right. What could be the reason
of this?
Regards, Jan
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: captain comic
2003-02-01 21:07 captain comic Jan Willem Stumpel
@ 2003-02-03 6:32 ` Bart Oldeman
0 siblings, 0 replies; 4+ messages in thread
From: Bart Oldeman @ 2003-02-03 6:32 UTC (permalink / raw)
To: Jan Willem Stumpel; +Cc: linux-msdos
On Sat, 1 Feb 2003, Jan Willem Stumpel wrote:
> The 1980's EGA game Captain Comic (which can still be downloaded
> from many sites on the Web) works 100 % OK on the console as far
> as I can see.
>
> In X the game is playable, but several image elements are not
> displayed, i.e. the start-up screen (a text in green letters which
> should be shown while the start-up music plays), and the frame
> around the "points counter" on the right. What could be the reason
> of this?
the reason is that the VGA emulator isn't perfect, whereas on the console
VGA isn't emulated at all.
Especially the missing line-compare register emulation (somewhat hard to
fix) causes some problems with vertically scrolling games that have a
static status bar somewhere (Jazz JackRabbit, Pinball Dreams 2). Your bug
doesn't seem to be in that category though. EGA can be a little
problematic because DOSEMU even needs to use CPU emulation to use the
planar EGA modes.
There's a compile-time constant
#define COUNT 150
in src/env/video/instremu.c
you could set that to some lower value (10 or maybe even 1). It may or may
not help.
Bart
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: captain comic
@ 2003-02-03 19:22 Jan Willem Stumpel
2003-02-03 19:44 ` Bart Oldeman
0 siblings, 1 reply; 4+ messages in thread
From: Jan Willem Stumpel @ 2003-02-03 19:22 UTC (permalink / raw)
To: linux-msdos
Bart Oldeman wrote:
> EGA can be a little problematic because DOSEMU even needs to
> use CPU emulation to use the planar EGA modes.
> There's a compile-time constant #define COUNT 150 in
> src/env/video/instremu.c you could set that to some lower value
> (10 or maybe even 1). It may or may not help.
It did not ..
I went at it with the INTRSPY program from Schulman's Undocumented
DOS, to see what comic.exe tries to achieve. The only difference I
found was when comic.exe calls int 10 function 12h, which happens
once:
(on X)
12h: video subsys conf, AX=1200 BX=0010
12h: result: AX=1200 BX=0003
(on console)
12h: video subsys conf, AX=1200 BX=0010
12h: result: AX=1203 BX=0003
If I understand you correctly the "console" result comes from the
real video card, while the "X" result comes from dosemu's VGA
emulator. But the return value of AX should not make any
difference, or should it? Can you suggest any other diagnostics?
Regards, Jan
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: captain comic
2003-02-03 19:22 Jan Willem Stumpel
@ 2003-02-03 19:44 ` Bart Oldeman
0 siblings, 0 replies; 4+ messages in thread
From: Bart Oldeman @ 2003-02-03 19:44 UTC (permalink / raw)
To: Jan Willem Stumpel; +Cc: linux-msdos
On Mon, 3 Feb 2003, Jan Willem Stumpel wrote:
> I went at it with the INTRSPY program from Schulman's Undocumented
> DOS, to see what comic.exe tries to achieve. The only difference I
> found was when comic.exe calls int 10 function 12h, which happens
> once:
>
> (on X)
> 12h: video subsys conf, AX=1200 BX=0010
> 12h: result: AX=1200 BX=0003
>
> (on console)
> 12h: video subsys conf, AX=1200 BX=0010
> 12h: result: AX=1203 BX=0003
>
> If I understand you correctly the "console" result comes from the
> real video card, while the "X" result comes from dosemu's VGA
> emulator.
on the console it's the real video card combined with the real BIOS.
in X you get DOSEMU's BIOS combined with DOSEMU's VGA emulator.
> But the return value of AX should not make any
> difference, or should it?
well Ralf Brown's interrupt list tells me nothing about AL being used as a
return value so I really don't know what to return in AL... This video
card's BIOS *seems* to use the same value as BL but that might just be a
coincidence.
> Can you suggest any other diagnostics?
it can be quite hard to fix these bugs...
Bart
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-02-03 19:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-01 21:07 captain comic Jan Willem Stumpel
2003-02-03 6:32 ` Bart Oldeman
-- strict thread matches above, loose matches on Subject: below --
2003-02-03 19:22 Jan Willem Stumpel
2003-02-03 19:44 ` Bart Oldeman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox