跳到正文
Gbatemp· coolbho3000·· 2 小时前AI 评分15

emibios,一款注重精度的 GBA BIOS 替换件

emibios, an accuracy-focused GBA BIOS replacement

AI 导读

emibios 作为开源且注重精度的 GBA BIOS 替换件发布,其 0.2.0 版本修复 Multiboot 并提升时序精度,游戏兼容性近 100%。该替换件匹配各 SWI 行为与时序,支持 Multiboot 与 TAS sync,目标 100% 匹配零售 BIOS 供模拟项目自由使用。

正文

coolbho3000

Hi everyone, I've just released emibios, an open, accuracy-focused GBA BIOS replacement.

boot.webp

multiboot.webp

Originally based on Cult-of-GBA BIOS by Fleroviux and DenSinH, it has been almost completely rewritten from the ground up with accuracy and compatibility as the primary goals.

What is the difference with this BIOS?

I took care to match the behavior and the timing of each software interrupt (SWI) in the BIOS under every tested input. I believe it currently has the highest compatibility of any open BIOS replacement.

I also implemented Multiboot functionality (send and receive programs to/from other GBAs, from accessories, and from GameCube) as well as a subset of sound mixer functionality that is only used in a few Japanese/Digital Eclipse games.

There is also an extensive test suite that exercises each SWI and asserts the behavior/timing under various inputs.

Because care was taken to match not only the behavior of each SWI, but also the timing, it also successfully TAS syncs with many games.

It is not perfect yet, mostly because the tricks used to match timing do not work under all conditions (mostly bus contention from DMA and IRQ). I would love for people to test it and report bugs, and the ultimate goal is to match the retail BIOS 100% for commercial games and most homebrew.

Why do this?

I originally started this project to see if it was even possible, and then ended up with something I was comfortable with releasing. My goal is to create a freely redistributable BIOS so that emulation projects no longer need to require the proprietary one to run games as accurately as possible.

Flame

SooraMaru

fantastic

1789445291898.png

coolbho3000

coolbho3000

GBATemp Kikkoman Naturally Brewed SoySauce Fanatic

Did it work? There’s a bug right now with the progress bar maxing out at FFFF.

SooraMaru

Did it work? There’s a bug right now with the progress bar maxing out at FFFF.

That's correct; the multiboot stack fills up, and the counter reaches FFFF, yet it continues sending and executes it.

coolbho3000

coolbho3000

GBATemp Kikkoman Naturally Brewed SoySauce Fanatic

That's correct; the multiboot stack fills up, and the counter reaches FFFF, yet it continues sending and executes it.

I actually found an authentication bug preventing the booting of the other 2 games in the collection. I have a fix that works in Dolphin/mGBA I will test today on my real GameCube and Analogue Pocket!

coolbho3000

coolbho3000

GBATemp Kikkoman Naturally Brewed SoySauce Fanatic

I actually found an authentication bug preventing the booting of the other 2 games in the collection. I have a fix that works in Dolphin/mGBA I will test today on my real GameCube and Analogue Pocket!

All right, fixed that bug!

coolbho3000

coolbho3000

GBATemp Kikkoman Naturally Brewed SoySauce Fanatic

I released emibios 0.2.0 which contains a large number of fixes to multiboot and improves timing accuracy. Game compatibility shouldn't really have moved much if at all as I believe it was already near-100%. The update is mostly for multiboot and getting SWIs timing exact.

来源:Gbatemp · gbatemp.net