FreeBasic DOS and VESA graphics

DOS specific questions.
MystikShadows
Posts: 612
Joined: Jun 15, 2005 13:22
Location: Upstate NY
Contact:

FreeBasic DOS and VESA graphics

Post by MystikShadows »

This is also a question about FB DOS graphics in general :-). Just want to know where things are at as far as that's concerned. is there anything done, or being done etc etc....

Where can I see the existing code for graphics in DOS and so on and so forth :-). Is there anything in the unstable 0.14b recent compilation?
DrV
Site Admin
Posts: 2116
Joined: May 27, 2005 18:39
Location: Midwestern USA
Contact:

Post by DrV »

Well, there is no complete VESA interface completed yet in the DOS gfxlib driver, because I'm trying to get the standard VGA (320x200x8) and Mode X (320x240x8) drivers to work (and all of the shared code, like the keyboard and mouse handlers). Once that's done (it's almost ready now), I'll do a release; then I'll start on VESA support. Thanks for asking. (Never fear, the DOS gfxlib driver will be here...) :)

You could try grabbing the code that's in the CVS now, but I would be very careful because it does not lock all the data and code accessed in interrupt handlers, so if they get paged out a page fault will occur and crash/lock the system... as long as you have enough free physical memory (or a DPMI host with paging turned off), you'll be okay, but 'caveat emptor', as they say...
MystikShadows
Posts: 612
Joined: Jun 15, 2005 13:22
Location: Upstate NY
Contact:

Post by MystikShadows »

Kewl. for now I'll just wait for that to be done for my VESA needs :-).....
DrV
Site Admin
Posts: 2116
Joined: May 27, 2005 18:39
Location: Midwestern USA
Contact:

Post by DrV »

Good, I actually have someone that will use it... gives me a reason to write it. :) (BTW, I've been afk for the last couple of days preparing for college, taking placement tests, etc... so there's been no activity on the code.) But anyway, expect a release (not with VESA, though) within the next few days if all goes well. I need to test on some more (slower) hardware, too; if it works on my 486, it'll work anywhere... :P The first release with VESA will probably only work on systems that have VESA VBE 2.0+ with a linear framebuffer, though banked support will be added later.
MystikShadows
Posts: 612
Joined: Jun 15, 2005 13:22
Location: Upstate NY
Contact:

Post by MystikShadows »

Yup I will use it.....graphics modes and extended text modes too (like 132x60 text characters :-)....so you got a beta tester and a fan, in me! ;-)
etko
Posts: 113
Joined: May 27, 2005 7:55
Location: Slovakia
Contact:

Post by etko »

Extended text modes would be cool! :)
Frobozz
Posts: 33
Joined: Jun 12, 2005 20:32

Post by Frobozz »

Yeah - get this done and you can start making GUIs with FreeBASIC that have access to all the memory in DOS. :)
MystikShadows
Posts: 612
Joined: Jun 15, 2005 13:22
Location: Upstate NY
Contact:

Post by MystikShadows »

yup exactly :-)......I might have an idea but it wouldn't be too functional in 650x480...at least 800x600 but ultimately, 1024x768 would be perfect :-)
DOS386
Posts: 798
Joined: Jul 02, 2005 20:55

VESA graphics

Post by DOS386 »

Will FBC support hi-res & hi- & true-color graf-modes ??

Modes 800x600, 1024x768, 1280x1024 with 8, 16 24 and 32 bits
(as long as supported by graf-card of course) ???

I found out that this is a big problem in many prog-languages,
many of them do not support more than 8 bits :-(
DOS386
Posts: 798
Joined: Jul 02, 2005 20:55

GUI

Post by DOS386 »

"Yeah - get this done and you can start making GUIs with FreeBASIC that have access to all the memory in DOS. :)"

YES - that is what I also intend. Nice DOS software, not incredibly long
commandlines...
yetifoot
Posts: 1710
Joined: Sep 11, 2005 7:08
Location: England
Contact:

Post by yetifoot »

im also interested in using VESA in dos, have some working code in c that works with DJGPP, have been trying to port it.

one problem i get though (not VESA) is when i poll the mouse under XP it crashes out immediatly.
etko
Posts: 113
Joined: May 27, 2005 7:55
Location: Slovakia
Contact:

Post by etko »

I once found article where it was said that in plain RMODE/PMODE on x86 machines after startup (this means plain DOS too) all AGP cards are set to standard PCI mode which max transfer rate is 32 MB/s. However through some register hacking it is possible to check which AGP mode VGA supports and turn it on. After turning AGP on, transfer rate for VRAM writes will increase respectively. This could be interesting for hires modes, as 33 MB/s might be limiting for GUIs in very high resolutions like 1280x1024@32Bit. Obviously this register magic will work only in plain DOS as all new OSes block access to these registers. Info required to implement this might be perhaps found in linux community. What do you think? Is this worth the effort and implemetation?
DOS386
Posts: 798
Joined: Jul 02, 2005 20:55

GUI & DOS

Post by DOS386 »

one problem i get though (not VESA) is when i poll the mouse under XP it crashes out immediatly.
??? I would suggest to use EITHER DOS OR XP
Well, what are you going to do if the next "great" product of M$
(XP 64, Vista) has no "DOS" box at all ???
I once found article where it was said that in plain RMODE/PMODE on x86
machines after startup (this means plain DOS too) all AGP cards are set to
standard PCI mode which max transfer rate is 32 MB/s. However through
some register hacking it is possible to check which AGP mode VGA
supports and turn it on. After turning AGP on, transfer rate for VRAM
writes will increase respectively. This could be interesting for hires modes,
as 33 MB/s might be limiting for GUIs in very high resolutions like
1280x1024@32Bit.
Is this the same as so called "MTRR" ?
Obviously this register magic will work only in plain DOS as all new OSes
block access to these registers.
No problem :D

What do you think? Is this worth the effort and implemetation?
Maybe ... when the graphics works well without this and it is really needed
... as far as I know this is a problem for video playing.
yetifoot
Posts: 1710
Joined: Sep 11, 2005 7:08
Location: England
Contact:

Post by yetifoot »

i see what your getting at, my programs are intended for dos, but im developing in xp, so i like to test the programs without rebooting to DOS, i use dosbox but that gives me a pitifull 3fps...
mjs
Site Admin
Posts: 842
Joined: Jun 16, 2005 19:50
Location: Germany

Post by mjs »

Use QEMU and install a DOS (FreeDOS or DR-DOS 7.03) on this virtual machine. The execution speed of QEMU is much higher than the speed of bochs.

Regards,
Mark
Post Reply