Some Gemus Fields not being set
Sorry for the boring post, enourmous respect for everyone here!
Lately i've been more and more drawn to Amiga, only to find I think i've always had this problem with my Gamebase setup (why oh why didn't I spot this and fix it years ago!) and I just can't figure it out, so I need one of you to be kind enough to try and help..... Gamebase Amiga 1.6 - I'm mainly using WHDLoad with a WHDLoad.uae in my "Gamebase Amiga" directory. When I load a WHD game, I can see that my WHDLoad.uae is modified each time, and SOME of the values from my, mostly sensible looking, WinUAE Emulator GEMUS script, are being copied across, but some are being set to some other value. For instance, let's load Alien Breed 3D, whose Key-value fields in the Gamebase database are thus: Code:
kickstart_rom=v3.1 A1200 now here's an example of one value that works fine, and one that doesn't: my GEMUS Script contains these two lines: Code:
Set_CFG_Value(%dbpath%\WHDLoad.uae||immediate_blits||%immediate_blits_value%) BEFORE: Code:
immediate_blits=false AFTER: Code:
immediate_blits=false Code:
immediate_blits= Code:
immediate_blits=false I also often get the variable name being written back in, so with this game if before I have Code:
cpu_type= Code:
cpu_type=%cpu_type_value% but the fields which DO get written in correctly, suggest that the settings are following the game, for instance above we really do need the speed set to max for obvious reasons! And the hard-disk data values are always written correctly: the game always loads, its just that things are always wrong... So, if in my WHDLoad.uae, before running Alien Breed 3D, I blank all the values for the gemus key-value pairs (ie: those I posted for Alien Breed 3D above from the db), what I get in my WHDLoad.uae after running the game up is the following: Kickstart_rom - stays blank immediate_blits = gets wrong boolean ntsc - gets set correctly chipset - stays blank collision_level - gets set correctly fastmem_size - stays blank bogomem_size - stays blank chipmem_size - stays blank cpu_speed - gets set correctly finegrain_cpu_speec - gets wrong value '512' cpu_type - gets set to literally %cpu_type_value% cpu_compatible - gets wrong boolean cpu_cycle_exact - gets set correctly blitter_cycle_exact - gets set correctly the blanks are expected, because below you see there's no command in the gemus script to change them in the WHDLoad file (thing is i'm not sure why, surely the script should be changing all relevant fields from each game in the database for both of the .uae files? I haven't altered the script, I got it from here somewhere ie: the 'official' WHDLoad Gamebase setup files from some years ago....) Can't see any syntax errors, errant spaces, or anything else that could be causing some fields to get odd values I haven't noticed any problems like this in any of my other gamebases Please help (btw I know 1.6 is out of date, I know upgrading might fix my issue, but I have reasons to want to fix this in situ atm, should that be possible....) thanks in advance. My gemus script included now: Code:
If Control = JoyPort1 |
Quote:
Gemus for WHD version of Alien Breed 3D is this: Code:
cd=dh1:AlienBreed3DAGAFixed; |
aha!
{right click on game} -> extras -> (double click) WHDLoad -> Gemus Fields/Use These Fields/(click) Edit -> Keys & Values Got you thank you so much! The first step is always the greatest: to be assured that you aren't seeing something impossible! So some external process is causing the same variable name in a single gemus-emulator config file, to lead to two different values depending on context Code:
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||cpu_type||%cpu_type_value%) So, if you would please, what options do I have/is this still a current problem for people? In particular the lack of cpu_type/cpu_model in (seemingly any?) WHDLoad Gemus config, means that a lot of games run wrong, because uae sees the value in the config file it was passed over command line (literally '%cpu_type_value%') is invalid, so it defaults to whatever its previous setting was. So even if, say, we make a gemus script that first sets a sensible highest-common-denominator default for cpu_type (which, of course, still isn't the right thing to do in many circumstances), and THEN sets the value from the WHDLoad Gemus k-v pairs, that will STILL get the value in WHDLoad.uae overridden with (literally) '%cpu_type%' in the cases where the value doesn't exist in the WHDLoad Gemus K-Vs (I guess in this instance we're missing an IF (%cpu_type_value%) { Set_CFG_Value(%dbpath%\WHDLoad.uae||cpu_type||%cpu_type_value%) } but then which cpu_type_value would we be referring to in the IF - the one for floppy or the one for whd?!!!!) Irrespective: in particular, something is making games run much to fast for me when run as WHD, but run fine as Floppy games, I assume this is some combo of cpu_type, chipset and speed, but i can't quite track it down....what would people advise I do to get me out of this situation? I probably require contextualising...Thanks again |
All times are GMT +2. The time now is 21:54. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.