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 Photos

    Blair Vidakovich07/01/2020 at 05:49 0 comments

    Yesterday's soldering attempt ended in failure, but today's efforts are turning out to be quite promising!

    Here you can see a bit slice for one register almost completed. It just needs one more connection between the Set and Reset NANDs:

  • Abandoning Project In Favour of LISP Machine Design

    Blair Vidakovich06/29/2020 at 13:18 0 comments

    i am most likely going to begin casually constructing a discrete transistor computer of some form this week. i have been planning this since 2013.

    i first started getting interested in computers again, at that time, after i got i got very sick in 2013. it seemed like a pretty cool interest area to re-explore while i was having a convalescence.

    i originally designed this computer, the RAVEN, following the MENTAL- series of computers, which i thought would be simple in execution. i think it still would be, but, after studying hardware LISP machines, i am going to abandon the original plan i had for the RAVEN, and instead build the MT15 computer that is outlined by 'Deiter' here: http://www.6502.org/users/dieter/mt15a/mt15a_1.htm, because it effectively /IS/ the architecture of a LISP machine.

    for instance, look at the data path of the mid-to-late 1970s CADR from MIT:

    ...and compare it to Detier's MT15:

    i am planning to take lots of photos and make lots of videos documenting, all of which will go on the fediverse, my blog, and onto my new peertube.

  • New Photos

    Blair Vidakovich03/26/2020 at 20:44 0 comments
  • 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?

View all 18 project logs

Enjoy this project?

Share

Discussions

Ken KD5ZXG wrote 07/02/2020 at 07:32 point

Dare I ask to see the solder side?

  Are you sure? yes | no

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