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