New revision for Jelly. Changes in concepts, circuits and complexity.
Executing:
Jelly does all external communication using 8 lines of control and 8 lines for information, the control lines are output and information is bi-directional.
The standart input and output are instant devices.
Changed to two modes, code and loop. In code mode, all operations except begin '[' and
again ']' are done. In loop mode, just run forward or backward until find a match again ']' or begin '['. While in loop mode, the math circuit is used as loop counter.
The fetch of next code byte from code tape, aka nop, now is op-code 0x0 and automagic, called by a clear on opcode latch and on step counter;
Circuits:
Changed the input latches to 74hc273, with reset and clock. This solves, 'how easy do a fetch' and 'how clear loop counter'.
Include output latches as 74hc574, with output enable and clock, for device control and control 3-state access internal data bus;
Include a bi-directional switch 74HC245, with enable, direction and 3-state. This solves external devices access to internal data bus;
Logics:
A loop logic circuit does all logics for start and stop the loop mode;
The loop logic circuit now have signals: begin, again, zero, mode, move, and generates do_mode and do_move.
begin is a line, high when data byte is a '[' and mode is code;
again is a line, high when data byte is a ']' and mode is code;
zero is a line, high when data byte is not a zero;
mode is a line, high when mode is loop;
move is a line, high when movement is reversed;
domode is a toggle, low when mode is code, high when mode is loop;
domove is a toggle, low when forward, high when backward;
id | begin | again | zero | mode | move | domode | domove |
1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
2 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
3 | x | x | 0 | 1 | 0 | 1 | 0 |
4 | x | x | 0 | 1 | 1 | 1 | 1 |
- A toggle is a pulse in the clock line of D-flip-flop.
- The do_mode also does initial reset of counter circuit.
- The code mode movement is always forward.
- The loop mode ends when counter is zero.
- The X is does not matter.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.