Тёмный

My 8-bit breadboard computer, assembler, emulator and esp8266 program loader. An overview. 

Подписаться
Просмотров 6 тыс.
% 236

Finally, an all-in-one overview video of my build.
This video includes snippets of my computer in action. Including the assembler, emulator and program loader.
You can try the assembler and emulator in your browser here: cpu.visualrealmsoftware.com/asm/?s=300
All my source code is available here: github.com/visrealm/vrcpu
Music: New Dawn - www.bensound.com

Наука

Опубликовано:

 

25 апр 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 42   
@leander11
@leander11 3 года назад
Wow, I'm really impressed! Building an Eater-Computer is its own great undertaking but making a custom emulator for it is next level! You finalized it so thoroughly that it really seems like a useable computer. I dream of building one myself when I find the time, what an amazing thing to accomplish.
@derekchristenson5711
@derekchristenson5711 2 года назад
I had to head back to this video and check it out after you re-shared this link today. It's so neat that you already had an emulator so early in the project! Not so early after all, it would seem. 🙂 A very neat little breadboard computer design, too, of course.
@TroySchrapel
@TroySchrapel 2 года назад
Thanks, Derek. This was my first project. The HBC-56 is my second. As a software guy, I had to have an emulator. 😉
@TheDRAGONFLITE
@TheDRAGONFLITE 4 года назад
The fact that you wrote your own emulator shows you're on another level. Amazing job! How long did this take you?
@TroySchrapel
@TroySchrapel 4 года назад
The physical build was around 2-3 months elapsed time. The emulator... a few days. Around a day for the core emulator (the C part) then a day or two for the WASM/JS front-end. I'm a software guy, so that side of things was fairly easy (despite never writing an emulator for anything before :D ). The hardware side.. this was my first non-trivial electronics project. The snake game... perhaps half a day. The hardest part was trying to fit it in 256 bytes!
@omniyambot9876
@omniyambot9876 3 года назад
@@TroySchrapel wow! that's very impressive sir. What's your education background in computers?
@hamzehalzoubei2877
@hamzehalzoubei2877 4 года назад
Excellent work,, i see your hard work. Alot of additional components. I like your Work.
@ucmRich
@ucmRich 4 года назад
You are supremely awesome pal ^_^ i am so inspired by you and the other pplz building ben's 8-bit computer that i'm working o getting started on my own. i hope i do ok 0:-)
@TroySchrapel
@TroySchrapel 4 года назад
Awesome. All the best with your build. It's very rewarding. Not always smooth sailing, but that makes the wins even sweeter.
@frostgary
@frostgary 4 года назад
Great work. I have been procrastinating my 8 bit build for a year or so now (since watching Ben Eaters tutorials) , but this has inspired me to get breadboards back out ;) Nice work.
@TroySchrapel
@TroySchrapel 4 года назад
Thanks Gary. It's not all smooth sailing, but persistence pays. 🙂
@sushi_cat_og5411
@sushi_cat_og5411 4 года назад
Your work is amazing, and I think your one of the first people to make snake and a computer like this. I was originally planning to use Ben Eaters' design and then wire up an 8x8 led matrix or 2 and a joystick to see if i could make snake through that, but I don't have $300 to spend on the kit or components (The kit may be cheaper than buying all of the parts separately because the parts for the kits are bought in bulk). Anyway keep up the great work!
@TroySchrapel
@TroySchrapel 4 года назад
Thanks! It's one of those things where you can spread the cost out over some time. You don't need to buy it all at once. I sourced the parts individually, but over time. This was my first decent sized electronics project, so I didn't have anything "in stock".
@sushi_cat_og5411
@sushi_cat_og5411 4 года назад
It helps that they come in four seperate kits and has a complete parts list.
@AkashJadhavIT
@AkashJadhavIT 3 года назад
this is great build i am also following Ben Eaters series :) so as this is custom CPU so instructions set are custom to right? so now if you were to write an OS for this, how many and what kind instructions set it would need for command line OS like CP\M ? and what would it take to built graphical OS like Apple II or Atari 8 bit GUI? does this CPU needs to be 16 bit to run GUI OS ? sorry so many questions, just getting started with Digital Electronics.
@TroySchrapel
@TroySchrapel 3 года назад
Thanks Akash. Yes, it's based on Ben Eater's build but with a lot of custom improvements (including instruction set).My build only has 256 bytes of RAM, so wouldn't be capable of running a proper OS. The Snake game is about as much as it can do without further upgrades. If I was to do it again, I'd go to 64KB of RAM. That would make it more useful.
@b01bcom36
@b01bcom36 3 года назад
a lot of work and fun. Very good job! Keep it up
@TroySchrapel
@TroySchrapel 3 года назад
Thanks. It's a bit of a rats nest compared to yours. I haven't touched it for a while now and have moved on to my 6502 on a backplane build.
@thesafaripictures3453
@thesafaripictures3453 3 года назад
WOOW man you are now a god in digital electronics
@rmsa-notuseaccountsa-nt9038
@rmsa-notuseaccountsa-nt9038 4 года назад
Fantastic Troy. Well beyond me, but obviusly something for those with higher-level thinking abilities.
@voidFutureVector
@voidFutureVector 4 года назад
Fantastic, now can this be modified to work with Bens "video card" and interfaced to a vga monitor. Then the next challenge can be to generate flying toasters! Or maybe thats just a pipe dream. I have yet to build one myself.
@TroySchrapel
@TroySchrapel 4 года назад
Thanks. It could, but I'd need to expand the addressable memory to do anything useful with it.
@keltonpennel5841
@keltonpennel5841 Год назад
This is a magnificent CPU. I am curious, how does the CPU accept input from the buttons for the game controller?
@TroySchrapel
@TroySchrapel Год назад
Thanks. I have 4 general purpose registers A-D. For this game, I've just wired register D directly to the buttons, so it's read only. And avoid using it for anything but game input.
@keltonpennel5841
@keltonpennel5841 Год назад
@Troy Schrapel oh, that makes sense. I was thinking about creating a while new register rather than using an existing one. Thank you.
@canaDavid1
@canaDavid1 4 года назад
Just visited the site. What do lcc and lcd commands do? Otherwise loving the series!
@TroySchrapel
@TroySchrapel 4 года назад
Hey David. lcc sends a control command to the character LCD. lcd sends data. See www.sparkfun.com/datasheets/LCD/HD44780.pdf for details of the LCD commands.
@canaDavid1
@canaDavid1 4 года назад
@@TroySchrapel oooh. You have just made the subroutine from Ben Eater's video into one instruction. Makes sense. Thanks for answering.
@tszulpinedo757
@tszulpinedo757 3 года назад
Ooooooh my God 😱😍
@godofcows4649
@godofcows4649 4 года назад
neat, what is that wireless module next to lcd? is it some sort of microcontroller for LCD output?
@TroySchrapel
@TroySchrapel 4 года назад
That's the program loader. All it does is load programs into memory. When you submit a program from my assembler, it loads it. As shown in the video, the module isn't required once a program is loaded you can remove it. You could even enter a program using the DIP switches, but that gets tedious.
@ucmRich
@ucmRich 4 года назад
p.s. your emulator is BOSS +1
@waynetalbot5620
@waynetalbot5620 4 года назад
Is this your own design or an expansion of the Ben Eater system? Do you have more details published somewhere?
@TroySchrapel
@TroySchrapel 4 года назад
I don't have schematics for my modifications, but it's very close to James Bates design.. His schematics are here. github.com/jamesbates/jcpu I have some differences. Anything that asserts to the bus is controlled via a 74LS138. This allows me to take control with my program loader. The other signals it controls (clock, reset, mem address, and mem write enables) go through a 74LS157 to switch between CPU and program loader control. The LCD was a fairly straight forward addition, adding a single extra control line to my EEPROMs/microcode for the CE. It's RW is hard coded to W and its RS piggybacks my PGM flag which is used to switch between program memory and runtime memory. The program loader, emulator, microcode, and example programs are all my own and are in my github repo. My instruction set started out similar to James, but is quite different now.
@aarushmahajan8124
@aarushmahajan8124 3 года назад
just completed my ben eater computer and was looking for something new to o and this popped up in my recommended can you please give the schematics cause i just wanna rebuild your computer cause i havent yet seen another series/computer on yt that might be as simple as ben eater's but still has a better output in this case 16*2 lcd
@TroySchrapel
@TroySchrapel 3 года назад
Nice one, Aarush. My build is based on James Bates design.. He has a RU-vid series and schematics on github. I plan to do a video on adding the display, but haven't yet. It's fairly simple to add though.
@aarushmahajan8124
@aarushmahajan8124 3 года назад
@@TroySchrapel Thanks,I will be looking forward to that video 😃
@main-main6186
@main-main6186 2 года назад
would you be open to be a private tutor to me ?
@TroySchrapel
@TroySchrapel 2 года назад
Hi. I'm not sure I'm able to tutor. What are you wanting to learn?
@6502Nerd
@6502Nerd 2 года назад
How have I not subscribed to your channel before! We are kindred spirits (I built my own homebrew 5-6 years ago around 6502+9918a+AY-3-8910). Great job!
@TroySchrapel
@TroySchrapel 2 года назад
Hey. I have seen a couple of your videos too. I recall you also have SD card support, correct? That's one of the next things I'll be adding.
@6502Nerd
@6502Nerd 2 года назад
@@TroySchrapel Yes I wanted to keep it period (sort of) but felt I needed more modern storage. SD card is software bit banged and then wrote a FAT16 file system on top for PC compatibility. Happy for you to use the source code when you're ready (it's for 65c02 mind).