From beff3a7607f280686863d13399cc12e4e27bed3b Mon Sep 17 00:00:00 2001 From: Gyorgy Szombathelyi Date: Sun, 13 Feb 2022 01:07:36 +0100 Subject: [PATCH] Druaga: fix controls & DIPS for Grobda and Pac'n'Pal --- .../meta/Grobda.mra | 16 ++++++ .../meta/Pac n Pal.mra | 4 +- .../meta/Pac-Man & Chomp Chomp.mra | 4 +- .../rtl/TheTowerofDruaga_mist.sv | 11 ++-- .../rtl/druaga_sprite.v | 5 +- .../rtl/druaga_video.v | 13 +++-- .../rtl/fpga_druaga.v | 19 +++---- .../Namco Super Pacman Hardware/rtl/ioctrl.v | 37 ++++++++----- .../rtl/{ioctrl_0.v => ioctrl_0a.v} | 53 ++----------------- .../rtl/ioctrl_0b.v | 49 +++++++++++++++++ .../rtl/{ioctrl_1.v => ioctrl_1a.v} | 33 ++---------- .../rtl/ioctrl_1b.v | 29 ++++++++++ .../rtl/ioctrl_2b.v | 25 +++++++++ .../Namco Super Pacman Hardware/rtl/param.v | 3 ++ 14 files changed, 182 insertions(+), 119 deletions(-) rename Arcade_MiST/Namco Super Pacman Hardware/rtl/{ioctrl_0.v => ioctrl_0a.v} (56%) create mode 100644 Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0b.v rename Arcade_MiST/Namco Super Pacman Hardware/rtl/{ioctrl_1.v => ioctrl_1a.v} (75%) create mode 100644 Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1b.v create mode 100644 Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_2b.v create mode 100644 Arcade_MiST/Namco Super Pacman Hardware/rtl/param.v diff --git a/Arcade_MiST/Namco Super Pacman Hardware/meta/Grobda.mra b/Arcade_MiST/Namco Super Pacman Hardware/meta/Grobda.mra index 131de7d2..6d43617e 100644 --- a/Arcade_MiST/Namco Super Pacman Hardware/meta/Grobda.mra +++ b/Arcade_MiST/Namco Super Pacman Hardware/meta/Grobda.mra @@ -35,4 +35,20 @@ + + + + + + + + + + + + + + + + diff --git a/Arcade_MiST/Namco Super Pacman Hardware/meta/Pac n Pal.mra b/Arcade_MiST/Namco Super Pacman Hardware/meta/Pac n Pal.mra index ed332900..3e5b9171 100644 --- a/Arcade_MiST/Namco Super Pacman Hardware/meta/Pac n Pal.mra +++ b/Arcade_MiST/Namco Super Pacman Hardware/meta/Pac n Pal.mra @@ -8,7 +8,7 @@ druaga 20210326 - 05 + 07 diff --git a/Arcade_MiST/Namco Super Pacman Hardware/meta/Pac-Man & Chomp Chomp.mra b/Arcade_MiST/Namco Super Pacman Hardware/meta/Pac-Man & Chomp Chomp.mra index ea9cf5c9..020f52ab 100644 --- a/Arcade_MiST/Namco Super Pacman Hardware/meta/Pac-Man & Chomp Chomp.mra +++ b/Arcade_MiST/Namco Super Pacman Hardware/meta/Pac-Man & Chomp Chomp.mra @@ -8,7 +8,7 @@ druaga 20210326 - 05 + 07 @@ -44,7 +44,7 @@ - + diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/TheTowerofDruaga_mist.sv b/Arcade_MiST/Namco Super Pacman Hardware/rtl/TheTowerofDruaga_mist.sv index f515b416..3da56194 100644 --- a/Arcade_MiST/Namco Super Pacman Hardware/rtl/TheTowerofDruaga_mist.sv +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/TheTowerofDruaga_mist.sv @@ -66,7 +66,7 @@ always @(*) begin DSW2 = 0; case (core_mod) - 7'h0, 7'h1, 7'h3, 7'h6: // DRUAGA, DIGDUG2, GROBDA + 7'h0, 7'h1, 7'h3: // DRUAGA, DIGDUG2 begin DSW0 = status[15:8]; DSW1 = status[23:16]; @@ -78,6 +78,13 @@ always @(*) begin DSW1 = status[23:16]; DSW2 = { {2{status[27:24]}} }; end + 7'h6: // GROBDA + begin + DSW0 = status[15:8]; + DSW1 = {status[23:22], m_fire2B, m_fireB, status[19:16]}; + DSW2 = status[31:24]; + end + default: begin DSW0 = status[15:8]; @@ -113,8 +120,6 @@ wire key_strobe; wire key_pressed; wire [7:0] key_code; -// assign core_mod=7'd5; - user_io #(.STRLEN($size(CONF_STR)>>3))user_io( .clk_sys (clock_48 ), .conf_str (CONF_STR ), diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/druaga_sprite.v b/Arcade_MiST/Namco Super Pacman Hardware/rtl/druaga_sprite.v index c3a9c0cc..4372a107 100644 --- a/Arcade_MiST/Namco Super Pacman Hardware/rtl/druaga_sprite.v +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/druaga_sprite.v @@ -28,8 +28,7 @@ module DRUAGA_SPRITE input FLIP_SCREEN ); -parameter [2:0] SUPERPAC=3'd5; -parameter [2:0] GROBDA=3'd6; +`include "param.v" reg [9:0] CLT1_A; wire [3:0] CLT1_D; @@ -92,7 +91,7 @@ always @(*) begin (ox[1:0]==2'b01) ? { pn, SPCO[14], SPCO[10], SPCO[6], SPCO[2] } : (ox[1:0]==2'b10) ? { pn, SPCO[13], SPCO[ 9], SPCO[5], SPCO[1] } : { pn, SPCO[12], SPCO[ 8], SPCO[4], SPCO[0] } ; - if( MODEL == SUPERPAC || MODEL == GROBDA) begin // 2bpp + if( MODEL == SUPERPAC || MODEL == GROBDA || MODEL == PACNPAL) begin // 2bpp CLT1_A[9:2]= { 2'd0, CLT1_A[9:4] }; end end diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/druaga_video.v b/Arcade_MiST/Namco Super Pacman Hardware/rtl/druaga_video.v index 9806e1ec..389c4fa3 100644 --- a/Arcade_MiST/Namco Super Pacman Hardware/rtl/druaga_video.v +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/druaga_video.v @@ -35,8 +35,7 @@ module DRUAGA_VIDEO input FLIP_SCREEN ); -parameter [2:0] SUPERPAC=3'd5; -parameter [2:0] GROBDA=3'd6; +`include "param.v" wire [8:0] HPOS = PH-8'd16; wire [8:0] VPOS = PV; @@ -91,11 +90,11 @@ always @ ( posedge VCLKx8 ) begin end -assign CLT0_A = BGPN ^ ( (MODEL==SUPERPAC || MODEL==GROBDA) ? 8'h0 : 8'h03 ); -assign VRAM_A = VRAMADRS & ( (MODEL==SUPERPAC || MODEL==GROBDA) ? 11'h3FF : 11'h7FF ); +assign CLT0_A = BGPN ^ ( (MODEL==SUPERPAC || MODEL==GROBDA || MODEL==PACNPAL) ? 8'h0 : 8'h03 ); +assign VRAM_A = VRAMADRS & ( (MODEL==SUPERPAC || MODEL==GROBDA || MODEL==PACNPAL) ? 11'h3FF : 11'h7FF ); wire BGHI = BGH & (CLT0_D!=4'd15); -wire [4:0] BGCOL = { 1'b1, ((MODEL==SUPERPAC || MODEL==GROBDA) ? ~CLT0_D :CLT0_D) }; +wire [4:0] BGCOL = { 1'b1, ((MODEL==SUPERPAC || MODEL==GROBDA || MODEL==PACNPAL) ? ~CLT0_D :CLT0_D) }; always @(*) begin COL = HPOS[8:3] ^ {5{FLIP_SCREEN}}; @@ -103,7 +102,7 @@ always @(*) begin // rather than the original circuit count. ROW = (VPOS[8:3] + 6'h2) ^ {5{FLIP_SCREEN}}; - if( MODEL==SUPERPAC || MODEL==GROBDA ) begin + if( MODEL==SUPERPAC || MODEL==GROBDA || MODEL==PACNPAL) begin VRAMADRS = { 1'b0, COL[5] ? {COL[4:0], ROW[4:0]} : {ROW[4:0], COL[4:0]} @@ -119,7 +118,7 @@ end //---------------------------------------- wire [4:0] SPCOL; -DRUAGA_SPRITE #(.SUPERPAC(SUPERPAC)) spr +DRUAGA_SPRITE spr ( VCLKx8, VCLK_EN, HPOS, VPOS, oHB, diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/fpga_druaga.v b/Arcade_MiST/Namco Super Pacman Hardware/rtl/fpga_druaga.v index 35468909..e5c5e675 100644 --- a/Arcade_MiST/Namco Super Pacman Hardware/rtl/fpga_druaga.v +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/fpga_druaga.v @@ -41,8 +41,6 @@ module fpga_druaga input FLIP_SCREEN ); -parameter [2:0] SUPERPAC=3'd5; - // Clock Generator reg [4:0] CLKS; @@ -79,7 +77,7 @@ wire [10:0] vram_a; wire [15:0] vram_d; wire [6:0] spra_a; wire [23:0] spra_d; -MEMS #(.SUPERPAC(SUPERPAC)) mems +MEMS mems ( MCLK, CLKCPUx2, @@ -101,7 +99,7 @@ wire SCPU_IRQ, SCPU_IRQEN; wire SCPU_RESET, IO_RESET; wire PSG_ENABLE; -REGS #(.SUPERPAC(SUPERPAC)) regs +REGS regs ( CLKCPUx2, RESET, oVB, MCPU_ADRS, MCPU_VMA, MCPU_WE, @@ -117,7 +115,7 @@ REGS #(.SUPERPAC(SUPERPAC)) regs // I/O Controler wire IsMOTOS; -IOCTRL #(.SUPERPAC(SUPERPAC)) ioctrl( +IOCTRL ioctrl( CLKCPUx2, oVB, IO_RESET, MCPU_CS_IO, MCPU_WE, MCPU_ADRS[5:0], MCPU_DO, IO_O, @@ -241,8 +239,7 @@ module MEMS input [2:0] MODEL ); -parameter [2:0] SUPERPAC=3'd5; -parameter [2:0] GROBDA=3'd6; +`include "param.v" wire [7:0] mrom_d, srom_d; //DLROM #(15,8) mcpui( CPUCLKx2, MCPU_ADRS[14:0], mrom_d, ROMCL,ROMAD[14:0],ROMDT,ROMEN & (ROMAD[16:15]==2'b0_0)); @@ -266,7 +263,7 @@ wire mrom_cs = ( MCPU_ADRS[15] ) & MCPU_VMA; // $8000-$FFFF always @(*) begin cram_ad = mram_ad; - if( MODEL == SUPERPAC || MODEL == GROBDA) begin + if( MODEL == SUPERPAC || MODEL == GROBDA || MODEL == PACNPAL) begin mram_cs0 = ( MCPU_ADRS[15:10] == 6'b000000 ) && MCPU_VMA; // $0000-$03FF mram_cs1 = ( MCPU_ADRS[15:10] == 6'b000001 ) && MCPU_VMA; // $0400-$07FF mram_cs2 = ( MCPU_ADRS[15:11] == 5'b00001 ) && MCPU_VMA; // $1000-$17FF @@ -352,16 +349,14 @@ module REGS input [2:0] MODEL ); -parameter [2:0] SUPERPAC=3'd5; -parameter [2:0] GROBDA=3'd6; - +`include "param.v" // BG Scroll Register wire MCPU_SCRWE = ( ( MCPU_ADRS[15:11] == 5'b00111 ) & MCPU_VMA & MCPU_WE ); always @ ( negedge MCPU_CLK or posedge RESET ) begin if ( RESET ) SCROLL <= 8'h0; else begin - if( MODEL==SUPERPAC || MODEL==GROBDA) + if( MODEL==SUPERPAC || MODEL==GROBDA || MODEL==PACNPAL) SCROLL <= 8'd0; else if ( MCPU_SCRWE ) SCROLL <= MCPU_ADRS[10:3]; diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl.v b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl.v index 3314d828..f3016847 100644 --- a/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl.v +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl.v @@ -42,13 +42,12 @@ reg [9:0] pSTKTRG12; reg [2:0] pCSTART12; reg bUpdate; -reg bIOMode; - -parameter [2:0] SUPERPAC=3'd5; +reg [1:0] bIOMode; +`include "param.v" assign OUT = { 4'b1111, outr }; -assign IsMOTOS = bIOMode; +assign IsMOTOS = bIOMode == 1; // Detect falling edges: wire [11:0] iSTKTRG12 = ( STKTRG12 ^ pSTKTRG12 ) & STKTRG12; @@ -60,13 +59,13 @@ BCDCONV creditsBCD( credits, CREDIT_ONES, CREDIT_TENS ); always @ ( posedge CLK ) begin if ( ENABLE ) begin if ( ADRS[5] ) begin - if ( WR ) memc[ADRS[4:0]] <= IN; + if ( WR ) memc[ADRS[4:0]] <= IN[3:0]; outr <= memc[ADRS[4:0]]; end else if ( ADRS[4] ) begin - if ( WR ) memb[ADRS[3:0]] <= IN; + if ( WR ) memb[ADRS[3:0]] <= IN[3:0]; outr <= memb[ADRS[3:0]]; end else begin - if ( WR ) mema[ADRS[3:0]] <= IN; + if ( WR ) mema[ADRS[3:0]] <= IN[3:0]; outr <= mema[ADRS[3:0]]; end end @@ -78,14 +77,28 @@ always @ ( posedge CLK ) begin credits <= 0; end else begin if ( UPDATE & (~bUpdate) ) begin - if ( mema[4'h8] == 4'h8 || MODEL==SUPERPAC ) - bIOMode <= 1'b1; // Is running "Motos" ? + if (MODEL == PACNPAL) + bIOMode <= 2'd3; + else if (MODEL == GROBDA) + bIOMode <= 2'd2; + else if ( mema[4'h8] == 4'h8 || MODEL==SUPERPAC) + bIOMode <= 2'd1; // Is running "Motos" ? - if ( bIOMode ) begin - `include "ioctrl_1.v" + if ( bIOMode == 3) begin + `include "ioctrl_1a.v" + `include "ioctrl_2b.v" + end + else if ( bIOMode == 2) begin + `include "ioctrl_0a.v" + `include "ioctrl_1b.v" + end + else if ( bIOMode == 1) begin + `include "ioctrl_1a.v" + `include "ioctrl_1b.v" end else begin - `include "ioctrl_0.v" + `include "ioctrl_0a.v" + `include "ioctrl_0b.v" end pCSTART12 <= CSTART12; diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0.v b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0a.v similarity index 56% rename from Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0.v rename to Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0a.v index f86ec387..d2a60bd7 100644 --- a/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0.v +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0a.v @@ -12,21 +12,21 @@ if ( iCSTART12[2] & ( credits < 99 ) ) begin credit_add = 8'h01; - credits = credits + 1; + credits = credits + 1'd1; end if ( mema[4'h9] == 0 ) begin if ( ( credits >= 2 ) & iCSTART12[1] ) begin credit_sub = 8'h02; - credits = credits - 2; + credits = credits - 2'd2; end else if ( ( credits >= 1 ) & iCSTART12[0] ) begin credit_sub = 8'h01; - credits = credits - 1; + credits = credits - 1'd1; end end mema[4'h0] <= credit_add; - mema[4'h1] <= credit_sub | {7'd0,CSTART12[0]}; + mema[4'h1] <= credit_sub | {3'd0,CSTART12[0]}; mema[4'h2] <= CREDIT_TENS; mema[4'h3] <= CREDIT_ONES; mema[4'h4] <= STKTRG12[3:0]; @@ -60,48 +60,3 @@ default:; endcase - - - case ( memb[4'h8] ) - - 4'h1,4'h3: begin - memb[4'h0] <= 0; - memb[4'h1] <= 0; - memb[4'h2] <= 0; - memb[4'h3] <= 0; - memb[4'h4] <= 0; - memb[4'h5] <= 0; - memb[4'h6] <= 0; - memb[4'h7] <= 0; - end - - 4'h4: begin - memb[4'h0] <= DIPSW[11: 8]; // (P0) DSW1 Mappy - memb[4'h1] <= DIPSW[15:12]; - - memb[4'h2] <= DIPSW[ 3: 0]; // (P1) DSW0 - memb[4'h4] <= DIPSW[ 7: 4]; - - memb[4'h5] <={DIPSW[15:14],STKTRG12[ 5],iSTKTRG12[ 5]}; // (P2) DSW1 Druaga/DigDug2 - memb[4'h6] <= DIPSW[23:20]; // IsMappy ? DIPSW[19:16] : DIPSW[11:8] - - memb[4'h7] <={DIPSW[19:18],STKTRG12[11],iSTKTRG12[11]}; // (P3) DSW2 - - memb[4'h3] <= 0; - end - - 4'h5: begin - memb[4'h0] <= 4'h0; - memb[4'h1] <= 4'h8; - memb[4'h2] <= 4'h4; - memb[4'h3] <= 4'h6; - memb[4'h4] <= 4'hE; - memb[4'h5] <= 4'hD; - memb[4'h6] <= 4'h9; - memb[4'h7] <= 4'hD; - end - - default:; - - endcase - diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0b.v b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0b.v new file mode 100644 index 00000000..2a66fd66 --- /dev/null +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0b.v @@ -0,0 +1,49 @@ +//------------------------------------------ +// I/O Chip for "Mappy/Druaga/DigDug2" +// +// Copyright (c) 2007,19 MiSTer-X +//------------------------------------------ + + case ( memb[4'h8] ) + + 4'h1,4'h3: begin + memb[4'h0] <= 0; + memb[4'h1] <= 0; + memb[4'h2] <= 0; + memb[4'h3] <= 0; + memb[4'h4] <= 0; + memb[4'h5] <= 0; + memb[4'h6] <= 0; + memb[4'h7] <= 0; + end + + 4'h4: begin + memb[4'h0] <= DIPSW[11: 8]; // (P0) DSW1 Mappy + memb[4'h1] <= DIPSW[15:12]; + + memb[4'h2] <= DIPSW[ 3: 0]; // (P1) DSW0 + memb[4'h4] <= DIPSW[ 7: 4]; + + memb[4'h5] <={DIPSW[15:14],STKTRG12[ 5],iSTKTRG12[ 5]}; // (P2) DSW1 Druaga/DigDug2 + memb[4'h6] <= DIPSW[23:20]; // IsMappy ? DIPSW[19:16] : DIPSW[11:8] + + memb[4'h7] <={DIPSW[19:18],STKTRG12[11],iSTKTRG12[11]}; // (P3) DSW2 + + memb[4'h3] <= 0; + end + + 4'h5: begin + memb[4'h0] <= 4'h0; + memb[4'h1] <= 4'h8; + memb[4'h2] <= 4'h4; + memb[4'h3] <= 4'h6; + memb[4'h4] <= 4'hE; + memb[4'h5] <= 4'hD; + memb[4'h6] <= 4'h9; + memb[4'h7] <= 4'hD; + end + + default:; + + endcase + diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1.v b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1a.v similarity index 75% rename from Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1.v rename to Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1a.v index 1e78daeb..8f963e69 100644 --- a/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1.v +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1a.v @@ -25,21 +25,21 @@ if ( iCSTART12[2] & ( credits < 99 ) ) begin credit_add = 8'h01; - credits = credits + 1; + credits = credits + 1'd1; end if ( mema[4'h9] == 0 ) begin if ( ( credits >= 2 ) && iCSTART12[1] ) begin credit_sub = 8'h02; - credits = credits - 2; + credits = credits - 2'd2; end else if ( ( credits >= 1 ) && iCSTART12[0] ) begin credit_sub = 8'h01; - credits = credits - 1; + credits = credits - 1'd1; end end mema[4'h0] <= credit_add; - mema[4'h1] <= credit_sub | {7'd0,CSTART12[0]}; + mema[4'h1] <= credit_sub | {3'd0,CSTART12[0]}; mema[4'h2] <= CREDIT_TENS; mema[4'h3] <= CREDIT_ONES; mema[4'h4] <= STKTRG12[3:0]; @@ -57,28 +57,3 @@ default:; endcase - - - case ( memb[4'h8] ) - - 4'h8: begin - memb[4'h0] <= 4'h6; - memb[4'h1] <= 4'h9; - end - - 4'h9: begin - memb[4'h2] <= DIPSW[3:0]; - memb[4'h4] <= DIPSW[7:4]; - memb[4'h6] <= DIPSW[15:12]; - - memb[4'h0] <= 0; - memb[4'h1] <= 0; - memb[4'h3] <= 0; - memb[4'h5] <= 0; - memb[4'h7] <= 0; - end - - default:; - - endcase - diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1b.v b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1b.v new file mode 100644 index 00000000..335048c4 --- /dev/null +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1b.v @@ -0,0 +1,29 @@ +//------------------------------------------ +// I/O Chip for "Motos" +// Namco 56xx +// +// Copyright (c) 2007,19 MiSTer-X +//------------------------------------------ + case ( memb[4'h8] ) + + 4'h8: begin + memb[4'h0] <= 4'h6; + memb[4'h1] <= 4'h9; + end + + 4'h9: begin + memb[4'h2] <= DIPSW[3:0]; + memb[4'h4] <= DIPSW[7:4]; + memb[4'h6] <= DIPSW[15:12]; + + memb[4'h0] <= DIPSW[19:16]; + memb[4'h1] <= DIPSW[23:20]; + memb[4'h3] <= 0; + memb[4'h5] <= 0; + memb[4'h7] <= 0; + end + + default:; + + endcase + diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_2b.v b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_2b.v new file mode 100644 index 00000000..20db8bc5 --- /dev/null +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_2b.v @@ -0,0 +1,25 @@ +//------------------------------------------ +// I/O Chip for "Pac & Pal" +// Namco 59xx +// +// Copyright (c) 2007,19 MiSTer-X +// Copyright (c) 2022 Slingshot +//------------------------------------------ + case ( memb[4'h8] ) + + 4'h3: begin + memb[4'h4] <= DIPSW[3:0]; //0 + memb[4'h5] <= DIPSW[23:20]; //2 + memb[4'h6] <= DIPSW[19:16]; //1 + memb[4'h7] <= DIPSW[15:12]; //3 + + memb[4'h0] <= 0; + memb[4'h1] <= 0; + memb[4'h2] <= 0; + memb[4'h3] <= 0; + end + + default:; + + endcase + diff --git a/Arcade_MiST/Namco Super Pacman Hardware/rtl/param.v b/Arcade_MiST/Namco Super Pacman Hardware/rtl/param.v new file mode 100644 index 00000000..dd871ffb --- /dev/null +++ b/Arcade_MiST/Namco Super Pacman Hardware/rtl/param.v @@ -0,0 +1,3 @@ +localparam [2:0] SUPERPAC=3'd5; +localparam [2:0] GROBDA=3'd6; +localparam [2:0] PACNPAL=3'd7; \ No newline at end of file