x86 Assembly

Moderators: None (Apply to moderate this forum)
Number of threads: 4563
Number of posts: 16029

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
VBE in protected mode Posted by EzE on 1 Feb 2005 at 10:14 AM
In the VBE 2.0 documentation they mention that a 32-bit protected mode interface is availiable.
Does anyone have some nice documention on how to use vesa in protected mode?
/Chris
Report
Re: VBE in protected mode Posted by ASHLEY4 on 1 Feb 2005 at 11:21 AM
: In the VBE 2.0 documentation they mention that a 32-bit protected mode interface is availiable.
: Does anyone have some nice documention on how to use vesa in protected mode?
: /Chris
:

The simple answer is you can not use it, by that i mean you need to setup, so many things, that its not worth doing that way, you are better off, making v86 or switch to realmode and back, i see lots of peope want to use "32-bit protected mode interface" but not one person as got it to works, so good luck if you try .
Report
Re: VBE in protected mode Posted by EzE on 1 Feb 2005 at 11:30 AM
: : In the VBE 2.0 documentation they mention that a 32-bit protected mode interface is availiable.
: : Does anyone have some nice documention on how to use vesa in protected mode?
: : /Chris
: :
:
: The simple answer is you can not use it, by that i mean you need to setup, so many things, that its not worth doing that way, you are better off, making v86 or switch to realmode and back, i see lots of peope want to use "32-bit protected mode interface" but not one person as got it to works, so good luck if you try .
:

It sounds so easy in the manual Just two segment selectors and a 32-bit stack space. The problem is that my graphic routines are kinda heavy and there's to much time loss in switching mode each time i want to swap memory window.
Hope somebody has worked this out.
/Chris
Report
Re: VBE in protected mode Posted by ASHLEY4 on 1 Feb 2005 at 12:18 PM
: : : In the VBE 2.0 documentation they mention that a 32-bit protected mode interface is availiable.
: : : Does anyone have some nice documention on how to use vesa in protected mode?
: : : /Chris
: : :
: :
: : The simple answer is you can not use it, by that i mean you need to setup, so many things, that its not worth doing that way, you are better off, making v86 or switch to realmode and back, i see lots of peope want to use "32-bit protected mode interface" but not one person as got it to works, so good luck if you try .
: :
:
: It sounds so easy in the manual Just two segment selectors and a 32-bit stack space. The problem is that my graphic routines are kinda heavy and there's to much time loss in switching mode each time i want to swap memory window.
: Hope somebody has worked this out.
: /Chris

Are you not using LFB ?, I swich modes by go to and from real mode in my OS and it very fast.
I have a demo, i made, to show how fast going to and from realmode is, if your interested let me know, it includes vesa mode switching.

\\\\||////
(@@)
ASHLEY4.

Batteries not included, Some assembly required.


