Skip to content

Commit 4ca1c14

Browse files
committed
Disable input to gba when overlay is on
1 parent 6aca414 commit 4ca1c14

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

src/gbatang_top.sv

+8-4
Original file line numberDiff line numberDiff line change
@@ -425,18 +425,20 @@ gba_timer timer (
425425
// Joypad
426426
////////////////////////////
427427

428+
wire [11:0] joy_btns_gba, joy_btns_iosys;
428429
`ifndef VERILATOR
429430
wire [11:0] joy_btns; // (R L X A RT LT DN UP START SELECT Y B)
430431
controller_ds2 ds2 (
431432
.clk(clk16), .snes_buttons(joy_btns),
432433
.ds_clk(ds_clk), .ds_miso(ds_miso), .ds_mosi(ds_mosi), .ds_cs(ds_cs)
433434
);
434435
`endif
436+
435437
gba_joypad joypad (
436438
.mclk(clk16), /*.fclk(clk33),*/ `GB_BUS_PORTS_INST, .IRP_Joypad(IRP_Joypad),
437-
.KeyA(joy_btns[8]), .KeyB(joy_btns[0]), .KeySelect(joy_btns[2]), .KeyStart(joy_btns[3]),
438-
.KeyRight(joy_btns[7]), .KeyLeft(joy_btns[6]), .KeyUp(joy_btns[4]), .KeyDown(joy_btns[5]),
439-
.KeyR(joy_btns[11]), .KeyL(joy_btns[10]),
439+
.KeyA(joy_btns_gba[8]), .KeyB(joy_btns_gba[0]), .KeySelect(joy_btns_gba[2]), .KeyStart(joy_btns_gba[3]),
440+
.KeyRight(joy_btns_gba[7]), .KeyLeft(joy_btns_gba[6]), .KeyUp(joy_btns_gba[4]), .KeyDown(joy_btns_gba[5]),
441+
.KeyR(joy_btns_gba[11]), .KeyL(joy_btns_gba[10]),
440442
.cpu_done()
441443
);
442444

@@ -451,6 +453,8 @@ wire overlay;
451453
wire [10:0] overlay_x;
452454
wire [14:0] overlay_color;
453455
wire [9:0] overlay_y;
456+
assign joy_btns_gba = overlay ? 0 : joy_btns;
457+
assign joy_btns_iosys = overlay ? joy_btns : 0;
454458

455459
gba2hdmi video (
456460
.clk(clk50), .resetn(resetn),
@@ -476,7 +480,7 @@ iosys #(.CORE_ID(3)) iosys (
476480
.clk(clk16), .hclk(hclk), .spi_clk(clk67), .resetn(resetn),
477481

478482
.overlay(overlay), .overlay_x(overlay_x), .overlay_y(overlay_y), .overlay_color(overlay_color),
479-
.joy1(joy_btns), .joy2(12'b0),
483+
.joy1(joy_btns_iosys), .joy2(12'b0),
480484

481485
`ifdef TEST_LOADER
482486
.rom_loading(), .rom_do(), .rom_do_valid(),

verilator/sim_main.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,11 @@ const int BACKUP_SRAM = 3;
110110
const int BACKUP_EEPROM = 4;
111111

112112
const char *backup_type_name(int t) {
113-
if (t == 0) return "NONE";
114-
if (t == 1) return "FLASH512K";
115-
if (t == 1) return "FLASH1M";
116-
if (t == 3) return "SRAM";
117-
if (t == 4) return "EEPROM";
113+
if (t == BACKUP_NONE) return "NONE";
114+
if (t == BACKUP_FLASH512K) return "FLASH512K";
115+
if (t == BACKUP_FLASH1M) return "FLASH1M";
116+
if (t == BACKUP_SRAM) return "SRAM";
117+
if (t == BACKUP_EEPROM) return "EEPROM";
118118
return "UNKNOWN";
119119
}
120120

0 commit comments

Comments
 (0)