You are not logged in.


#1 2005-08-05 20:24:41

Nelson
Member
Registered: 2005-07-02
Posts: 35
PM

BOS VESA :)

Yep, got it *semi* working.
I just did a direct port from CDPod and I draw about a forth of the pod on the screen lmao, it also has problems starting up again after I return to mode 0x03, dunno if I need to do anything special there.

I tried your code to set the screen color and it just causes an "unrecoverable processor error" in VirtualPC

Heres the code to switch:

ASM code:

set_vesa:
          push    eax
          push    ebx
          push    ecx
          push    edi
          
          mov     eax0x004F0000
          mov     ebx0x00104112
          mov     ediMode_Info
          mov     ecxebx
          call    rmode_int
          
          pop     edi
          pop     ecx
          pop     ebx
          pop     eax
          
          push eax
          push ebx
          push edi
          push ecx
          
          mov eax0x4F010000
          mov ediMode_Info
          mov ecx0x4101
          mov ebx0x00100000
          call rmode_int
          
          pop ecx
          pop edi
          pop ebx
          pop eax
          
          ret

I think thats where I'm screwing up since I suck at bubach's method of ints sad

Offline

 

#2 2005-08-05 21:22:54

Dex4u
Active member
Registered: 2005-02-19
Posts: 132
PM

Re: BOS VESA :)

Here is some more code that i wrote that may help its not as optimised, so may be easier to follow, http://www.dex4u.com/DemoVesa.zip
It is a bootable demo with asm code, just put a floppy in the a:\ and click on the exe.

For your above code to work you need to call the code in realmode as the vesainfo address need to point to a realmode address

so you call it at boot up and save the info in a info block than in pmode when you need to swich to vesa you just  call rmode_int for swich to vesa mode and  call rmode_int for swiching to text mode.

If you want me to set the code in BOS so you can do this let me know.

NOTE: I was called "ASHLEY4" when i wrote it, also the deme swich from text mode to vesa mode about every 10 seconds as it a going to realmode and back demo.
Also most emulator need set up for vesa to work right.

Offline

 

#3 2005-08-05 21:24:02

Nelson
Member
Registered: 2005-07-02
Posts: 35
PM

Re: BOS VESA :)

Oh, I'll try that.

Offline

 

#4 2005-08-05 23:58:20

bubach
Administrator
From: Trollhättan, Sweden
Registered: 2005-02-15
Posts: 367
PM  Website

Re: BOS VESA :)

"mov       edi, Mode_Info"
Hmm... You can't provide the BIOS with a 32-bit pointer. And at the moment you can only pass real mode values in the ax, bx, cx and dx registers.. Sorry about that.

You can:
1) Modify rmode_int.inc to allow that you pass more registers (but mem address must still be below 1mb. hmm... ).
2) Wait for a new and improved BOS version..

/ Christoffer

Offline

 

#5 2005-08-06 00:29:21

Nelson
Member
Registered: 2005-07-02
Posts: 35
PM

Re: BOS VESA :)

Or that wink. Hopefully next version will have programs :? big_smile

Offline

 

#6 2005-08-06 00:34:56

bubach
Administrator
From: Trollhättan, Sweden
Registered: 2005-02-15
Posts: 367
PM  Website

Re: BOS VESA :)

yeah, hopefully... don't know if it's even worth releasing another version without it. smile

Offline

 

#7 2005-08-06 00:42:16

Nelson
Member
Registered: 2005-07-02
Posts: 35
PM

Re: BOS VESA :)

then I can really have fun and write stuff

Offline

 

 

Board footer

Powered by PunBB
BOS homepage © Copyright 2005 Christoffer Bubach
Strict XHTML and valid CSS.