Revision 357
Added by markw over 10 years ago
| common/a8core/sio_device.vhdl | ||
|---|---|---|
|
end process;
|
||
|
|
||
|
-- state machine
|
||
|
command_next <= sio_command;
|
||
|
process(state_reg, command_next, command_reg, bus_free, pokey_data_out, target_reg, clear_request)
|
||
|
begin
|
||
|
state_next <= state_reg;
|
||
| ... | ... | |
|
target_wr_en<='0';
|
||
|
target_next<=target_reg;
|
||
|
|
||
|
command_next <= command_reg;
|
||
|
|
||
|
if (bus_free = '1') then
|
||
|
command_next <= sio_command;
|
||
|
case (state_reg) is
|
||
|
when state_wait_high_low =>
|
||
|
target_next<=(others=>'0');
|
||
|
if (command_next = '0' and command_reg='1') then
|
||
|
if (sio_command = '0' and command_reg='1') then
|
||
|
state_next <= state_command_clear_irq;
|
||
|
end if;
|
||
|
when state_command_clear_irq =>
|
||
| ... | ... | |
|
|
||
|
if (clear_request = '1') then
|
||
|
state_next <= state_wait_high_low;
|
||
|
command_next <= sio_command;
|
||
|
end if;
|
||
|
end process;
|
||
|
|
||
Patch from Hias to fix dropped command packets. Many thanks for digging into this!