You are not logged in.
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:
set_vesa: push eax push ebx push ecx push edi mov eax, 0x004F0000 mov ebx, 0x00104112 mov edi, Mode_Info mov ecx, ebx call rmode_int pop edi pop ecx pop ebx pop eax push eax push ebx push edi push ecx mov eax, 0x4F010000 mov edi, Mode_Info mov ecx, 0x4101 mov ebx, 0x00100000 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
Offline
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
"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
yeah, hopefully... don't know if it's even worth releasing another version without it.
Offline
Pages: 1