Posts for Alyosha


Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I've been working with SID filtering a bit. I have a first draft committed in master, so anyone interested can try it out in the dev build. Things seem to be working at least somewhat well. Gianna Sisters wind sound is much better then in 1.12.2. The rather basic FFT implementation I used though really isn't up to the task of emulating the filtering in a low level way (the way reSID does in VICE), but with a few more tweaks I should at least be able to get close.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
adelikat wrote:
I think this technique is cool as hell. Pausing to speed up load times, I love the counter-intuitive. For me this isn't controversial at all. Also, I get the impression this is something that could be done to other SMS games as well?
Yes, any game that increments a counter outside of an interrupt loop potentially is vulnerable to this. MESSUHGAH originally pointed it out on Batman. If they had simply incremented the counter within the loop this would not occur at all (since NMI jumps to $0066 and IRQ jumps to $0038) Also it's just good luck that we see this behavior at all. Emulators that start frames at vbkank (as even other bizhawk cores like NEShawk do) would execute the NMI but then immediately enter IRQ before anything goes awry. Time to improve some SMS runs !
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
@MESHUGGAH: Seems plausible, but I'd still like hardware confirmation to determine that this is just a programming oversight and not something else emulator related.
jlun2 wrote:
Have you tried asking on reddit? I'm not sure which subreddit would work, but maybe https://www.reddit.com/r/emulation/ ? This forum seems rather obscure in comparison.
Thanks for the suggestion, I will do just that.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Nice work researching this Omnigamer. This level of research definitely seems sufficirnt to me.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Hurray! And an improvement as well, nicely done.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Yes it's finally submitted! I've been looking forward to this run being done for a long time and it did not disappoint. Platform Perils was a really nice surprise. This run is something I consider a real milestone in TASing, it's super optimized and fun to watch, give it a star for sure! Glad I could help a little in getting over the hurdle of Croctopus Chase, I'm happy to leave that one behind me too. Anyway, Congratulations Tompa on finally completing this masterpiece! I hope you feel a big sense of relief that all that hard work finally paid off!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
The music test and the sound test are different things . Yes the sound test has correct colors. I've tested all the other good emulators and they all have the same colors as in my above post for the music test, so I believe it to be correct, but I need actual hardware proof.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Paddy wrote:
I have upgraded to 1.12.2 and Genesis game genie codes are working fine now. Also appear to be working on NES games too. Still not working on SNES games though. Have tried several games and all codes have come from GameGenie.com direct. Games tried on are Zombies Ate My Neighbors, Mario All Stars, Animaniacs and Megaman X.
I looked into this briefly. It seems the memory watches (cheats) are not being transmitted from BizHawk to the bsnes core. So even though they are being created correctly they will not have any effect. Not sure if/when/how it will be fixed.
Post subject: Hardware Test Needed: Shining Force Gaiden - Final Conflict
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Hi all, I have a request for anyone who happens to have a Game Gear and owns a copy of Shining Force Gaiden: The Final Conflict. The music test screen has colors that appear to be incorrect on every emulator I check: I looked around the internet a bit but I could not find any pictures of this screen from the game on an actual console. I also posted on SMS Power about it, as that seemed like the obvious place to ask, but got no response. So if anyone can confirm if this behaviour is correct, or has any ideas on where else I should ask, please let me know so I can close the book on this one. Thank you!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
TheRealThingy wrote:
Alyosha wrote:
the run by TheRealThingy would have been accepted.
Accepted to gruefood. I will probably uncancel that run if you can't improve it. Take your time.
Nope, I can't beat it. The arrangement of enemies in level 2 appears optimal and there is no faster way to do level 1. Yes please dp uncancel your run so we can have an optimized run published!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I like this TAS. Quick work of a glitchy game just like Halo 2600. I guess this is what happens with insufficient play testing :)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
0_0 ... I even commenteed on that one, I completely forgot about it. @rudath: It was cancelled in the (mistaken) belief that it would be rejected for being an emulator based improvement and not a gameplay improvement. In reality the current run by BrunoVisnadi is based on rather poor emulation and the run by TheRealThingy would have been accepted. Well guess I'll cancel this and see if I can improve TheRealThingy's >___>
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Wow this one is unexpected. I watched it and it looks really well done to me, nice work xipo!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Pretty cool! Motion looks pretty smooth. First person Zelda would be crazy if you could get the sprites to look at you, neat concept!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
feos wrote:
Mesen has been tested and it has an increasing lag.
How much lag feos? Anything quantitative? I wonder if it would be better to just send the client audio/video instead of having it run the movie. They can be streamed as they are generated I suppose which might be faster but i dont know anything about networking.
Post subject: Re: SMSHawk emulation bugs
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
It took quite a bit of digging, but all of this is actually correct.
1. Pause button The pause button seems to be game dependent. - In Batman Returns you can spam pause after the 59th frame to effectively reduce the waiting time 1 frame per 2 frames of pressing p (P, empty) User movie #38852237008685032 edit: TwoMbit doesn't have this feature (game loads at same time)
To understand what's happening here, you first have to realize that the 'pause' button on SMS is actually tied to a non-maskable interrupt. The routine the game is doing is decrementing a counter at $DFE7. The problem is that the decrement happens once per interrupt. So when you press pause every other frame, you get 2 decrements on frames with the pause (1 for NMI and one for VBlank.) The obvious question is then why doesn't TwoMbit have this effect? Well I'm not 100% sure but if they happened to poll input at vblank, what would happen is that the NMI would happen first and then immediately the Vblank IRQ would happen before the decrement could take place. Actually, with subframe inputs there would be enough time to decrement the counter in only a couple of frames. I'm not sure if this would make the game crash though.
- In Zool it only have effect after a game started from the menu. You can use pause on lag frames User movie #38849945715866984 edit: TwoMbit acts same!
This is because Pause is an NMI and not effected by lag.
- In Wonder Boy, you can't use pause on lag frames.
NMI always happens, but depending on the state of the RAM it could have no effect.
2. Reset button The reset button seems to be game dependent. - In Zoom 909 and Zool it has no use (TwoMbit has a reset button in the file menu and it works, but maybe it's a fake power on?) - In Batman Returns and Wonder Boy (UE) you can't reset on lag frames.
Reset on the other hand, is treated as a normal controller input. So if the controller is not being read, the reset won't work. Strange stuff. I'm not sure what TwoMbit is doing exactly but it seems like it's just doing a power cycle. Here is some great SMS info: https://pastebin.com/raw/eU8E2nKi
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
GG/SMS and intellivision could use some compatibility testing for sure. (I just committed a fix for SMS Xyzolog that I saw was broken in your doc.) Ah ok, I see, it's not the core that is throwing the error. The hotkey ctrl+s is acting both in TAStudio and in EMUHawk. CTRL+S in EmuHawk is flush savram, and it apparently doesn't check if there is an instance of saveram available to work with. I'll try to figure out what's going on there. EDIT: fixed in master.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
MESHUGGAH wrote:
(edit: bizhawk 1.12.2 release) PCEHawk 1. on 0th frame (open TAStudio, go to 0th frame,) the emulator height becomes zero px and width something 800px 2. load a pce game, open TAStudio, save project, NullReferenceException - EmuHawk thrown fatal expection. Closes application and saves (correctly) project file.
1- fixed in master (as best i could, still a couple pixels off) 2- works fine for me. What game were you testing with? EDIT: EMU 7800 is pretty buggy, your time might be better spent on other systems. Atari 7800 really needs a modern in house core (unless you plan on fixing the bugs yourself, in which case nevermind me.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
MESHUGGAH wrote:
(changed name from miscalling A7800Hawk to EMU7800) Two things I'm not sure if bug or working as intended: BizHawk 1.12.1 1. Emulators don't care about (TAStudio's) missing input of power on but EMU7800 won't power on only at the very first time of starting TAStudio. (last one is fixed in next version) BizHawk 1.12.2 1. EMU7800 load a tasproj, error pops up: https://pastebin.com/ZwiZZdRj edit: 2. EMU7800, playing Sentinel (a shooter game), you only have "W Mouse" and the console's 4 key as input. It misses the difficulty switches. 3. EMU7800 has weird greenzoning problem. I'm not sure how BizHawk works internally (just checked the saving options), but I get into situations of loading an invalid state that started the movie by skipping the bios. And also there are places where the frame shouldn't be a lag frame but it's colored red, for example spamming Power On various frames. 4. EMU7800 pausing system is a bit weird. To pause the game, you need to press for at least 2 frames, and then for 1 frame. Even weirder that this also works on lag frames. Even if the game doesn't accepts other controls, it will work. There are even games that able to abuse this, but I don't know if this works in real life the same way.
1.12.1 1 - Not sure what you are asking here, can you give a specific example? Is it fixed in 1.12.2? 1.12.2 1-It looks like you are trying to load a tasproj from a previous version. This will not work since I had to change EMU7800 core states. This means a state variable will be missing in TASproj's from older versions. Export to BK2 then reimport to a tasproj should work, or just clear out the greenzones. 2-fixed in master, try the dev build 3-This should have been fixed, but if you have a file where it happens please send it to me. 4-unsure what's happening here, I'll test it out though.
Post subject: Re: Sprite limit option
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Reinc wrote:
Since a few recent releases, I can't find the Sprite Limit option in Bizhawk menu anymore. Where did it go? Is sprite limit enabled by default and can't be disabled now?
Not sure exactly what you are reffering to, but I'm guessing NES->Graphics Settings->allow more then 8 sprites per scanline is what you want. If not you'll need to be more specific. If you mean for game gear games, its SMS->Sprite Limit
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Sour wrote:
The CPU calls MemoryRead()/MemoryWrite() for every CPU cycle - the first thing done in either of them is to call IncCycleCount(), which runs the PPU/APU. So this is done before actually reading/writing to memory. If what you're checking is vblank-based, it might be worth mentioning that Mesen sets vblank on cycle 0 (scanline 241) and clears it at cycle 1 (scanline -1) - whereas the timing sheet on the wiki says it should be set on cycle 1, iirc. I think Nintendulator also does this, but unsure. I feel like I took a look at this in the simulators before, but can't recall the result.
Oh, I see yeah that is definitely a difference. I'll have to see if changing that will help things sync up.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Really? I must be reading the code wrong then. So far I've only been looking at read2004.nes start up, and I can't get the first 5 frames to sync up (which only involves reading the VBlank flag) so there must be something else different happening there. Back to the drawing board I guess.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I've been comparing trace logs between Mesen and BizHawk but things don't seem to be working out. I believe the problem is that Mesen emulates the system like CPU_tick->PPU_tickx3 while BizHawk does the opposite. This is a big problem for games, and for tests that rely on absolutely timed code, since the issues that crop up are related to reading the VBlank flag which is sensitive to 1 ppu tick. We rely heavily on relatively timed test ROMs, which sync themselves to a singal PPU tick, but the syncing process masks out how the emulator deals with it. Both ways are almost certainly wrong and mistiming certain situations. I believe this is a significant roadblock to getting many more games to sync on hardware. Probably what we really need is an emulator in between visualNES and Mesen/BizHawk that runs at the master clock tick level without being a chip simulator.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
phoenix1291 wrote:
Version 2 work fine with Lagarith too for you or video dump die like for me?
No Lagarith works fine for me almost at full fps, not sure what to tell you about that one.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
phoenix1291 wrote:
Sure, here are two movies files, one old and a new one, for Astrosmash (1981, Mattel).
Ok, version 1 is broken because the format changed between releases. Version 2 records fine but yeah when you resize the recording it slows down considerably, I'm not sure exactly what is causing this, must be using a lot of computing power trying to rescale, not sure there is anything I can do about it though.