+ -- resetten der parser counter
+ p_sp_read_next <= (others => '0');
+ p_sp_write_next <= std_logic_vector(to_unsigned(HSPALTE_MAX,p_sp_write_next'length));
+ when S_S_FIN_POSUP =>
+ -- overflowcheck nach 50 berechnungen => wieder von vorne anfangen
+ if pos_int = std_logic_vector(to_unsigned(H_RAM_SIZE-142,H_RAM_WIDTH)) then
+ pos_next <= (others => '0');
+ else
+ pos_next <= std_logic_vector(unsigned(pos_int) + to_unsigned(142,H_RAM_WIDTH));
+ end if;
+ when S_S_CLEAR_NEXT0 =>
+ -- die naechsten 142 bytes im speicher resetten
+ wr_next <= '1';
+ address_next <= std_logic_vector(unsigned(pos_int) + unsigned(s_cnt_int));
+ data_in_next <= (others => '0');
+ if s_cnt_int = hspalte(to_unsigned(HSPALTE_MAX,hspalte'length)) then
+ s_cnt_next <= (0 => '1', others => '0');
+ else
+ s_cnt_next <= std_logic_vector(unsigned(s_cnt_int) + 1);
+ end if;
+ when S_S_CLEAR_NEXT1 =>
+ -- die naechsten 142 bytes im speicher resetten
+ wr_next <= '1';
+ address_next <= std_logic_vector(unsigned(pos_int) + to_unsigned(HSPALTE_MAX,H_RAM_WIDTH) + unsigned(s_cnt_int));
+ data_in_next <= (others => '0');
+ if s_cnt_int = hspalte(to_unsigned(HSPALTE_MAX,hspalte'length)) then
+ s_cnt_next <= (0 => '1', others => '0');
+ else
+ s_cnt_next <= std_logic_vector(unsigned(s_cnt_int) + 1);
+ end if;