Dosbox VBE Version

Developer's Forum, for discussion of bugs, code, and other developmental aspects of DOSBox.

Dosbox VBE Version

Postby thrawn235 » 2019-4-01 @ 17:02

Hello,

I've tried to follow the VESA specification as in this document:
http://www.petesqbsite.com/sections/tut ... s/vbe3.pdf

Specifically i was trying to obtain the protected mode entry point.

I've copied the BIOS Image from C0000h and started Scanning for the signature 'PMID'
couldnt find it though.

That procedure seems to be VBE3.0 only. So I'm wondering. What is the VBE Version that dosbox (or specifically the svga_s3) supports?

Thats the code i've used to copy and check the BIOS image
(its very simple, just prints 1000 chars of the memory block for each key press)

I've used a string search before, but wasn't finding anything so i decided to take a manual look. hence the code snippet.

Code: Select all
void* BIOS = (char*)malloc(32000);
   
   dosmemget(0xC0000, 32000, BIOS);

   char* accessptr;
   accessptr = (char*)BIOS;
   for(int u = 0; u <= 32; u++)
   {
      for(int i = 0; i <= 1000; i++)
      {
         cout<<accessptr[u*1000+i];
      }
      getch();
   }
thrawn235
Newbie
 
Posts: 14
Joined: 2019-3-25 @ 16:42

Re: Dosbox VBE Version

Postby Falcosoft » 2019-4-01 @ 19:41

It's VESA 2.0. In DOS era even VESA 2.0 with its linear frame buffer extension was not so common place so UNIVBE could be used on cards that supported SVGA resolutions in a non standard way or supported only VESA 1.2. VESA 3.0 was supported mainly by 3Dfx and Geforce cards up to Geforce 4 when some functions suddenly started to disappear or became buggy to the point that nowadays Geforce cards are not even VESA 2.0/1.2 compatible. On paper even Geforce 1000/2000 series are still VESA 3.0 compatible (support is reported by the cards) but some functions have been broken since Geforce FX series. AFAIK there are no games at all that used VESA 3.0 but there are many that used VESA 2.0.
User avatar
Falcosoft
Oldbie
 
Posts: 904
Joined: 2016-5-21 @ 13:46
Location: Pécs, Hungary

Re: Dosbox VBE Version

Postby ripsaw8080 » 2019-4-01 @ 21:01

INT 10h/AX=4F0Ah (page 56 in the PDF you linked)

Regarding "entry points", the p-mode code is typically copied into a code descriptor for execution, but you can arrange a descriptor to execute "in place" if you really want to.
User avatar
ripsaw8080
DOSBox Author
 
Posts: 4402
Joined: 2006-4-25 @ 23:24


Return to DOSBox Development

Who is online

Users browsing this forum: Ringding and 3 guests