1
0
mirror of https://github.com/Gehstock/Mist_FPGA.git synced 2026-03-03 09:56:00 +00:00

Snapshot still wip

This commit is contained in:
Marcel
2021-02-28 21:27:55 +01:00
parent 42724e139e
commit 73dea51aa4
5 changed files with 57 additions and 19 deletions

Binary file not shown.

View File

@@ -0,0 +1,17 @@
ChannelF_MiSTer by Grabulosaure
Controls ChannelF uses two joysticks that can be moved in 4 directions, they can also be pushed, pulled and the knob can be turned left or right.
There are 5 buttons on the Channel F unit : RESET (1) TIME / 2 min / HOCKEY (2) MODE / 5 min / TENNIS (3) HOLD / 10 min / GAME 3 (4) START / 20 min / GAME 4
There are 2 games in ROM : Hockey and Tennis which can be run without loading any cartridge.
Press RESET G? : The console asks which game shall be started
Press 1 for Hockey
Press 2 for Tennis S? : The console waits before starting the game
Press 1 to select a time limit T? : Set time limit
Press 1..4 for the time limit
Press 2 to select game speed M? : Set speed
Press 1..4 for the speed
Press 4 to start play

Binary file not shown.

View File

@@ -50,17 +50,19 @@ channel_f channel_f(
.vga_hs(hs),
.vga_vs(vs),
.vga_de(blankn),
.joystick_0(~status[1] ? joystick_0 : joystick_1),
.joystick_1(~status[1] ? joystick_1 : joystick_0),
.Keys({m_four_players, m_three_players, m_two_players, m_one_player}),
.joystick_0({m_fireD, m_fireC, m_fireB, m_fireA, m_up, m_down, m_left, m_right}),
.joystick_1({m_fire2D, m_fire2C, m_fire2B, m_fire2A, m_up2, m_down2, m_left2, m_right2}),
.ioctl_download(ioctl_downl),
.ioctl_index(ioctl_index),
.ioctl_wr(1),//ioctl_wr),//todo
.ioctl_wr(~ioctl_wr),//todo
.ioctl_addr(ioctl_addr),
.ioctl_dout(ioctl_dout),
// .ioctl_wait(ioctl_wait),
.audio(audio)
);
);
wire ioctl_downl;
wire [7:0] ioctl_index;
wire ioctl_wr;
@@ -149,5 +151,23 @@ dac(
.dac_o(AUDIO_L)
);
wire m_up, m_down, m_left, m_right, m_fireA, m_fireB, m_fireC, m_fireD, m_fireE, m_fireF;
wire m_up2, m_down2, m_left2, m_right2, m_fire2A, m_fire2B, m_fire2C, m_fire2D, m_fire2E, m_fire2F;
wire m_tilt, m_coin1, m_coin2, m_coin3, m_coin4, m_one_player, m_two_players, m_three_players, m_four_players;
arcade_inputs inputs (
.clk ( clock_48 ),
.key_strobe ( key_strobe ),
.key_pressed ( key_pressed ),
.key_code ( key_code ),
.joystick_0 ( joystick_0 ),
.joystick_1 ( joystick_1 ),
.rotate ( 0 ),
.orientation ( 2'b00 ),
.joyswap ( status[1] ),
.oneplayer ( 1'b0 ),
.controls ( {m_tilt, m_coin4, m_coin3, m_coin2, m_coin1, m_four_players, m_three_players, m_two_players, m_one_player} ),
.player1 ( {m_fireF, m_fireE, m_fireD, m_fireC, m_fireB, m_fireA, m_up, m_down, m_left, m_right} ),
.player2 ( {m_fire2F, m_fire2E, m_fire2D, m_fire2C, m_fire2B, m_fire2A, m_up2, m_down2, m_left2, m_right2} )
);
endmodule

View File

@@ -73,8 +73,9 @@ ENTITY channel_f IS
vga_vs : OUT std_logic; -- positive pulse!
vga_de : OUT std_logic; -- = not (VBlank or HBlank)
-- HPS IO
joystick_0 : IN unsigned(31 DOWNTO 0);
joystick_1 : IN unsigned(31 DOWNTO 0);
Keys : IN unsigned(3 DOWNTO 0);
joystick_0 : IN unsigned(7 DOWNTO 0);
joystick_1 : IN unsigned(7 DOWNTO 0);
--ROM LOAD
ioctl_download : IN std_logic;
ioctl_index : IN std_logic_vector(7 DOWNTO 0);
@@ -463,24 +464,24 @@ BEGIN
----------------------------------------------------------
-- Joysticks / Buttons
pi0(7 DOWNTO 4)<=po0(7 DOWNTO 4);
pi0(0) <= NOT (joystick_0(4) OR joystick_1(4)); -- TIME
pi0(1) <= NOT (joystick_0(5) OR joystick_1(5)); -- MODE
pi0(2) <= NOT (joystick_0(6) OR joystick_1(6)); -- HOLD
pi0(3) <= NOT (joystick_0(7) OR joystick_1(7)); -- START
pi0(0) <= NOT Keys(0); -- TIME
pi0(1) <= NOT Keys(1); -- MODE
pi0(2) <= NOT Keys(2); -- HOLD
pi0(3) <= NOT Keys(3); -- START
pi1i(7) <= NOT joystick_0(8); -- RIGHT G.DOWN
pi1i(6) <= NOT joystick_0(9); -- RIGHT G.UP
pi1i(5) <= NOT joystick_0(10); -- RIGHT CW
pi1i(4) <= NOT joystick_0(11); -- RIGHT CCW
pi1i(7) <= NOT joystick_0(4); -- RIGHT G.DOWN
pi1i(6) <= NOT joystick_0(5); -- RIGHT G.UP
pi1i(5) <= NOT joystick_0(6); -- RIGHT CW
pi1i(4) <= NOT joystick_0(7); -- RIGHT CCW
pi1i(3) <= NOT joystick_0(3); -- RIGHT UP
pi1i(2) <= NOT joystick_0(2); -- RIGHT DOWN
pi1i(1) <= NOT joystick_0(1); -- RIGHT LEFT
pi1i(0) <= NOT joystick_0(0); -- RIGHT RIGHT
pi4i(7) <= NOT joystick_1(8); -- LEFT G.DOWN
pi4i(6) <= NOT joystick_1(9); -- LEFT G.UP
pi4i(5) <= NOT joystick_1(10); -- LEFT CW
pi4i(4) <= NOT joystick_1(11); -- LEFT CCW
pi4i(7) <= NOT joystick_1(4); -- LEFT G.DOWN
pi4i(6) <= NOT joystick_1(5); -- LEFT G.UP
pi4i(5) <= NOT joystick_1(6); -- LEFT CW
pi4i(4) <= NOT joystick_1(7); -- LEFT CCW
pi4i(3) <= NOT joystick_1(3); -- LEFT UP
pi4i(2) <= NOT joystick_1(2); -- LEFT DOWN
pi4i(1) <= NOT joystick_1(1); -- LEFT LEFT