Closed giantclambake closed 1 year ago
A10 Tank Killer.uae.gz Testing Diskswapper key bindings
Setup: as per attached .uae config for the title 'A10 Tank Killer' ~ emulating an A500 with single floppy drive [DF0:] ; this title spans 3 floppy images, which have been loaded (in order) to diskswapper slots 1,2,3 respectively, with slot1 designated as DF0: The native Status Line is enabled to monitor DF0: activity and responses to key/joy inputs.
Note: In the .uae config, the mappings;
joyport1_amiberry_custom_none_leftshoulder=Previous slot in Disk Swapper
joyport1_amiberry_custom_none_rightshoulder=Next slot in Disk Swapper
Start emulation -> title loads from disk 1, and then prompts "Please Insert A10 Disk 2"
From the wiki;
**To insert disk image into drive DF0: then press END + F1**
To insert disk image into drive DF1: then press END + F2
To insert disk image into drive DF2: then press END + F3
To insert disk image into drive DF3: then press END + F4
The first option above, which is the only valid option with a single drive, pops GUI->Select disk image file. Other keypress combinations work fine, including Eject image combinations.
Mind you, this is non-sequitur here ~ all required disk images have already been loaded into disk swapper slots.
//I think we're talking about different aspects here, but not to worry 8)
Keyboard: END + 2
This inserts image in disk swapper slot 2 into drive DF0:
Game continues, select 'fly one mission' -> 'go' ~ game will prompt for disk 1, then shortly after prompt for disk 3
Keyboard: END + 1
Keyboard: END + 3
This all works as expected ~ F12 and restart ...
Start emulation -> title loads from disk 1, and then prompts "Please Insert A10 Disk 2"
Keyboard: Fn + F6
(this maps to AudioNext in amiberry on said kbd)
Nothing happens =)
AFAICT going by winuae docs, this function is (supposedly) mapped to 'next slot in disk mapper' (the companion mapping is Fn + F5 as being AudioPrevious aka 'previous slot in disk mapper').
I would imagine that if this doesn't work at the keyboard, that's why...
joyport1_amiberry_custom_none_leftshoulder=Previous slot in Disk Swapper
joyport1_amiberry_custom_none_rightshoulder=Next slot in Disk Swapper
..have no effect either. This is the functionality I've been looking for ~ a way to swap disks in the disk mapper using a joy-controller button ; it seems like all the labels etc are there, just not the function?
I should point out that in practical use, you can get away with just one button assignment that represents 'next slot in disk swapper', ~provided~ that the disk swapper list wraps around...ie; every press advances one slot...here we have 3 disks, so the mapper would go slot1, slot2, slot3, slot1, slot2 etc etc advancing with each button press...IE; with a 2 disk game, it just toggles between the two slot effectively..1,2,1,2,1 .... previous/next makes more sense on 5 or more disk image sets so you can quickly select a specific slot, but for <4 slots it's just as quick to click the button an extra time or two ~ the game prompts you if you insert wrong disk anyway...click again....etc.
That was using a generic SFC controller, where if I could get away with 1 button assignment, I would. I can't use END plus a number key for obvious reasons, and for sure if I was using a keyboard with separate multimedia keys, it would be 'nice' to swap disks with a single press of the 'next track' kbd button (which many desktop keyboards have).
Any chance of fixing this?
TIA
All the events and keyboard triggers for the DiskSwapper feature are in place, and from what I can see, are identical to that of WinUAE. It should work the same way it does there. Did you notice a difference?
BTW, I've added the Custom Events in their own wiki page: https://github.com/BlitterStudio/amiberry/wiki/Custom-Events
All the events and keyboard triggers for the DiskSwapper feature are in place, and from what I can see, are identical to that of >WinUAE. It should work the same way it does there. Did you notice a difference?
There's a question I cannot answer ~ I've never really used WinUAE ;)
BTW, I've added the Custom Events in their own wiki page: https://github.com/BlitterStudio/amiberry/wiki/Custom-Events
Ahh, excellent ~ that could be the 'missing piece' as it were --- I'll leave this open for now, as I just want to test a usage case wrt a simple SFC d-pad controller...
M'kay, seems to work 'as expected' ...seeing as the Custom Events wiki page is late to the party, it's still correct to call it the missing piece here. In consideration of the events listing being ordered the way they are (both in GUI dropdown menus & wiki), we can keep that consistency, and create pointers to relevant custom events if required, in other helptexts...
...in effect, reference to Custom Events are (going to be) part of the Custom control panel helptext anyway....so we could do something like this ;
helptext.emplace_back("Additionally, you can control disk swapper actions, by assigning a Custom Event to");
helptext.emplace_back("the required game-controller buttons, in the \"Custom controls\" configuration panel.");
helptext.emplace_back(" ");
helptext.emplace_back("The available custom events for disk swapper actions are:");
helptext.emplace_back(" ");
helptext.emplace_back("- Next slot in Disk Swapper");
helptext.emplace_back("- Previous slot in Disk Swapper");
helptext.emplace_back("- Insert disk in current Disk Swapper slot in DF0:");
helptext.emplace_back("- Insert disk in current Disk Swapper slot in DF1:");
helptext.emplace_back("- Insert disk in current Disk Swapper slot in DF2:");
helptext.emplace_back("- Insert disk in current Disk Swapper slot in DF3:");
helptext.emplace_back(" ");
You can likely consider closing this as fixed by the wiki update & edit to PanelDiskSwapper.cpp above.
I'll update the Custom controls helptext area next to ensure it all knits together.
TIA
Fixed with fb583ec344a3d96b49dc7cbdb7fddd2e9c41d569
We already have the conundrum of considering what, if anything, could be done with the GUI->Custom controls panel, to stop it truncating item descriptions in dropdown menus/textboxes ..ie;
That'll be something one could live with, IF the wiki listed all the mapping options available in full ... which it currently doesn't afaict ... but beyond that, the screenshot has been somewhat 'staged' here, to obviate custom control mappings that directly manipulate disk swapper actions ~ this is/was what I was searching for tbh =)
The typical usage scenario would be a USB connected SFC controller as the only input device. Given the limited number of inputs, being able to map next/previous slot in the disk swapper list to 2 buttons is likely the best way to go...(and this may likely be so regardless of which controller type is being used)...
...actually, that's wrong ~ amiberry should be better than that, and monitor a single button for number of presses ...ie; 1 press = swap disks (2 disk title), 2 presses = next, 3 presses = previous ..or such'n'similar (put this on my wish list =)
I am unsure whether or not anything can be done wrt the Custom controls panel cutting off descriptor names, except as suggested having a wiki entry that read 'due to amiberry's GUI optimizations, some Custom control mapping names are truncated. The full list of available Custom controls are listed below //insert said list//' .. perhaps I feel it's a somewhat under-documented feature, somewhat obfuscated by GUI view?
Wrt the disk swapper previous/next slot function actually being 'hidden away' in said list, it would make sense to me to find documentation pointing out this fact in the wiki (and perhaps helptext?) wrt Disk swapper operations. What do you think?
TIA