Posts for Alyosha
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
That page is cool! I'm glad to see console verification advancing so rapidly! I would add a note of caution about NES verification though. Some bots do not respond to DMC glitch like a real controller does. So, runs made on FCEUX which does not emulate DMC glitch reads at all, will appear to verify on a bot that also does not implement them. I remember working through this issue with True on Ninja Gaiden a while back, here is the relevant post: http://tasvideos.org/forum/viewtopic.php?p=442241#442241 Whether or not runs should count as verified with non-standard controller behaviour I think is something that should be detailed more carefully, at least in my opinion. (This is specifically important for Ninja Gaiden, which uses DMC a lot.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Any other bugs besides Popeye?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Here is one of the best homebrew games for the O2 that is now finally working in BizHawk. This is one of those games that relies on a lot of hardware edge cases and revealed several bugs in the core. Kill the Attacking Aliens uses some non-intuitive properties of quads to get some really detailed graphics effects that are unique to this game. It's one of those impressive homebrews that could really have helped define a system if it had come out in it's actual lifetime. This is probably one of the few O2 games that really would be interesting to TAS, so I'm glad it's looking correct now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
After a quick google search of that is, I would say no. internally everything is a pixel array.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I took some time today to redo the vectrex display algorithm. It now looks MUCH better. It's a bit slower now, but I think it's worth the great increase in display quality. Getting that characteristic vectrex glow is still really hard though, I think this is as good as I can get for now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I made quite a few bug fixes: - fixed collision detection - fixed 12k games - tuned the colors a bit - fixed some characters in the built in set - Fixed sound interrupts @phoenix1291: thanks for testing. I think the graphics at the bottom of frogger brazil are just because it's PAL 60 (BR) but emulated as PAL 50 (more scanlines), I haven't added a mode for that yet. Some of the other bugs should be cleared up though.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
nymx wrote:
Great job Alyosha! I knew you stated that you were working on this, but didn't realize it was coming out so soon. This is a favorite series of mine and I'm glad to see how optimized it is. Yes vote on further optimization.
If you like the series I would encourage you to try finding some optimizations yourself. Sometimes having a different perspective is all it takes to find that elusive improvement that no one else was able to see. EDIT: Also yeah this run came together quicker then what I thought too. This is mainly because a lot of the levels have only one solution from an overall strategy perspective. Especially the later levels, although they can be quite long, there is really only one thing for you do to do, and Nitrodon already did a very good job at doing that optimally.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Why is the GB bios being shown when there are colored graphics? Did you colorize the encode or does it run on emulator that way? If so then this is an error.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
simple images http://tasvideos.org/userfiles/info/62662224531128082 I found a pretty big improvement today in 6-3. It is about 6.5 steps faster. Up until now all the improvements have just been optimized block pushing (basically sokobon style) but this is an actual strategy improvement. The picture above basically illustrates what's different. Lolo's eggs can be shot through chests, and can skirt trees half way through as long as it's only one tree (they can't go through 2 trees right next to each other.) Taking advantage of the level geometry I realized I could shoot the rocky while he is still blocking the medusa. this takes some steps to set up but is faster overall. I don't recall such strategies being used very often in Lolo games (maybe I'm just not remembering) so I wonder if this type of trick is more widely applicable.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
http://tasvideos.org/userfiles/info/62617407404729199 Finished my first pass through the game. the only other place I save time so far is in 17-3 where I saved 3 steps (bringing the total saved to 6 steps overall.) Unfortunately some desyncs in enemy respawning cost 4 frames towards the end of the game. I'm not entirely sure why, I didn't change anything from 11-4 onward and suddenly got desyncs starting at 17-3 (before I improved it.) it's unfortunate but not really sure what I can do about it, I'll try to clean it up as I go over everything again. At this point I think I can narrow down which levels have a realistic chance of being improved, so the second pass should be a bit faster.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I've only been testing the GBC version so far, and saveRAM and the lua script both work fine for me. Yeah it looks like saveram isn't in the code path of reboot core from what I see. Flush Saveram is the manual method to save the saveram. If you want to save it at any time, use that. But remember it won't load unless you have 'use existing saveram' set to true.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I tested wario land II and save ram seems to work fine. Fortranmn did you use File->SaveRam-> Flush SaveRam? I'll start looking into memory domains. EDIT: GBC version seems to be fine, was it only GB version you have problems with jlun2?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
never mind it's not needed after all, I just needed to move the frame processing to the correct spot, not sure why I had it the other way around. Should be good now with _vidbuffer removed from the state.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
yeah _videbuffer is needed in the state, it's different from framebuffer. (At some point I really should standardize things a bit more.) Well I added it back in, tested and is fine now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Oops yeah the buffers are left over copy-paste from other cores that have variable frames. I removed them now. I checked Bowling on both O2EM and MAME (via archive.org) and they have the same behaviour of no longer accepting input once the game over screen comes up. I checked trace logger and and vblank code is still running, it's just not checking for inputs. It looks like it's just waiting for a reset. It would be good to have a real hardware check, but I don't have a console. PAL should be ready for testing, it's probably got quite a few bugs still since the hardware is wired up slightly differently, but mostly it should be working.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
CLChambers00 wrote:
The most interesting point for the TAS on this game is that in order to get the best and fastest stats so far in any% is faster than any TAS could ever do it because it requires RNG set up from the previous attempt and the TAS timing would include that entire setup.
Do you think sub-frame inputs / resets would be able to cut down the set-up time?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Here is an interesting case of a game that was made both in a console edition and also released as a 'emulator version' Happy Bird! is a homebrew game that has a console version that doesn't work right in O2EM, so an emulator version was made for it as well. I think this is a rather unique example of a combination of factors where existing emulation is sufficiently poor, and with too little demand for much attention, where game devs. have to re-target games to the emulator. Anyway, the 'emulator version' does not look correct in BizHawk (which it shouldn't) and the console version does look correct (which is good news for me since that game uses timing tricks similar to Blockout.) Here is a side by side of emulator version (left) and console version (right):
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I do like the look of the +15 contrast example, though I have to admit the libretro shader does look closer to correct for the red and yellow, blue looks more accuracte in the +15 contrast though. But that's just me and I don't know how well the picture represents reality, nor do I own a GBC to check.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
http://tasvideos.org/userfiles/info/62554681489154971 I found my first improvement in lolo 3. It is over half way through the run in level 11-4. I saved one step. You can fast forward to frame 129692 in the above movie to see it. The levels might be a bit more linear then the first two games but still I'm quite amazed how optimized Nitrodon had made this on his first try. I found not a single frame improvement until now. EDIT: http://tasvideos.org/userfiles/info/62570344549002605 saved a few more steps in the same level
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I've made good progress on screen timing and now can get pixel accurate frames even for timing sensitive games like Speedway above. I also figured out the (probably) correct emulation for Blockout, which is much simpler and more realistic then what I was doing before. The key is that the VBL flag bit is reset upon read, not upon end of VBL. It's more of a 'VBL needs servicing' flag then a 'VBL in progress' flag. I probably should have guessed this earlier since the sound bit works the same way. There are still a few finer details that need to be sorted out, but I think all the major timing challenges are dealt with now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Is that really what it looks like? That looks really washed out to me. Do you have a real screen pic for comparison? EDIT: I looked at some youtube videos and I guess it's pretty close, would still be good to see a high res pic though to compare.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Resetting bowling works fine for me (at least it does in the curent dev build.) I fixd a few more bugs (notably Speedway and Nimble Numbers Ned) I still need to do some more research into Blockout, the way I have it implemented now seems unrealistic for real hardware.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
filpAM wrote:
Please revive the C++ version of GBHawk. So I can use it.
It's not worth it for the significant extra effort it would take to get linked modes working with the comparatively minor performance boost.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
image hosting I did a lot of rework on the ppu and now things are working much better. Blockout behaves like console now, as does Cosmic Conflict, which is now closer to console then O2EM. The good thing about Cosmic Conflict and Blockout is that they both do fairly careful timing things but in different ways, so if they are both correct at the same time it's a pretty solid indication that the emulation is close to correct. A big open end remains in that Blockout turns on HBL interrupts but expects them to not happen. I don't know what's up here, I would need to find a game that actually uses HBL interrupts constructively to do things correctly but so far I can't find one. Anyway as always more testing is appreciated. I think I'm getting close on NTSC, PAL still needs some work though.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Leaving some notes here about Blockout. When running in the intro screen of 'blockout' (where it says 'press 1') the game is doing too much in one frame and it misses VBL interrupt, this is what causes the screen to flash. It can miss it by a wide margin, up to 2 scanlines, so this isn't something a small timing tweak can fix. The reason it is doing too much is that it runs extra routines for ball reflections and keyboard scanning, and this is just a little too much stuff. I looked for evidence of this in actual gameplay videos and found this: https://www.youtube.com/watch?v=DuMK4VhiwIo You can see around 2:28 in the video that there is a graphical artifact in the top right corner of the screen. So it's definitely also having trouble on console. The difference is that this only effects a couple scanlines. I'm not sure what mechanism I'm missing that allows this to happen. On the right track though. EDIT: It also turns on HBL interrupts and expects them to either not happen or happen only once per frame.