-----------Sondertasten um die Eingabe über die Tastatur intuitiver zu gestalten, z.B ESC löscht den SRAM und das LCD display---------------- --------------------------------------------------------------------------------------------------------------------------------------------- -- ESC: elsif (token_word (13 downto 0) = "11011010000000") then --Bei "Esc" wird ein soft reset ausgeführt, d.h. der SRAM wird gelöscht soft_reset <= '1'; IF cnt >= 6 THEN cnt <= 0; sound <= '0'; double := 0; word_state := 0; mem_max <= 0; mem_addr <= 0; cnt <= 0; read_write <= '0'; sound <= '0'; double := 0; token_word <= (OTHERS => '0'); ELSE cnt <= cnt + 1; read_write <= '1'; RAM_IN <= (Others => '0'); END IF; --BACKSPACE: elsif (token_word (13 downto 0) = "11010000000000" or state3 > 0) then --" backspace" löscht den letzten SRAM speicher platz CASE state3 IS --Datens in den RAM schreiben und Speicheradresse dekrementieren WHEN 0 => read_write <= '1'; mem_addr <= mem_addr - 1; mem_max <= mem_max - 1; state3 := 1; when 1 => state3 := 2; WHEN 2 => read_write <= '0'; RAM_IN <= (Others => '0'); token_word <= (others => '0'); state3 := 0; WHEN OTHERS => END CASE; --LEFT ARROW: elsif (token_word (13 downto 0) = "11011011000000") then--and counter4 /= state4 then --"left arrow" dekrementiert die SRAM Adresse in die geschrieben wird read_write <= '0'; mem_addr <= mem_addr -1; token_word <= (others => '0'); --RIGHT ARROW: elsif (token_word (13 downto 0) = "11011011010000") then--and counter4 /= state4 then --"right arrow" dekrementiert die SRAM Adresse in die geschrieben wird read_write <= '0'; mem_addr <= mem_addr + 1; token_word <= (others => '0'); --ENTF: elsif (token_word (13 downto 0) = "11011000000000") then--and counter4 /= state4 then --"Entf" löscht die SRAM-Zelle auf der gerade der zeiger steht read_write <= '1'; RAM_IN <= (others => '0'); token_word <= (others => '0');