From 515d188ce81856f3839d7a10ccb47c5e3c624baa Mon Sep 17 00:00:00 2001 From: paulb-nl Date: Sat, 21 Jun 2025 15:38:39 +0200 Subject: [PATCH 1/7] HDMA: transfer stops only if target address overflows at $FFFF Fixes hang in F1 Championship Season 2000 --- rtl/hdma.v | 27 ++++++++++++++------------- rtl/reg_savestates.vhd | 2 +- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/rtl/hdma.v b/rtl/hdma.v index 411c4b7..1def0d6 100644 --- a/rtl/hdma.v +++ b/rtl/hdma.v @@ -28,18 +28,18 @@ module hdma( ); // savestates -wire [44:0] SS_HDMA; -wire [44:0] SS_HDMA_BACK; +wire [47:0] SS_HDMA; +wire [47:0] SS_HDMA_BACK; -eReg_SavestateV #(0, 7, 44, 0, 64'h0000000001FFFFF0) iREG_SAVESTATE_HDMA (clk, SaveStateBus_Din, SaveStateBus_Adr, SaveStateBus_wren, SaveStateBus_rst, SaveStateBus_Dout, SS_HDMA_BACK, SS_HDMA); +eReg_SavestateV #(0, 7, 47, 0, 64'h0000E00001FFFFF0) iREG_SAVESTATE_HDMA (clk, SaveStateBus_Din, SaveStateBus_Adr, SaveStateBus_wren, SaveStateBus_rst, SaveStateBus_Dout, SS_HDMA_BACK, SS_HDMA); //"The preparation time (4 clocks) is the same in single and double speed mode" localparam START_DELAY = 3'd4, END_DELAY = 3'd4; // ff51-ff55 HDMA1-5 (GBC) -reg [11:0] hdma_source; // ff51, ff52 only top 4 bits used -reg [8:0] hdma_target; // ff53 only lowest 5 bits used, ff54 only top 4 bits used +reg [15:4] hdma_source; // ff51, ff52 only top 4 bits used +reg [15:4] hdma_target; // ff53, ff54 only top 4 bits used reg hdma_mode; // ff55 bit 7 - 0 = General Purpose DMA / 1 = H-Blank DMA reg hdma_enabled; // ff55 !bit 7 when read @@ -53,8 +53,8 @@ wire [1:0] byte_cycles = speed ? 2'd3 : 2'd1; reg [1:0] hdma_cnt; //assign hdma_rd = hdma_active; -assign hdma_source_addr = { hdma_source, byte_cnt }; -assign hdma_target_addr = { 3'b100,hdma_target, byte_cnt }; +assign hdma_source_addr = { hdma_source, byte_cnt }; +assign hdma_target_addr = { hdma_target, byte_cnt }; reg [2:0] dma_delay; @@ -68,7 +68,7 @@ assign SS_HDMA_BACK[ 0] = hdma_active ; assign SS_HDMA_BACK[ 2: 1] = hdma_state ; assign SS_HDMA_BACK[ 3] = hdma_enabled; assign SS_HDMA_BACK[15: 4] = hdma_source ; -assign SS_HDMA_BACK[24:16] = hdma_target ; +assign SS_HDMA_BACK[24:16] = hdma_target[12:4]; assign SS_HDMA_BACK[27:25] = dma_delay ; assign SS_HDMA_BACK[ 28] = hdma_rd ; assign SS_HDMA_BACK[ 29] = hdma_end ; @@ -76,6 +76,7 @@ assign SS_HDMA_BACK[ 30] = hdma_mode ; assign SS_HDMA_BACK[38:31] = hdma_length ; assign SS_HDMA_BACK[42:39] = byte_cnt ; assign SS_HDMA_BACK[44:43] = hdma_cnt ; +assign SS_HDMA_BACK[47:45] = hdma_target[15:13]; always @(posedge clk) begin @@ -84,7 +85,7 @@ always @(posedge clk) begin hdma_state <= SS_HDMA[ 2: 1]; // wait_h; hdma_enabled <= SS_HDMA[ 3]; // 1'b0; hdma_source <= SS_HDMA[15: 4]; // 12'hFFF; - hdma_target <= SS_HDMA[24:16]; // 9'h1FF; + hdma_target <= { SS_HDMA[47:45], SS_HDMA[24:16] }; // 12'hFFF; dma_delay <= SS_HDMA[27:25]; // 3'd0; hdma_rd <= SS_HDMA[ 28]; // 0; hdma_end <= SS_HDMA[ 29]; // 0; @@ -97,10 +98,10 @@ always @(posedge clk) begin if(sel_reg && wr) begin case (addr) - 4'd1: hdma_source[11:4] <= din; - 4'd2: hdma_source[3:0] <= din[7:4]; - 4'd3: hdma_target[8:4] <= din[4:0]; - 4'd4: hdma_target[3:0] <= din[7:4]; + 4'd1: hdma_source[15:8] <= din; + 4'd2: hdma_source[7:4] <= din[7:4]; + 4'd3: hdma_target[15:8] <= din; + 4'd4: hdma_target[7:4] <= din[7:4]; // writing the hdma register engages the dma engine 4'h5: begin diff --git a/rtl/reg_savestates.vhd b/rtl/reg_savestates.vhd index 7f85dba..e44867f 100644 --- a/rtl/reg_savestates.vhd +++ b/rtl/reg_savestates.vhd @@ -19,7 +19,7 @@ package pReg_savestates is -- components constant REG_SAVESTATE_Timer : regmap_type := ( 6, 46, 0, 1, x"0000000000000008"); - constant REG_SAVESTATE_HDMA : regmap_type := ( 7, 44, 0, 1, x"0000000001FFFFF0"); + constant REG_SAVESTATE_HDMA : regmap_type := ( 7, 47, 0, 1, x"0000E00001FFFFF0"); constant REG_SAVESTATE_Link : regmap_type := ( 8, 16, 0, 1, x"0000000000000000"); From d001d4350be9ca15c93e5ebfbfb1e46d304b44e4 Mon Sep 17 00:00:00 2001 From: paulb-nl Date: Sat, 21 Jun 2025 15:45:56 +0200 Subject: [PATCH 2/7] GBC bootrom is also disabled with bit 0 only --- rtl/gb.v | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rtl/gb.v b/rtl/gb.v index 44e6715..f7fbb49 100644 --- a/rtl/gb.v +++ b/rtl/gb.v @@ -904,10 +904,10 @@ assign SS_Top_BACK[23] = boot_rom_enabled; always @(posedge clk_sys) begin if(reset_ss) boot_rom_enabled <= SS_Top[23]; // 1'b1; - else if (ce) begin - if((cpu_addr == 16'hff50) && !cpu_wr_n_edge) - if ((isGBC && cpu_do[7:0]==8'h11) || (!isGBC && cpu_do[0])) - boot_rom_enabled <= 1'b0; + else if (ce) begin + if((cpu_addr == 16'hff50) && !cpu_wr_n_edge && cpu_do[0]) begin + boot_rom_enabled <= 1'b0; + end end end From dbe7e7ef4a059989b3f30587449def69c9ef9a91 Mon Sep 17 00:00:00 2001 From: paulb-nl Date: Sat, 21 Jun 2025 16:02:29 +0200 Subject: [PATCH 3/7] Improve GBC color correction Color LUT for mix of 2 colors with 2 stage gamma --- rtl/lcd.v | 36 +++++++++++++++---- rtl/lcd_color_lut.mif | 80 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+), 7 deletions(-) create mode 100644 rtl/lcd_color_lut.mif diff --git a/rtl/lcd.v b/rtl/lcd.v index 3a2130c..404afef 100644 --- a/rtl/lcd.v +++ b/rtl/lcd.v @@ -331,10 +331,6 @@ wire [4:0] r5 = pixel_out[4:0]; wire [4:0] g5 = pixel_out[9:5]; wire [4:0] b5 = pixel_out[14:10]; -wire [31:0] r10 = (r5 * 13) + (g5 * 2) +b5; -wire [31:0] g10 = (g5 * 3) + b5; -wire [31:0] b10 = (r5 * 3) + (g5 * 2) + (b5 * 11); - // greyscale wire [7:0] grey = (pixel==0) ? 8'd252 : (pixel==1) ? 8'd168 : (pixel==2) ? 8'd96 : 8'd0; @@ -347,12 +343,38 @@ function [7:0] blend; end endfunction +reg [3:0] color_lut_sr; +wire [7:0] color_lut_dout; + +wire [9:0] color_lut_addr = + color_lut_sr[0] ? { r5, r5 } : // red only + color_lut_sr[1] ? { b5, g5 } : // mixed blue + green + { b5, b5 }; // blue only + +// Color LUT for mix of 2 colors with 2 stage gamma +dpram_dif #(10,8,10,8,"lcd_color_lut.mif") lcd_color_lut ( + .clock (clk_vid), + + .address_a (color_lut_addr), + .q_a (color_lut_dout) +); + + +reg [7:0] r_lut, g_lut, b_lut; +always@(posedge clk_vid) begin + color_lut_sr <= { color_lut_sr[2:0], ce_pix_n }; + + if (color_lut_sr[1]) begin r_lut <= color_lut_dout; end + if (color_lut_sr[2]) begin g_lut <= color_lut_dout; end + if (color_lut_sr[3]) begin b_lut <= color_lut_dout; end +end + reg [7:0] r_tmp, g_tmp, b_tmp; always@(*) begin if (isGBC & !originalcolors) begin - r_tmp = r10[8:1]; - g_tmp = {g10[6:0],1'b0}; - b_tmp = b10[8:1]; + r_tmp = r_lut; + g_tmp = g_lut; + b_tmp = b_lut; end else if (isGBC & originalcolors) begin r_tmp = {r5,r5[4:2]}; g_tmp = {g5,g5[4:2]}; diff --git a/rtl/lcd_color_lut.mif b/rtl/lcd_color_lut.mif new file mode 100644 index 0000000..e7c197a --- /dev/null +++ b/rtl/lcd_color_lut.mif @@ -0,0 +1,80 @@ +-- GBC LCD color LUT +-- Calculation: +-- col1, col2 range 0 - 31 +-- a = col1 * 255 / 31 (to range 0-255) +-- b = col2 * 255 / 31 +-- c = pow(a/255, 2.2) * 255 (pre-gamma 2.2) +-- d = pow(b/255, 2.2) * 255 +-- e = ((c * 13) + (d * 3)) / 16 (mix color 13/16 + 3/16) +-- f = pow(e/255, 1/2.2 * 0.7) * 255 (final gamma 0.7) + +DEPTH = 1024; +WIDTH = 8; +ADDRESS_RADIX = HEX; +DATA_RADIX = HEX; +CONTENT BEGIN +0000: 00 16 23 2F 39 43 4C 54 5C 64 6C 74 7B 82 89 90; +0010: 96 9D A3 A9 B0 B6 BC C2 C8 CD D3 D9 DE E4 E9 EF; +0020: 0E 17 24 2F 39 43 4C 54 5D 64 6C 74 7B 82 89 90; +0030: 96 9D A3 A9 B0 B6 BC C2 C8 CD D3 D9 DE E4 E9 EF; +0040: 16 1B 25 30 3A 43 4C 55 5D 65 6C 74 7B 82 89 90; +0050: 96 9D A3 AA B0 B6 BC C2 C8 CD D3 D9 DE E4 E9 EF; +0060: 1D 20 28 32 3B 44 4D 55 5D 65 6D 74 7B 82 89 90; +0070: 97 9D A3 AA B0 B6 BC C2 C8 CD D3 D9 DE E4 E9 EF; +0080: 24 26 2C 34 3D 45 4E 56 5E 66 6D 74 7C 83 89 90; +0090: 97 9D A4 AA B0 B6 BC C2 C8 CE D3 D9 DF E4 E9 EF; +00A0: 2A 2B 30 37 3F 47 4F 57 5F 66 6E 75 7C 83 8A 91; +00B0: 97 9E A4 AA B0 B6 BC C2 C8 CE D3 D9 DF E4 EA EF; +00C0: 2F 31 35 3B 42 49 51 58 60 67 6F 76 7D 84 8A 91; +00D0: 98 9E A4 AA B1 B7 BD C2 C8 CE D4 D9 DF E4 EA EF; +00E0: 35 36 39 3E 45 4B 53 5A 61 68 70 77 7E 84 8B 92; +00F0: 98 9E A5 AB B1 B7 BD C3 C9 CE D4 DA DF E5 EA EF; +0100: 3A 3B 3E 42 48 4E 55 5C 63 6A 71 78 7E 85 8C 92; +0110: 99 9F A5 AB B1 B7 BD C3 C9 CF D4 DA DF E5 EA F0; +0120: 3F 40 42 46 4B 51 57 5E 65 6B 72 79 7F 86 8D 93; +0130: 99 A0 A6 AC B2 B8 BE C3 C9 CF D5 DA E0 E5 EA F0; +0140: 44 44 46 4A 4E 54 5A 60 66 6D 74 7A 81 87 8D 94; +0150: 9A A0 A6 AC B2 B8 BE C4 CA CF D5 DA E0 E5 EB F0; +0160: 48 49 4B 4E 52 57 5C 62 68 6F 75 7B 82 88 8E 95; +0170: 9B A1 A7 AD B3 B9 BF C4 CA D0 D5 DB E0 E6 EB F0; +0180: 4D 4D 4F 52 55 5A 5F 65 6B 71 77 7D 83 89 90 96; +0190: 9C A2 A8 AE B4 BA BF C5 CB D0 D6 DB E1 E6 EC F1; +01A0: 51 52 53 56 59 5D 62 67 6D 73 79 7F 85 8B 91 97; +01B0: 9D A3 A9 AF B4 BA C0 C6 CB D1 D6 DC E1 E7 EC F1; +01C0: 56 56 57 5A 5D 61 65 6A 6F 75 7B 80 86 8C 92 98; +01D0: 9E A4 AA B0 B5 BB C1 C6 CC D1 D7 DC E2 E7 EC F2; +01E0: 5A 5A 5C 5E 60 64 68 6D 72 77 7D 82 88 8E 94 99; +01F0: 9F A5 AB B1 B6 BC C2 C7 CD D2 D8 DD E2 E8 ED F2; +0200: 5E 5F 60 61 64 67 6B 70 74 79 7F 84 8A 8F 95 9B; +0210: A0 A6 AC B2 B7 BD C2 C8 CD D3 D8 DE E3 E8 ED F3; +0220: 62 63 64 65 68 6B 6E 73 77 7C 81 86 8C 91 97 9C; +0230: A2 A7 AD B3 B8 BE C3 C9 CE D4 D9 DE E4 E9 EE F3; +0240: 66 67 67 69 6B 6E 72 75 7A 7E 83 88 8E 93 98 9E; +0250: A3 A9 AE B4 B9 BF C4 CA CF D4 DA DF E4 EA EF F4; +0260: 6A 6A 6B 6D 6F 71 75 78 7D 81 86 8B 90 95 9A 9F; +0270: A5 AA B0 B5 BA C0 C5 CB D0 D5 DB E0 E5 EA EF F5; +0280: 6E 6E 6F 70 72 75 78 7B 7F 84 88 8D 92 97 9C A1; +0290: A6 AC B1 B6 BC C1 C6 CC D1 D6 DB E1 E6 EB F0 F5; +02A0: 72 72 73 74 76 78 7B 7E 82 86 8B 8F 94 99 9E A3; +02B0: A8 AD B2 B8 BD C2 C7 CD D2 D7 DC E1 E7 EC F1 F6; +02C0: 76 76 77 78 79 7C 7E 82 85 89 8D 91 96 9B A0 A5; +02D0: AA AF B4 B9 BE C3 C9 CE D3 D8 DD E2 E7 ED F2 F7; +02E0: 79 7A 7A 7B 7D 7F 82 85 88 8C 90 94 98 9D A2 A6; +02F0: AB B0 B5 BA C0 C5 CA CF D4 D9 DE E3 E8 ED F2 F7; +0300: 7D 7D 7E 7F 80 82 85 88 8B 8E 92 96 9B 9F A4 A8; +0310: AD B2 B7 BC C1 C6 CB D0 D5 DA DF E4 E9 EE F3 F8; +0320: 81 81 81 82 84 86 88 8B 8E 91 95 99 9D A1 A6 AA; +0330: AF B4 B9 BE C2 C7 CC D1 D6 DB E0 E5 EA EF F4 F9; +0340: 84 84 85 86 87 89 8B 8E 91 94 98 9B 9F A4 A8 AC; +0350: B1 B6 BA BF C4 C9 CE D3 D8 DD E1 E6 EB F0 F5 FA; +0360: 88 88 89 89 8B 8C 8E 91 94 97 9A 9E A2 A6 AA AE; +0370: B3 B7 BC C1 C6 CA CF D4 D9 DE E3 E7 EC F1 F6 FB; +0380: 8B 8C 8C 8D 8E 90 92 94 97 9A 9D A0 A4 A8 AC B0; +0390: B5 B9 BE C2 C7 CC D1 D5 DA DF E4 E9 ED F2 F7 FC; +03A0: 8F 8F 8F 90 91 93 95 97 9A 9C A0 A3 A7 AA AE B3; +03B0: B7 BB C0 C4 C9 CD D2 D7 DC E0 E5 EA EF F3 F8 FD; +03C0: 92 92 93 94 95 96 98 9A 9D 9F A2 A6 A9 AD B1 B5; +03D0: B9 BD C2 C6 CA CF D4 D8 DD E2 E6 EB F0 F4 F9 FE; +03E0: 96 96 96 97 98 99 9B 9D 9F A2 A5 A8 AC AF B3 B7; +03F0: BB BF C3 C8 CC D1 D5 DA DE E3 E8 EC F1 F6 FA FF; +END; From d11c2bdd3b307facdf2ae06fa39cfeea46beb15c Mon Sep 17 00:00:00 2001 From: paulb-nl Date: Sat, 21 Jun 2025 16:08:34 +0200 Subject: [PATCH 4/7] OAM: Change data bus to 16bit -Add shared buffers for X/Y and Tile index/attributes -X/Y buffers during mode2 are not updated when OAM dma is active (Needed for strikethrough.gb test glitch) --- rtl/sprites.v | 132 ++++++++++++++++++++++++++------------------------ rtl/video.v | 3 +- 2 files changed, 72 insertions(+), 63 deletions(-) diff --git a/rtl/sprites.v b/rtl/sprites.v index 4914be5..1dc9490 100644 --- a/rtl/sprites.v +++ b/rtl/sprites.v @@ -32,7 +32,8 @@ module sprites ( // pixel position input which the current pixel is generated for input [7:0] v_cnt, input [7:0] h_cnt, - + + input sprite_fetch_c1, input sprite_fetch_done, output sprite_fetch, @@ -41,7 +42,7 @@ module sprites ( output oam_eval, output [10:0] sprite_addr, - output reg [7:0] sprite_attr, + output [7:0] sprite_attr, output [3:0] sprite_index, output oam_eval_end, @@ -62,48 +63,67 @@ module sprites ( localparam SPRITES_PER_LINE = 10; -reg [7:0] oam_spr_addr; -wire [7:0] oam_fetch_addr; -reg [7:0] oam_q; +wire [7:2] oam_eval_addr, oam_fetch_addr; +wire [7:0] oam_l_q, oam_h_q; reg oam_eval_en; assign oam_eval = lcd_on & ~oam_eval_end & oam_eval_en & ~oam_eval_reset; -wire [7:0] oam_addr = dma_active ? oam_addr_in : - oam_eval ? oam_spr_addr : - oam_fetch ? oam_fetch_addr : - oam_addr_in; +wire [3:0] fetch_row; + +wire [7:1] oam_addr = dma_active ? oam_addr_in[7:1] : + oam_eval ? { oam_eval_addr, 1'b0 } : + oam_fetch ? { oam_fetch_addr, 1'b1 } : + oam_addr_in[7:1]; wire valid_oam_addr = (oam_addr[7:4] < 4'hA); // $FEA0 - $FEFF unused range -assign oam_do = dma_active ? 8'hFF : valid_oam_addr ? oam_q : 8'd0; +assign oam_do = ~valid_oam_addr ? 8'd0 : (oam_addr_in[0] ? oam_h_q : oam_l_q); +wire [7:0] Savestate_OAMRAMReadDataL, Savestate_OAMRAMReadDataH; -dpram #(8) oam_data ( +dpram #(7,8) oam_data_l ( .clock_a (clk ), - .address_a (oam_addr ), - .wren_a (ce_cpu && oam_wr && valid_oam_addr), + .address_a (oam_addr[7:1]), + .wren_a (ce_cpu && oam_wr && valid_oam_addr && ~oam_addr_in[0]), .data_a (oam_di ), - .q_a (oam_q ), + .q_a (oam_l_q ), .clock_b (clk), - .address_b (Savestate_OAMRAMAddr ), - .wren_b (Savestate_OAMRAMRWrEn ), + .address_b (Savestate_OAMRAMAddr[7:1]), + .wren_b (Savestate_OAMRAMRWrEn & ~Savestate_OAMRAMAddr[0]), .data_b (Savestate_OAMRAMWriteData), - .q_b (Savestate_OAMRAMReadData ) + .q_b (Savestate_OAMRAMReadDataL) ); +dpram #(7,8) oam_data_h ( + .clock_a (clk ), + .address_a (oam_addr[7:1] ), + .wren_a (ce_cpu && oam_wr && valid_oam_addr && oam_addr_in[0]), + .data_a (oam_di ), + .q_a (oam_h_q ), + + .clock_b (clk), + .address_b (Savestate_OAMRAMAddr[7:1]), + .wren_b (Savestate_OAMRAMRWrEn & Savestate_OAMRAMAddr[0]), + .data_b (Savestate_OAMRAMWriteData), + .q_b (Savestate_OAMRAMReadDataH) +); + +assign Savestate_OAMRAMReadData = Savestate_OAMRAMAddr[0] ? Savestate_OAMRAMReadDataH : Savestate_OAMRAMReadDataL; + reg [7:0] sprite_x[0:SPRITES_PER_LINE-1]; reg [3:0] sprite_y[0:SPRITES_PER_LINE-1]; reg [5:0] sprite_no[0:SPRITES_PER_LINE-1]; // OAM evaluation. Get the first 10 sprites on the current line. -reg [5:0] spr_index; // 40 sprites +reg [5:0] spr_index, spr_index_d; // 40 sprites reg [3:0] sprite_cnt; -reg sprite_cycle; +reg oam_eval_clk, oam_eval_clk_d, oam_eval_save; -reg [7:0] spr_y; +reg [7:0] sprite_x_attr, tile_index_y; wire [7:0] spr_height = size16 ? 8'd16 : 8'd8; -wire sprite_on_line = (v_cnt + 8'd16 >= spr_y) && (v_cnt + 8'd16 < spr_y + spr_height); +wire sprite_on_line = (v_cnt + 8'd16 >= tile_index_y) && (v_cnt + 8'd16 < tile_index_y + spr_height); +wire sprite_save = oam_eval_clk_d & oam_eval_en & sprite_on_line; assign oam_eval_end = (spr_index == 6'd40); @@ -117,8 +137,8 @@ always @(posedge clk) begin if (oam_eval_reset | ~lcd_on) begin sprite_cnt <= 0; spr_index <= ~lcd_on ? 6'd1 : 6'd0; - sprite_cycle <= 0; - oam_spr_addr <= 0; + oam_eval_clk <= 0; + oam_eval_clk_d <= 0; oam_eval_en <= oam_eval_reset ? 1'b1 : 1'b0; // OAM evaluation does not run on the first line after enabling the lcd for (spr_i=0; spr_i < SPRITES_PER_LINE; spr_i=spr_i+1) begin sprite_x[spr_i] <= 8'hFF; @@ -127,24 +147,19 @@ always @(posedge clk) begin end else begin if (~oam_eval_end) begin - if (sprite_cycle) spr_index <= spr_index + 1'b1; - - if (oam_eval_en && sprite_cnt < SPRITES_PER_LINE) begin - if (~sprite_cycle) begin - spr_y <= oam_do; - oam_spr_addr <= {spr_index,2'b01}; - end else begin - if (sprite_on_line) begin - sprite_no[sprite_cnt] <= spr_index; - sprite_x[sprite_cnt] <= oam_do; - sprite_y[sprite_cnt] <= v_cnt[3:0] - spr_y[3:0]; - sprite_cnt <= sprite_cnt + 1'b1; - end - oam_spr_addr <= {spr_index+1'b1, 2'b00}; - end + if (oam_eval_clk) begin + spr_index <= spr_index + 1'b1; + spr_index_d <= spr_index; end + oam_eval_clk <= ~oam_eval_clk; + end - sprite_cycle <= ~sprite_cycle; + oam_eval_clk_d <= oam_eval_clk; + if (sprite_save & (sprite_cnt < SPRITES_PER_LINE)) begin + sprite_no[sprite_cnt] <= spr_index_d; + sprite_x[sprite_cnt] <= sprite_x_attr; + sprite_y[sprite_cnt] <= v_cnt[3:0] - tile_index_y[3:0]; + sprite_cnt <= sprite_cnt + 1'b1; end // Set X-position to FF after fetching the sprite to prevent fetching it again. @@ -166,6 +181,18 @@ always @(posedge clk) begin end end +assign oam_eval_addr = spr_index; + +wire eval_save_xy = (~oam_eval_end & oam_eval_en & oam_eval_clk & ~dma_active); +wire fetch_save_index_attr = (sprite_fetch & sprite_fetch_c1); +always @(posedge clk) begin + if (ce) begin + if (eval_save_xy | fetch_save_index_attr) begin + tile_index_y <= oam_l_q; + sprite_x_attr <= oam_h_q; + end + end +end // Sprite fetching assign sprite_x_matches = { @@ -195,31 +222,12 @@ wire [3:0] active_sprite = sprite_x_matches[8] ? 4'd8 : 4'd9; assign sprite_index = active_sprite; +assign sprite_attr = sprite_x_attr; -wire [5:0] oam_fetch_index = sprite_no[active_sprite]; +assign oam_fetch_addr = sprite_no[active_sprite]; -reg [3:0] row; -reg [7:0] tile_no; -reg oam_fetch_cycle; -assign oam_fetch_addr = {oam_fetch_index, 1'b1, oam_fetch_cycle}; -assign sprite_addr = size16 ? {tile_no[7:1],row} : {tile_no,row[2:0]}; +assign fetch_row = sprite_attr[6] ? ~sprite_y[active_sprite] : sprite_y[active_sprite]; -always @(posedge clk) begin - if (ce) begin - if (sprite_fetch) begin - - if (~oam_fetch_cycle) begin - tile_no <= oam_do; - end else begin - sprite_attr <= oam_do; - row <= oam_do[6] ? ~sprite_y[active_sprite] : sprite_y[active_sprite]; - end - - oam_fetch_cycle <= ~oam_fetch_cycle; - end else begin - oam_fetch_cycle <= 0; - end - end -end +assign sprite_addr = size16 ? {tile_index_y[7:1],fetch_row} : {tile_index_y,fetch_row[2:0]}; endmodule \ No newline at end of file diff --git a/rtl/video.v b/rtl/video.v index cd81d70..e65b58d 100644 --- a/rtl/video.v +++ b/rtl/video.v @@ -370,7 +370,7 @@ assign mode = mode3_l & ~mode3_end ? 2'b11 : 2'b00; -assign oam_cpu_allow = ~(oam_eval | mode3); +assign oam_cpu_allow = ~(oam_eval | mode3 | dma_active); assign vram_cpu_allow = ~mode3; // -------------------------------------------------------------------- @@ -1004,6 +1004,7 @@ sprites sprites ( .sprite_addr ( sprite_addr ), .sprite_attr ( sprite_attr ), .sprite_index ( sprite_index ), + .sprite_fetch_c1 ( sprite_fetch_cycle == 3'd1 ), .sprite_fetch_done ( sprite_fetch_done) , .dma_active ( dma_active), From 4f937979ec63014302bc432a770ccdfdef2cc39b Mon Sep 17 00:00:00 2001 From: paulb-nl Date: Sat, 21 Jun 2025 17:41:30 +0200 Subject: [PATCH 5/7] Add option for extra sprites Maximum of 6 extra sprites per line Extra sprites are fetched during mode2 to not break mode3 timing --- Gameboy.sv | 17 +++- files.qip | 2 + rtl/gb.v | 6 ++ rtl/speedcontrol.vhd | 6 ++ rtl/sprites.v | 66 +++++++++++- rtl/sprites_extra.v | 205 ++++++++++++++++++++++++++++++++++++++ rtl/sprites_extra_store.v | 68 +++++++++++++ rtl/video.v | 163 ++++++++++++++++++++---------- 8 files changed, 477 insertions(+), 56 deletions(-) create mode 100644 rtl/sprites_extra.v create mode 100644 rtl/sprites_extra_store.v diff --git a/Gameboy.sv b/Gameboy.sv index 1e712f1..a9d06e3 100644 --- a/Gameboy.sv +++ b/Gameboy.sv @@ -210,7 +210,7 @@ assign DDRAM_WE = 0; // 0 1 2 3 4 5 6 // 01234567890123456789012345678901 23456789012345678901234567890123 // 0123456789ABCDEFGHIJKLMNOPQRSTUV 0123456789ABCDEFGHIJKLMNOPQRSTUV -// XXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX +// XXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXX `include "build_id.v" localparam CONF_STR = { @@ -228,16 +228,17 @@ localparam CONF_STR = { "P1,Audio & Video;", "P1-;", + "P1O[44],Extra sprites,No,Yes;", "P1ON,Seperator Line,Off,On;", "P1OC,Inverted color,No,Yes;", "P1O12,Custom Palette,Off,Auto,On;", "h1P1FC3,GBP,Load Palette;", + "d4P1OU,GBC Colors,Corrected,Raw;", + "P1O5,Sync Video,Off,On;", "P1-;", "P1O34,Aspect ratio,Original,Full Screen,[ARC1],[ARC2];", "P1OLM,Scale,Normal,V-Integer,Narrower HV-Integer,Wider HV-Integer;", "P1OIK,Scandoubler Fx,None,HQ2x,CRT 25%,CRT 50%,CRT 75%;", - "d4P1OU,GBC Colors,Corrected,Raw;", - "P1O5,Sync Video,Off,On;", "P1-;", "P1O78,Stereo mix,none,25%,50%,100%;", "P1O[43],Audio mode,Accurate,No Pops;", @@ -637,12 +638,14 @@ gb gb1 ( .clk_sys ( clk_sys ), .ce ( ce1_cpu ), // the whole gameboy runs on 4mhnz + .ce_n ( ce1_cpu_n ), // 4MHz falling edge clock enable .ce_2x ( ce1_cpu2x ), // ~8MHz in dualspeed mode (GBC) .isGBC ( isGBC ), .real_cgb_boot ( using_real_cgb_bios ), .isSGB ( 1'b0 ), .megaduck ( megaduck ), + .extra_spr_en( status[44] ), .joy_p54 ( joy1_p54 ), .joy_din ( joy1_do ), @@ -826,6 +829,7 @@ gb gb2 ( .clk_sys ( clk_sys ), .ce ( ce2_cpu ), // the whole gameboy runs on 4mhnz + .ce_n ( ce2_cpu_n ), // 4MHz falling edge clock enable .ce_2x ( ce2_cpu2x ), // ~8MHz in dualspeed mode (GBC) @@ -833,6 +837,7 @@ gb gb2 ( .real_cgb_boot ( using_real_cgb_bios ), .isSGB ( 1'b0 ), .megaduck ( megaduck ), + .extra_spr_en( status[44] ), .joy_p54 ( joy2_p54 ), .joy_din ( joy2_do ), @@ -1050,8 +1055,8 @@ video_freak video_freak //////////////////////////////// CE //////////////////////////////////// -wire ce1_cpu, ce1_cpu2x; -wire ce2_cpu, ce2_cpu2x; +wire ce1_cpu, ce1_cpu_n, ce1_cpu2x; +wire ce2_cpu, ce2_cpu_n, ce2_cpu2x; wire ce_ram2x; speedcontrol speedcontrol1 @@ -1062,6 +1067,7 @@ speedcontrol speedcontrol1 .romack (sdram_ack), .pausevideo (pauseVideoCore1 & status[5]), .ce (ce1_cpu), + .ce_n (ce1_cpu_n), .ce_2x (ce1_cpu2x) ); @@ -1073,6 +1079,7 @@ speedcontrol speedcontrol2 .romack (sdram_ack2), .pausevideo (pauseVideoCore2 & status[5]), .ce (ce2_cpu), + .ce_n (ce2_cpu_n), .ce_2x (ce2_cpu2x) ); diff --git a/files.qip b/files.qip index daffe35..1bcfbbf 100644 --- a/files.qip +++ b/files.qip @@ -8,6 +8,8 @@ set_global_assignment -name SYSTEMVERILOG_FILE rtl/megaswizzle.sv set_global_assignment -name VERILOG_FILE rtl/video.v set_global_assignment -name VERILOG_FILE rtl/timer.v set_global_assignment -name VERILOG_FILE rtl/sprites.v +set_global_assignment -name VERILOG_FILE rtl/sprites_extra.v +set_global_assignment -name VERILOG_FILE rtl/sprites_extra_store.v set_global_assignment -name VERILOG_FILE rtl/lcd.v set_global_assignment -name VHDL_FILE rtl/gbc_snd.vhd set_global_assignment -name VHDL_FILE rtl/speedcontrol.vhd diff --git a/rtl/gb.v b/rtl/gb.v index f7fbb49..75621dd 100644 --- a/rtl/gb.v +++ b/rtl/gb.v @@ -24,12 +24,14 @@ module gb ( input clk_sys, input ce, + input ce_n, input ce_2x, input [7:0] joystick, input isGBC, input real_cgb_boot, input isSGB, + input extra_spr_en, // cartridge interface // can adress up to 1MB ROM @@ -683,6 +685,7 @@ video video ( .reset ( reset_ss ), .clk ( clk_sys ), .ce ( ce ), // 4Mhz + .ce_n ( ce_n ), .ce_cpu ( ce_cpu ), //can be 2x in cgb double speed mode .isGBC ( isGBC ), .isGBC_mode ( isGBC_mode ), //enable GBC mode during bootstrap rom @@ -720,6 +723,9 @@ video video ( .dma_rd ( dma_rd ), .dma_addr ( dma_addr ), .dma_data ( dma_data ), + + .extra_spr_en( extra_spr_en ), + .extra_wait ( (isGBC & hdma_rd) | dma_rd | sel_vram ), .Savestate_OAMRAMAddr (Savestate_RAMAddr[7:0]), .Savestate_OAMRAMRWrEn (Savestate_RAMRWrEn[2]), diff --git a/rtl/speedcontrol.vhd b/rtl/speedcontrol.vhd index 1e1f4d6..35b3c7f 100644 --- a/rtl/speedcontrol.vhd +++ b/rtl/speedcontrol.vhd @@ -11,6 +11,7 @@ entity speedcontrol is romack : in std_logic; pausevideo : in std_logic; ce : out std_logic := '0'; + ce_n : out std_logic := '0'; ce_2x : out std_logic := '0' ); end entity; @@ -34,6 +35,7 @@ begin if falling_edge(clk_sys) then ce <= '0'; + ce_n <= '0'; ce_2x <= '0'; skipclock := '0'; @@ -42,6 +44,9 @@ begin if (clkdiv = "000") then ce <= '1'; end if; + if (clkdiv = "100") then + ce_n <= '1'; + end if; if (clkdiv(1 downto 0) = "00") then ce_2x <= '1'; end if; @@ -76,6 +81,7 @@ begin if (skipclock = '1') then ce <= '0'; + ce_n <= '0'; ce_2x <= '0'; if (clkdiv = "100") then clkdiv <= "001"; diff --git a/rtl/sprites.v b/rtl/sprites.v index 1dc9490..ec1ceff 100644 --- a/rtl/sprites.v +++ b/rtl/sprites.v @@ -53,6 +53,21 @@ module sprites ( input [7:0] oam_addr_in, input [7:0] oam_di, output [7:0] oam_do, + + input extra_spr_en, + input extra_wait, + + output extra_tile_fetch, + output [11:0] extra_tile_addr, + input [7:0] tile_data_in, + + output spr_extra_found, + output [7:0] spr_extra_tile0, + output [7:0] spr_extra_tile1, + output [2:0] spr_extra_cgb_pal, + output [3:0] spr_extra_index, + output spr_extra_pal, + output spr_extra_prio, // savestates input [7:0] Savestate_OAMRAMAddr, @@ -71,7 +86,12 @@ assign oam_eval = lcd_on & ~oam_eval_end & oam_eval_en & ~oam_eval_reset; wire [3:0] fetch_row; +wire oam_eval_extra; +wire [7:1] oam_extra_addr; +wire [7:0] spr_extra_fetch_attr; + wire [7:1] oam_addr = dma_active ? oam_addr_in[7:1] : + oam_eval_extra ? { oam_extra_addr } : oam_eval ? { oam_eval_addr, 1'b0 } : oam_fetch ? { oam_fetch_addr, 1'b1 } : oam_addr_in[7:1]; @@ -222,7 +242,7 @@ wire [3:0] active_sprite = sprite_x_matches[8] ? 4'd8 : 4'd9; assign sprite_index = active_sprite; -assign sprite_attr = sprite_x_attr; +assign sprite_attr = oam_eval_extra ? spr_extra_fetch_attr : sprite_x_attr; assign oam_fetch_addr = sprite_no[active_sprite]; @@ -230,4 +250,48 @@ assign fetch_row = sprite_attr[6] ? ~sprite_y[active_sprite] : sprite_y[active_s assign sprite_addr = size16 ? {tile_index_y[7:1],fetch_row} : {tile_index_y,fetch_row[2:0]}; +// Extra sprites: +// Sprite tile fetching during mode3 reduces the length of HBlank. +// Simply adding more sprites will shorten HBlank even more which breaks timing. +// Instead, this module will try to fetch tile data for extra sprites during mode2 if VRAM is idle. +sprites_extra sprites_extra ( + .clk ( clk ), + .ce ( ce ), + + .extra_spr_en ( extra_spr_en ), + + .v_cnt ( v_cnt ), + .h_cnt ( h_cnt ), + + .oam_eval_clk ( oam_eval_clk ), + .oam_eval_reset ( oam_eval_reset | ~lcd_on), + .oam_eval_end ( oam_eval_end ), + + .size16 ( size16 ), + + .oam_index ( spr_index ), + .sprite_cnt ( sprite_cnt ), + + .oam_l_q ( oam_l_q ), + .oam_h_q ( oam_h_q ), + + .extra_wait ( extra_wait ), + .oam_eval_extra ( oam_eval_extra ), + .oam_extra_addr ( oam_extra_addr ) , + + .spr_fetch_attr ( spr_extra_fetch_attr ), + + .tile_fetch ( extra_tile_fetch ), + .tile_data_in ( tile_data_in ), + .tile_addr ( extra_tile_addr ), + + .spr_found ( spr_extra_found ), + .spr_tile0 ( spr_extra_tile0 ), + .spr_tile1 ( spr_extra_tile1 ), + .spr_pal ( spr_extra_pal ), + .spr_prio ( spr_extra_prio ), + .spr_cgb_pal ( spr_extra_cgb_pal ), + .spr_index ( spr_extra_index ) +); + endmodule \ No newline at end of file diff --git a/rtl/sprites_extra.v b/rtl/sprites_extra.v new file mode 100644 index 0000000..31a6a22 --- /dev/null +++ b/rtl/sprites_extra.v @@ -0,0 +1,205 @@ +module sprites_extra ( + input clk, + input ce, + + input extra_spr_en, + + input oam_eval_end, + input oam_eval_clk, + input oam_eval_reset, + + input size16, + + input [5:0] oam_index, + input [3:0] sprite_cnt, + + input [7:0] oam_l_q, + input [7:0] oam_h_q, + + input [7:0] v_cnt, + input [7:0] h_cnt, + + input extra_wait, + output oam_eval_extra, + output [7:1] oam_extra_addr, + + output [7:0] spr_fetch_attr, + + output tile_fetch, + output [11:0] tile_addr, + input [7:0] tile_data_in, + + output spr_found, + output [7:0] spr_tile0, + output [7:0] spr_tile1, + output [2:0] spr_cgb_pal, + output [3:0] spr_index, + output spr_pal, + output spr_prio +); + +// Maximum extra sprites is 6 currently because sprite index in the pixel shifters is 4 bits. +localparam SPRITES_PER_LINE = 10; +localparam SPRITES_EXTRA = 6; + +wire [SPRITES_EXTRA-1:0] sprite_x_matches; + +reg [7:0] sprite_x; +reg [3:0] sprite_y; + +reg [5:0] extra_oam_index; +reg [3:0] new_sprite_x_index; +reg [4:0] extra_sprite_index; + +reg oam_attr_fetch; + +reg [7:0] tile_index; +reg [7:0] tile_y; +reg [3:0] tile_row; +reg [7:0] tile_attr; + +reg extra_waiting; +wire extra_pause = extra_wait | extra_waiting; + +wire oam_extra_start = extra_spr_en & (sprite_cnt == SPRITES_PER_LINE); + +assign oam_eval_extra = oam_extra_start & ~oam_eval_end & ~extra_pause; +assign oam_extra_addr = { extra_oam_index, oam_attr_fetch }; + +assign spr_fetch_attr = tile_attr; + +wire [7:0] spr_height = size16 ? 8'd16 : 8'd8; +wire sprite_on_line = (v_cnt + 8'd16 >= oam_l_q) && (v_cnt + 8'd16 < oam_l_q + spr_height); + +reg tile_fetching; +reg [3:0] tile_fetch_x_index; +reg [3:0] tile_fetch_sprite_index; +reg [1:0] tile_fetch_cnt; +reg tile1_fetch; + +wire tile_save; +reg save_x; + +always @(posedge clk) begin + if (ce) begin + if (~oam_extra_start) begin + extra_waiting <= 0; + end else if (oam_eval_clk) begin + extra_waiting <= extra_wait; + end + end +end + +always @(posedge clk) begin + if (ce) begin + + save_x <= 0; + + if (~oam_extra_start) begin + extra_oam_index <= oam_index; + oam_attr_fetch <= 0; + new_sprite_x_index <= 0; + extra_sprite_index <= SPRITES_PER_LINE[4:0]; + end else begin + if (oam_eval_clk & ~extra_pause) begin + if (~oam_attr_fetch) begin + if (sprite_on_line) begin + sprite_x <= oam_h_q; + sprite_y <= v_cnt[3:0] - oam_l_q[3:0]; + oam_attr_fetch <= 1; + end else begin + extra_oam_index <= extra_oam_index + 1'b1; + end + end else begin // Fetched attributes + extra_oam_index <= extra_oam_index + 1'b1; + oam_attr_fetch <= 0; + + tile_index <= oam_l_q; + tile_attr <= oam_h_q; + tile_row <= oam_h_q[6] ? ~sprite_y : sprite_y; + tile_fetch_sprite_index <= extra_sprite_index[3:0]; + + if (extra_sprite_index != SPRITES_PER_LINE+SPRITES_EXTRA) begin + if (~spr_found) begin // Skip sprite if this X position was already found + tile_fetch_x_index <= new_sprite_x_index; + save_x <= 1; // Store X position and start tile fetch + + new_sprite_x_index <= new_sprite_x_index + 1'b1; + end + + extra_sprite_index <= extra_sprite_index + 1'b1; + end + end + end + end + end +end + +assign tile_addr[11:5] = tile_index[7:1]; +assign tile_addr[4:1] = size16 ? tile_row : { tile_index[0],tile_row[2:0] }; +assign tile_addr[0] = tile1_fetch; + +assign tile_fetch = (save_x | tile_fetching) & ~extra_pause; +assign tile_save = tile_fetch & oam_eval_clk & tile1_fetch; + +reg [7:0] tile_data_0; + +always @(posedge clk) begin + if (ce) begin + if (oam_eval_reset | oam_eval_end) begin + tile_fetching <= 0; + tile1_fetch <= 0; + end else begin + if (save_x) begin + tile_fetching <= 1; + end + + if (tile_fetch & oam_eval_clk ) begin + if (~tile1_fetch) begin + tile_data_0 <= tile_data_in; + end else begin + tile_fetching <= 0; + end + tile1_fetch <= ~tile1_fetch; + end + end + end +end + +wire [7:0] sprite_x_sel = oam_eval_extra ? sprite_x : h_cnt; + +genvar j; + +generate + for (j = 0; j < SPRITES_EXTRA; j = j + 1) begin : gen_sprite_extra_store + sprites_extra_store st ( + .clk ( clk ), + .ce ( ce ), + + .reset ( oam_eval_reset ), + + .save_x ( save_x & (tile_fetch_x_index == (j)) ), + .xpos ( sprite_x_sel ), + + .tile_save ( tile_save & (tile_fetch_x_index == (j)) ), + .tile0_in ( tile_data_0 ), + .tile1_in ( tile_data_in ), + .index_in ( tile_fetch_sprite_index ), + .cgb_pal_in ( tile_attr[2:0] ), + .pal_in ( tile_attr[4] ), + .prio_in ( tile_attr[7] ), + + .x_match ( sprite_x_matches[j] ), + .tile0_o ( spr_tile0 ), + .tile1_o ( spr_tile1 ), + .pal_o ( spr_pal ), + .prio_o ( spr_prio ), + .cgb_pal_o ( spr_cgb_pal ), + .index_o ( spr_index ) + ); + end +endgenerate + +assign spr_found = |{sprite_x_matches} & extra_spr_en; + +endmodule \ No newline at end of file diff --git a/rtl/sprites_extra_store.v b/rtl/sprites_extra_store.v new file mode 100644 index 0000000..5f562bb --- /dev/null +++ b/rtl/sprites_extra_store.v @@ -0,0 +1,68 @@ +module sprites_extra_store ( + input clk, + input ce, + + input reset, + + input save_x, + input [7:0] xpos, + + input tile_save, + input [7:0] tile0_in, + input [7:0] tile1_in, + input [3:0] index_in, + input [2:0] cgb_pal_in, + input pal_in, + input prio_in, + + output x_match, + + output [7:0] tile0_o, + output [7:0] tile1_o, + output [2:0] cgb_pal_o, + output [3:0] index_o, + output pal_o, + output prio_o +); + +reg [7:0] x; +reg [7:0] tile0; +reg [7:0] tile1; +reg [2:0] cgb_pal; +reg [3:0] index; +reg pal; +reg prio; + +always @(posedge clk) begin + if (ce) begin + if (reset) begin + x <= 8'hFF; + tile0 <= 8'd0; + tile1 <= 8'd0; + end else begin + if (save_x) begin + x <= xpos; + end + + if (tile_save) begin + tile0 <= tile0_in; + tile1 <= tile1_in; + pal <= pal_in; + prio <= prio_in; + cgb_pal <= cgb_pal_in; + index <= index_in; + end + end + end +end + +assign x_match = (xpos == x); + +assign tile0_o = x_match ? tile0 : 8'hZZ; +assign tile1_o = x_match ? tile1 : 8'hZZ; +assign pal_o = x_match ? pal : 1'bZ; +assign prio_o = x_match ? prio : 1'bZ; +assign cgb_pal_o = x_match ? cgb_pal : 3'hZ; +assign index_o = x_match ? index : 4'hZ; + +endmodule \ No newline at end of file diff --git a/rtl/video.v b/rtl/video.v index e65b58d..c36dd0f 100644 --- a/rtl/video.v +++ b/rtl/video.v @@ -23,6 +23,7 @@ module video ( input reset, input clk, input ce, // 4 Mhz cpu clock + input ce_n, // falling edge input ce_cpu, // 4 or 8Mhz input isGBC, input isGBC_mode, @@ -64,6 +65,9 @@ module video ( output [15:0] dma_addr, input [7:0] dma_data, + input extra_spr_en, + input extra_wait, + // savestates input [7:0] Savestate_OAMRAMAddr, input Savestate_OAMRAMRWrEn, @@ -206,6 +210,8 @@ reg[7:0] obpd [63:0]; //64 bytes reg ff6c_opri; reg obj_prio_dmg_mode; +integer i; + // -------------------------------------------------------------------- // ----------------------------- DMA engine --------------------------- // -------------------------------------------------------------------- @@ -829,21 +835,24 @@ wire [2:0] spr_cgb_pal = sprite_attr[2:0]; wire [7:0] spr_vram_data = (isGBC & isGBC_mode & spr_attr_cgb_bank) ? vram1_data : vram_data; wire [7:0] spr_tile_data_in = spr_attr_h_flip ? bit_reverse(spr_vram_data) : spr_vram_data; -// CGB sprite priority. Non-transparent pixels with lower sprite_index have priority. -function [7:0] spr_cgb_prio; - input [7:0] a3,a2,a1,a0; - integer i; - begin - for (i=0;i<8;i=i+1) - spr_cgb_prio[i] = (sprite_index < {a3[i], a2[i], a1[i], a0[i]}) & (spr_tile_data_in[i] | spr_tile_data0[i]); - end -endfunction - -wire [7:0] spr_cgb_index_prio = spr_cgb_prio(spr_cgb_index_shift[3], spr_cgb_index_shift[2], spr_cgb_index_shift[1], spr_cgb_index_shift[0]); - // DMG sprite pixels are only loaded into the shift register if the old pixel is transparent. -// CGB will mask the old pixel to 0 if the new pixel has higher priority. -wire [7:0] spr_tile_mask = (spr_tile_shift_0 | spr_tile_shift_1) & ((isGBC & ~obj_prio_dmg_mode) ? ~spr_cgb_index_prio : 8'hFF); +wire [7:0] spr_pixel_empty = ~(spr_tile_shift_0 | spr_tile_shift_1); + +// CGB sprite priority. Non-transparent pixels with lower sprite_index have priority. +reg [7:0] spr_cgb_higher_prio, spr_extra_cgb_higher_prio; +always @(*) begin + for (i = 0; i < 8; i = i + 1) begin + spr_cgb_higher_prio[i] = (sprite_index < {spr_cgb_index_shift[3][i], spr_cgb_index_shift[2][i], spr_cgb_index_shift[1][i], spr_cgb_index_shift[0][i]}) & (spr_tile_data_in[i] | spr_tile_data0[i]); + spr_extra_cgb_higher_prio[i] = (spr_extra_index < {spr_cgb_index_shift[3][i], spr_cgb_index_shift[2][i], spr_cgb_index_shift[1][i], spr_cgb_index_shift[0][i]}) & (spr_extra_tile[0][i] | spr_extra_tile[1][i]); + end +end + +wire [7:0] spr_extra_tile[0:1]; +wire [2:0] spr_extra_cgb_pal; +wire [3:0] spr_extra_index; +wire spr_extra_pal; +wire spr_extra_prio; +wire spr_extra_found; // cycle through the B01s states wire bg_tile_map_rd = (mode3 && bg_fetch_cycle[2:1] == 2'b00); @@ -879,40 +888,6 @@ always @(posedge clk) begin if(bg_tile_data1_rd) bg_tile_data1 <= bg_vram_data_in; end - // Shift sprite data out - if (~pcnt_paused) begin - spr_tile_shift_0 <= spr_tile_shift_0 << 1; - spr_tile_shift_1 <= spr_tile_shift_1 << 1; - spr_pal_shift <= spr_pal_shift << 1; - spr_prio_shift <= spr_prio_shift << 1; - spr_cgb_pal_shift[0] <= spr_cgb_pal_shift[0] << 1; - spr_cgb_pal_shift[1] <= spr_cgb_pal_shift[1] << 1; - spr_cgb_pal_shift[2] <= spr_cgb_pal_shift[2] << 1; - spr_cgb_index_shift[0] <= spr_cgb_index_shift[0] << 1; - spr_cgb_index_shift[1] <= spr_cgb_index_shift[1] << 1; - spr_cgb_index_shift[2] <= spr_cgb_index_shift[2] << 1; - spr_cgb_index_shift[3] <= spr_cgb_index_shift[3] << 1; - end - - // Fetch sprite new data - if (sprite_fetch_cycle[0]) begin - if(bg_tile_obj0_rd) spr_tile_data0 <= spr_tile_data_in; - - if(bg_tile_obj1_rd) begin - spr_tile_shift_0 <= (spr_tile_shift_0 & spr_tile_mask) | ( spr_tile_data0 & ~spr_tile_mask); - spr_tile_shift_1 <= (spr_tile_shift_1 & spr_tile_mask) | ( spr_tile_data_in & ~spr_tile_mask); - spr_pal_shift <= (spr_pal_shift & spr_tile_mask) | ({8{spr_pal}} & ~spr_tile_mask); - spr_prio_shift <= (spr_prio_shift & spr_tile_mask) | ({8{spr_prio}} & ~spr_tile_mask); - spr_cgb_pal_shift[0] <= (spr_cgb_pal_shift[0] & spr_tile_mask) | ({8{spr_cgb_pal[0]}} & ~spr_tile_mask); - spr_cgb_pal_shift[1] <= (spr_cgb_pal_shift[1] & spr_tile_mask) | ({8{spr_cgb_pal[1]}} & ~spr_tile_mask); - spr_cgb_pal_shift[2] <= (spr_cgb_pal_shift[2] & spr_tile_mask) | ({8{spr_cgb_pal[2]}} & ~spr_tile_mask); - spr_cgb_index_shift[0] <= (spr_cgb_index_shift[0] & spr_tile_mask) | ({8{sprite_index[0]}} & ~spr_tile_mask); - spr_cgb_index_shift[1] <= (spr_cgb_index_shift[1] & spr_tile_mask) | ({8{sprite_index[1]}} & ~spr_tile_mask); - spr_cgb_index_shift[2] <= (spr_cgb_index_shift[2] & spr_tile_mask) | ({8{sprite_index[2]}} & ~spr_tile_mask); - spr_cgb_index_shift[3] <= (spr_cgb_index_shift[3] & spr_tile_mask) | ({8{sprite_index[3]}} & ~spr_tile_mask); - end - end - if (~&bg_fetch_cycle) begin bg_fetch_cycle <= bg_fetch_cycle + 1'b1; end @@ -966,8 +941,77 @@ always @(posedge clk) begin end +always @(posedge clk) begin + if (reset) begin + + end else begin + + if (ce) begin + // Shift sprite data out + if (~pcnt_paused) begin + spr_tile_shift_0 <= spr_tile_shift_0 << 1; + spr_tile_shift_1 <= spr_tile_shift_1 << 1; + spr_pal_shift <= spr_pal_shift << 1; + spr_prio_shift <= spr_prio_shift << 1; + spr_cgb_pal_shift[0] <= spr_cgb_pal_shift[0] << 1; + spr_cgb_pal_shift[1] <= spr_cgb_pal_shift[1] << 1; + spr_cgb_pal_shift[2] <= spr_cgb_pal_shift[2] << 1; + spr_cgb_index_shift[0] <= spr_cgb_index_shift[0] << 1; + spr_cgb_index_shift[1] <= spr_cgb_index_shift[1] << 1; + spr_cgb_index_shift[2] <= spr_cgb_index_shift[2] << 1; + spr_cgb_index_shift[3] <= spr_cgb_index_shift[3] << 1; + end + + // Fetch sprite new data + if (sprite_fetch_cycle[0]) begin + if(bg_tile_obj0_rd) spr_tile_data0 <= spr_tile_data_in; + + if(bg_tile_obj1_rd) begin + for (i = 0; i < 8; i = i + 1) begin + if (spr_pixel_empty[i] | (isGBC & ~obj_prio_dmg_mode & spr_cgb_higher_prio[i])) begin + spr_tile_shift_0[i] <= spr_tile_data0[i]; + spr_tile_shift_1[i] <= spr_tile_data_in[i]; + spr_pal_shift[i] <= spr_pal; + spr_prio_shift[i] <= spr_prio; + spr_cgb_pal_shift[0][i] <= spr_cgb_pal[0]; + spr_cgb_pal_shift[1][i] <= spr_cgb_pal[1]; + spr_cgb_pal_shift[2][i] <= spr_cgb_pal[2]; + spr_cgb_index_shift[0][i] <= sprite_index[0]; + spr_cgb_index_shift[1][i] <= sprite_index[1]; + spr_cgb_index_shift[2][i] <= sprite_index[2]; + spr_cgb_index_shift[3][i] <= sprite_index[3]; + end + end + end + end + end + + // Load extra sprite + if (ce_n) begin + if (~pcnt_paused & spr_extra_found) begin + for (i = 0; i < 8; i = i + 1) begin + if (spr_pixel_empty[i] | (isGBC & ~obj_prio_dmg_mode & spr_extra_cgb_higher_prio[i])) begin + spr_tile_shift_0[i] <= spr_extra_tile[0][i]; + spr_tile_shift_1[i] <= spr_extra_tile[1][i]; + spr_pal_shift[i] <= spr_extra_pal; + spr_prio_shift[i] <= spr_extra_prio; + spr_cgb_pal_shift[0][i] <= spr_extra_cgb_pal[0]; + spr_cgb_pal_shift[1][i] <= spr_extra_cgb_pal[1]; + spr_cgb_pal_shift[2][i] <= spr_extra_cgb_pal[2]; + spr_cgb_index_shift[0][i] <= spr_extra_index[0]; + spr_cgb_index_shift[1][i] <= spr_extra_index[1]; + spr_cgb_index_shift[2][i] <= spr_extra_index[2]; + spr_cgb_index_shift[3][i] <= spr_extra_index[3]; + end + end + end + end + end +end + assign vram_rd = lcdc_on && (bg_tile_map_rd || bg_tile_data0_rd || - bg_tile_data1_rd || bg_tile_obj0_rd || bg_tile_obj1_rd); + bg_tile_data1_rd || bg_tile_obj0_rd || + bg_tile_obj1_rd || tile_obj_extra_rd); wire bg_tile_a12 = !lcdc_tile_data_sel?(~bg_tile[7]):1'b0; @@ -976,12 +1020,16 @@ wire tile_map_sel = window_ena?lcdc_win_tile_map_sel:lcdc_bg_tile_map_sel; //GBC: check if flipped y wire [2:0] tile_line_flip = (isGBC && isGBC_mode && bg_tile_attr_new[6]) ? ~tile_line : tile_line; +wire tile_obj_extra_rd; +wire [11:0] sprite_extra_addr; + assign vram_addr = bg_tile_map_rd?{2'b11, tile_map_sel, bg_tile_map_addr}: bg_tile_data0_rd?{bg_tile_a12, bg_tile, tile_line_flip, 1'b0}: bg_tile_data1_rd?{bg_tile_a12, bg_tile, tile_line_flip, 1'b1}: bg_tile_obj0_rd ? {1'b0, sprite_addr, 1'b0} : - {1'b0, sprite_addr, 1'b1}; + bg_tile_obj1_rd ? {1'b0, sprite_addr, 1'b1} : + {1'b0, sprite_extra_addr }; sprites sprites ( .clk ( clk ), @@ -1013,6 +1061,21 @@ sprites sprites ( .oam_di ( oam_di ), .oam_do ( oam_do ), + // For extra sprites + .extra_spr_en ( extra_spr_en ), + .extra_wait ( extra_wait ), + .tile_data_in ( spr_tile_data_in ), + .extra_tile_fetch ( tile_obj_extra_rd ), + .extra_tile_addr ( sprite_extra_addr ), + + .spr_extra_found ( spr_extra_found ), + .spr_extra_tile0 ( spr_extra_tile[0] ), + .spr_extra_tile1 ( spr_extra_tile[1] ), + .spr_extra_pal ( spr_extra_pal ), + .spr_extra_prio ( spr_extra_prio ), + .spr_extra_cgb_pal( spr_extra_cgb_pal ), + .spr_extra_index ( spr_extra_index ), + .Savestate_OAMRAMAddr (Savestate_OAMRAMAddr), .Savestate_OAMRAMRWrEn (Savestate_OAMRAMRWrEn), .Savestate_OAMRAMWriteData (Savestate_OAMRAMWriteData), From 195d3f5c018345464bb6dbef68417a70aa8d0e6a Mon Sep 17 00:00:00 2001 From: paulb-nl Date: Sat, 21 Jun 2025 18:32:50 +0200 Subject: [PATCH 6/7] Missing assign for HDMI_BLACKOUT & HDMI_BOB_DEINT --- Gameboy.sv | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Gameboy.sv b/Gameboy.sv index a9d06e3..86eba15 100644 --- a/Gameboy.sv +++ b/Gameboy.sv @@ -195,6 +195,8 @@ assign BUTTONS = 0; assign HDMI_FREEZE = 0; assign VGA_SCALER= 0; assign VGA_DISABLE = 0; +assign HDMI_BLACKOUT = 0; +assign HDMI_BOB_DEINT = 0; assign AUDIO_MIX = status[8:7]; From 02e85ecca633da4173abe0e9d885cd67cd1139f2 Mon Sep 17 00:00:00 2001 From: paulb-nl Date: Sat, 21 Jun 2025 18:35:54 +0200 Subject: [PATCH 7/7] Release 20250621. --- releases/Gameboy2P_20250621.rbf | Bin 0 -> 4012588 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 releases/Gameboy2P_20250621.rbf diff --git a/releases/Gameboy2P_20250621.rbf b/releases/Gameboy2P_20250621.rbf new file mode 100644 index 0000000000000000000000000000000000000000..ee231a416ee8c1f24113f82303daee19fdb6166a GIT binary patch literal 4012588 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�r) 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