Report
Re: VBE in protected mode Posted by EzE on 1 Feb 2005 at 1:00 PM
: Are you not using LFB ?, I swich modes by go to and from real mode in my OS and it very fast.
: I have a demo, i made, to show how fast going to and from realmode is, if your interested let me know, it includes vesa mode switching.
:
: \\\\||////
: (@@)
: ASHLEY4.
:
: Batteries not included, Some assembly required.
:
Yes, that would be nice to take a look at.
It seems that functions 05, 07 and 09 shouldn't be to hard to use in pmode by calling the offsets returned by function 0A.
/Chris
Report
Re: VBE in protected mode Posted by ASHLEY4 on 1 Feb 2005 at 1:59 PM
I will post a link in the next day or two, ( got to find it on some backup CD's), also let me know if you get your pmode vesa interface working .

\\\\||////
(@@)
ASHLEY4.

Batteries not included, Some assembly required.
Report
Re: VBE in protected mode Posted by darkraven32 on 20 Jul 2009 at 1:27 AM
that would be NICE.

but, how did you get the code to drop and come back so easily? SUrely, that isn't an easy task.
Report
Re: VBE in protected mode Posted by darkraven32 on 27 Jul 2009 at 8:29 PM
what do you mean, too slow? what system are you coding for?

32bit mode switching should be faster, no? Or are you using unsupported card? see ATI has to do extra work to do int10 functions, including VESA and VBE.

nVidia, not to mention, they FIXED the inherent VBE2/3 bugs, does direct FB access via the GPU on int10.Why go to 3 if you have to go back to 2 to do a job?

If your card is unsupported, or requires software to use VBE2+ that could be your issue.Yes, you are correct on the memory addressing, but I have 16 bit assembler where 32bits should be.Just switching registers does not work.

Look at the code inside PGE for Dos.PGE is a windows-like interface.The VESA unit, I think, and somewhere else on the net, has the function set listed[in C, as I recall].I may have just pulled one too many functions from this particular unit and not coded it myself from the website example.Either way, that file was lost about a week ago.I can't recover it.



how slow is your system?

dropping to 16 bit mode works, but you have to clear all the int/gdt tables each time.I would like to leave these SET, thank you, but I am interested in how you got this to work.I just found the VM86 code a little while ago, I have to port it from C, as I use FPC to code with.




Report
Re: VBE in protected mode Posted by shadowOScoder on 6 Dec 2011 at 7:45 PM
I have managed to translate the VBE spec to working code but have not compiled it yet. It is in assembler.

I do not know performance. I only have N10(X3100)Intel GFX card to test on. I have ran VBE demo from pascal sources which indicates a different mode list than the standard, so VBE is technically correct.

VBE3 is detected on boot, with Darwin boot loader, with *NIX and the former code (my bootloader) compiled when pulling VBE v3 specs with function 4F0A, so I know VBE3 is present in card.It would fail if only VBE2 specs were available.

I have also looked at DSDT whilst under OSX. IT is a VBE3 card.Most nVidias are, ATI implementation of VBE3 is spotty. (ATI have weird int10 function anyway)


src:
usb2.asm from code.google.com/coffee-os
(YES, I do OS dev..)

You need to have your own bootloader, like my boot.asm sources, which kickstarts this code somehow. Default startup is RM 16bit, I jump to 32bit and enable equivalent of DPMI drop to VM86 UNREAL and NOW REAL MODE, I just finished some of the code, so I have not time to test yet.

I rawwrite to USB with HexD app at raw sector level. I hear that same can be done for floppy and it works, i ran out of disks that were good.Win7 is preventing me from writing a custom loader that uses FAT to chainload the stage2 code.

I started writing bootsector when GRUB wasnt returning my VBE info I know existed.(AKA: VRAM size, VBE version, etc..) Grub has a VBE2, not VBE3 probe.

I needed VESA (and DPMI) access for the OS, as I AM NOT writing card specific drivers.

You dont always want VBE3, but I would use it where possible.

--Jazz

Attachment: usb2.asm (45061 Bytes | downloaded 36 times)
Report
Re: VBE in protected mode Posted by shadowOScoder on 6 Dec 2011 at 7:47 PM
I have managed to translate the VBE spec to working code but have not compiled it yet. It is in assembler.

I do not know performance. I only have N10(X3100)Intel GFX card to test on. I have ran VBE demo from pascal sources which indicates a different mode list than the standard, so VBE is technically correct.

VBE3 is detected on boot, with Darwin boot loader, with *NIX and the former code (my bootloader) compiled when pulling VBE v3 specs with function 4F0A, so I know VBE3 is present in card.It would fail if only VBE2 specs were available.

I have also looked at DSDT whilst under OSX. IT is a VBE3 card.Most nVidias are, ATI implementation of VBE3 is spotty. (ATI have weird int10 function anyway)


src:
usb2.asm from code.google.com/coffee-os
(YES, I do OS dev..)

You need to have your own bootloader, like my boot.asm sources, which kickstarts this code somehow. Default startup is RM 16bit, I jump to 32bit and enable equivalent of DPMI drop to VM86 UNREAL and NOW REAL MODE, I just finished some of the code, so I have not time to test yet.

I rawwrite to USB with HexD app at raw sector level. I hear that same can be done for floppy and it works, i ran out of disks that were good.Win7 is preventing me from writing a custom loader that uses FAT to chainload the stage2 code.

I started writing bootsector when GRUB wasnt returning my VBE info I know existed.(AKA: VRAM size, VBE version, etc..) Grub has a VBE2, not VBE3 probe.

I needed VESA (and DPMI) access for the OS, as I AM NOT writing card specific drivers.

You dont always want VBE3, but I would use it where possible.

--Jazz

Attachment: usb2.asm (45061 Bytes | downloaded 46 times)
Report
Re: VBE in protected mode Posted by shadowOScoder on 6 Dec 2011 at 7:51 PM
I have managed to translate the VBE spec to working code but have not compiled it yet. It is in assembler.

I do not know performance. I only have N10(X3100)Intel GFX card to test on. I have ran VBE demo from pascal sources which indicates a different mode list than the standard, so VBE is technically correct.

VBE3 is detected on boot, with Darwin boot loader, with *NIX and the former code (my bootloader) compiled when pulling VBE v3 specs with function 4F0A, so I know VBE3 is present in card.It would fail if only VBE2 specs were available.

I have also looked at DSDT whilst under OSX. IT is a VBE3 card.Most nVidias are, ATI implementation of VBE3 is spotty. (ATI have weird int10 function anyway)


src:
usb2.asm from code.google.com/coffee-os
(YES, I do OS dev..)

You need to have your own bootloader, like my boot.asm sources, which kickstarts this code somehow. Default startup is RM 16bit, I jump to 32bit and enable equivalent of DPMI drop to VM86 UNREAL and NOW REAL MODE, I just finished some of the code, so I have not time to test yet.

I rawwrite to USB with HexD app at raw sector level. I hear that same can be done for floppy and it works, i ran out of disks that were good.Win7 is preventing me from writing a custom loader that uses FAT to chainload the stage2 code.

I started writing bootsector when GRUB wasnt returning my VBE info I know existed.(AKA: VRAM size, VBE version, etc..) Grub has a VBE2, not VBE3 probe.

I needed VESA (and DPMI) access for the OS, as I AM NOT writing card specific drivers.

You dont always want VBE3, but I would use it where possible.
You need subversion client to check out from google code.

SmartSVN is decent, there is a command console version also available.

--Jazz

Attachment: usb2.asm (45061 Bytes | downloaded 41 times)
Report
Re: VBE in protected mode Posted by shadowOScoder on 6 Dec 2011 at 7:56 PM
I have managed to translate the VBE spec to working code but have not compiled it yet. It is in assembler.

I do not know performance. I only have N10(X3100)Intel GFX card to test on. I have ran VBE demo from pascal sources which indicates a different mode list than the standard, so VBE is technically correct.

VBE3 is detected on boot, with Darwin boot loader, with *NIX and the former code (my bootloader) compiled when pulling VBE v3 specs with function 4F0A, so I know VBE3 is present in card.It would fail if only VBE2 specs were available.

I have also looked at DSDT whilst under OSX. IT is a VBE3 card.Most nVidias are, ATI implementation of VBE3 is spotty. (ATI have weird int10 function anyway)


src:
usb2.asm from code.google.com/coffee-os
(YES, I do OS dev..)

You need to have your own bootloader, like my boot.asm sources, which kickstarts this code somehow. Default startup is RM 16bit, I jump to 32bit and enable equivalent of DPMI drop to VM86 UNREAL and NOW REAL MODE, I just finished some of the code, so I have not time to test yet.

I rawwrite to USB with HexD app at raw sector level. I hear that same can be done for floppy and it works, i ran out of disks that were good.Win7 is preventing me from writing a custom loader that uses FAT to chainload the stage2 code.

I started writing bootsector when GRUB wasnt returning my VBE info I know existed.(AKA: VRAM size, VBE version, etc..) Grub has a VBE2, not VBE3 probe.

I needed VESA (and DPMI) access for the OS, as I AM NOT writing card specific drivers.

You dont always want VBE3, but I would use it where possible.

--Jazz




 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.