Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Metroid 2 - Fixed
Mario Land - Fixed
Transitions (HAL Wrestling, etc.) - Fixed
Roger Rabbit - Don't know yet, it's just MBC 1
Pokemon - Needs MBC3 with RTC, not implemented yet.
Other things I noticed:
Bomberman: Can't select mode
Mortal Kombat: Freezes
Bomberman 2: Can't move right/left
Making progress!
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
The test ROMs only test things can be measured in the APU registers. There are a lot of other behaviours that aren't testable. You basically just have to play games and track down the bugs until it sounds right.
The coin bug was pretty simple. The screeching sound in Barbie is trickier. The game is setting frequency as high as possible. Presumably this gets filtered out somewhere along the way. Gambatte appears to be cheating and just setting volume to zero for these high frequencies. Normally they wouldn't even be audbile, but since the ouput is only sampled every so often, they get aliased down into the audible range. So that kind of sucks. I'll have to add in some checks to keep that from happening.
Thanks for the continued testing everyone. I see that Samus is missing in Metroid 2, but I don't see the bugs fsvgm777 describes in mario Land 2. Is that in level 1-1 or some other level?
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Fixed the controllers, sloppy mistake by me there.
Fixed audio desync in kwirk.
Removed all BIOS code from Gambatte entirely, so I'm really hoping that fixes any random crashes.
I'll try and track down those audio bugs next (and adjust the volume, which is really just multplying the output by a larger number.)
Not sure about SGB support, it would be really nice, but the parts that need to use snes hardware would be tricky.
EDIT: Audio fixed, I think, I increased the volume too.
EDIT2: Actually I noticed the coin sound in mario land 2 is way off, I'll try to fix that next.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Dang still crashes? That's annoying.
I think I'll have to burn down all my Gambatte changes (they aren't relevent at this point anyway.)
That will teach me to try to modify code that I only vaguely understand.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Thanks for the testing. Yeah any reports are helpful, don't assume I know anything! 8D
I fixed the BIOS and controller initialization issues.
Hmmm, I'll have to look into those audio issues, the test ROM tested everything except the volume envelope pretty thoroughly, so maybe I messed up something there.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I think problem 3 is asking for a strategy that skews the probability in favor of a high positive score, even though the expected value is still zero.
For example: if you get the first question right, then skip the next question. If you get the first question wrong, then guess on the next question. Then you have a 75% chance of having a score of +1 after 2 questions (and 25% chance of having a score of -3.) Gamble!
Probably there is some strategy with a high probability of some moderately positive score in exchange for a very low probability of some very very negative score.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Oh yeah, I forgot about that. I'll add those keys soon.
My attention span is too short to work on any modern-ish systems, so keep dreaming. XD
For 'other core' work I'm already got enough work with Coleco ADAM and GBHawk to last me quite a long time. Probably nothing new will happen there.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Alright, well luckily other people had already been through the trouble of figuring out how the wave RAM tests work so I basically just had to read through some posts to get the right behaviour. That made it much easier.
With this GBHawk is nominally operational.
I integrated it into the Dev Builds for anyone who wants to test. There are still some bugs so if anyone finds anything please report it here.
I also removed BIOS support from Gambatte due to it's bugginess.
I also put a core picker into BizHawk so you can choose between GBHawk and Gambatte.
There is still a long way to go in terms of development, but as it is right now it's already passes almost all the available test roms, which means it's really solid as a baseline model to develop on.
Next steps will be working through mappers, adding link cable support, implementing nitty gritty details of the ppu, and fixing bugs.
Once all that is done I might take a look at cgb.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Small update as I work through the Audio test ROMs.
I'm about 50% done. Everything is up and running and sounds mostly correct (with a few small glitches to sort out.) I made it through the first few test ROMs without too much trouble, and I made sure to integrate save state support as I go. Really the only difficult part left is the waveRAM tests, which will probably take a while since they are regarded as being quite challenging. Overall though things are progressing pretty well.
I also tested out Sameboy for GB support. It was only slightly faster then GBHawk though, so probably can't serve the purpose of 'performance core' after all. So I guess Gambatte will live on in this role.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Hurray an actual A7800Hawk submission! 8D
I actual tried playing this game manually during development, I barely got by the first obstacle. Voting yes.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I think what you are seeing feos is more apathy then ignorance. We've been down this road before and there is nothing at the end of it.
I think we all trust you to make a suitable definition.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Cool! Good luck with development!
As feos already linked, the TAS editor in FCEUX is the best place to start.
Also, since you are thinking about it from the ground up, it would be a good idea to keep in mind being able to do sub-frame inputs natively. there is a lot of potential and demand for this right now that BizHawk can't meet.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Ah, yeah results will vary by game. Kirby's Dream Land is pretty intense with sprites. I only get 260 on the title screen in GBHawk (Gambatte is hardly bothered at 1650.) GBHawk does everything one cycle at a time, so things take significantly longer if there are sprites to process.
Of course! I'll be adding all the bells and whistles as things progress. That's part of the point of going in house with this.
Having said that, if anyone is interested in jumping in and helping with development, there is still tons of stuff to do. Despite the lack of audio, the core is fairly mature and robust from an architecture standpoint, and really it's matter of building up capability, so now is a good time for people who want to try their hand at development to give it a go.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I don't know. I think Sameboy would serve this purpose better then Gambatte, but we'd need to set it up for GB support to see. I doubt it would approach 1700 fps since Gambatte is a speed machine, but it might be worth it since it would be maintainable and has a comprhensible code base. Plus we don't really need 3 GB cores.