Allow startup slot to be set externally.

This commit is contained in:
James Sanford 2012-10-12 19:08:12 -07:00
parent 8683da9557
commit ce110ffb86
2 changed files with 22 additions and 0 deletions

View File

@ -480,6 +480,21 @@ void x_key_special(int key_id) {
g_limit_speed = key_id;
g_config_kegs_update_needed = 1;
break;
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
// Set startup slot in BRAM for ROM 1 and ROM 3. Slot 0 is 'scan'.
clk_bram_set(0, 0x28, key_id - 10);
clk_bram_set(1, 0x28, key_id - 10);
g_config_kegs_update_needed = 1;
break;
case 120:
set_halt(HALT_WANTTOQUIT); // request kegsmain to exit
break;

View File

@ -174,6 +174,13 @@ class KegsView extends SurfaceView implements SurfaceHolder.Callback {
mEventQueue.add(new Event.KeyKegsEvent(speed + 0x80, true));
}
public void setStartupSlot(int slot) {
if (slot >= 0 && slot <= 9) {
// Special event, see android_driver.c:x_key_special()
mEventQueue.add(new Event.KeyKegsEvent(slot + 10, true));
}
}
public void doWarmReset() {
// Press keys down.
mEventQueue.add(new Event.KeyKegsEvent(KegsKeyboard.KEY_OPEN_APPLE, false));