Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I've got most of GBHawk ported to C++ (still not accessible in the Dev builds yet though.)
With basically a one-to-one port and only minor optimizations, I get only a 60 fps boost from the conversion. This is much less then I was hoping for and hardly even worth it.
I'm going to spend some time seeing what else I can do to speed things up, but probably this is the end of the road for my one cycle at a time approach.
But anyway my goal is to get a 2x boost over the current C# core, right now that goal is a very long way off.
@jlun2 I'll look into that stuff once this process is over.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I have started the process of converting GBHawk to C++.
It should be a lengthy but relatively easy process compared to porting the z80 core.
Nothing will change for now, and nothing will change from the user interface side regardless.
This transition will free up much needed overhead for the linked modes and lay the foundation for future work.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
That is the videopac G7400. It is the successor to the Videopac G7000.
The G7000 is equivalent to the Odyssey2.
The G7400 would have been equivalent to the Odyssey 3 which was never released.
G7400 is not currently emulated so those buttons are not accounted for in the current core.
G7400 only has a couple of unique games, the others are just G7000 games with additional high res graphics, so I consider it low priority follow on work similar to the Chess and voice modules.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
They are the same, perhaps I should rename them (Y)es and (N)o or some similar distinction.
Or is it easier to just add in two more distinct entries and map them to the same place?
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I updated memory domains to be consistent between GBHawk and Gambatte.
Mostly this was just changing GBHawk names and ordering.
But I did make one change to Gambatte, I moved CartRAM to the end because it doesn't always exist. This is consistent with how SRAM domains are handled in other cores. So @jlun2 you'll have to update your script to reflect this.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I added PAL mode to O2Hawk (i.e. a videopac G7000 mode) so any testing of PAL games would be helpful. Particularly audio since that is usually a weakness.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Nice work, I wouldn't have thought this game was so complicated. Yes vote.
I also edited the opening post of the first 500 thread so that these movies that were initially rejected but published much later are represented there for quick reference. (There are 7 left after this one.)
v Added, thanks.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
aiqiyou wrote:
At 9533 frame in level 2-3, the enemy didn't shot Lolo. I want to know why?
This is a glitch in don medusa's line of sight detection.
If they are moving left or right and you are to their left and there is a solid object to the left of you and the spacing is correct then you will not get shot. A similar thing can happen for vertical movement.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Alright, it now always imports as GB. Sync settings don't respect the implied console type anyway.
At least it will work now. Might need to manually edit sync settings still but oh well.
EDIT: there now isGBC flag is properly set in movie file header and console is selected as either GB or GBC accordingly in sync settings.
Still have to do GBA mode flag manually.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Alright, I changed the importer so that the movie it produces matches the currently loaded core.
Side Note: importing movies with 'GBC' as the console seems to give an error when loading. I'm not sure if I should change this in the importer or in the cores. But for now you might need to change the identifier in the 'header' file to GB for some movies to work, regardless of which core is loaded.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
TiKevin83 wrote:
Alyosha, if you need any more movies to test:
SMB 1.0 and 1.1 have resyncs
TwistedTammer's LADX syncs almost as-is
Mickey's Chase has that resync you just mentioned
Pokemon Blue/Yellow NSC and Glitchless (I know you've tested some of these before)
Pokemon Crystal Glitchless (I believe you tested this one as well)
Pokemon TCG should have console-syncable movies soon
Pokemon blue yellow and crystal are linked on the opening post, I try to keep the resyncs available.
I'll be getting to the new ones soon, I'm been very time constrained lately but covid19 looks like it will give me some free time.
Also @EZgames69 or anyone else who needs help importing stuff, just tell me which movie you want and I can do it quite quickly, i have a lot of practice.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
adelikat wrote:
as of 2.4, I added sync settings to the importer logic. To do that means it picks the core. I picked it to be GBHawk. My understanding is that is the more accurate and therefore preferred core.
We have no support currently to add sync settings ANd let the user choose the core
it does? I tested just now and when gambatte is loaded the input roll still is imported as gambatte, so this at least needs to be fixed. I should be able to unify sync settings so that either core should work for importing though.
EZGames69 wrote:
Gambette as of right now is more accurate than GBHawk. the accuracy is so precise that it's expected that every game can be console verified (if put into GBC in GBA mode that is). So I think Gambette should be the default choice.
It is not more accurate, as far as I know everything that has console verified in Gambatte also works in GBHawk (with some re-syncing due to frame timing differences.) This also includes the most recent Mickey's Dangerous Chase level 1 WIP. Also this is only applicable for single speed mode, I don't think anything has been done for either core in double speed mode.
EDIT: Also I'm fine with importing being for gambatte by default, I realize I'm probably the only one who uses GBHawk, and if the verification pipeline works better for gambatte so be it.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
nymx wrote:
I come back another day and something new shows up that I wouldn't have considered.
Yeah that is my favorite part about working on puzzle games like this. It's a fascinating thing how new realizations suddenly appear out of thin air, and feels quite rewarding when you actually find something new after hours of failures.
Also with this the only remaining lolo run not improved recently is lolo 3. It's more daunting at twice the number of levels, but hasn't had as many iterations so maybe I'll start looking at it.
There is also Eggerland but that's a bit of a different case.