I will never see anything more underrated than this channel in my entire life. you were at 500 subs????!!!! soo small, I immediately subed and now its 501
Hi Alan, glad I got you started here. Basically, the video shows how to implement your own design and have it running without building it on breadboards ;-)
@@slu467 I like that very much its basic yet the potential to add enhancements is through the roof. Unlike modeling it in verilog which is laborious at best.
I love the pitter patter of your keyboard and especially the work you've done here! I plan on learning C++ since I've already learnt python, C#, and Rust. I love watching videos like these because I work a lot better with hardware, and being able to combine both worlds like this makes me learn so much better! Thank you :)
fun fact.... not as exotic as you might think! In both industry and academia, computer architects use software-simulated CPUs to test new optimization ideas and run experiments!
I just compiled it in visual studio under win 10 on an old PC. I had to change some kbhit to _kbhit and the same for getch. Then when I run in release mode blocks works fine.
I find awesome to emulate a CPU by coding the response of its components to the clock. But I am wondering if polymorphism and vectors of shared pointers are really needed, but that's just me, since the CPU architecture is fixed and well-known at compile time, I would instead code flat classes for each component, use a tuple instead of a vector, and iterate over it with some template magic. I would also suggest you to use Windows Terminal so you can avoid the start command and the SetConsoleMode, and just run the application in the same window.
Thanks for diving into the idea, Rand0081, your suggestions are really appreciated. I am sure there are many (probably cleaner) ways of expressing this idea than the one I have used :-D Let me know if you build something yourself that follows your route! Cheers, slu4
So you created your own CPU? This is a simulator not an emulator. The difference is in how similar you are making it to the hardware. Pretty sure emulators don't handle all the line transitions from 0 1.
I will never see anything more underrated than this channel in my entire life. you were at 500 subs????!!!! soo small, I immediately subed and now its 501
Whoblue579 Beta, you made my day, man! Thanks for tuning in, it's comments like your's that keep me motivated :-)
Absolutely awesome
Thank you algorithm for bringing me here
I had no idea that you could simulate a basic cpu in C++ under 250 lines
Thank You for showing me you can.
This video is Fire.
Hi Alan, glad I got you started here. Basically, the video shows how to implement your own design and have it running without building it on breadboards ;-)
@@slu467
I like that very much its basic yet the potential to add enhancements is through the roof.
Unlike modeling it in verilog which is laborious at best.
I love the pitter patter of your keyboard and especially the work you've done here! I plan on learning C++ since I've already learnt python, C#, and Rust. I love watching videos like these because I work a lot better with hardware, and being able to combine both worlds like this makes me learn so much better! Thank you :)
Glad you like this stuff!
Woo that is a truly compact code , well done and thanks for making this video (almost missed it). I gat to look into this now.
Hope you enjoy it!
Wow einfach großartig und lehrreich, auch wenn ich noch nicht so dermaßen viel davon verstehe!
Danke! Es ist halt C++ :-)
Emulating a cpu is a nice idea.. Im not that of a C++ guy, I'm more a java guy. But maybe I should try that out. Thanks for this exotic idea!
Actually, before writing this in C++ I started with a version in Java (Processing actually). Works just as good :-)
@@slu467 Gut, dann dürfte das ja nicht so schwer sein. :)
fun fact.... not as exotic as you might think! In both industry and academia, computer architects use software-simulated CPUs to test new optimization ideas and run experiments!
@@slu467 Any chance you could share your java code?
The "msys2" is a set of Unix utilities. But the compiler is called "MinGW". Yes, it is GCC based.
BRILLIANT TUTORIAL!
Great, thank you for sharing 👏💪👌
I just compiled it in visual studio under win 10 on an old PC. I had to change some kbhit to _kbhit and the same for getch. Then when I run in release mode blocks works fine.
Happy to hear that it's running on your end!
Thank you for your good contents, but how did you launch the console window that has big raster fonts (vintage 8x8 ASCII bitmap fonts)?
It is just a nice-looking TrueType I had downloaded. C64 style.
@@slu467 you mean "install .ttf and then add it to CMD using regedit"? thanks in advance
@@slu467 you mean "install .ttf and then set CMD using regedit?" thanks in advance
Just open the console and change the font. Its a menu option. No regedit required 😀
I find awesome to emulate a CPU by coding the response of its components to the clock.
But I am wondering if polymorphism and vectors of shared pointers are really needed, but that's just me, since the CPU architecture is fixed and well-known at compile time, I would instead code flat classes for each component, use a tuple instead of a vector, and iterate over it with some template magic. I would also suggest you to use Windows Terminal so you can avoid the start command and the SetConsoleMode, and just run the application in the same window.
Thanks for diving into the idea, Rand0081, your suggestions are really appreciated. I am sure there are many (probably cleaner) ways of expressing this idea than the one I have used :-D Let me know if you build something yourself that follows your route! Cheers, slu4
very cool
💖💖💖💖
The link in the description goes to RUclips studio of your channel not your actual channel page.
Thanks for pointing me to that bug, have fixed it ;-)
Its not showing reset
If you like to use g++, why not set up a WSL or a Docker to use it? As I remember, installing gcc on windows was a nightmare
The MinGW GCC port works fine under the Windows. What's the problems? The WSL is useful to compile Linux executables.
7:50
for later ig
Interesting food for thought in there. I feel that you breezed over the microcode way too quickly.
Is this pipelined?
Nope, this design is deliberately as simple as possible. Cheers.
So you created your own CPU? This is a simulator not an emulator. The difference is in how similar you are making it to the hardware. Pretty sure emulators don't handle all the line transitions from 0 1.