Close

revision for easy

A project log for Jelly

A minimal DIY 8-bit CPU made with TTL chips, to perform native brainfu*k language, extended to use three sequential access tapes.

alvaro-barcellosAlvaro Barcellos 07/04/2023 at 14:050 Comments

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;


idbeginagainzeromodemovedomodedomove
11000010
20110011
3xx01010
4xx01111

 
- 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