flat assembler
Message board for the users of flat assembler.

Index > DOS > My text editor for dos - for fasm programming.

Author
Thread Post new topic Reply to topic
iz56



Joined: 17 Jun 2011
Posts: 7
Location: rus
iz56
It is my hobby since 2011.
It is public domain.


See for more info (rus lang) ipnew.narod.ru


Description: rus comments
Download
Filename: emd167.zip
Filesize: 69.41 KB
Downloaded: 196 Time(s)

Post 03 Jul 2014, 20:13
View user's profile Send private message Visit poster's website Reply with quote
freecrac



Joined: 19 Oct 2011
Posts: 117
Location: Germany Hamburg
freecrac
Hello.
I have taken a short look in the source code and i think it is a fine work.

---

In the file "emd167\INC\VESA16.ASM" i found a part with following lines:
Quote:
;vesa_mode = 101h ;640x480x256 8-bit
;vesa_mode = 4114h ;600x800 16-bit
vesa_mode = 4115h ;600x800 32-bit
;vesa_mode = 4101h

But with modern display devices with a VBE 2 and a VBE 3 bios and with booting a poor DOS OS we have to get the VBE modenumbers from the modetable of the VBE bios itself. And we can not be sure if modern cards provide the same resolution of the older modenumbers of the outdated VBE1.x bios, example of 800x600 with 32 bits per pixel. Maybe we have to use another number for to get this resolution.

Note: This problem can only occur, if we boot a pur DOS with a modern display device, but not if we use DOSBox with a DOSBOX modenumber.

Little help for to make it more compatible with modern display devices under a pur DOS:
The first step is to call function 4F00h of the int 10h for to get the VBE SVGA Information in a buffer of 512 bytes. If no error occur, then we can check the byte of the major VBE version number(BUFFER+5). If we found a VBE 2 or 3 bios, then we can get the pointer of the modetable at BUFFER+0E and with the pointer we can get the modenumber in words. The modetable ends with the word of FFFF.

The next step is to call function 4F01h of the int 10h with the modenumber that we have taken from the modetable, for to get the mode specific information of "each?" modenumber in another buffer of 256 bytes. Inside of this second buffer we can found the resolution, how many bits per pixel are used, the length of the scanline (for calculating the address of a screen location) and some more relevant information of the modenumber. On this way we can finally found the modenumber for the resolution that we want to use with calling the function again and again with the next number of the table. (...else terminate with error message if modetable ends.)

More details can be found in the costfree document "vbe3.pdf" in the puplic section of vesa.org (need register/login).

Dirk


Last edited by freecrac on 07 Jul 2014, 07:14; edited 1 time in total
Post 05 Jul 2014, 21:42
View user's profile Send private message Send e-mail Reply with quote
iz56



Joined: 17 Jun 2011
Posts: 7
Location: rus
iz56
Ok. I will try to fix it .
Post 06 Jul 2014, 05:09
View user's profile Send private message Visit poster's website Reply with quote
freecrac



Joined: 19 Oct 2011
Posts: 117
Location: Germany Hamburg
freecrac
Hello.
iz56 wrote:
Ok. I will try to fix it .

Thats nice.

For to show that the problem truly exist, here are some cards with different VBE modenumbers:

Powercolor Radeon 9800 PRO (VBE2 AGPx4 128 MB)
800 x 600 with 24 bpp VBE modenumber 4115
800 x 600 with 32 bpp VBE modenumber 4122

Sapphire Radeon 7950 (VBE3 PCIe_x16 3GB DDR5)
800x600 with 32 bpp VBE modenumber 4122

Dirk
Post 07 Jul 2014, 07:11
View user's profile Send private message Send e-mail Reply with quote
iz56



Joined: 17 Jun 2011
Posts: 7
Location: rus
iz56
Hello.

It is fixed version. I check bits-per-pixel parameter now. Used 2 numbers of modes only . Thanks .


Add:I import source code from my computer to my github account.(see github.com/iz56) Very Happy


Description: EMD ver1.67a
Download
Filename: EMD167a.zip
Filesize: 62.53 KB
Downloaded: 198 Time(s)

Post 08 Jul 2014, 19:36
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2019, Tomasz Grysztar.

Powered by rwasa.