Posts for Alyosha

Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I found the problem. I allocated 4 bytes for four int sized values 8D
ruadath wrote:
One request for much later next year when you are looking at GBC. Can you try and get whatever improvements were made in https://github.com/Dabomstew/gambatte-speedrun available so that we can get console syncing Pokemon Gen 1 (maybe even gen 2) runs?
The goal for this emulator is accuracy, so yeah if / when I get around to CGB I'll be trying for enough accuracy so runs will sync on hardware. I'd want to get accurate enough so MrWint's pokemon ACE runs on real hardware honestly.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I have restored the operation of the GPU Viewer for GBHawk, Gambatte, and Sameboy, which seems to have gotten broken somewhere around 2.0. There's some kind of memory leak in it though. I haven't found a 100% consistent way to replicate it but it crashes with a corrupted heap error sometimes after switching between cores, so, that's bad. If I can get that sorted out this will be another helpful tool in diagnosing the remaining graphical glitches. Anyone have any tips on how to track down memory management errors?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
The audio and frame difference issues are due to gambatte using 'use equal length frames' by default. The Gameboy can have 'frames' (time bewteen VBLanks) that are arbitrarily long since it's not locked to a video standard like normal consoles. When these types of frames happen, typically during loading, BizHawk doesn't know how much longer a frame was then a normal frame, so it just plays the audio like it was 1 normal frame, cutting off notes and speeding things up. Typically for TASing though you want frames that always start / end on VBlank since that leads to consistent input timing. So, it's a trade off. Right now GBHawk only has VBlank based frames for ease of testing, so those issues won't be immediately fixed. It kind of sucks, but BizHawk doesn't have a good way to deal with it that I know of.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Ok, I finally found the Fix for Roger Rabbit. That game uses every available cycle for drawing and didn't leave enough time to restore access to VRAM. Anyway, with that here is the list of issues I am currently aware of. Let me know if I need to add anything: - Link's Awakening title effect - Super Hunchback title effect - Altered Space excess sprites - Beast Fighter, no status bar (it expects window tile location to be at the bottom of the screen even though it wasn't turned on, not sure if it even works on hardware.) Tests failed: - hblank_ly_scx_timing-GS - intr_2_mode0_timing_sprites I think that's it. Making a lot of progress. Now the hard part starts figuring out those last 2 tests. (I also fail the OAM bug test, but since I don't know the corruption pattern I can't really implement it, the tests only do a checksum. Needs hardware testing.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
phoenix1291 wrote:
Not really a bug, but is there a way to access the INS / DEL and FUNC keys on SG-1000? Oh, and are there any plans to integrate the joystick support in addition of the keyboard for the C64 and Apple II cores?
Tastyfish has implmented the keyboard. So, this and several other games needing the keyboard can now be played. Tastyfish has also implemented several other features for the SMS/GG core recently including lightgun for anyone who might be interested in trying these out.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Fortranm wrote:
Pokemon Brown, a Pokemon Red hack, doesn't run. Maybe it's because it's 2MB big?
Fixed, thanks for the report. (Although I was certain I remembered accounting for this already. Maybe I only thought about doing it but never did it?) 0_0
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
MUGG wrote:
I tried the latest interim (commit ffbb1f339). - The GB menu lacks the core picker (Unlike the GBA menu) - GBHawk and Gambatte use separate gamepad config (Unlike the two GBA cores that share their config). - Can GBHawk not run GBC games?
- The core picker is in Config->Cores only at the moment - I dont even know where to look for the gamepad config 8D - For now it's GB only. When GB is close to 100% maybe I'll upgrade to GBC. A lot of the trickier stuff still remains to be done. I just implemented MBC3, so Pokemon Red and Blue should now be playable.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Thanks for the continued (and detailed) testing. Yeah many of the remaining bugs are ppu timing glitches. I'll have to look at Samurai showdown though. Actually I was bored of staring at trace logs so I decided to implement the first unlicensed mapper, Sachen MMC2 (as defined by tauwasser): https://web.archive.org/web/20170803195356/https://wiki.tauwasser.eu/view/Sachen_Mappers This makes Beast Fighter work (although the status bar is broken at the moment.) So, I'll be implementing unlicensed stuff as I have the motivation and can find info about the mapper. If anyone has a specific unlicensed game they want implemented (I know there were a few in the first page) it would greatly speed up implementation if you could link to a mapper spec. EDIT: Fixed: Lawnmower Man Samurai Showdown Th Final Fantasy legend EDIT2: Fixed: Audio squeel, zerd no densetsu, X (proto), GOAL!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Lot's of new fixes just committed. Fixed: Malibu Beach Volleyball, Castle Quest, Double Dragon 3, F1 pole poisition. Working on: Goal!, Roger Rabbit, The Final Fantasy Legend As usual, games are using all kinds of different tricks to do things, so I'm getting a lot of good test cases out of all of this.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
smellyfeetyouhave wrote:
-In Wario Blast featuring Bomberman! I'm unable to move right. I can move right in other games and it works fine in Gambatte -Malibu Beach Vollyball doesn't boot (01h ROM+MBC1) -In the intro sequence to Link's Awakening, when the logo appears there's a flickering around the edges (doesn't exist in Gambatte) https://streamable.com/vjml3
I committed another round of updates that fixes Wario Blast as well as Bomberman and mortal kombat. Malibu Beach Volleyball looks interesting, thanks for pointing that out, might provide a hint for Roger Rabbit as well. Link's awakening is probably a PPU timing bug that will have to wait all the basics are done and I can focus on the minute details.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Fortranm wrote:
Super Connard refuses to run. :P I know GBHawk only supports DMG right not, but is there a way to force GBC games to run under DMG mode with GBHawk instead of automatically switching to Gambatte?
I guess they don't like emulators! The game expects to be unable to read RAM during DMA. I had the rough outlines of this implemented, but now it's implemented completely so the game runs. I'll think about adding that option later once most of the main GB bugs are stomped out.
smellyfeetyouhave wrote:
I'm seeing that one of your commits included a fix for the issue Barbie was having (unless I misread the comment) but it seems to still have the squealing.
I thought I took that out, but listening to it again I do still hear a faint high pitched buzz. I'll look into it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Nice! Save those frames! Voting yes.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Click on the empty white box next to "P2 Up" etc. It should turn light blue. Then press the key you want to assign.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Config -> Controllers -> Player 2 You should see this:
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
^ I think what you want is Config -> Controllers -> Player 2. Just assign some hotkey's for player 2 to use.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I strongly agree with FractalFusion that this shouldn't be published unless the emulation problems are fixed. Good luck with the RNG though.