Close
0%
0%

R.A.V.E.N. -- A Transistorised Brainfuck Computer

[R]eduction to [A]lgorithms of [V]ersatile [E]soteric m[N]eumonics

Public Chat
Similar projects worth following
This discrete transistor computer will be based on the DEC R-Series DTL logic, will use hand-made core memory, and will be able to run 'brainfuck' code natively - the full instruction set of this computer will be the eight instructions of 'brainfuck'.

This computer is inspired by the MENTAL-1 (TTL) and BrainfuckPC (Relay) implementations of brainfuck as an Instruction Set Architecture.

This project aims to demonstrate that technological disobedience is possible, and you can have a computer that completely circumvents any proprietary computer corporations!

This project is licenced under the GNU GPL v3.

Please find here a link to my Patreon if you believe my work is important: https://www.patreon.com/dirtycommo

Log #1 - Implementing the Stack, and Defining the Data Flow

Log #2 - Creating the Sub-Circuit Modules in Qucs

Log #3 - First Attempt at Designing the Perboard Layout

Log #4 - Explaining How the RAVEN's Flip-Flops Work

Log #5 - Purchasing the Circuit Board


Technological disobedience is an imperative today. All the biggest CPU manufacturers are all part of the capitalist military industrial complex.

With this discrete transistor computer, I aim to show that it is possible to create a reasonably functional 12-bit computer with a (relatively) low number of parts. If I can complete this project successfully, I will go on to create a design for a discrete transistor computer that more closely resembles the feature set of a proper general-purpose computer.

So this project really is to make something like a toy, but I do want to go on to create a hackable Second Generation computer that allows you to take control of how your everyday appliances are designed, and help you understand how they work, so you can't be fooled or controlled.

--

In order to make the design of this computer as simple as possible, I have decided to follow a popular trend of making a computer with the 8 'brainfuck' esoteric language operations as the ISA of this computer.

That way, an accumulator and an ALU are not necessary for this design. Also, absolutely no general purpose working registers are needed either. All of the operations of the brainfuck esoteric language can be carried out by incrementing and decrementing a Memory Data Register, a Memory Address Register, and including one extra register, a Stack Pointer, in order to speed up the [ and ] commands.

--

This project follows in the footsteps of the famous PDP-8/S, which was the smallest and cheapest commerically available computer when it was released. It was also a masterpiece of engineering, and was not some shoddy gimmick. It combined beautful concepts while still ushering in more democratic access to computing.

This is what I aim to achieve with the RAVEN, of which I only really want to build one model - greater hardware openness and democracy, and education.

I aim to make the RAVEN as cheap as possible to build, so other people can copy my plans and follow along.

I aim to avoid as many of the metaphors and idiosyncracies of the x86, 8080, 8088, and 8085 Intel processors. I think they are ugly and incredibly unparsimonious designs, and I was very dismayed to find that the later Malvino Digital Computer Electronics editions cut out large sections of wonderful exploration in the 70s editions for just copying and pasting explanations of Intel x86 CPU architectures.

I also mean this project to be a big of a 'stuff you' to Microsoft/Windows/Intel. I by far prefer the engineering culture at DEC, and I think the absolute beauty of their computers is evidence that DEC fostered much greater creativity and freedom in their engineering.

(Also DEC had an excellent corporate culture of looking after their employees.)

--

Anyway the take-home message I want to get across is I would love to show people that they can have much greater control and understanding of exactly what their computer is doing, and how it is doing it.

  • 200 × MMBT2907 (AUD3.62) RF, IF, RFID, ZigBee Semiconductors and ICs / Transistors and FETs
  • 300 × 1N4007 (AUD3.19) Discrete Semiconductors / Diodes and Rectifiers
  • 200 × 100pF Capacitor (AUD1.51)
  • 2000 × 1N4148 (AUD13.84) Discrete Semiconductors / Diodes and Rectifiers
  • 200 × 1.5K Resistor 5% 0.25W (AUD1.97)

