Hi!
I would like to develop with freedos like I developed with MS-DOS (and
VESA/DJGPP/NASM with 1024x768x8bit) in the 90s. Hence the questions:

- is VESA framebuffer even supported by modern GPUs (i.e Intel onboard
   HD graphics) or emulated by freedos? If yes, what framebuffer
   layout/resolution?

- Do you recommend to use GCC (like with RHIDE in DJGPP) or shall I port
   my code to OpenWatcom1/2 (I saw that nasm is supported)?

you can use VESA and VBE LFB (linear frame buffers) in DJGPP.
I have done that. The selector setup takes some thinking, but
you only have to do it once. Or you just use some library.

Modern graphics cards tend to get worse in VGA compatibility
as a trend, but you can expect some popular modes to stick.
Something like classic 320x200, 640x480 or 800x600 at 8 bit
per pixel. Probably also 1024x768, why not.

I personally do not have experience with OpenWatcom graphics.

Here are some GeForce 430 (nVidia 2010, VBE 3.0) VESA modes.
Most modes are 8, 16 or 32 bpp. Of course, LFB are supported.

0100:  640x 400  8x16  8Bit  Typ4    640BpL
0101:  640x 480  8x16  8Bit  Typ4    640BpL
0102:  800x 600  8x16  4Bit  Typ3    100BpL (4 planes)
0103:  800x 600  8x16  8Bit  Typ4    800BpL
0104: 1024x 768  8x16  4Bit  Typ3    128BpL (4 planes)
0105: 1024x 768  8x16  8Bit  Typ4   1024BpL
0106: 1280x1024  8x16  4Bit  Typ3    160BpL (4 planes)
0107: 1280x1024  8x16  8Bit  Typ4   1280BpL

010E:  320x 200  8x 8 16Bit  Typ6    640BpL
010F:  320x 200  8x 8 32Bit  Typ6   1280BpL
0111:  640x 480  8x16 16Bit  Typ6   1280BpL
0112:  640x 480  8x16 32Bit  Typ6   2560BpL
0114:  800x 600  8x16 16Bit  Typ6   1600BpL
0115:  800x 600  8x16 32Bit  Typ6   3200BpL
0117: 1024x 768  8x16 16Bit  Typ6   2048BpL
0118: 1024x 768  8x16 32Bit  Typ6   4096BpL
011A: 1280x1024  8x16 16Bit  Typ6   2560BpL
011B: 1280x1024  8x16 32Bit  Typ6   5120BpL

0130:  320x 200  8x 8  8Bit  Typ4    320BpL
0131:  320x 400  8x16  8Bit  Typ4    320BpL
0132:  320x 400  8x16 16Bit  Typ6    640BpL
0133:  320x 400  8x16 32Bit  Typ6   1280BpL
0134:  320x 240  8x 8  8Bit  Typ4    320BpL
0135:  320x 240  8x 8 16Bit  Typ6    640BpL
0136:  320x 240  8x 8 32Bit  Typ6   1280BpL
013D:  640x 400  8x16 16Bit  Typ6   1280BpL
013E:  640x 400  8x16 32Bit  Typ6   2560BpL
0160: 1280x 800  8x16  8Bit  Typ4   1280BpL
0161: 1280x 800  8x16 32Bit  Typ6   5120BpL

Note that modern cards may have limitations such as
not having 8x14 fonts in BIOS or only supporting byte
per line values which are, say, multiplex of 128 etc.

http://www.petesqbsite.com/sections/tutorials/tuts/vbe3.pdf

Regards, Eric




_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to