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:
@ -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
|
||||
|
||||
|
@ -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)
|
||||
);
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 " "
|
||||
|
Reference in New Issue
Block a user