
DIAG
Nakazoto/CenturionComputer
This is just a simple backup of all the files related to the Centurion that I have stored on my HD. The Wiki itself has far more in-depth information about the Centurion and it's individual cards.

An implementation of Tic Tac Toe in TTL logic
Ttt ttl is an open-source printed circuit board by DoctorWkt, from the DoctorWkt/TTL_TicTacToe repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 79.8 × 129.5 mm with 82 parts on 106 nets, routed with 1,186 tracks and 5 vias.
It is built around the 74LS109PC, 74LS161DC and NE555. Its parts include 33 resistors, 20 diodes, 13 ICs, 11 switches and 3 capacitors.
I've seen several circuits for two-player tic-tac-toe games on the Internet, but I thought I'd try to design one with these constraints:
This is the repository for my result. The circuit uses flip-flops to register both the human and the board's moves. The board has a register which holds the current state of the board's moves. The board state and the user's moves are combined to access a ROM to look up the next board move and any tie or win result. An overview of the design is available. Here's a video of the board in action.
There are several versions of the design.
I built this Logisim version in preparation for designing the real circuit with TTL components. If you haven't used Logisim before, open up the *.circ file. Now start the clock with a control-K (or use Simulate -> Ticks Enabled). Now that the circuit is running, click on the brown finger icon (the poke tool) at the top-left so that you can press the game buttons.

Over on the right you will see a 3x3 grid. The white squares are the pushbuttons to make a move. Next to each button is a red LED to register the user's move and a blue LED for the board's moves.
Below this grid there is a Reset button and a "Who Goes First" button. Press the "Who Goes First" button to toggle between the user moving first and the board moving first. Then press the Reset button to clear the board.
Now press the user moves buttons to make your moves. Immediately after each move, the board will make a move. When a tie occurs, the Tie LED will light up. When the board wins, the Win LED will light up.
Over on the left are the nine JK flip-flops to record the user's moves, and the nine JK flip-flops to record the board's moves. Below that is the ROM which generates a 4-bit value which is the new board's move. The 4-bit board move goes into the 4:16 demultiplexer to generate the nine lines which go to the nine JK flip-flops to record the board's moves. Two of the 16 possible moves are used to indicate a tie or a board win.
The ROM also generates the next state of the board's moves. This is recorded into a 4-bit register. See the design notes for details of the state number.
The circuit should come with the latest version of the ROM image. If you ever regenerate the ttt.rom file, here is how to load it into the circuit. Right-click on the ROM device in the circuit and choose Load image and choose the ttl.rom file to load.
In the Schematic/ folder you will find a Kicad schematic for the circuit. This uses:
I've also designed a PCB to hold all the components. The design has separate LEDs for user and board moves, but I've chosen to use bi-colour LEDs so that there is a single physical LED for each board position: green for the user, red for the board, off when empty.
At the Linux command-line, run the command:
makeThis will use the gen_moves.pl script to generate the user-first moves file umoves, and the board-first moves file bmoves. These are then parsed by the parse_moves.pl script to create the ttt.rom file used by Logisim.
Finally, the hex2bin script takes the ttt.rom file, which is hex-encoded, and converts it to the binary file 28C256.bin which can be burned to the EEPROM.
If you have a MiniPro EEPROM burner and the minipro command installed,
make writewill burn the 28C256.bin to a 28C256 chip with the MiniPro burner.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 30 | 1K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R2, R3, R10, R11, R12, R16, R17, R18, R25, R26, R27, R28, R29, R30, R31 +14 |
| 18 | LED | LED_THT:LED_D3.0mm | D1, D2, D3, D4, D5, D6, D7, D10, D11, D12, D13, D14, D15, D16, D17, D18 +2 |
| 10 | SW_Push | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10 |
| 9 | 74LS109 | Package_DIP:DIP-16_W7.62mm | U1, U2, U3, U4, U5, U6, U7, U8, U9 |
| 2 | Conn_01x01 | Connector_Pin:Pin_D1.0mm_L10.0mm | J1, J2 |
| 1 | 100K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R41 |
| 1 | 100nF | Capacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mm | C2 |
| 1 | 10K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R13 |
| 1 | 10nF | Capacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mm | C1 |
| 1 | 20K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R42 |
| 1 | 220uF | Capacitor_THT:CP_Radial_D10.0mm_P2.50mm | C3 |
| 1 | 28C256 | Package_DIP:DIP-28_W15.24mm_Socket | U10 |
| 1 | 74LS154 | Package_DIP:DIP-24_W7.62mm | U11 |
| 1 | 74LS161 | Package_DIP:DIP-16_W7.62mm | U13 |
| 1 | DPDTx2 | Package_DIP:DIP-6_W7.62mm | SW11 |
| 1 | NE555 | Package_DIP:DIP-8_W7.62mm | U12 |
| 1 | TIE | LED_THT:LED_D3.0mm | D20 |
| 1 | WIN | LED_THT:LED_D3.0mm | D19 |

Nakazoto/CenturionComputer
This is just a simple backup of all the files related to the Centurion that I have stored on my HD. The Wiki itself has far more in-depth information about the Centurion and it's individual cards.



rraider/Seminarkurs2021
Entwicklung eines turingvollständigen, primitiven Microcontroller in der Software Digital


SukkoPera/OpenC64WarpSpeed
Open Hardware Fast Loader cartridge for the Commodore 64 and 128 - DO NOT USE!!!


It measures 79.8 × 129.5 mm and has 2 copper layers, 1.6 mm thick.
82 parts, built around the 74LS109PC, 74LS161DC and NE555. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the DoctorWkt/TTL_TicTacToe repository on GitHub, at the commit this page was made from: the board is Schematic/ttt_ttl.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).