Slu4
Slu4
  • Видео 55
  • Просмотров 458 076
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
Просмотров: 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)
FLASH File System on a Shoestring
Просмотров 3,7 тыс.3 года назад
FLASH File System on a Shoestring
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

Комментарии

  • @kamilgrodzki1960
    @kamilgrodzki1960 День назад

    Did you try to connect to linux with it?

  • @hamzacasdasdasd
    @hamzacasdasdasd 2 дня назад

    heres the entire python interpreter rewritten in python in just 1 line exec("code")

  • @ClaytonHinchliffe
    @ClaytonHinchliffe 3 дня назад

    5186 Bartoletti Island

  • @HoltLena
    @HoltLena 4 дня назад

    7312 Loy Spurs

  • @RicyStuff
    @RicyStuff 5 дней назад

    :3

  • @DanielHobson-l9f
    @DanielHobson-l9f 6 дней назад

    503 Paucek Heights

  • @BlumeBridget
    @BlumeBridget 7 дней назад

    298 Nitzsche Cliffs

  • @BluetoothDummy-m2c
    @BluetoothDummy-m2c 7 дней назад

    117 Durgan Valley

  • @illdieanyway7865
    @illdieanyway7865 14 дней назад

    Man you never disappoint, do you?

  • @guzman-do
    @guzman-do 18 дней назад

    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!!

  • @AndrewLobley
    @AndrewLobley 26 дней назад

    This thing would have destroyed in the PDP-8 days

  • @TheGamingDinosaurRoblox
    @TheGamingDinosaurRoblox 28 дней назад

    there is no source code on the github

  • @henryj.8528
    @henryj.8528 Месяц назад

    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.

  • @henryj.8528
    @henryj.8528 Месяц назад

    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.

  • @henryj.8528
    @henryj.8528 Месяц назад

    Much more elegant than the version I mangled together. Thanks...

  • @tarka38tara34
    @tarka38tara34 Месяц назад

    wouaaaa!!!!! amazing concept, sorry my english im french, you are the great teacher, merci beaucoup

  • @oligophagy
    @oligophagy Месяц назад

    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.

  • @kippie80
    @kippie80 Месяц назад

    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.

    • @slu467
      @slu467 Месяц назад

      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.

    • @kippie80
      @kippie80 Месяц назад

      @@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.

  • @tonym5857
    @tonym5857 Месяц назад

    Great, thank you for sharing 👏💪👌

  • @hstrinzel
    @hstrinzel Месяц назад

    BRILLIANT TUTORIAL!

  • @boydragon6544
    @boydragon6544 2 месяца назад

    If I write incorrectly, can I erase the chip by using this PROM.exe and then reprogram it

  • @kippie80
    @kippie80 2 месяца назад

    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.

  • @DefaultFlame
    @DefaultFlame 2 месяца назад

    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."

  • @DefaultFlame
    @DefaultFlame 2 месяца назад

    Amazing.

  • @your-dad
    @your-dad 2 месяца назад

    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 :)

  • @DefaultFlame
    @DefaultFlame 2 месяца назад

    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.)

  • @DefaultFlame
    @DefaultFlame 2 месяца назад

    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.

  • @kippie80
    @kippie80 2 месяца назад

    And the Ftdi people always go on about ‘original’ suppliers end such. Go China! CH chips rock!

  • @kippie80
    @kippie80 2 месяца назад

    Back in day lex and yak were the tools to use to create a language.

  • @kippie80
    @kippie80 2 месяца назад

    Logo looks like good learning language.

  • @kippie80
    @kippie80 2 месяца назад

    Is there an LLVM target for your computer yet? :)

  • @Pax-Z80
    @Pax-Z80 2 месяца назад

    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?

  • @DefaultFlame
    @DefaultFlame 2 месяца назад

    I love this, especially the paper tape input.

  • @faristabakovic147
    @faristabakovic147 2 месяца назад

    How to upload code from flash mamory to arduino or esp32? I mean how to use flash memory as bootloader.

  • @dwarf365
    @dwarf365 2 месяца назад

    Flutter and WOAH. LMFAO! love it.

  • @yogeshmr
    @yogeshmr 2 месяца назад

    Thanks

  • @richardappow6770
    @richardappow6770 2 месяца назад

    the source code for the assembler is missing on your github link. please reupload

  • @safakankara7613
    @safakankara7613 2 месяца назад

    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

  • @Maxjoker98
    @Maxjoker98 3 месяца назад

    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

    • @slu467
      @slu467 3 месяца назад

      Thanks, man. Actually, building it smaller is always more difficult.

  • @djtonysmooth
    @djtonysmooth 4 месяца назад

    Still too complex to most

  • @RelayComputer
    @RelayComputer 4 месяца назад

    That's very neat indeed. I love the use of a /single/ dictionary for all kinds of identifiers. That's quite cool !

  • @glennallan7561
    @glennallan7561 4 месяца назад

    I just discovered your channel, and I am subscribed. Wow, you work miracles and are extremely knowledgable.

  • @diogoduarte4097
    @diogoduarte4097 4 месяца назад

    Is there a discord channel we can discuss subjects like this?

    • @slu467
      @slu467 4 месяца назад

      There is a discussion section on my GitHub or just plain old email 😀

  • @destroyer2973
    @destroyer2973 4 месяца назад

    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.

  • @zombiigames4151
    @zombiigames4151 4 месяца назад

    I wonder what happens if i run Minimal 64 on scratch

    • @slu467
      @slu467 4 месяца назад

      😁

  • @statinskill
    @statinskill 4 месяца назад

    Squeezing water from stone is a thing. Most of the hydtogen/water on Earth and Mars is locked into various minerals.

  • @trader891
    @trader891 4 месяца назад

    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.

  • @StevenSherman-kr4xm
    @StevenSherman-kr4xm 4 месяца назад

    Bit random but is the value of R27 meant to be zero?

    • @slu467
      @slu467 4 месяца назад

      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.

    • @StevenSherman-kr4xm
      @StevenSherman-kr4xm 4 месяца назад

      @@slu467 thanks

  • @Recovered
    @Recovered 4 месяца назад

    Really clever way to solve this, I did several videos on pal/vga out from various small devices, even attiny13a

  • @chrisdickens4862
    @chrisdickens4862 4 месяца назад

    Wow!