Things you should know:
  • You can press ESC to exit frames and dialogs.
  • Allowed addresses are: 0x80, 0x81, 0x82, 0x83 (Port A, Port B, Port C, Control Port).
  • When Mode 2 is detected, since it's not supported by the application, you need to press the Reset button and proceed by providing a new Control Word.
  • When Ascii Output Mode is set and no output is shown, this may be due to the fact that the character is actually a non-printable ascii character.
  • When in Mode 0 Input, since Strobe is not available, values are written to their corresponding ports once the input is complete, according to the input mode that has been set (i.e. 8 one/zeros when in binary mode, 1 bit for PCi, 1 character when in Ascii mode, 2 hex chars when in hexadecimal mode).
    In the case of Signed/Unsigned input mode, since the number of characters allowed is variable, you need to type '.' (period) once the input is complete.
  • When polling on Port A/B checking the IBFa/IBFb bit (respectively PC5 and PC1), after you have read port C, remember to clear that bit or your application will consider another input available on port A/B.
  • If you want to re-program the 8255, don't send a new Control Word "on-the-fly", but press the Reset button before doing it.
  • The ACK button becomes enabled only when a value is actually sent out to the device. This means that no other operations are allowed until the user presses the Ack button, notifying the 8255 the device has received the value.
  • If a Text Field is editable, the corresponding port or bit direction is input, otherwise the direction is output.
  • It is recommended to not set a step delay in emu8086 shorter than 100 msec.
  • Because of underlying limitations, the application is aware of a new value written to a port, only when it's different from the previous one.
    This may obviously lead to an unexpected and undesired behaviour.
8255 Programming
Bit Set/Reset
Mode 1 Input
Mode 1 Output