The design and applications of a dual port memory for microprocessor systems