View all 10 components

  • New Photo: Breadboard Construction

    Blair Vidakovich02/09/2019 at 10:15 0 comments

    I have switched to literal old school breadboard construction because it is very cheap.

    The nails and wood are all reused.

    I have also ditched SMD transistors and resistors because dead bug construction with them is too difficult.

    I attempted using screws, but they were too big.

    Almost all the components have been added, except for the 1N4004 power diodes.

    This construction took an afternoon with a hammer and punch. First you tap the nails with a punch, and then hammer the nails.

    I estimate this project could be assembled by children, with supervision. The children could used pre drilled wood, and be given small screws with washers.

    I will solder the components to the nails once they have all been added.

    I will post videos of the operation of the flip flop once I have completed the power supply.

    I wonder if it's possible to find second hand 1N4148s in large quantities in Australia...

    Loads of this project has used waste materials. Also it encourages technological independence. I will potentially rename this computer the 'Walden', after Henry Thoreau, whose philosophy this computer embodies.

  • Five Edge Triggered Inputs Photo

    Blair Vidakovich09/15/2018 at 13:40 0 comments

  • Beginning Soldering - 15 Sept '18

    Blair Vidakovich09/15/2018 at 04:15 0 comments

    Hello! I have started soldering!

    The image below are three input triggers for a flip flop.

    The following are my first efforts at making the direct set and clear circuit for the flip flop:

    This is a plane-level view of the triggering sub-circuits:

    I can prepare a how to guide about how to solder these circuits. It is a little fiddly but not difficult without a magnifying glass, although I would recommend one.

    Good eyesight is needed.

  • Sticking It Out, Sometimes

    Blair Vidakovich09/10/2018 at 11:43 0 comments

    I have received a bit of doubt over the past few months about my choice of DTL logic style.

    Many people seem to predict that I will not be happy with the performance of my circuits.

    But I have not seen any explanations yet - I am open to discussion, as always - would anyone like to expain?

  • Supplies #2

    Blair Vidakovich09/08/2018 at 22:24 0 comments

    The parts have arrived! Below is a selection of the parts that are going into the flip flop modules!

    4K7 resistors:

    15K resistors:

    1N4007 diodes:

    4000 x 1n4148 diodes:

    200 x transistors:

  • Supplies #1

    Blair Vidakovich09/07/2018 at 09:08 0 comments

    Just purchased the right exotic transformer (not really), some solder, and a small voltage regulator!

    When we come to the core memory there will be some real power needed, but I think this 100VA dual, tapped secondary transformer will be enough for the whole CPU, excluding the core memory.

  • Help Needed: Need To Identify Transformer

    Blair Vidakovich08/23/2018 at 06:33 2 comments

    Would anyone be able to help me identify the specifications of this transformer?

    From what I can work out, there is ONE primary winding, and perhaps TWO secondary windings?

    What I need is some power supply that is capable of producing -15V-0V-+10V.

    Can anyone help?

  • Parts Have Arrived

    Blair Vidakovich08/23/2018 at 03:39 0 comments

    I am stuck in Perth, 4000km away from Sydney, but my girlfriend in Sydney tells me many parts have arrived.

    I believe the following have all arrived

    - All the resistors

    - All the transistors

    - All the diodes

    - All the capacitors

    Photos of the components will come in a couple weeks!

  • My Patreon

    Blair Vidakovich08/05/2018 at 17:05 0 comments

    Hello!

    I have ordered all the electronic components necessary to build the flip-flops for the computer. I still have to design a good power supply, however.

    I will post photos of the components when they arrive.

    I will also be conducting live streams of the work sessions I do when I assemble the computer together.

    I have also set up a Patreon account. If you have enough money to spare even $1 per month to help me finish this dream project of mine, I would be incredibly grateful.

    This is the link to my patreon - https://www.patreon.com/dirtycommo

    I have done great research for the homebrew CPU community here on Hackaday. This research includes:

    This essay on DCTL logic: https://hackaday.io/project/8449/log/148234-direct-coupled-transistor-logic
    This essay on DEC R-Series DTL logic: https://hackaday.io/project/8449/log/130460-bizarre-dtl-logic-levels-the-discrete-component-pdp-8

    And this essay on IBM's DTL Logic: https://hackaday.io/project/8449/log/131805-the-electronics-of-ibm-standard-modular-system-logic

  • Circuit Board Purchased

    Blair Vidakovich08/02/2018 at 08:49 0 comments

    I do not have the budget to fabricate fibreglass PCBs, so I must either hand solder veroboard or perfboard.

    Veroboard and perboard is very expensive at good qualities, and cheap board is of terrible quality and structural integrity.


    So, to keep costs down, I turned to re-using waste.

    I am going to use acrylic board (PMMA acrylic) I obtained from the Sydney Marrickville Reverse Garbage centre. It was very cheap, at $18 for approximately 3 metres squared.

    Drilling holes in the plastic will be time consuming, so I will superglue surface mount components to it, and hand solder them once they are attached.

    SMD construction will be more time efficient and will reduce the size of the computer.

    I believe that the plastic can be cut or snapped into ''flip chips''.

    I am open to fabricating ''flip chips'' for others on a not for profit basis.

    The next step is building the power supply and ordering the components.

