Skip to contentSkip to conversation

please explain to me why video/bios shadowing must be disabled to use graphics...

DISCUSSION Stas Sergeev 2 participants 2 messages Sep 23, 2002

lore
Share & tools
lore
#0 lore raw

Hello.

Quoted 3 lines · Bart Oldeman

Well VGA only uses standard ports so the only problem is to pass the VBIOS initialization in the first place, that is executing the code at c000:0003

Where does it do that? I have found only init_vga_card(), but that doesn't seem to be the place. Also I searched the +g log for c000:0003 and found nothing...

Quoted 2 lines

On some graphics cards
this init routine requires additional open ports and maybe even

Yes, my Radeon is trying, but only if all the extra ports are *disabled*, it works.

Quoted 2 lines

Some people reported black screens, or even machines hanging which happens when the VBIOS init routine is called.

Of course, that was me:) But does the problem still exist after 1.1.3.1?
Anyway, no one of the people that started that thread, had lock-ups on startup, they just have dosemu in a terminal mode (should it display graphics then? :), why do you think it can by any chance be the same problem?

Quoted 2 lines

Maybe by just bypassing the VBIOS init you can avoid this problem; I just have never looked into that possibility.

I tried to comment out the end of the init_vga_card() (which seems to call int10 but for what?) and dosemu started fine and without the card logo. However none of the video modes (including VGA) were available. Have to figure out why yet.

Quoted 2 lines

The VBE 2.0 spec defines a protected mode interface - if DOSEMU would use that it could ask which ports should be used and opened.

If everything could be so easy... I tried this already and my Radeon is completely silent, returning an empty list:( That is why, I think, XFree 3.3.6 or 4.1 are not able to set any VESA modes, but not the 4.2, which can!

#1 lore raw
Quoted 8 lines · Stas Sergeev
Quoted 3 lines · Bart Oldeman

Well VGA only uses standard ports so the only problem is to pass the VBIOS initialization in the first place, that is executing the code at c000:0003

Where does it do that? I have found only
init_vga_card(), but that doesn't seem to be
the place. Also I searched the +g log for
c000:0003 and found nothing...

src/base/bios/bios.S, line 507, F800:4200.

init_vga_card() pushes f800:4200 on the stack as cs:ip, so that is what DOSEMU gets to execute in the next vm86().

Quoted 4 lines
Quoted 2 lines

Some people reported black screens, or even machines hanging which happens when the VBIOS init routine is called.

Of course, that was me:) But does the problem still exist after 1.1.3.1?

Maybe, maybe not?

Quoted 4 lines

Anyway, no one of the people that started that thread, had lock-ups on startup, they just have dosemu in a terminal mode (should it display graphics then? :), why do you think it can by any chance be the same problem?

It wasn't clear to me whether they used terminal mode or not. Probably missed something :(

Quoted 4 lines

If everything could be so easy... I tried this already and my Radeon is completely silent, returning an empty list:( That is why, I think, XFree 3.3.6 or 4.1 are not able to set any VESA modes, but not the 4.2, which can!

using VBE 3.0?

Bart