alyosha-tas / gbahawk Goto Github PK
View Code? Open in Web Editor NEWGameboy Advance Emulator fork of BizHawk
License: Other
Gameboy Advance Emulator fork of BizHawk
License: Other
Using: GBAHawk 1.4
The emulator still accurately identifies which frames are lag frames, it just doesn't update the count displayed when you enable View > Display Lag Counter
see the IE disable test. Not sure what's happening.
Not 255 white.
This is something unfortunate I realized recently. While at least 9 different versions of GBAHawk have been released, all of them insert the same emuVersion Version 1.0.0
and OriginalEmuVersion Version 1.0.0
in the movie's Header.txt
. It would be nice if future versions properly maintained the version number.
I also noticed that movies made in previous GBAHawk versions sometimes cause newer versions to abort movie loading because of incompatible sync settings. Maintaining compatibility here might be something to consider, but I do understand GBAHawk has been relatively fluid in its development, and having to support previous movie versions may add excessive maintenance burden for relatively little payoff.
Currently most 4k bit version games are incorrectly detected.
Mame seems to have a pretty thorough DB for this.
The game crashes in Treacherous Twister. This sounds like a bug mGBA also had a few years back: mgba-emu/mgba#457
I was using GBAHawk 2.0.0, so maybe this has been fixed now? But none of the recent commits look like they address this. I'll probably pull it down and build it for future resyncs.
I will note that DK: King of Swing is generally a very stable game timing-wise. I wouldn't be surprised if the original mGBA movie is able to sync on real console (possibly with one or two frame adjustments at the very beginning).
TreachorousTwister_Crash.zip
Save file + movie that reaches the save file.
It came to my attention that every version prior to 1.5 has been removed, which makes TASVideos' judgement and verification process much more difficult. If sync stability were to have changed in 1.5, then all three of the GBAHawk submissions would have essentially become unplayable in their current forms.
I'd like to request that, going forward, releases should not be removed, barring some sort of catastrophic error. Ideally, 1.3 and 1.4 would be put back up as well for archival purposes, but as long as your submissions all sync on 1.5 then it isn't strictly necessary.
A notable issue I am having with gbahawk atm is that there's no option for ffmpeg writer, like there is in bizhawk. The only other options for recording splits the recording into several different clips, and from what I can tell, it ends up skipping some parts of the recording. There isn't really much of another option to record.
When I press buttons in recording mode, the columns are mislabeled (the game processes the presses as expected). This seems likely to be a rendering bug caused by an extra !
column to the left.
Also, whenever I click on the columns for player 2, it just visually fills the whole column with the column's letter instead of properly setting the button.
A more complete IRQ state machine is required to account for behaviour of IRQ disable. In particular IME should be tested before the other interrupt related regs.
No way to adjust it more louder, it already 100% volume.
Game & Watch Gallery 4 (USA) reported as not working
EDIT: that game is working, user error, but other improvements remain
Game info:
Shrek 2 (USA, Europe)
2ec32cb8c69ff8bbe01b7039ee001105f92ee686b251d26060f9bdb6751f3b80
I did a TAS of this game with BizHawk's mGBA core that is about ~17.9 seconds faster than the equivalent inputs would be on real console. I was curious how accurate GBAHawk's timing would be compared to real-console, but unfortunately, this game isn't supported yet.
This is due to audio FIFO DMA interfering with HBL IRQ code execution so rotation/scaling parameters are not being updated in time for the next scanline.
Needs some test ROMs to improve audio emulation timing.
Some details still need to be checked with regards to open bus emulation.
8 bit reads and writes, misaligned reads and writes for 16 bit and 32 bit accesses for both cpu and dma need to be checked.
OS: Windows 11 Home 22H2 (22621.1992)
Version: GBAHawk 1.5
So I have been trying to get the Gen 3 Pokemon games (Ruby/Sapphire/Emerald/FireRed/LeafGreen) to load... only for GBAHawk to crash on the BIOS screen when trying to load them. I was able to get an error message to appear once, but not again after this.
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at BizHawk.Emulation.Cores.Nintendo.GBA.GBAHawk.GetSamplesSync(Int16[]& samples, Int32& nsamp)
at BizHawk.Client.Common.SoundOutputProvider.GetSamplesFromBase(Double& scaleFactor)
at BizHawk.Client.Common.SoundOutputProvider.GetSamples(Int32 idealSampleCount)
at BizHawk.Client.Common.SoundOutputProvider.GetSamples(Int32 idealSampleCount, Int16[]& samples, Int32& sampleCount)
at BizHawk.Client.GBAHawk.Sound.UpdateSound(Single atten, Boolean isSecondaryThrottlingDisabled)
at BizHawk.Client.GBAHawk.MainForm.StepRunLoop_Core(Boolean force)
at BizHawk.Client.GBAHawk.MainForm.ProgramRunLoop()
at BizHawk.Client.GBAHawk.Program.SubMain(String[] args)
Out of curiosity, I did try a few other games (Castlevania AoS, Castlevania HoD, Yu-Gi-Oh! Duel Monsters 6 Expert 2, and Sonic Advance). They all loaded without any problems. Is there any possible way to get Pokémon up and running?
Follow up from issue #13. Need to test things such as:
precise DMA timing, is there a delay after timer overflow?
does writing to fifo control reset the fifo even if power is off?
does writing to fifo with power off add samples to the fifo?
what are the actual trigger conditions for DMA?
In level 2 the elevator is broken. Not obvious why.
This happened when I tried to trade between Ruby and Sapphire.
Pokemon - Ruby Version (USA)
SHA1:F28B6FFC97847E94A6C21A63CACF633EE5C8DF1E
MD5:53D1A2027AB49DF34A689FAA1FB14726
Pokemon - Sapphire Version (USA, Europe) (Rev 2)
SHA1:89B45FB172E6B55D51FC0E61989775187F6FE63C
MD5:9BC2B765CA6997175FAC51E6CDC29089
Movie file: PokeRS.zip
Welcome to part 3 of my series: "minor header issues that may not be worth filing an issue for".
In 2.1.1, it seems like the core name is saved to a movie header as GBAHawk_Debug
regardless of what core is selected.
As a further note, it seems like GBAHawk 2.1.1 uses GBAHawk_Debug
regardless of what core is selected, so the issue is probably a bit more broad than movies.
Add E-Reader Support with image upload with bar codes + sync bar codes for movie e.t.c
Useful for homebrew and hacks.
Multi-GBA doesn't identify which GBA(s) the lag frame occurred; it will only mark if both lag. This is inconvenient for certain use-cases.
I don't think this is easily fixable because lag marking is sort of deeply embedded into TAStudio and the movie architecture in general.
Nonetheless, there are a few minor enhancement ideas I still have:
View > Display Lag Frame Count
a comma-separate list instead of a single value. Or maybe constrain it to a particular chosen GBA.This is how Shrek 2 is supposed to be when transitioning between the book screen and chapter screen (1/6 speed video from BizHawk 2.9.1, but I checked other emulators and real console, and this is more similar to how it's supposed to appear):
This is how it looks in GBAHawk 2.1.1:
This appears to be a regression between GBAHawk 2.0.0 and GBAHawk 2.1.0
It seems GBAHawk currently doesn't support the Solar Sensor used in the Boktai games. Are there any plans to support it?
I've tried TASing Boktai on BizHawk before but the implementation there has been pretty unstable / prone to desyncs.
We'd be happy to provide feedback and testing for it.
One of the 5 water ripples is partially cut off.
There isn't enough time to render 5 x 64 width affine and double sized sprites (that would take at minimum 128 * 2 * 5 = 1280 cycles and only 1232 exist in a scanline.) And this not even counting OAM fetch times.
I've double checked my rendering code and it matches up with current knowledge, nothing seems amiss.
Somehow it works on console though, so maybe some pixels out of range in the x direction don't get fetched? Time has to be saved somewhere.
With multiple GBAs open, I tried both of the power buttons in virtual pad and nothing happened. I also tried binding it to the controller and creating a TAStudio movie.
I'm used the multi-disk bundler to load up Game & Watch Gallery 4 along with the BIOS (since it's a game with Single-PAK multiplayer game).
Does this emulator support Tool Assisted with 2 players on GBA? If yes, let me know. If not, please put this mode.
Need to characterize based on manufacturer first probably.
Needs a rewrite to account for edge cases of sprite disabling.
Average 50 FPS on my laptop.
CPU: i7-4710HQ
OS: Windows 10 (1709) 64-bit
Probably just something not implemented yet, but I can provide more details if necessary. Whenever you create a configuration with the multi-disk bundler, it will save an XML file, but these don't seem to load properly when clicking on the entry in File > Recent ROM
list.
One exception raised was the following:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at BizHawk.Emulation.Cores.Nintendo.GBALink.GBAHawkLink.StoreSaveRam(Byte[] data)
at BizHawk.Client.GBAHawk.MainForm.LoadSaveRam()
at BizHawk.Client.GBAHawk.MainForm.LoadRomInternal(String path, LoadRomArgs args, Boolean& failureIsFromAskSave)
at BizHawk.Client.GBAHawk.MainForm.LoadRom(String path, LoadRomArgs args, Boolean& failureIsFromAskSave)
at BizHawk.Client.GBAHawk.MainForm.LoadRom(String path, LoadRomArgs args)
In Coin Fall, the music notes aren't held and instead cut off way too early.
Here's a video showing what I mean: https://www.youtube.com/watch?v=SemXO50TaqQ (ignore the really low quality, I just uploaded the AVI straight to YouTube)
For comparison, here's how it's supposed to sound like: https://www.youtube.com/watch?v=avBgeBKQ8
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.