mirror of
https://github.com/MiSTer-devel/Arcade-SlapFight_MiSTer.git
synced 2026-05-17 03:02:54 +00:00
new file: .gitignore new file: Arcade-SlapFight.old.sdc new file: Arcade-SlapFight.out.sdc new file: Arcade-SlapFight.qpf new file: Arcade-SlapFight.qsf new file: Arcade-SlapFight.sdc new file: Arcade-SlapFight.srf new file: Arcade-SlapFight.sv new file: LICENSE new file: README.md new file: clean.bat new file: docs/KiCAD/SlapFight/CPUA.kicad_sch new file: docs/KiCAD/SlapFight/CPUA.kicad_sch-bak new file: docs/KiCAD/SlapFight/Connectors.kicad_sch new file: docs/KiCAD/SlapFight/SlapFight.kicad_prl new file: docs/KiCAD/SlapFight/SlapFight.kicad_pro new file: docs/KiCAD/SlapFight/SlapFight.kicad_sch new file: docs/KiCAD/SlapFight/SlapFight.kicad_sch-bak new file: docs/KiCAD/SlapFight/SlapFight.pdf new file: docs/KiCAD/SlapFight/SlapFight.pro new file: docs/KiCAD/SlapFight/SpriteRAM.kicad_sch new file: docs/KiCAD/SlapFight/SpriteRAM.kicad_sch-bak new file: docs/KiCAD/SlapFight/SpriteROM.kicad_sch new file: docs/KiCAD/SlapFight/SpriteROM.kicad_sch-bak new file: docs/KiCAD/SlapFight/aucpu.kicad_sch new file: docs/KiCAD/SlapFight/aucpu.kicad_sch-bak new file: docs/KiCAD/SlapFight/background.kicad_sch new file: docs/KiCAD/SlapFight/background.kicad_sch-bak new file: docs/KiCAD/SlapFight/clock.kicad_sch new file: docs/KiCAD/SlapFight/clock.kicad_sch-bak new file: docs/KiCAD/SlapFight/cpu_wait.kicad_sch new file: docs/KiCAD/SlapFight/foreground.kicad_sch new file: docs/KiCAD/SlapFight/foreground.kicad_sch-bak new file: docs/KiCAD/SlapFight/jtkicad/.gitignore new file: docs/KiCAD/SlapFight/jtkicad/LICENSE new file: docs/KiCAD/SlapFight/jtkicad/README.md new file: docs/KiCAD/SlapFight/jtkicad/footprints/Arduino.pretty/Arduino_101_Shield.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/Arduino.pretty/Arduino_Due_Shield.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/Arduino.pretty/Arduino_Leonardo_Shield.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/Arduino.pretty/Arduino_Mega2560_Shield.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/Arduino.pretty/Arduino_Micro_Socket.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/Arduino.pretty/Arduino_Mini_Socket.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/Arduino.pretty/Arduino_Nano_Socket.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/Arduino.pretty/Arduino_Uno_Shield.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/Arduino.pretty/Arduino_Zero_Shield.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/jtlogos.pretty/JTlogo.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/jtlogos.pretty/JTlogo_22x8.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/footprints/jtlogos.pretty/JTlogo_small.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/74extra.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/74extra.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/Intel.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/Intel.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/Mod_KC_Symbols.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/Mod_KC_Symbols.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/NKD.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/NKD.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/Nec.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/Nec.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/Sharp.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/Sharp.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/Signetics.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/Signetics.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/0402-X4_1X2mm_P0.5mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/16P8B_1.6X4mm_P0.5mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/JAMMA_CONN.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/SO-14_4.20X8.75mm_P1.27mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/SO-16_4X10mm_P1.27mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/SOIC-20_5.3x12.9_P1.27mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/SOP-14_4.80X8.70mm_P1.27mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/SOP-16_4.40X10mm_P1.27mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/SOP-28_8,6X18,5mm_P1,27mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/SOT-762_2.60X3mmX0.85mm_P0.5mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/TSSOP-20-PW_5.10X6.60mm_P0.65mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arcade.pretty/VSSP-20_3.40X5.25mm_P0.5mm.kicad_mod new file: docs/KiCAD/SlapFight/jtkicad/lib/arduino.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/arduino.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/capcom.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/data_east.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/data_east.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/fujitsu.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/fujitsu.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/hitachi.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/hitachi.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/jt74.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/jt74.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/konami.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/konami.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/mitsubishi.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/mitsubishi.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/oki.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/oki.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/sega.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/sega.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/seta.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/singapore.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/singapore.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/texas_instruments.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/tms_texas.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/tms_texas.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/toaplan.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/toaplan.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/toshiba.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/toshiba.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/lib/yamaha.dcm new file: docs/KiCAD/SlapFight/jtkicad/lib/yamaha.kicad_sym new file: docs/KiCAD/SlapFight/jtkicad/sym-lib-table new file: docs/KiCAD/SlapFight/pixels.kicad_sch new file: docs/KiCAD/SlapFight/pixels.kicad_sch-bak new file: docs/KiCAD/SlapFight/spLinebuff.kicad_sch new file: docs/KiCAD/SlapFight/spLinebuff.kicad_sch-bak new file: docs/KiCAD/SlapFight/spradd.kicad_sch new file: docs/KiCAD/SlapFight/spradd.kicad_sch-bak new file: docs/KiCAD/SlapFight/sym-lib-table new file: docs/KiCAD/SlapFight/untitled.kicad_sch new file: docs/KiCAD/SlapFight/video_out.kicad_sch new file: docs/KiCAD/SlapFight/video_out.kicad_sch-bak new file: docs/KiCAD/SlapFight/vpixels.kicad_sch new file: docs/KiCAD/SlapFight/vpixels.kicad_sch-bak new file: files.qip new file: releases/Arcade-SlapFight.rbf new file: releases/SlapFight Bootleg.mra new file: rtl/T80/GBse.vhd new file: rtl/T80/README new file: rtl/T80/T80.qip new file: rtl/T80/T80.vhd new file: rtl/T80/T8080se.vhd new file: rtl/T80/T80_ALU.vhd new file: rtl/T80/T80_MCode.vhd new file: rtl/T80/T80_Pack.vhd new file: rtl/T80/T80_Reg.vhd new file: rtl/T80/T80a.vhd new file: rtl/T80/T80as.vhd new file: rtl/T80/T80pa.vhd new file: rtl/T80/T80s.vhd new file: rtl/T80/T80se.vhd new file: rtl/T80/T80sed.vhd new file: rtl/dpram_dc.vhd new file: rtl/firjt49.hex new file: rtl/hiscore.v new file: rtl/jt49/LICENSE new file: rtl/jt49/filter/jt49_dcrm.v new file: rtl/jt49/filter/jt49_dcrm2.v new file: rtl/jt49/filter/jt49_dly.v new file: rtl/jt49/filter/jt49_mave.v new file: rtl/jt49/jt49.qip new file: rtl/jt49/jt49.v new file: rtl/jt49/jt49.yaml new file: rtl/jt49/jt49_bus.v new file: rtl/jt49/jt49_cen.v new file: rtl/jt49/jt49_div.v new file: rtl/jt49/jt49_eg.v new file: rtl/jt49/jt49_exp.v new file: rtl/jt49/jt49_noise.v new file: rtl/jtframe_dcrm.v new file: rtl/jtframe_fir.v new file: rtl/jtframe_jt49_filters.v new file: rtl/pause.v new file: rtl/pll.qip new file: rtl/pll.v new file: rtl/pll/pll_0002.qip new file: rtl/pll/pll_0002.v new file: rtl/rom_loader.sv new file: rtl/roms/ROM82S129sv.sv new file: rtl/slap_background.v new file: rtl/slap_foreground.v new file: rtl/slap_ram.v new file: rtl/slap_roms.v new file: rtl/slap_sprites.v new file: rtl/slapcore.v new file: rtl/ttl_chips.v new file: sprites.stp new file: sys/alsa.sv new file: sys/arcade_video.v new file: sys/ascal.vhd new file: sys/audio_out.v new file: sys/build_id.tcl new file: sys/ddr_svc.sv new file: sys/f2sdram_safe_terminator.sv new file: sys/gamma_corr.sv new file: sys/hps_io.sv new file: sys/hq2x.sv new file: sys/i2c.v new file: sys/i2s.v new file: sys/iir_filter.v new file: sys/ltc2308.sv new file: sys/math.sv new file: sys/mcp23009.sv new file: sys/mt32pi.sv new file: sys/osd.v new file: sys/pll.13.qip new file: sys/pll_audio.13.qip new file: sys/pll_audio.qip new file: sys/pll_audio.v new file: sys/pll_audio/pll_audio_0002.qip new file: sys/pll_audio/pll_audio_0002.v new file: sys/pll_cfg.qip new file: sys/pll_cfg.v new file: sys/pll_cfg/altera_pll_reconfig_core.v new file: sys/pll_cfg/altera_pll_reconfig_top.v new file: sys/pll_hdmi.13.qip new file: sys/pll_hdmi.qip new file: sys/pll_hdmi.v new file: sys/pll_hdmi/pll_hdmi_0002.qip new file: sys/pll_hdmi/pll_hdmi_0002.v new file: sys/pll_hdmi_adj.vhd new file: sys/pll_q13.qip new file: sys/pll_q17.qip new file: sys/scandoubler.v new file: sys/scanlines.v new file: sys/sd_card.sv new file: sys/shadowmask.sv new file: sys/sigma_delta_dac.v new file: sys/spdif.v new file: sys/sys.qip new file: sys/sys.tcl new file: sys/sys_analog.tcl new file: sys/sys_dual_sdram.tcl new file: sys/sys_top.sdc new file: sys/sys_top.v new file: sys/sysmem.sv new file: sys/vga_out.sv new file: sys/video_cleaner.sv new file: sys/video_freak.sv new file: sys/video_freezer.sv new file: sys/video_mixer.sv
110 lines
1.9 KiB
Systemverilog
110 lines
1.9 KiB
Systemverilog
|
|
// result = num/div
|
|
module sys_udiv
|
|
#(
|
|
parameter NB_NUM,
|
|
parameter NB_DIV
|
|
)
|
|
(
|
|
input clk,
|
|
input start,
|
|
output busy,
|
|
|
|
input [NB_NUM-1:0] num,
|
|
input [NB_DIV-1:0] div,
|
|
output reg [NB_NUM-1:0] result,
|
|
output reg [NB_DIV-1:0] remainder
|
|
);
|
|
|
|
reg run;
|
|
assign busy = run;
|
|
|
|
always @(posedge clk) begin
|
|
reg [5:0] cpt;
|
|
reg [NB_NUM+NB_DIV+1:0] rem;
|
|
|
|
if (start) begin
|
|
cpt <= 0;
|
|
run <= 1;
|
|
rem <= num;
|
|
end
|
|
else if (run) begin
|
|
cpt <= cpt + 1'd1;
|
|
run <= (cpt != NB_NUM + 1'd1);
|
|
remainder <= rem[NB_NUM+NB_DIV:NB_NUM+1];
|
|
if (!rem[NB_DIV + NB_NUM + 1'd1])
|
|
rem <= {rem[NB_DIV+NB_NUM:0] - (div << NB_NUM),1'b0};
|
|
else
|
|
rem <= {rem[NB_DIV+NB_NUM:0] + (div << NB_NUM),1'b0};
|
|
result <= {result[NB_NUM-2:0], !rem[NB_DIV + NB_NUM + 1'd1]};
|
|
end
|
|
end
|
|
|
|
endmodule
|
|
|
|
// result = mul1*mul2
|
|
module sys_umul
|
|
#(
|
|
parameter NB_MUL1,
|
|
parameter NB_MUL2
|
|
)
|
|
(
|
|
input clk,
|
|
input start,
|
|
output busy,
|
|
|
|
input [NB_MUL1-1:0] mul1,
|
|
input [NB_MUL2-1:0] mul2,
|
|
output reg [NB_MUL1+NB_MUL2-1:0] result
|
|
);
|
|
|
|
reg run;
|
|
assign busy = run;
|
|
|
|
always @(posedge clk) begin
|
|
reg [NB_MUL1+NB_MUL2-1:0] add;
|
|
reg [NB_MUL2-1:0] map;
|
|
|
|
if (start) begin
|
|
run <= 1;
|
|
result <= 0;
|
|
add <= mul1;
|
|
map <= mul2;
|
|
end
|
|
else if (run) begin
|
|
if(!map) run <= 0;
|
|
if(map[0]) result <= result + add;
|
|
add <= add << 1;
|
|
map <= map >> 1;
|
|
end
|
|
end
|
|
|
|
endmodule
|
|
|
|
// result = (mul1*mul2)/div
|
|
module sys_umuldiv
|
|
#(
|
|
parameter NB_MUL1,
|
|
parameter NB_MUL2,
|
|
parameter NB_DIV
|
|
)
|
|
(
|
|
input clk,
|
|
input start,
|
|
output busy,
|
|
|
|
input [NB_MUL1-1:0] mul1,
|
|
input [NB_MUL2-1:0] mul2,
|
|
input [NB_DIV-1:0] div,
|
|
output [NB_MUL1+NB_MUL2-1:0] result,
|
|
output [NB_DIV-1:0] remainder
|
|
);
|
|
|
|
wire mul_run;
|
|
wire [NB_MUL1+NB_MUL2-1:0] mul_res;
|
|
sys_umul #(NB_MUL1,NB_MUL2) umul(clk,start,mul_run,mul1,mul2,mul_res);
|
|
|
|
sys_udiv #(NB_MUL1+NB_MUL2,NB_DIV) udiv(clk,start|mul_run,busy,mul_res,div,result,remainder);
|
|
|
|
endmodule
|