- Видео 55
- Просмотров 458 076
Slu4
Германия
Добавлен 5 июл 2019
Subscribe to see my tutorial-style videos about programming, computer architecture and electronics. I am passionate about building stuff, teaching and sharing ideas with others. I am doing this for fun and as a hobby. I have some technical background but I am in no way a computer expert. The whole point of this channel is about going out there and learning it by doing. I highly appreciate any constructive comments or shared ideas.
Support this channel: www.paypal.me/carstenherting
Support this channel: www.paypal.me/carstenherting
Minimal 64x4 Inside Out: Understanding and Emulating a CPU on Microcode Level
I am explaining my Minimal 64x4 DIY home computer on microcode level and write an emulator for it in JavaScript. Enjoy!
Emulator w/o PS/2 and UART: editor.p5js.org/slu4coder/sketches/1fljnu-Y7
Full emulator in JavaScript: editor.p5js.org/slu4coder/sketches/lRq1gyYR2
Minimal 64x4 reference manual:
docs.google.com/document/d/1-nDv_8WEG1FrlO3kEK0icoYo-Z-jlhpCMiCstxGOCjQ/edit?usp=sharing
Minimal 64x4 OS, software, KiCAD project, Gerber PCB files:
github.com/slu4coder/Minimal-64x4-Home-Computer
Emulator w/o PS/2 and UART: editor.p5js.org/slu4coder/sketches/1fljnu-Y7
Full emulator in JavaScript: editor.p5js.org/slu4coder/sketches/lRq1gyYR2
Minimal 64x4 reference manual:
docs.google.com/document/d/1-nDv_8WEG1FrlO3kEK0icoYo-Z-jlhpCMiCstxGOCjQ/edit?usp=sharing
Minimal 64x4 OS, software, KiCAD project, Gerber PCB files:
github.com/slu4coder/Minimal-64x4-Home-Computer
Просмотров: 11 166
Видео
Squeezing Water from Stone 3: Arduino Nano + 1(!) Logic IC = Computer with VGA and PS/2
Просмотров 10 тыс.5 месяцев назад
Let's have some fun with an Arduino Nano and turn it into a little gaming machine. I generate stable VGA *and* read out a PS/2 keyboard *and* have plenty of processing power left with this design. Software, schematics: github.com/slu4coder/Arduino-Nano-PC Programming Arduino Nano fuse bytes: ruclips.net/video/Vhgjxyb3qQc/видео.html Minimal 64x4: github.com/slu4coder/Minimal-64x4-Home-Computer d...
Minimal 64x4: The Oddball in Home Computer Development
Просмотров 14 тыс.5 месяцев назад
I showcase and release the 'Minimal 64x4' home computer with VGA, PS/2 and SSD. It packs 4x the processing power of a Commodore C64! It is a free and non-commercial project for you to explore how computers work and build your own machine, too. Have fun! Reference manual and bill of materials (BOM): docs.google.com/document/d/1-nDv_8WEG1FrlO3kEK0icoYo-Z-jlhpCMiCstxGOCjQ/edit?usp=sharing OS, soft...
Minimal 64 and Minimal Ultra enter 8-Bit Battle Royale
Просмотров 3,6 тыс.10 месяцев назад
Matt Heffernan's "8-Bit Battle Royale" series is joined by the 'Minimal 64 Home Computer' and also by the 'Minimal Ultra', to my knowledge the fastest 8-bit general purpose 74HC logic breadboard computer to this date. Have fun! Minimal UART Ultra: o GitHub: github.com/slu4coder/Minimal-UART-CPU-System o Instruction Set: docs.google.com/document/d/1DEn8jxe8ZrS8hZHfYHLsGbD8650cgslPbgiaqnhr_Sk/edi...
Minimal 64 Home Computer: Hardware Release
Просмотров 4,6 тыс.Год назад
I am releasing the hardware design and layout of the 'Minimal 64 Home Computer'. It's the result of my 3-year hobby project and free for any non-commercial use. Have fun! o Introduction: ruclips.net/video/3zGTsi4AYLw/видео.html o User manual: docs.google.com/document/d/1e4hL9Z7BLIoUlErWgJOngnSMYLXjfnsZB9BtlwhTC6U/edit?usp=sharing o GitHub repository: github.com/slu4coder/The-Minimal-64-Home-Com...
In Your Browser: The Minimal 64 Home Computer
Просмотров 1,5 тыс.Год назад
In this episode I showcase a 'Minimal 64 Home Computer' running in your Browser using the JavaScript p5.js environment. o Launch the emulator: editor.p5js.org/slu4coder/full/aOUivViNt o See the source code: editor.p5js.org/slu4coder/sketches/aOUivViNt o GitHub Repository: github.com/slu4coder/The-Minimal-64-Home-Computer o Reference Manual: docs.google.com/document/d/1e4hL9Z7BLIoUlErWgJOngnSMYL...
Emulating a 'Minimal 64' Home Computer in Java/Processing
Просмотров 1,4 тыс.Год назад
In this episode I show how to write an emulator for the 'Minimal 64 Home Computer' using the Java/Processing 4 environment. GitHub Repository: github.com/slu4coder/The-Minimal-64-Home-Computer Reference Manual: docs.google.com/document/d/1e4hL9Z7BLIoUlErWgJOngnSMYLXjfnsZB9BtlwhTC6U/edit?usp=sharing Minimal 64 Introduction: ruclips.net/video/3zGTsi4AYLw/видео.html ruclips.net/video/y_Evdo2kZgs/в...
60-Line Python Assembler, Thanks to GPT-4
Просмотров 2,2 тыс.Год назад
In this episode I showcase a tiny 60-line assembler for my 'Minimal 64 Home Computer'. Its written in Python with extensive help of GPT-4, OpenAI's latest language model. GitHub Repository: github.com/slu4coder/The-Minimal-64-Home-Computer Minimal 64 Reference Manual: docs.google.com/document/d/1e4hL9Z7BLIoUlErWgJOngnSMYLXjfnsZB9BtlwhTC6U/edit?usp=sharing Minimal 64 Introduction: ruclips.net/vi...
Minimal 64 Home Computer: Emulator Release!
Просмотров 2 тыс.Год назад
Here is my take on 80's home computer magic. I introduce my design of a "dream home computer", the Minimal 64. To me its the most computer from the least logic or the shortest way from TTL to Space Invaders. In this episode I showcase my breadboard prototype and do some native programming in the Python-like language MIN. Have fun! Minimal 64 GitHub Repository: github.com/slu4coder/The-Minimal-6...
Minimal 64 Home Computer: The Most Computer from the Least Logic?
Просмотров 4,9 тыс.Год назад
Here is my take on 80's home computer magic. I introduce my design of a "dream home computer", the Minimal 64. To me its the most computer from the least logic or the shortest way from TTL to Space Invaders. Have fun! Minimal 64 GitHub Repository: github.com/slu4coder/The-Minimal-64-Home-Computer Minimal 64 Reference Manual: docs.google.com/document/d/1e4hL9Z7BLIoUlErWgJOngnSMYLXjfnsZB9BtlwhTC6...
Breaking Clock Speed Limits - TTL Computer in Beast Mode
Просмотров 5 тыс.2 года назад
I explore the clock speed limits of TTL computers. I specifically overclock the 'Minimal CPU' successfully to 8.3MHz. Do you know of any faster-clocked DIY TTL computer? Write it in the comments! Minimal CPU System: github.com/slu4coder/Minimal-UART-CPU-System User Manual and Reference (Google Docs): docs.google.com/document/d/1c2ZHtLd1BBAwcBAjBZZJmCA3AXpbpv80dlAtsMYpuF4/edit?usp=sharing Discus...
39 TTL Chips = Computer? Back to Breadboards - Minimal CPU Redux
Просмотров 6 тыс.2 года назад
I am wiring up an easy-to-build redux version of the 'Minimal CPU System' on breadboards. Enjoy! Minimal CPU System: github.com/slu4coder/Minimal-UART-CPU-System User Manual and Reference (Google Docs): docs.google.com/document/d/1c2ZHtLd1BBAwcBAjBZZJmCA3AXpbpv80dlAtsMYpuF4/edit?usp=sharing Discussion Board: minimal-cpu-system.boards.net/ Music: Hideyatakayanagi - Origin Recurrence - Free Backg...
Easy Serial RTS/CTS Handshake - Minimal CPU #12
Просмотров 7 тыс.2 года назад
I explore how RTS/CTS fIow control works and implement RTS/CTS handshaking on the Minimal CPU System. Minimal CPU System: github.com/slu4coder/Minimal-UART-CPU-System Reference (Google Docs): docs.google.com/document/d/1c2ZHtLd1BBAwcBAjBZZJmCA3AXpbpv80dlAtsMYpuF4/edit?usp=sharing C64-style TrueType terminal font: style64.org/c64-truetype
Computer Language from Scratch #2 MIN at Work
Просмотров 2,3 тыс.2 года назад
I sketch how my Python-like programming language MIN does it's job. I also showcase and release a version of MIN for the Minimal CPU System. Enjoy! MIN (Minimal CPU Version): github.com/slu4coder/Minimal-UART-CPU-System Minimal UART CPU Reference: docs.google.com/document/d/1c2ZHtLd1BBAwcBAjBZZJmCA3AXpbpv80dlAtsMYpuF4/edit?usp=sharing More info on EBNF: en.wikipedia.org/wiki/Extended_Backus–Nau...
Computer Language from Scratch #1 Introducing MIN
Просмотров 2,9 тыс.2 года назад
MIN Is Not Python.. but a computer language I develop for fun. MIN is written in only 230 lines of Python code. Minimal UART CPU System: github.com/slu4coder/Minimal-UART-CPU-System Reference (Google Docs): docs.google.com/document/d/1c2ZHtLd1BBAwcBAjBZZJmCA3AXpbpv80dlAtsMYpuF4/edit?usp=sharing en.wikipedia.org/wiki/Extended_Backus–Naur_form#EBNF C64-style TrueType Font: style64.org/c64-truetype
Let's Write an Interpreter (in 168 Lines of Python)
Просмотров 9 тыс.2 года назад
Let's Write an Interpreter (in 168 Lines of Python)
Minimal VGA Expansion Card - DIY Video RAM #5
Просмотров 5 тыс.2 года назад
Minimal VGA Expansion Card - DIY Video RAM #5
Coding a Minimal C64-Style Random Maze
Просмотров 1,9 тыс.2 года назад
Coding a Minimal C64-Style Random Maze
Let's Build a Minimal I/O Expansion Card
Просмотров 2,3 тыс.2 года назад
Let's Build a Minimal I/O Expansion Card
Play with the 'Minimal CPU System' Emulator
Просмотров 3,2 тыс.2 года назад
Play with the 'Minimal CPU System' Emulator
Bootstrapping a Minimal CPU System into Self-Improvement Capability - Simplest Usable PC #8
Просмотров 6 тыс.3 года назад
Bootstrapping a Minimal CPU System into Self-Improvement Capability - Simplest Usable PC #8
Building the Minimal CPU System (SAP-1 on Steroids) with 512KB SSD and Expansion Port
Просмотров 6 тыс.3 года назад
Building the Minimal CPU System (SAP-1 on Steroids) with 512KB SSD and Expansion Port
Let's Code a Minimal Assembler from Scratch in Python (100 Lines)
Просмотров 28 тыс.3 года назад
Let's Code a Minimal Assembler from Scratch in Python (100 Lines)
Let's Build a FAST Serial Terminal with PS/2 and VGA
Просмотров 16 тыс.3 года назад
Let's Build a FAST Serial Terminal with PS/2 and VGA
Minimal Arduino Nano VGA 320x200 (using ONE IC)
Просмотров 14 тыс.3 года назад
Minimal Arduino Nano VGA 320x200 (using ONE IC)
Minimal UART CPU Goes FLASH with SSD and File System
Просмотров 6 тыс.3 года назад
Minimal UART CPU Goes FLASH with SSD and File System
Let's Emulate a Real Computer from Scratch in C++ (250 Lines)
Просмотров 34 тыс.3 года назад
Let's Emulate a Real Computer from Scratch in C (250 Lines)
Replace EEPROMs with FLASH Memory from Scratch
Просмотров 19 тыс.3 года назад
Replace EEPROMs with FLASH Memory from Scratch
Build the 'Minimal UART Computer' on PCB - Simplest Usable PC #2
Просмотров 9 тыс.3 года назад
Build the 'Minimal UART Computer' on PCB - Simplest Usable PC #2
Did you try to connect to linux with it?
heres the entire python interpreter rewritten in python in just 1 line exec("code")
5186 Bartoletti Island
7312 Loy Spurs
:3
503 Paucek Heights
298 Nitzsche Cliffs
117 Durgan Valley
Man you never disappoint, do you?
I was looking for a channel like this forever.. I had this idea long time ago but my electronics skills were very limited to complete a project like this one. your channel is gold...Thank you!!
This thing would have destroyed in the PDP-8 days
there is no source code on the github
The TRS-80 used the Kansas CIty standard (or something similar) which was basically FSK. Two tones were recorded IIRC (1200 Hz and 2400 Hz) to represent the ones and zeros. The TRS-80 had minimal electronics for processing the signal into data. Didn't work very well either. I eventually used a reel-to-reel recorder and got somewhat better results. But it was a cheap solution since everybody had a cassette recorder they could use. Bill Gates played a small role in the development.
I had a TRS-80 that used a cassette recorder to store programs. You could buy games (like chess) on cassettes. They used a method called the "Kansas City standard." Unfortunately, the Trash 80 did do much (any) signal processing so storing programs was always problematic. Better than front panel switches and more available than paper tape, but very kludgly.
Much more elegant than the version I mangled together. Thanks...
wouaaaa!!!!! amazing concept, sorry my english im french, you are the great teacher, merci beaucoup
In the emulator, the condition used to select between RAM and Flash is ((MAR & 0x8000) || (Bank & 0x80)). But this checks only the highest bit of MAR and behaves as if an active flash bank is mirrored throughout the low 32K of the address space. The manual states that "address space 0x1000..0xffff always represents RAM," so should the condition rather be ((MAR & 0xf000) || (Bank & 0x80))? As far I as can tell, this has no effect on emulating the OS because the OS only leaves flash mapped into the address space during boot-up, when copying some flash to RAM at 0xf000 (an address with highest bit set), and then it's unmapped until restart.
So went and built one. BTW, your advise about where you source chips is good. I sourced all from China. Most were good, I tested them before use. The one that does not test on a programmer though is the counter, 74hc161. 5 out of 10 were bad! After changing those, is promising. VGA won’t sync right now, Vsync and Hsync are good, video signal is all over though.
Sometimes LS is relabeled as HC I suspect, with timing and current consumption being off. Many testers do not test for correct timing. It is not worth the hassle. The board should work first try. I'd reorder all parts. Just my 50 cents.
@@slu467 yeah, issue was digikey only lists surface mount parts. I’d rather do surface mount btw. Once you go surface, you never go back, it is easier than thru-hole.
Great, thank you for sharing 👏💪👌
BRILLIANT TUTORIAL!
If I write incorrectly, can I erase the chip by using this PROM.exe and then reprogram it
Looked at BOM list and realized, I already have more than 1/2 the parts kicking around. Ok, gotta make one. :) I notice there is no reset circuit after power on. An RC circuit behind a Schmitt Trigger would suffice. Maybe there is unused one? Looking …. A reset would be nice for any analog monitor connection.
2:10 (Excuse the sligtly drunk comment.) HEY, the . . . point-metal-bits-tool is for people who have sausage fingers, and you don't have sausage fingers. You have small fingers. Put it in by hand, you pansy! P***Y! RAAAAGH! BEER! AND SO ON! Edit: I love that you call him "Nisse."
Amazing.
Fantastic! I think you can do it with only one chip to achieve RCA output, there are those libraries called TVout and PS2Keyboard you can load in one single chip so you can type and recieve with only one chip onstead of three! Please do a video about it :)
At this low amount of storage, wouldn't using a NOR flash instead of a NAND flash allow you to write and erase individual bytes instead of blocks cost effectively? (I haven't looked up the costs for this size of NAND and NOR flash memory.)
Love it. One thing I'd like to ask about though. Couldn't a section of the flash memory be reserved as a replacement for RAM now? I have no idea how much speed it would lose, but it would make for an even more minimal hardware setup, though it would require a bit more programming. Please be gentle with me, I speak from a place of ignorance.
And the Ftdi people always go on about ‘original’ suppliers end such. Go China! CH chips rock!
Back in day lex and yak were the tools to use to create a language.
Logo looks like good learning language.
Is there an LLVM target for your computer yet? :)
Thank you, I tried to use TommyProm32 drawing, but yours is way more clear and therefore easy to copy. Any chance your pcb is at pcbway in the share factory?
I love this, especially the paper tape input.
How to upload code from flash mamory to arduino or esp32? I mean how to use flash memory as bootloader.
Flutter and WOAH. LMFAO! love it.
Thanks
the source code for the assembler is missing on your github link. please reupload
in the video at 1.04 the key code comes first followed by F0 but the BREAK code from the Scan code is for the letter A, F0 1C is seen like this in the libraries. You show that the last data coming with the oscilloscope is F0. Scan tables show MAKE =1C, break =F0 1C. Which one is correct. Thanks
I like the off-the-beaten-track approach! It also seems to work very well for you, which helps :P Very cool video, I wish I had the skills to develop such a computer. Best I can do is an even more minimal CPU(-instruction set), because my brain is not big enough for more ;P
Thanks, man. Actually, building it smaller is always more difficult.
Still too complex to most
That's very neat indeed. I love the use of a /single/ dictionary for all kinds of identifiers. That's quite cool !
I just discovered your channel, and I am subscribed. Wow, you work miracles and are extremely knowledgable.
Is there a discord channel we can discuss subjects like this?
There is a discussion section on my GitHub or just plain old email 😀
There is a company called potato semiconductor that sells ttl 7400 series chips that go up to 1 gigahertz. Another guy built a computer called Magic 1, He goes online by the name Bill Buzzbee.
I wonder what happens if i run Minimal 64 on scratch
😁
Squeezing water from stone is a thing. Most of the hydtogen/water on Earth and Mars is locked into various minerals.
Awesome. Just what i needed. I'm using an Arduino to control 2 stepper motors to set a back gage on a 90 to press brake, and needed a simple way to feed the back gage setting for each bend of the steel into the Arduino so it can spin the servos to the right spot. I was going to use a nice touchpad, but found it has no keypad function and the interface to the Arduino is quite complex and the library is huge. This is very simple and compact.
Bit random but is the value of R27 meant to be zero?
Yes, that is intentionally. There are rare cases where the 377 and 161 registers of the address inputs of the control ROMs differ in propagation delay. A nonzero R27 can then be used to slow down the 377 just a tad to avoid switching spikes. Never used it, though.
@@slu467 thanks
Really clever way to solve this, I did several videos on pal/vga out from various small devices, even attiny13a
Wow!