Emuforums.com

Go Back   Emuforums.com > Handheld Emulation > Visualboy Advance Discussion
About Us Register FAQ Members List Calendar Mark Forums Read

Login to remove all ads!
Reply
 
LinkBack Thread Tools Display Modes
Old May 1st, 2006   #1 (permalink)
Hel
Registered User
 
Hel's Avatar
 
Join Date: Feb 2006
Location: Village of the Wind Deity, Philippines
Posts: 50
Bios?

What's the BIOS for?

I somehow know how it functions for PCs but how do it function for VBA?
__________________

~to hel with you~
credits to ineedfire
Hel is offline   Reply With Quote
Old May 1st, 2006   #2 (permalink)
Registered User
 
Join Date: Jun 2005
Location: France
Posts: 50
The bios, wich is inside a chip of the GBA, holds functions that are specific to the GBA, like data decompression, memory copy, math functions... The games use some special opcodes, called software interrupts (swi), that can directly jump to the bios and execute a function. It has some advantages : the programmers don't have to write down their own functions, as they are provided by the bios ; these routines are launched from the bios area, in which code is executed faster than inside the rom area ; and they have been optimized and are known to work correctly (so the programmers don't need to 'debug' them).
Almost all the bios functions are emulated by VBA, by its 'internal bios', so in theory, a bios file isn't needed to emulate the GBA correctly. However, there are two slight difference between the emulated bios and the real bios : the duration of the bios functions aren't the same (if you use a bios file, the functions will be emulated 'perfectly', and their execution will (should) take the same amount of time that they take on the real hardware ; but if you use the emulated bios, the function's duration will either be equal to 0, or will be different from the original ones). And this duration difference can create some problems for a very small number of games that highly rely on timings (actually I only heard of one game having a problem : madden '06). Also, some swi that are used for sound aren't emulated for some (copyright) reasons, so some (few) games won't have sound when played with the emulated bios of VBA.
pokemonhacker_ is offline   Reply With Quote
Old May 2nd, 2006   #3 (permalink)
Hel
Registered User
 
Hel's Avatar
 
Join Date: Feb 2006
Location: Village of the Wind Deity, Philippines
Posts: 50
why do some games freeze when BIOS is activated on VBA then?

games like Riviera or DemiKids.
__________________

~to hel with you~
credits to ineedfire
Hel is offline   Reply With Quote
Old May 2nd, 2006   #4 (permalink)
Emu author
 
Spacy's Avatar
 
Join Date: Mar 2005
Location: Germany
Posts: 368
@PokémonHacker
"some swi that are used for sound aren't emulated for some (copyright) reasons"

May you explain me the details regarding those copyright problems? Does the GBA use DOlby Digital or soemthing like that? xD
__________________
Windows XP Home SP3
Intel C2D E8200
4GB DDR2-800
GeForce 8800 GT
ASUS Xonar DX
KNC ONE TV-Station DVB-S
Technisat SkyStar HD (DVB-S2)
2x Samsung HD501LJ (RAID-0)
Spacy is offline   Reply With Quote
Old May 2nd, 2006   #5 (permalink)
Registered User
 
Join Date: Jun 2005
Location: France
Posts: 50
Actually I don't remember 100% why they are not emulated, that's why I put the word copyright in parenthesis (I somewhat remember it had something to do with a table of data, so copying it would bring up a copyright problem, but I might be wrong, it could be for another reason...).

@hel maybe because you are using a bad bios (debug, or a corrupted one) ?
pokemonhacker_ is offline   Reply With Quote
Old May 2nd, 2006   #6 (permalink)
Emu author
 
Forgotten's Avatar
 
Join Date: Oct 2001
Posts: 483
Just post the data from the Help->Bug Report on VBA and we can tell whether you have a good or bad BIOS file (not much more than can be done by us). Either way, you can always try to run with VBA's internal BIOS instead and see if it works. There are a few games that do require the real good bios in order to work.

As for why the sound routines are not emulated, is because it is not easy. The sound function is big. Anyone with time and patience could write a C version of it, I just didn't think it was worth the time.
Forgotten is offline   Reply With Quote
Old May 27th, 2006   #7 (permalink)
Registered User
 
Sigilstun's Avatar
 
Join Date: Sep 2002
Location: Canada
Posts: 27
Quote:
Originally Posted by Forgotten
Just post the data from the Help->Bug Report on VBA and we can tell whether you have a good or bad BIOS file (not much more than can be done by us).
Hope you don't mind if I take you up on that bios check offer

Here's my bug report:

Emu version : 1.8.0-beta 3
Emu Type : Normal Version
Using BIOS : 1
Skip BIOS : 0
Disable SFX : 0
Skip intro : 0
Throttle : 0
Rewind : 0
Auto frame : 0
Video option : 7
Render type : 1
Color depth : 32
Red shift : 00000013
Green shift : 0000000b
Blue shift : 00000003
Layer setting: FF00
Mirroring : 0
Save type : 0 (0)
Flash size : 00010000 (00010000)
RTC : 0 (0)
AGBPrint : 0
Speed toggle : 0
Synchronize : 1
Sound OFF : 0
Channels : 030f
Old Sync : 0
Priority : 2
Filters : 12 (0)
Cheats : 0
GB Cheats : 0
GB Emu Type : 1

Thanks in advance!
__________________
"He who laughs last......just doesn't f#cking get it."
Sigilstun is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 23:15.

© 2006 - 2008 Emu Forums | About Emu Forums | Legal | A member of the Crowdgather Forum Community


Powered by vBulletin® Version 3.7.0 Release Candidate 3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5