View all 15 project logs

Enjoy this project?

Share

Discussions

agp.cooper wrote 07/24/2018 at 04:00 point

That flip-flop has to be the most horrible thing I have ever seen!

For the CPU that you are describing I am guessing that you will need about 100 to 200 of these flip-flops. Not a pleasant thought.

Have a look at Johnny Lovqvist design:

 https://lovqvist.net/8080/homebuilt%208080%20registers.html

It has less components and likely much faster (at least 10 times faster).

---

Don't take what I am saying too seriously, it meant to be a nudge to show that there may be better ways of doing it out there.

AlanX

  Are you sure? yes | no

Blair Vidakovich wrote 07/24/2018 at 05:25 point

it's a 5 input flip flop with edge triggering!

  Are you sure? yes | no

Blair Vidakovich wrote 07/24/2018 at 06:26 point

I will make a post explaining how the Diode-Capacitor-Diode gate works. It allows complex gates to be constructed with minimal circuitry. Most people go for the multiple NAND gate construction, but DCD gates allow edge triggering AND the transformation to a D and JK flip flop.

There is reason to this!

  Are you sure? yes | no

agp.cooper wrote 07/24/2018 at 08:26 point

I will certainly be interested in the diode steering description.

I have built simplified versions of this type of flip-flop but I found them rather slow (<500 kHz).

I have built the six NAND gate D type Latch (i.e. 7474 type) using DTL and they work fine up to a few MHz. These are dege triggered.

You could possibly simplify your circuit by just opting for an edge triggered D-Latch. I have designed low level simple CPUs using just NAND gates, as NAND gates and D-Latches. But I have not built any of them though. I even designed a 74161 using just NAND gates and the six NAND gate D-Latches. So its all you need.

Why did I not build any of the CPUs? The transistor count was in the order of a 800 transistors.

Anyway, don't let me put you off. One day I may decide to drop down and do a transistor CPU project. But not today!

Regards AlanX

  Are you sure? yes | no

Blair Vidakovich wrote 07/24/2018 at 08:42 point

no real diode steering! this is a simple cross connected bistable transistor configuration with 5 special edge triggering inputs. I can explain in my explanation. this uses less semiconductor material than a 6 NAND edge triggered flip flop. also, i have never been able to construct a clear/presettable DTL NAND flip flop.

ALSO using +10v / -15V rails helps deal with transistor base capacitance.

this flip flop allows: up/down counting, AND buffered inputs. the DCD gate allows edge triggering and buffering in 4/5 diodes and a capacitor.

it looks hairy, but the diodes are just there for buffered edge triggered inputs

from what i can see, lovquist has opted for a master-slave level-based logic, which is simpler, but can introduce race conditions

  Are you sure? yes | no

agp.cooper wrote 07/24/2018 at 14:30 point

Okay, I will have to model it and see how it works.

Not aware of a race condition for the 6 NAND D-Latch but I am not an expert.

The main fault with the Lovqvist configuration is the low noise immunity (~0.3v), but hey it sure does have less components to solder.

Anyway, look forward to your next log.

Regards AlanX

  Are you sure? yes | no

Yann Guidon / YGDES wrote 07/23/2018 at 20:55 point

It's gonna be mind-boggling...

  Are you sure? yes | no

Blair Vidakovich wrote 07/23/2018 at 23:54 point

hahaha why??

  Are you sure? yes | no

Dr. Cockroach wrote 07/22/2018 at 07:17 point

Wow, This goes a lot deeper than my IO BF project. I am really interested in keeping an eye on your core mem progress :-D

  Are you sure? yes | no

Blair Vidakovich wrote 07/22/2018 at 12:59 point

Thanks dude! You're an amazing engineer!

Here's my email! Send me one sometime!

vidak@riseup.net!

Catch you, dude!

  Are you sure? yes | no

Dr. Cockroach wrote 07/22/2018 at 17:23 point

Hey Blair, Thanks back but you are more an engineer than I. I just build and learn as I go and never messed with logic circuits until two years ago :-)

I'll shoot you an email soon :-)

wa4jat@yahoo.com

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates