1
0
mirror of https://github.com/UzixLS/zx-sizif-512.git synced 2025-07-19 15:22:29 +03:00

add option to remap gamepad button A as UP

This commit is contained in:
Eugene Lozovoy
2023-02-16 07:49:28 +03:00
parent c6cd0fb7d2
commit 36d77c3ab6
5 changed files with 35 additions and 5 deletions

View File

@ -38,7 +38,8 @@ module magic(
output reg soundrive_en,
output reg sd_indication_en,
output reg bright_boost,
output reg zxkit1
output reg zxkit1,
output reg joy_a_up
);
localparam magic_on_start = 1'b1;
@ -134,6 +135,7 @@ always @(posedge clk28 or negedge rst_n) begin
`endif
autoturbo_en <= 1'b0;
zxkit1 <= 1'b0;
joy_a_up <= 1'b0;
end
else if (config_cs && bus.wr) case (bus.a[15:8])
8'h01: {rom_wren, magic_reboot, magic_beeper} <= bus.d[2:0];
@ -151,6 +153,7 @@ always @(posedge clk28 or negedge rst_n) begin
8'h0D: bright_boost <= bus.d[0];
8'h0E: autoturbo_en <= bus.d[0];
8'h0F: zxkit1 <= bus.d[0];
8'h10: joy_a_up <= bus.d[0];
endcase
end

View File

@ -105,6 +105,7 @@ wire div_wait;
wire sd_indication;
wire bright_boost;
wire zxkit1;
wire joy_a_up;
/* CPU BUS */
@ -305,8 +306,14 @@ joysega joysega0(
.joy_mode(joy_mode)
);
wire [7:0] kempston_data = {1'b0, joy_b3_turbo, joy_b2_turbo, ps2_joy_fire | joy_b1_turbo,
ps2_joy_up | joy_up, ps2_joy_down | joy_down, ps2_joy_left | joy_left, ps2_joy_right | joy_right};
wire [7:0] kempston_data = {1'b0,
(joy_a_up? 1'b0 : joy_b3_turbo),
joy_b2_turbo,
ps2_joy_fire | joy_b1_turbo,
ps2_joy_up | joy_up | (joy_a_up? joy_b3_turbo : 1'b0),
ps2_joy_down | joy_down,
ps2_joy_left | joy_left,
ps2_joy_right | joy_right};
/* CPU CONTROLLER */
@ -409,7 +416,8 @@ magic magic0(
.soundrive_en(soundrive_en),
.sd_indication_en(sd_indication_en),
.bright_boost(bright_boost),
.zxkit1(zxkit1)
.zxkit1(zxkit1),
.joy_a_up(joy_a_up)
);

View File

@ -45,7 +45,7 @@ sdind DB 1
bright DB BRIGHT_DEFAULT
autoturbo DB 0
zxkit1 DB 0
ENDIF
joy_a_up DB 0
ENDS
STRUCT CFGEXT_T

View File

@ -65,6 +65,7 @@ menuadv: MENU_DEF 22
MENUENTRY_T str_bright_boost menu_bright_value_cb menu_bright_cb
MENUENTRY_T str_autoturbo menu_autoturbo_value_cb menu_autoturbo_cb
MENUENTRY_T str_zxkit1 menu_zxkit1_value_cb menu_zxkit1_cb
MENUENTRY_T str_joy_a_up menu_joy_a_up_value_cb menu_joy_a_up_cb
MENUENTRY_T str_save_settings menu_cfgsave_value_cb menu_cfgsave_cb
MENUENTRY_T str_back 0 menu_back_cb
MENUENTRY_T 0
@ -233,6 +234,14 @@ menu_zxkit1_value_cb:
DW str_off_short.end-2
DW str_on_short.end-2
menu_joy_a_up_value_cb:
ld ix, .values_table
ld a, (cfg.joy_a_up)
jp menu_value_get
.values_table:
DW str_off_short.end-2
DW str_on_short.end-2
menu_cfgsave_value_cb:
ld ix, .values_table
ld a, (var_flash_error)
@ -421,6 +430,15 @@ menu_zxkit1_cb:
out (c), a
ret
menu_joy_a_up_cb:
ld a, (cfg.joy_a_up)
ld c, 1
call menu_handle_press
ld (cfg.joy_a_up), a
ld bc, #10ff
out (c), a
ret
menu_cfgsave_cb:
bit 4, d ; action?
ret z

View File

@ -51,6 +51,7 @@ str_sd_indication: DEFSTR "SD indication"
str_bright_boost: DEFSTR "Bright boost"
str_autoturbo: DEFSTR "Auto CPU freq"
str_zxkit1: DEFSTR "ZXKit1"
str_joy_a_up: DEFSTR "Map joy A as UP"
str_save_settings: DEFSTR "Save settings"
str_error: DEFSTR "ERROR"
str_no_error: DEFSTR " "