flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Vesa Graphics Goto page 1, 2, 3 Next |
Author |
|
vid 24 Dec 2007, 10:56
what exactly is your question?
Unless you have graphic API provided by OS, VESA is probably best shot for graphics. Examples are not needed - VESA is quite easy, and can be learnt from official reference. |
|||
24 Dec 2007, 10:56 |
|
edfed 24 Dec 2007, 15:06
is it possible to code for vesa from a dosbox V86?
is it possible to switch to pm from V86, and then access all the memory? i doubt it is possible in both cases... |
|||
24 Dec 2007, 15:06 |
|
Mac2004 24 Dec 2007, 15:12
Perhaps the simplest solution is to use Linear Frame buffer while in protected mode.
Just set up vesa LFB mode before entering the PM and after that switch to PM. regards, Mac2004 |
|||
24 Dec 2007, 15:12 |
|
vid 24 Dec 2007, 16:17
Quote: is it possible to code for vesa from a dosbox V86? DosBox doesn't use V86. I'm not sure about DosBox VESA emulation, but i quess it's good. Quote: is it possible to switch to pm from V86, and then access all the memory? not normally, as from real mode, but i think you can use DPMI services Quote: i doubt it is possible in both cases... i think it is. |
|||
24 Dec 2007, 16:17 |
|
Dex4u 24 Dec 2007, 17:55
All you need is my vesa demo, it demos seting up pmode and going to and from realmode for switching between vesa 640x480 32bpp to text mode.
Now you can use this to use most realmode int, on top of this because of the way the GDT base is set up adressing is the same in realmode and pmode. It comes with a boot loader to load it, but because it a exe it will also run from Dos or DosBOX, as demo from the screenshot. It come with full fasm code and you can get it here: http://www.dex4u.com/demos/VesaDemo.zip Note: I was called ASHLEY4 when i made it. But if you really want to code high res Games you should use DexOS as all the functions as built-in including vesa functions, decoder for gif, bmp, jpeg, sound, network, as it was designed as a game console OS. I have been so busy coding the OS, i have not had time to make Games.
Last edited by Dex4u on 23 Feb 2008, 14:18; edited 1 time in total |
||||||||||
24 Dec 2007, 17:55 |
|
dosin 24 Dec 2007, 19:07
Quote: what exactly is your question? Just want to know how people feel about programing it.. and do you or anyone else make apps,games,or an OS using it? on any platform (dos,windows,linux,your own OS) I just rarly see post were people program it and have seen very few games/apps.. besides in there own OS.. VGA 256 seams to be peoples choice (if there not using graphics libs(openGL,DirextX,,) Most post are on asking how to get it up and running..plotting pixels..etc.. and then it stops there... I just wanted to hear everyones opinion on it... reason for asking: for me I am trying to build an os that uses these graphics.. My opinion is that poeple either dis like Vesa.. or think its way to hard.. |
|||
24 Dec 2007, 19:07 |
|
DOS386 24 Dec 2007, 19:19
> what people think about programming Vesa graphics..
It's the choice for DOS, DexOS and "raw" > If there was more info and examples in fasm would you use it? Why didn't you look at the DOS FAQ, Mr. dosin ? > is it possible to code for vesa from a dosbox V86? Don't know, but would be pointless > is it possible to switch to pm from V86, and then access all the memory? Might be sort-of possible, but V86 is a bad place to start ... > Perhaps the simplest solution is to use Linear Frame buffer while in protected mode. > Just set up vesa LFB mode before entering the PM and after that switch to PM. YES. Banked VESA is crap _________________ Bug Nr.: 12345 Title: Hello World program compiles to 100 KB !!! Status: Closed: NOT a Bug |
|||
24 Dec 2007, 19:19 |
|
edfed 24 Dec 2007, 20:18
i think...
seting a segment descriptor for protected mode to point to the frame buffer and the direct to screen ram, like this, we can access the video screen like a linear memory, an array of pixel. the difficulty is to : set the VESA mode correctlly, without errors if possible. access the controls of the VESA I/O ports to manage the VESA functions. access all the address bus, 4Gb & 64Gb for ia 32.? make it from the dosbox, real dos, linux, bsd, macintel?, menuet, "yourOS" or boot... if we can make a graphic interface for all X86 platform, with direct asm coding, it can help a bit for things and others... ref=fasmlib, minidos... but it's only an idea... the code can be simple and easy to read, can help for code sharing.. |
|||
24 Dec 2007, 20:18 |
|
DOS386 24 Dec 2007, 20:29
> set the VESA mode correctlly, without errors if possible.
From RM. > access the controls of the VESA I/O ports to manage the VESA functions. No problem in RM. > access all the address bus, 4Gb & 64Gb for ia 32.? No problem with unpaged memory model. If paging is active you will have to "map" - INT $31/$0800 from DPMI. _________________ Bug Nr.: 12345 Title: Hello World program compiles to 100 KB !!! Status: Closed: NOT a Bug |
|||
24 Dec 2007, 20:29 |
|
vid 24 Dec 2007, 20:40
Don't forget to at least check (if not support, for some reason) case when VESA doesn't support LFB.
And be sure NOT to use fixed mode numbers, instead list through available modes and pick one you like: VBE standard wrote:
|
|||
24 Dec 2007, 20:40 |
|
edfed 24 Dec 2007, 20:47
it's impossible to access the memory witha 32 bit pointer with RM, but is it possible to access the VESA screen?
|
|||
24 Dec 2007, 20:47 |
|
vid 24 Dec 2007, 20:53
Quote: it's impossible to access the memory witha 32 bit pointer with RM, but is it possible to access the VESA screen? Both are possible. first with: - flat real / unreal mode - XMS - EMS if you can't access 32bits, or your VESA doesn't support LFB, you can still use bank switching Last edited by vid on 24 Dec 2007, 21:37; edited 1 time in total |
|||
24 Dec 2007, 20:53 |
|
edfed 24 Dec 2007, 21:11
what are these modes? i never cross these terms into intel doc, or didn't read it with care...
|
|||
24 Dec 2007, 21:11 |
|
revolution 24 Dec 2007, 21:21
edfed wrote: what are these modes? i never cross these terms into intel doc, or didn't read it with care... PS Check out my website, I've got all the VESA info right there. |
|||
24 Dec 2007, 21:21 |
|
DOS386 24 Dec 2007, 21:49
vid wrote:
YES. Quote:
Sure ? Never seen something like this. - DPMI (YES ) - "raw" PM _________________ Bug Nr.: 12345 Title: Hello World program compiles to 100 KB !!! Status: Closed: NOT a Bug |
|||
24 Dec 2007, 21:49 |
|
DOS386 24 Dec 2007, 21:50
edfed wrote: what are these modes? i never cross these terms into intel doc, or didn't read it with care... Intel wrote VERY MUCH about those modes (RM/PM) and paging. Quote: it's impossible to access the memory witha 32 bit From legal RM not. From unreal/irreal/huge-real/big-real mode YES. Quote: pointer with RM, but is it possible to access the VESA screen? You need 32-bit addressing for the LFB. It usually sits at > 3 GiB address. And you have as the very worst choice the banked VESA accessible from RM, even with 8086, or (bad) V86. _________________ Bug Nr.: 12345 Title: Hello World program compiles to 100 KB !!! Status: Closed: NOT a Bug |
|||
24 Dec 2007, 21:50 |
|
vid 24 Dec 2007, 22:22
Quote: Sure ? Never seen something like this. Yep, good point. |
|||
24 Dec 2007, 22:22 |
|
edfed 24 Dec 2007, 22:22
banked vesa access? :-S
i know real mode, but never read any reference to irreal, unreal etc... where is it exactlly? manual# page n° please... |
|||
24 Dec 2007, 22:22 |
|
vid 24 Dec 2007, 23:02
it is quite undocumented stuff... bug/feature of incosistence of implementation and documentation. don't mind it
Instead, if you are interested in DOS, learn DPMI. If you want it for you own OS, learn protected mode well enough to be able to call DOS interrupts in v86 mode. |
|||
24 Dec 2007, 23:02 |
|
Goto page 1, 2, 3 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.