Return to Menu
= MICROCODE OVERVIEW =
The DUO Compact's control unit contains 2 microcode EEPROM chips. The microcode determines the order in which to send read and write signals among other things. See the schematic for how the pins of the EEPROMs are connected.
= MICROCODE FORMAT =
YZZZZZ: AAABCDEF-XXPQRRSS
Y = detect zero input (
0 means zero NOT detected,
1 means zero detected)
Z = microcode address
X = unused pin
A = general address
B = general OE
C = ALU buffer OE
D = suffix selector (
0 means use address register,
1 means use microcode value)
E = memory OE
F = reset clock counter (
1 means reset)
P = memory WE (
0 means write)
Q = general WE (
0 means write)
R = data WE (
1 means write)
S = address WE (
1 means write)
The data AAABCDEX is contained in the first EEPROM, while XPQRSSTT is in the second EEPROM.
All OE pins are activated with an input of 0.
= MICROCODE DATA =
Write from memory (suffix 0) to general register 0
000000: 00011100-XX100000
100000: 00011100-XX100000
Write from memory (suffix 1) to general register 1
010000: 10011100-XX100000
110000: 10011100-XX100000
Write from memory (suffix 2) to general register 2
001000: 01011100-XX100000
101000: 01011100-XX100000
Write from memory (suffix 3) to general register 3
011000: 11011100-XX100000
111000: 11011100-XX100000
Write from memory (suffix 4) to general register 4
000100: 00111100-XX100000
100100: 00111100-XX100000
Write from memory (suffix 5) to general register 5
010100: 10111100-XX100000
110100: 10111100-XX100000
Write from memory (suffix 6) to general register 6
001100: 01111100-XX100000
101100: 01111100-XX100000
Write from memory (suffix 7) to general register 7
011100: 11111100-XX100000
111100: 11111100-XX100000
Write from general register 0 to address register 0
000010: 00001010-XX110001
100010: 00001010-XX110001
Write from general register 1 to address register 1
010010: 10001010-XX110010
110010: 10001010-XX110010
Write from memory to data register 0
001010: 00011000-XX110100
101010: 00011000-XX110100
Write from general register 2 to address register 0
011010: 01001010-XX110001
111010: 01001010-XX110001
Write from general register 3 to address register 1
000110: 11001010-XX110010
100110: 11001010-XX110010
Write from memory to data register 1
010110: 00011000-XX111000
110110: 00011000-XX111000
Write from ALU to memory
001110: 00010010-XX010000
101110: 00010010-XX010000
Write from general register 4 (or 6) to address register 0
011110: 00101010-XX110001
111110: 01101010-XX110001
Write from general register 5 (or 7) to address register 1
000001: 10101010-XX110010
100001: 11101010-XX110010
Go back to the first microcode step
010001: 00011011-XX110000
110001: 00011011-XX110000
Return to Menu