diff --git a/Arcade_MiST/Bagman Hardware/Squash_MiST/README.txt b/Arcade_MiST/Bagman Hardware/Squash_MiST/README.txt index c0e1f7c6..b7cd2efd 100644 --- a/Arcade_MiST/Bagman Hardware/Squash_MiST/README.txt +++ b/Arcade_MiST/Bagman Hardware/Squash_MiST/README.txt @@ -1,7 +1,7 @@ Squash Port to Mist FPGA by Gehstock -Work in Progress ---Joystick to Wheel Encoder +Left, Right moving Player +Up, Down moving Racket diff --git a/Arcade_MiST/Bagman Hardware/Squash_MiST/Release/Squash.rbf b/Arcade_MiST/Bagman Hardware/Squash_MiST/Release/Squash.rbf new file mode 100644 index 00000000..881d8a11 Binary files /dev/null and b/Arcade_MiST/Bagman Hardware/Squash_MiST/Release/Squash.rbf differ diff --git a/Arcade_MiST/Bagman Hardware/Squash_MiST/Snapshot/Squash.rbf b/Arcade_MiST/Bagman Hardware/Squash_MiST/Snapshot/Squash.rbf deleted file mode 100644 index c926b329..00000000 Binary files a/Arcade_MiST/Bagman Hardware/Squash_MiST/Snapshot/Squash.rbf and /dev/null differ diff --git a/Arcade_MiST/Bagman Hardware/Squash_MiST/Squash.qsf b/Arcade_MiST/Bagman Hardware/Squash_MiST/Squash.qsf index a3560a72..52b577e6 100644 --- a/Arcade_MiST/Bagman Hardware/Squash_MiST/Squash.qsf +++ b/Arcade_MiST/Bagman Hardware/Squash_MiST/Squash.qsf @@ -49,7 +49,6 @@ set_global_assignment -name VHDL_FILE rtl/squash.vhd set_global_assignment -name VHDL_FILE rtl/ym_2149_linmix.vhd set_global_assignment -name VHDL_FILE rtl/video_gen.vhd set_global_assignment -name VHDL_FILE rtl/gen_ram.vhd -set_global_assignment -name SYSTEMVERILOG_FILE rtl/joy2quad.sv set_global_assignment -name VHDL_FILE rtl/rom/squash_tile_bit1.vhd set_global_assignment -name VHDL_FILE rtl/rom/squash_tile_bit0.vhd set_global_assignment -name VHDL_FILE rtl/rom/squash_program.vhd @@ -157,10 +156,10 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" - set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top - set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top # end DESIGN_PARTITION(Top) # ------------------------- # end ENTITY(Squash_MiST) -# ----------------------- \ No newline at end of file +# ----------------------- +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade_MiST/Bagman Hardware/Squash_MiST/rtl/joy2quad.sv b/Arcade_MiST/Bagman Hardware/Squash_MiST/rtl/joy2quad.sv deleted file mode 100644 index 7ed654c8..00000000 --- a/Arcade_MiST/Bagman Hardware/Squash_MiST/rtl/joy2quad.sv +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================ -// joy2quad -// -// Take in digital joystick buttons, and try to estimate a quadrature encoder -// -// -// This makes an offset wave pattern for each keyboard stroke. It might -// be a good extension to change the size of the wave based on how long the joystick -// is held down. -// -// Copyright (c) 2019 Alan Steremberg - alanswx -// -// -//============================================================================ -// digital joystick button to quadrature encoder - -module joy2quad -( - input CLK, - input [11:0] clkdiv, - - input rightc, - input leftc, - - output reg [1:0] steer -); - - -reg [3:0] state = 0; - -always @(posedge CLK) begin - reg [11:0] count = 0; - if (count >0) - begin - count=count-1; - end - else - begin - count=clkdiv; - casex(state) - 4'b0000: - begin - steer=2'b00; - if (leftc==1) - begin - state=4'b0001; - end - if (rightc==1) - begin - state=4'b0101; - end - - end - 4'b0001: - begin - steer=2'b00; - state=4'b0010; - end - 4'b0010: - begin - steer=2'b01; - state=3'b0011; - end - 4'b0011: - begin - steer=2'b11; - state=4'b0100; - end - 4'b0100: - begin - steer=2'b10; - state=4'b000; - end - 4'b0101: - begin - steer=2'b00; - state=4'b0110; - end - 4'b0110: - begin - steer=2'b10; - state=4'b0111; - end - 4'b0111: - begin - steer=2'b11; - state=4'b1000; - end - 4'b1000: - begin - steer=2'b01; - state=4'b0000; - - end - - endcase - end -end - -endmodule \ No newline at end of file diff --git a/Arcade_MiST/Bagman Hardware/Squash_MiST/rtl/squash.vhd b/Arcade_MiST/Bagman Hardware/Squash_MiST/rtl/squash.vhd index 933c04a1..91865be8 100644 --- a/Arcade_MiST/Bagman Hardware/Squash_MiST/rtl/squash.vhd +++ b/Arcade_MiST/Bagman Hardware/Squash_MiST/rtl/squash.vhd @@ -155,16 +155,6 @@ signal vsync_o : std_logic; signal dail1 : std_logic_vector(1 downto 0); signal dail2 : std_logic_vector(1 downto 0); -COMPONENT joy2quad - PORT - ( - CLK : IN STD_LOGIC; - clkdiv : IN STD_LOGIC_VECTOR(11 DOWNTO 0); - rightc : IN STD_LOGIC; - leftc : IN STD_LOGIC; - steer : OUT STD_LOGIC_VECTOR(1 DOWNTO 0) - ); -END COMPONENT; begin @@ -229,23 +219,29 @@ video_s <= video_i; ------------------ -- player controls ------------------ -dailP1 : joy2quad -port map ( - CLK => clock_12, - clkdiv => X"265", - rightc => up1, - leftc => down1, - steer => dail1 - ); - -dailP2 : joy2quad -port map ( - CLK => clock_12, - clkdiv => X"265", - rightc => up2, - leftc => down2, - steer => dail2 - ); +process (up1,down1,clock_1mhz) begin + if dail1 /= "11" then + dail1 <= "11"; + elsif up1 = '1' then + dail1 <= "01"; + elsif down1 = '1' then + dail1 <= "10"; + else + dail1<="11"; + end if; +end process; + +process (up2,down2,clock_1mhz) begin + if dail2 /= "11" then + dail2 <= "11"; + elsif up2 = '1' then + dail2 <= "01"; + elsif down2 = '1' then + dail2 <= "10"; + else + dail2<="11"; + end if; +end process; player1 <= not(fire1 & dail1 & right1 & left1 & start1 & '0' & coin1); player2 <= not(fire2 & dail2 & right2 & left2 & start2 & "00");