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.
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
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...
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.
@@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.
@@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."
@@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.
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.
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 ...
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!
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,
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)
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!
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!
... 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.
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.
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.
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.
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.
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. 🤔
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?
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
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?
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. 😉
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 "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.
This design is by far the most satisfying "I built a computer from logic" implementation I've seen... bravo
This is the stuff legends are made of. This is amazing.
What a completely mad idea, and spectacularly well implemented. I'm just blown away.
Probably the coolest thing I've seen on youtube ever! Congratulations!
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
This is insane
Edit: I just finished the video, that single Nor gate alu is psychopathic and also genius
Excelent! All things are clean without exception!
Let's Forth goes his way ))
Thank You!
Amazing !!! I hear Chuck Moore chuckling watching this !
Wow it's incredible. I'm pleasantly surprised to see Forth on even such a minimal computer. Even screen editing!
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...
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.
@@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.
@@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."
@@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.
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.
go Forth! great memories of using it in 76-79 and onward.
Congratulations. This is a great project.
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 ...
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!
Found this looking for a way to program a discrete CPU in machine code to make a synthesizer. Getting closer seemingly. Thanks!
The My4TH and Forth Deck eventually made me learn FORTH and actually do something with it. Great computer !!
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,
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).
Finally something new from Dennis! And with a dedicated FORTH machine that is also portable and looks nice, you exceeded my expectations yet again. :)
This is very beautiful and you should be proud of yourself.
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)
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!
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!
... 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.
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.
Wintergatan music!! Nice video.
Very impressed!
its like De Morgans law taken to the extreme. awesome project!
This channel probably deserves more subs
By the way awesome project
awsome legendary
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.
Really good design.
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.
Sorry for a noob question but. How do you handle buttons signal bounces, are you using delays or or some filtering ?
AMAZING!
Great work!
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.
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. 🤔
Cool !
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?
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. 😉
sehr schönes video. kann man das nachbauen…ich liebe forth. ich habe überall forth installiert wo nur ging (psion, hp, ti, etc)
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
danke❤aber wo finde ich das Gehäuse?
How many prototypes did you make? Was this your ... forth? :D
Без проца и контроллеров? Сумрачный немецкий гений... 🤭
QRP Computer
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?
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. 😉
@@mynor509 Thanks for the info! Maybe there are companies that 3D print, just like paper-print shops... Your computer is really, really cool!
If this ever went into production I think it'd probably have to use injection molding to get the price down
@@mynor509Do PCBway, or other, Particularly Seed, offer case making as well, and whole turn key gadget making?
What's the point of items 2 and 3 in your philosophy? Why do you care how many transistors?
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 ;-)
@@mynor509 what dis-integrated transistor computer means
@@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.
@@mynor509 amazing
yoooo
7 segment display machine code assembly seems "closer. to the metal"
If it's capable of running an oscillator, adding a speaker would be nice.