My4TH - A discrete CPU Forth computer

Ғылым және технология

This video is about my My4TH computer, which runs the old Forth programming language, and the Forth Deck, a portable computer with keyboard and display based on the My4TH computer board.

Пікірлер: 66

  • @alschnittke
    @alschnittke2 ай бұрын

    This design is by far the most satisfying "I built a computer from logic" implementation I've seen... bravo

  • @esra_erimez
    @esra_erimez10 ай бұрын

    This is the stuff legends are made of. This is amazing.

  • @PaulSpades
    @PaulSpades10 ай бұрын

    What a completely mad idea, and spectacularly well implemented. I'm just blown away.

  • @leyasep5919
    @leyasep59199 ай бұрын

    Amazing !!! I hear Chuck Moore chuckling watching this !

  • @andrefalcao3015
    @andrefalcao30154 ай бұрын

    Probably the coolest thing I've seen on youtube ever! Congratulations!

  • @camel99forth78
    @camel99forth7815 сағат бұрын

    Congratulations. This is a great project.

  • @jaythecoderx4623
    @jaythecoderx462310 ай бұрын

    This is insane Edit: I just finished the video, that single Nor gate alu is psychopathic and also genius

  • @Swanlord60
    @Swanlord60Ай бұрын

    Excelent! All things are clean without exception! Let's Forth goes his way )) Thank You!

  • @frankvanderwal4571
    @frankvanderwal45717 ай бұрын

    Hi Dennis! This is amazing! My oh my, building a Forth computer without a CPU! Well done! Forth has been one of my first computer experiences back in the day and I recall the Forth Ace computer that I once build a replica from and really liked the language. I lost the system over time and regret it every single day. Trying to find one but without luck (or way too expensive). I might have a look at this system but firstly a big THANK YOU for sharing your project! Cheers, __Frank

  • @philipoakley5498
    @philipoakley54985 ай бұрын

    go Forth! great memories of using it in 76-79 and onward.

  • @j-r-hill
    @j-r-hill10 ай бұрын

    Wow it's incredible. I'm pleasantly surprised to see Forth on even such a minimal computer. Even screen editing!

  • @MegaGumbo
    @MegaGumbo10 ай бұрын

    The My4TH and Forth Deck eventually made me learn FORTH and actually do something with it. Great computer !!

  • @juergenpintaske6709
    @juergenpintaske670910 ай бұрын

    Thank you very much, Dennis. Brilliant work. It is great to see, that somebody really takes it to the limit. And it was nice to see that you used Forth as an example to show what to use your "CPU" for. And it still is fast enough. I wonder, if there will be a design soon that runs in an FPGA. Or simulated in an Arduino, as many do have a board unused in a corner somewhere ...

  • @graealex
    @graealex10 ай бұрын

    A million years ago I tried my luck at a Forth implementation for AVR. Couldn't wrap my head around it - in the same manner that OCaml is so alien to me, that I never was able to form an even basic grasp of it. Despite me being a C++ fanboi. Btw. it's not very expensive to put in real key switches nowadays, what with all the DIY mechanical keyboard craze.

  • @wafikiri_
    @wafikiri_5 ай бұрын

    I am so impressed with this my first visit to this channel that I immediately subscribed. There are a lot of things that surprised me: • The microcode width, only 16 bits. Of course, it means it needs some decoding, but very little! • The use of Forth, which I applaud. • The lookup-table-supported software ALU. • The reduced number of units. • The ingenuity of the design. Many thanks for sharing!

  • @AK-vx4dy
    @AK-vx4dy10 ай бұрын

    Serial CPU... like in F-14 Tomcat Ah... lookup tables...smart ;) Very well explained, good job. Lovely, you enchanted philosophy of Forth in hardware design. Niiice 😁 to me also Forth came back from memories...

  • @rakinkazi9780

    @rakinkazi9780

    10 ай бұрын

    Just curious, do modern fighter jets use FPGA's to any capacity? To my limited knowledge, they are excellent for high throughput applications so they could be used for sensors, etc.

  • @AK-vx4dy

    @AK-vx4dy

    10 ай бұрын

    @@rakinkazi9780 i'm not an expert but is very possible. In F14 this was avioncs computer, some tell that first microprocesor before 4004. Most fighters are made max in thousands, lastly even in hundreds or less so are good candidates for FPGA use.

  • @graealex

    @graealex

    10 ай бұрын

    @@rakinkazi9780 I mean, you could Google it. "The communication, navigation, and identification friend or foe (IFF) avionics of the F-35 relies on Xilinx FPGAs, as do other critical electronic subsystems aboard the advanced jet-fighter-bomber. FPGAs enable Lockheed Martin to add new waveforms to embedded software radio systems in the F-35, as well as for real-time digital signal processing."

  • @wafikiri_

    @wafikiri_

    5 ай бұрын

    ​@@rakinkazi9780 FPGA's are a good option to prototype, but their processing speed is relatively low. Given the amazing power of current microcontrollers and microprocessors, I would use them if I were to design microcomputers/-controllers for avionics, but I would probably include FPGA's in the design (which should include a variety of computers and software of different types and brands, whose results on same input data should all match) for various reasons, one of them being circuit uniqueness and secrecy, something military aircraft would benefit from.

  • @jakester1390
    @jakester139010 ай бұрын

    This is very beautiful and you should be proud of yourself.

  • @sohl947
    @sohl9479 ай бұрын

    Very impressive! I’m a big fan of Forth and like to see it used in situations like this. I’d love to see more videos about the project, any part of it, all parts of it. Hope to see more about it soon!

  • @mahoneytechnologies657
    @mahoneytechnologies6576 ай бұрын

    Outstanding! This should be used in Every school! I have always liked Forth, if only this had existed in the 1980s. But I will get one now. Have you sent one to Chuck Moore, I bet he would love it,

  • @jose.inestroza
    @jose.inestroza10 ай бұрын

    Wintergatan music!! Nice video.

  • @s4ndwichMakeR
    @s4ndwichMakeR10 ай бұрын

    Finally something new from Dennis! And with a dedicated FORTH machine that is also portable and looks nice, you exceeded my expectations yet again. :)

  • @douro20
    @douro2010 ай бұрын

    The IBM 1620 also used LUTs to perform arithmetic. For this reason it was given the nickname CADET (Can't Add, Doesn't Even Try).

  • @prozacgodretro
    @prozacgodretro6 ай бұрын

    hmm I really like this, I think the only thing I might have done differently would be to just double the width of the eeprom, to reduce the need on the register - only one of these would be connected to the actual data bus to do transfers - and if I'm not mistaken this could double the speed? Would this form of the machine be compatible with the original software as well? (well minus changing address lookups as they are now all halfed I guess)

  • @AppliedCryogenics
    @AppliedCryogenics9 ай бұрын

    It's really surprising how much functionality there is for so few logic IC's! I'm very curious about low-level language implementation.. going to check your site now. Geek on!

  • @OMNI_INFINITY
    @OMNI_INFINITYАй бұрын

    Found this looking for a way to program a discrete CPU in machine code to make a synthesizer. Getting closer seemingly. Thanks!

  • @mrstanlez
    @mrstanlez10 ай бұрын

    ... very nice project. In future can you replace for 2 3 colors E-ink large display. Then with battery operated can withstand approx 15 days. Thank you.

  • @gadgetdad2789
    @gadgetdad27896 ай бұрын

    Wow this is so cool. Back in school there was an elective for CS majors to build a 4-bit cpu centered around the 74181 and we had to implement the microcode but only needed to demonstrate basic functionality by manually stepping through some op code. Wish I could have done the full thing by implementing a real clock but the parts were pretty expensive at the time so most students teamed up in pairs and the other guy was going to keep it when we were done. I like how you were able to use a single NOR and use the microcode loops. Very slick. I have also played with Forth first on a PDP-11 as well as on my old Atari 800 and I really loved the idea of threaded interpreted languages and how you can extend the language so easily. That was easy enough when you can write your image to disk but I'm wondering if you can still do something similar by updating the EEPROM on the fly? I'll have to look at your links to see how you implemented forth.

  • @deterdamel7380
    @deterdamel738010 ай бұрын

    Very impressed!

  • @first-thoughtgiver-of-will2456
    @first-thoughtgiver-of-will24565 ай бұрын

    its like De Morgans law taken to the extreme. awesome project!

  • @user-mr3mf8lo7y
    @user-mr3mf8lo7y10 ай бұрын

    Really good design.

  • @hermestrismegistus9142
    @hermestrismegistus914210 ай бұрын

    Great work!

  • @alvarogomessobralbarcellos7587
    @alvarogomessobralbarcellos7587Ай бұрын

    awsome legendary

  • @denchinside
    @denchinside10 ай бұрын

    This channel probably deserves more subs

  • @denchinside

    @denchinside

    10 ай бұрын

    By the way awesome project

  • @igort5418
    @igort541810 ай бұрын

    Sorry for a noob question but. How do you handle buttons signal bounces, are you using delays or or some filtering ?

  • @waynemorellini2110
    @waynemorellini21107 ай бұрын

    Thanks for inspiring me a little further. I had considered such an approach previously. I'm not going to say what I was going to do. But, I encourage people in turn. I was just wondering, if there is a simple high speed way to do the 1 bit logic operation with a loop back? When I originally skimmed your webpage, I saw 6.3khz for the addition operation. Being rather sick, I decided to stop reading regrettably. Good work. But 8-14mhz is workable, as long as you leave the logic operations fly asynchronously to complete as soon as possible, and be picked up on the next clock after completion, which makes multiplication more feasible. The performance should hopefully be superior to old basic 8 bit processors. It would be good if it had performwnce enough to emulate a Jupiter Ace Forth Micro though, as a historically tribute (a machine that could have done something with 2 colour charcters, 4 colour pallet charcter mode, and 16 colour programmable character mode (maybe with 16 colour pallet from 256 colours), with scan line switching, and better sound. Which would have greatly improved it's sustainability against the Sinclair Spectrum. History was always so close for Forth). I had thought of doing an open source forth processor design for the embedded community before I got a lot sicker. Based on energy economy of descent performance and simple interface flexibility, to compete with 4 bit to 16 bit low ene controllers. I am now wondering if a very simple design like yours, in silicon, with a flying looped 1 bit logic controller, might be a cheaper alternative to 4 bit processors used in manufacturing in China. Except for the logic /maths operations, a misc design can be made very simple. The 1 bit logic keeps it that way, and a lot of applications the performance and even low energy, does not matter.

  • @TheOfAndTo
    @TheOfAndTo10 ай бұрын

    AMAZING!

  • @waynemorellini2110
    @waynemorellini21107 ай бұрын

    A suggestion Dennis. Coloured Electronic paper, or liquid drsplays? The liquid versions can get much better pixel changing and colour performance to other electronic paper types, and even be made at home. Samsung etc, invested heavily in them, but then increased oled efficiency. Whatever is brighter whiter faster and more colourful, cheaply. A pOLED also would be a great option? Unfortunately, I don't know anybody who makes cheap good oiquid versions, byt that 8K VR headset around 5 years ago, used them instesd of OLED.

  • @sergatmel8242
    @sergatmel824210 ай бұрын

    Cool !

  • @alexengineering3754
    @alexengineering375410 ай бұрын

    do you realy need the nor gate? why you do not only use look up tables? thank you for the explanation, i was staring for hours at the mynor schematics and could not figure out how you shift data bits around to make good use of your memory.

  • @mynor509

    @mynor509

    10 ай бұрын

    No, you could also use a nand/or/and gate. But you need a path to combine at least one bit from two different bytes/sources. But you could also omit the gate altogether. There is another path in the circuitry that can be used to combine two bits: the conditional jump logic. Any logical operation can be performed with a series of conditional jumps. But that would make the CPU really damn uselessly slow. 🤔

  • @meneerjansen00
    @meneerjansen0010 ай бұрын

    If I'm not mistaken the you must buy the My4TH board/computer and the Forth Deck (display and keyboard) separately. But where do I buy that wonderful white plastic case?

  • @mynor509

    @mynor509

    10 ай бұрын

    You can download the STL file for the case from my homepage. The white case is printed with the SLS process, the material is PA 12. It cost me over €100 to hire a company to print it. So this part is not something you would print by the dozen to put on a shelf and hope someone buys it. 😉

  • @meneerjansen00

    @meneerjansen00

    10 ай бұрын

    @@mynor509 Thanks for the info! Maybe there are companies that 3D print, just like paper-print shops... Your computer is really, really cool!

  • @j-r-hill

    @j-r-hill

    10 ай бұрын

    If this ever went into production I think it'd probably have to use injection molding to get the price down

  • @waynemorellini2110

    @waynemorellini2110

    7 ай бұрын

    ​@@mynor509Do PCBway, or other, Particularly Seed, offer case making as well, and whole turn key gadget making?

  • @autoauto2000
    @autoauto20006 ай бұрын

    sehr schönes video. kann man das nachbauen…ich liebe forth. ich habe überall forth installiert wo nur ging (psion, hp, ti, etc)

  • @mynor509

    @mynor509

    6 ай бұрын

    You can find everything you need to build the Forth Deck and the My4TH board on my website: www.mynor.org/myth . You can also buy a kit: www.budgetronics.eu/en/search?query=my4th

  • @autoauto2000

    @autoauto2000

    5 ай бұрын

    danke❤aber wo finde ich das Gehäuse?

  • @martinausdeutschland
    @martinausdeutschland4 ай бұрын

    Hi Dennis. What display are you using? I just know about 20x4, but this one is much bigger. For what would I have to search, if I'd like to experiment with it?

  • @mynor509

    @mynor509

    4 ай бұрын

    If you are looking for cheap large LCDs like the one I used, just visit aliexpress.com and type "lcd 40x4" in the search box. I bought mine there. 😉

  • @PixelOutlaw
    @PixelOutlaw6 ай бұрын

    How many prototypes did you make? Was this your ... forth? :D

  • @user-rs6bs3bc8n
    @user-rs6bs3bc8n3 ай бұрын

    QRP Computer

  • @artip777
    @artip77710 ай бұрын

    Без проца и контроллеров? Сумрачный немецкий гений... 🤭

  • @Scyth3934
    @Scyth393410 ай бұрын

    yoooo

  • @scramjet4610
    @scramjet46104 ай бұрын

    What's the point of items 2 and 3 in your philosophy? Why do you care how many transistors?

  • @mynor509

    @mynor509

    4 ай бұрын

    My philosophy of life is "keep it simple". The simpler a system, the easier it is to understand. The less components are used, the less can break. It also keeps the way open for me to build the My4TH as a pure "dis-integrated" transistor computer one day ;-)

  • @unLinuxeroMas

    @unLinuxeroMas

    11 күн бұрын

    @@mynor509 what dis-integrated transistor computer means

  • @mynor509

    @mynor509

    8 күн бұрын

    @@unLinuxeroMas "IC" stands for integrated circuits (transistors and ICs that are integrated into a package). By "dis-integrated" I mean that I pulled all the transistors and resistors out of the package. In fact, I rebuilt every IC I used for MyNOR with simple transistors and resistors.

  • @unLinuxeroMas

    @unLinuxeroMas

    8 күн бұрын

    @@mynor509 amazing

  • @OMNI_INFINITY
    @OMNI_INFINITYАй бұрын

    7 segment display machine code assembly seems "closer. to the metal"

  • @OMNI_INFINITY
    @OMNI_INFINITYАй бұрын

    If it's capable of running an oscillator, adding a speaker would be nice.

Келесі