You cant run doom on everything, most videos about stuff powered by microcontrollers "running" doom is simply taking the input and passing the output, with the processing being done on a host
14:34 "a typing demonstration of me typing on this keyboard" - Love the Chyrosran22 reference :) (...and the whole rest of the project as well of course!)
Great video and even better project. I am often more impressed by the ingenuity employed when the resources are restricted than the general results of higher level programming and ability to treat resources as infinite. Impressed would be quite the understatement for my appreciation for what you have achieved with this project. Awesome!
What a wonderful project beautifully executed. I would love to see more about this project - especially how you implemented video. Thank you for sharing it with us.
Oooh this so cool! I'm kinda in the process of designing my own "8-bit computer", but my current abilities (had no real experience w/ electronics until a month or two a go) have me stumped on memory restraints on ATmega328p (been thinking about either upgrading the AVR to one with more memory, or do either parallel sram with glue logic or OC to >20MHz and dual quad-spi memory). I was going to do color later with just resistor dac to RGB and use composite for sync (SCART is a godsent), but I got intrigued about NTSC artifacting. I know this video is akready 6 mo old, but I really hope you get back to us with an indepth explanation about NTSC Color Artifacts! Thanks for the great video!
I'm pretty sure it was Woz that came up with this NTSC colour generation technique. I remember one of his talks where he described being in a sleep-deprived state and staring at a bunch of arcade cabs that were on test at Atari (which had coloured pieces of cellophane pasted over a mono screen) and the idea starting to form in his mind. Anyway, really nice work with the Amethyst!
Al Alcorn taught Woz the trick, and Woz did what Woz does - optimize it. spectrum.ieee.org/tech-talk/tech-history/silicon-revolution/al-alcorn-creator-of-pong-explains-how-early-home-computers-owe-their-color-to-this-one-cheap-sleazy-trick
I believe that would have been "Breakout!" Its certainly the one game where actual color made little difference. True the ball looked weird going through the "layers" but this only happens when the ball is far away from player interaction with the paddle, so it wasn't too distracting. Such things inspire creativity in code. Likewise the PC's real mode and protected and other memory modes inspired coding tricks.
The problem with the Apple trick is how dirty it looks without color amplitude control. You get as much artifact as actual color. You gotta hand it to Woz making full-feature computers with off-the-shelf TTL, but it was always going to be a giant compromise compared to an ASIC design.
@@bryede You also have to consider that they were trying to control costs too. I'm sure he could have done quite a bit in standdard TTL without an ASIC, but they were trying to make a product not throw a lot of money out the window.
I've done a good bit of Mecrisp Stellaris Forth programing on the STM32 series. Forth is great for micros. Back in the 80's I had a Forth cartridge for a VIC 20, too.
Please continue with the videos on your computer, I like them a lot and they are very promising. They encourage me to continue with my Arduino Due PC. Good luck, greetings from Spain
I only just stumbled on this. Like many, I'm also playing with the concept of a modern retro computer based around a microcontroller. I'd love to see updates explaining the inards in more detail. Very nice build. Well done.
I love the keyboard... except for the lack of a space bar! XD But no, I could get used to it and love it anyway. :) Cool color output trick, especially to get 256 colors! You're much less guilty of false advertising than Atari. ;) They advertised (and demo'd) 256 colors on-screen at once when the hardware was only capable of 128. It also looks like you can use many colors more freely. "AMSCII" made me grin! 10:03 That first cat pic looked really arty in the Amethyst's palette. I was too busy reading the game screen to listen. Had to rewind twice! XD And Forth; nice! Sweet little machine.
I never programmed in FORTH, but I remember reading up on it and it need very little to get started (small ROM). I had a SuperPet for work and one thing I wished from that time is that other 8-Bit machines came with the option to program in more than one language. On my Commodores it was only BASIC and Machine Language (6502 and 68000) but I wish Forth, Pascal, APL and others came as standard, imagine how much more early programmer would have learnt.
I'm not a retro computer guy, but I do like the simplicity of that design. Have a look at the Parallax P2 chip -- for those who enjoy building retro computers, it will make life very nice.
Just now stumbled upon this while surfing retro channels. Great project and great design! I must say, I prefer the keyboard on the first prototype unit. Having the keys straight up/down over each other and a space button like the other one would drive me bonkers.
We had AVRs for decades and we have seen lots of cool stuff over the years (like UzeBox for example). But this really blows this out of the park. Thank you so much for sharing! Makes me want to make one :)
Nice, when I got my first 1284 it was just my idea to build a computer around it, but watching this is a good start. I had the crazy idea to connect a SAA5050 for image generation.
Nice project. It’s probably just me, but for some reason I found it kinda amusing that you’d actually labelled the power indicator LED as “Power Indicator” :)
There were/are a couple of other books that were a follow on to the tty typewriter cookbook by Don Lancaster that get into color generation. The Cheap video appeared in 1978. The Apple Il appeared in 1977. Which leads me to think that the idea quite possibly came out of Atari where Wozniak worked iirc. Imo it could have originated from actual color tv circuitry. Sony and RCA had very competent engineers. Reading the technical articles from them is amazing as one realized how brilliant a lot of these guys really were!
lack of the spacebar is not the only issue... the keys are also aligned in a normal keyboard e.g Q is not right above A its on an angle above A and so on and so forth.
The ATmega1284 comes with 16k of RAM and has no external bus, so added memory would have to be controlled in software, adding the overhead of doing this would probably prevent the use of software generated video. There are a few AVRs that can be connected to external memory, but with the timings tight already, more data to manage is probably not that useful. For more complex, memory intensive graphics and such, a separate controller and memory for video would probably be a more suitable, though more complex, solution.
A simple Forth would run happily on any microcontroller over 1k RAM and 8K ROM. Discounting all resources used by the base system it wouldn't surprise me that this has at least 8K RAM and more than 64K flash available in the low graphic modes... that's more than enough to make useful things with Forth.
… somewhere in a drawer I have an original Sinclair 1000 computer. I wonder if at some point you could do a review or a tear apart and rebuild of such a beast…
Hey Matt! I am super-impressed by this build and it is very close to my dream computer. It is amazing and I would really like to have one too. I have seen many different approaches to the feel of 80s computers with all its simply programmability, instant-on features, all fit in the keyboard. Also love the reduced set of keys, as when looking at my 101 key keyboard most of the keys are not used anyways. I am thinking of going a similar approach as you did with mechanical keyboard and all circuitry fit in the keyboard case. What I am currently looking at for using as the main piece is the Teensy 4.1, to have a lot of horsepower, still Arduino compatible though, and have the additional Ethernet PHY and microSD card slot as well as an USB host port. Basically I would replace the ATmega1284 and FT320X with the Teensy 4.1, keep the rest as your build first. Would really like to get in contact and know what your thoughts are on this. I wonder if you can have TinyBasic as one of your startup items. Cheers, Berni
Such an amazing work! Just loved it. I'm currently working on a homebrew too, but using a pic18. It would be nice to exchange some informations Congratulatuons again!
(No picture? O, wel...) Low-tech spacebar add-on: A wooden "hook" suspended by the space-key, and a pivotal foot on the left-most side. _ ______| press anywhere along it's length to pivot (except directly above the pivot-point), and lever down the space-key. Should be an easy project for a GlowForge alumnus ;-) I *love* this bare-bones 8-bit. Fantastic educational project.
Did you only implement what is basically the same as the ZX81's slow mode or did you make it so the video could be switched off and all the time go to the program? If you have more than one PWM available, you can do a lot more with the sound. Two squarewaves combined can give a lot more "depth" to the sound because you can do harmonies. You could likely have made the thing smaller still by putting the keyboard and the chips on opposite sides. This way a sloping keyboard can be made with it being the whole system.
when i read "Amethyst: 8-Bit Home Computer," you got my curiosity, but when i read "Powered By An AVR Microcontroller" u got my attention
FORTH IN ROM. Absolutely badass. I bet it was all kinds of fun writing the forth kernel for that thing.
Next step is porting DOOM. Amazing project!
Doom is very heavy for that kind of PC, but NES had DOOM port, so this 8bit beast also capable of it but not sure..
I mean SNES
8 bit is not enough to reproduce doom I guess.
@@dmitryhetman1509 Doom was ported to an expanded 37KiB VIC-20 and runs surprisingly well with audio. Just search for VIC-20 Doom.
You cant run doom on everything, most videos about stuff powered by microcontrollers "running" doom is simply taking the input and passing the output, with the processing being done on a host
14:34 "a typing demonstration of me typing on this keyboard" - Love the Chyrosran22 reference :) (...and the whole rest of the project as well of course!)
This is so beautifully done, from the circuitry to software to case and keyboard.
Amazon to see stuff like this, a single person designing the hardware and doing all the programming...I need to learn a lot :) Kudos!
Great video and even better project. I am often more impressed by the ingenuity employed when the resources are restricted than the general results of higher level programming and ability to treat resources as infinite. Impressed would be quite the understatement for my appreciation for what you have achieved with this project. Awesome!
This is the kind of thing I subscribed for. Very happy to see more computer projects, though I do wish we'd seen the project as it went...
At first I thought that was a factory made computer. Very well done.
What a wonderful project beautifully executed. I would love to see more about this project - especially how you implemented video. Thank you for sharing it with us.
very cool! i'd definitely buy a kit of this if it was available :)
Me too, FRed, it is a fantastic and good looking piece of work
So nice compact build, and I really love your design skills. Such a beautiful computer! I really love the design work you have put into it.
Oooh this so cool! I'm kinda in the process of designing my own "8-bit computer", but my current abilities (had no real experience w/ electronics until a month or two a go) have me stumped on memory restraints on ATmega328p (been thinking about either upgrading the AVR to one with more memory, or do either parallel sram with glue logic or OC to >20MHz and dual quad-spi memory). I was going to do color later with just resistor dac to RGB and use composite for sync (SCART is a godsent), but I got intrigued about NTSC artifacting. I know this video is akready 6 mo old, but I really hope you get back to us with an indepth explanation about NTSC Color Artifacts! Thanks for the great video!
I'm pretty sure it was Woz that came up with this NTSC colour generation technique. I remember one of his talks where he described being in a sleep-deprived state and staring at a bunch of arcade cabs that were on test at Atari (which had coloured pieces of cellophane pasted over a mono screen) and the idea starting to form in his mind.
Anyway, really nice work with the Amethyst!
ye! you can substitute some analogue signals by a digital signal as an approximation.
Al Alcorn taught Woz the trick, and Woz did what Woz does - optimize it.
spectrum.ieee.org/tech-talk/tech-history/silicon-revolution/al-alcorn-creator-of-pong-explains-how-early-home-computers-owe-their-color-to-this-one-cheap-sleazy-trick
I believe that would have been "Breakout!" Its certainly the one game where actual color made little difference. True the ball looked weird going through the "layers" but this only happens when the ball is far away from player interaction with the paddle, so it wasn't too distracting. Such things inspire creativity in code. Likewise the PC's real mode and protected and other memory modes inspired coding tricks.
The problem with the Apple trick is how dirty it looks without color amplitude control. You get as much artifact as actual color. You gotta hand it to Woz making full-feature computers with off-the-shelf TTL, but it was always going to be a giant compromise compared to an ASIC design.
@@bryede You also have to consider that they were trying to control costs too. I'm sure he could have done quite a bit in standdard TTL without an ASIC, but they were trying to make a product not throw a lot of money out the window.
Pre-VGA 8 bit - I remember them back in the early 80's. Nice job on the little Amethyst retro box!
lol, spectacular!! super output, you really pushed that chip to the limit :D (nice hat tip to thomas at the end too, haha)
Extremely nice! Very inspiring! Can't wait to see the next episodes of this series.
Wow, such a cool project! Not only is the concept super nice, but it also looks very, very impressive.
Neat project. I'm looking forward to learning more about how you generated the graphics. Also, go Forth programming language!
ooh, the one with the spacebar but with the other keycaps would be so nice to play around with. very nice work!
Looking forward to your upcoming Amethyst Forth video!
I've done a good bit of Mecrisp Stellaris Forth programing on the STM32 series. Forth is great for micros. Back in the 80's I had a Forth cartridge for a VIC 20, too.
Please continue with the videos on your computer, I like them a lot and they are very promising. They encourage me to continue with my Arduino Due PC. Good luck, greetings from Spain
I only just stumbled on this. Like many, I'm also playing with the concept of a modern retro computer based around a microcontroller. I'd love to see updates explaining the inards in more detail. Very nice build. Well done.
I like the keyboard in the prototype much more. Staggered keys and a spacebar in the expected spot. Great video :-)
This is a beautiful piece of work. Good job!
Brings back memories from late 80s
Man, time just flies
I love the keyboard... except for the lack of a space bar! XD But no, I could get used to it and love it anyway. :)
Cool color output trick, especially to get 256 colors! You're much less guilty of false advertising than Atari. ;) They advertised (and demo'd) 256 colors on-screen at once when the hardware was only capable of 128. It also looks like you can use many colors more freely.
"AMSCII" made me grin!
10:03 That first cat pic looked really arty in the Amethyst's palette.
I was too busy reading the game screen to listen. Had to rewind twice! XD
And Forth; nice! Sweet little machine.
Yeah forth!! Looking forward to seeing the details about that. I kinda like the prototype keyboard layout better.
Forth rocks! Youngsters are missing out...
I never programmed in FORTH, but I remember reading up on it and it need very little to get started (small ROM). I had a SuperPet for work and one thing I wished from that time is that other 8-Bit machines came with the option to program in more than one language. On my Commodores it was only BASIC and Machine Language (6502 and 68000) but I wish Forth, Pascal, APL and others came as standard, imagine how much more early programmer would have learnt.
@@gustinian To this day I still catch myself saying "Forth" when I'm talking about Python. And I'm a python kinda guy. Forth was the original python.
Definitely interested to see how the video is generated, and also to see how you implemented that keyboard..
I'm not a retro computer guy, but I do like the simplicity of that design. Have a look at the Parallax P2 chip -- for those who enjoy building retro computers, it will make life very nice.
Just now stumbled upon this while surfing retro channels. Great project and great design! I must say, I prefer the keyboard on the first prototype unit. Having the keys straight up/down over each other and a space button like the other one would drive me bonkers.
We had AVRs for decades and we have seen lots of cool stuff over the years (like UzeBox for example). But this really blows this out of the park. Thank you so much for sharing! Makes me want to make one :)
Nice, when I got my first 1284 it was just my idea to build a computer around it, but watching this is a good start. I had the crazy idea to connect a SAA5050 for image generation.
Nice project. It’s probably just me, but for some reason I found it kinda amusing that you’d actually labelled the power indicator LED as “Power Indicator” :)
8:30 - demo or die! :) Such a cool machine, even equipped with Forth! Wow. Wanna make demos on it!
Looks like you have contributed a lot effort into the project. Great work!
Just found this, nice! Given this is a video from 6 month ago, are we going to see some more vids in the near future?
Very nice! Love how you packaged it.
nicely done. its surprising how much can be achieved with so little
Are you still planning on doing another video? I'd love to hear more about the design.
Super cool. Was really curious about the forth stuff!
Will this be a solder kit?
Nice move, getting rid of space to make room for numbers. Will think about it in my next 40%.
There were/are a couple of other books that were a follow on to the tty typewriter cookbook by Don Lancaster that get into color generation. The Cheap video appeared in 1978. The Apple Il appeared in 1977. Which leads me to think that the idea quite possibly came out of Atari where Wozniak worked iirc. Imo it could have originated from actual color tv circuitry. Sony and RCA had very competent engineers. Reading the technical articles from them is amazing as one realized how brilliant a lot of these guys really were!
Very Cool. I especially liked the colors part.
Wow! This is awesome!
Did you do all this on your own? That's a lot of pretty hard work.
The computer is beautiful!
AWESOME, and speaking of color, I'm now GREEN with envy.
Very impressive! Congratulations.
Super impressive! I'm really curious about the updates
No second part in over a year of Covid-19? I'm really curious to see more mate 👍🏻
I'll be waiting for your next video on the Amethyst.
Wow, that is pretty impressive. Well done!
Nice 1974-style Hi-end case! :-)
It's a beautiful piece!
Cutting-edge 1981 technology!
Subscribed! Waiting for it to be connected to the internet!
Hmm interresting project, the only question ks, will you regret going for analoge video going forwarspd, analog inputs are dissapering
Amazing project. What if you use a second AVR just to generate video and use the extra headroom to have external ram and ROM?
lack of the spacebar is not the only issue... the keys are also aligned in a normal keyboard e.g Q is not right above A its on an angle above A and so on and so forth.
the Chyrosran reference at the end
good stuff
This is really good, man! I love the ATMEGA1284! I see that your github id is 74hc595! LOL! That's my favorite logic IC!
My fav 74HCxxx chip is 74HC945. Problem is that they are like hens teeth to find!
Very interested in your internet serial communication through a raspi.
Also would be interested in a kit with a BOM.
I'm imagining a version with three micro controllers, one acting as a graphics chip, one for sound and the third as a cpu.
Problem with that is getting all three micros to talk to each other fast enough.
Beautiful!
Isn't that memory a little small? Any plan to improve there?
Love the look of the computer, awesome combo of wood and unusual color keys!
The ATmega1284 comes with 16k of RAM and has no external bus, so added memory would have to be controlled in software, adding the overhead of doing this would probably prevent the use of software generated video.
There are a few AVRs that can be connected to external memory, but with the timings tight already, more data to manage is probably not that useful.
For more complex, memory intensive graphics and such, a separate controller and memory for video would probably be a more suitable, though more complex, solution.
A simple Forth would run happily on any microcontroller over 1k RAM and 8K ROM. Discounting all resources used by the base system it wouldn't surprise me that this has at least 8K RAM and more than 64K flash available in the low graphic modes... that's more than enough to make useful things with Forth.
WOW! It is possible to make use of the GPIO-Ports via BASIC? This would be great! For example for our lovly blink-sketch :D
Matt: I will show you Forth programming language in the next video.
Also Matt: doesn't upload anything for half a year ;)
make that a year
… somewhere in a drawer I have an original Sinclair 1000 computer. I wonder if at some point you could do a review or a tear apart and rebuild of such a beast…
This is a really cool project !
Fantastic project. I'm really curious about the code and schematics. This is going to be inspirational.
Go to the github link - it's all there.
A beautiful machine, great work!
Thanks to the algorithm to recommend me this.
Great project!
Hey Matt! I am super-impressed by this build and it is very close to my dream computer. It is amazing and I would really like to have one too. I have seen many different approaches to the feel of 80s computers with all its simply programmability, instant-on features, all fit in the keyboard. Also love the reduced set of keys, as when looking at my 101 key keyboard most of the keys are not used anyways. I am thinking of going a similar approach as you did with mechanical keyboard and all circuitry fit in the keyboard case. What I am currently looking at for using as the main piece is the Teensy 4.1, to have a lot of horsepower, still Arduino compatible though, and have the additional Ethernet PHY and microSD card slot as well as an USB host port. Basically I would replace the ATmega1284 and FT320X with the Teensy 4.1, keep the rest as your build first. Would really like to get in contact and know what your thoughts are on this. I wonder if you can have TinyBasic as one of your startup items. Cheers, Berni
Can you slow down the clock speed? I know I'm weird but I love having to wait - helps me savour the experience.
this just looks so nice
Very nice design!
Any plans for a kit?
your website with millitext made me realize the pixels on my screen are backwards, they go BGR on mine instead of RBG
Amazing! I want one just to have it in my collection.
Exceptional project! Thanks for sharing.
Such an amazing work! Just loved it.
I'm currently working on a homebrew too, but using a pic18. It would be nice to exchange some informations
Congratulatuons again!
I love the wooden case :)
I like your profile photo 😁
Very cool! And the casing looks so polished! Are you planning to commercialize this in any way, or is this jus a hobby project?
run some compression and normalization on your audio, please. i had to hit CC to have any idea of what you're saying
Yeah I'd also buy this as a kit, looks dope
Nice work. Where can I get this keyboard?
Ten projekt jest nieziemsko kozacki.
I would really like to test this computer, when will it be available in retail :-)
Good god! Really nice little computer!
LOL THE eLON MUSK PHOTO.
This is way better than most "new" computer kits. Will there be an IDE for the computer, like being able to develop on the computer itself?
Very impressive! Looking forward to more demo videos.
Will this be available as a kit?
(No picture? O, wel...) Low-tech spacebar add-on: A wooden "hook" suspended by the space-key, and a pivotal foot on the left-most side.
_
______| press anywhere along it's length to pivot (except directly above the pivot-point), and lever down the space-key.
Should be an easy project for a GlowForge alumnus ;-) I *love* this bare-bones 8-bit. Fantastic educational project.
Odd question here but what voltage range is the mono audio out?
Did you only implement what is basically the same as the ZX81's slow mode or did you make it so the video could be switched off and all the time go to the program?
If you have more than one PWM available, you can do a lot more with the sound. Two squarewaves combined can give a lot more "depth" to the sound because you can do harmonies.
You could likely have made the thing smaller still by putting the keyboard and the chips on opposite sides. This way a sloping keyboard can be made with it being the whole system.
I'll second the suggestion for an extra bit for sound - it doesn't take much to get a big improvement over 1-bit sound.
Awesome build, congratulations! One question: what caused the keyboards' layout change? Thank you!
Это очень круто! Прекрасная реализация :)
Which sound chip does it use?