Here's a new video that shows the simplest way to get a computer to make noise—amplifying a square wave. I add a BEEP instruction to MSBASIC that lets you generate a beep at a particular frequency and use it to make some very rudimentary music.
As always, let me know if you see anything I should change before releasing it publicly. And thanks as always for your continued support!
2025-03-01 03:05:00 +0000 UTC
View Post
I'm reposting this because, for some reason, Patreon didn't charge for it when I posted it the first time. I will try to suppress notifications, but apologies for the noise either way.
I've been working with Patreon and they apparently can't fix the issue with the previous post, but I don't believe anyone should be charged twice. If you got double-charged, let me know and I'll try to get it sorted out.
As always, thanks for your support!
-Ben
2024-11-30 04:00:10 +0000 UTC
View Post
This video is a bit of a continuation from my last video. At the end of the last video, I mentioned wanting to be able to print a string to the LCD using a single BASIC instruction. That required figuring out how to extract a string (or other expression). Not knowing much about the way BASIC worked under the hood, I looked at the PRINT instruction to see how it works and figured things out from there. This video walks through what I learned.
As always, let me know if you see anything th...
2024-10-31 00:19:02 +0000 UTC
View Post
New video! In this one, I modify the Microsoft BASIC code that's running on the 6502 computer to add some new instructions. Specifically, I add instructions for printing to and manipulating the LCD screen that's already part of the computer.
As always, thanks for your support and let me know if anything is unclear or if there are any other issues you see before I release this publicly.
Thanks again!
-Ben
2024-09-30 21:08:46 +0000 UTC
View Post
Here’s a video adding flow control to the input buffering from my last video. Unfortunately, I ended up running into a problem that I haven’t been able to figure out yet. As you’ll see in the video, when sending a large amount of text, the computer receives it all correctly—which is the goal. But as it’s receiving it, it doesn’t echo it correctly. It seems like when asserting RTS, the ACIA doesn’t transmit properly, almost like it can’t do full-duplex. But I can’t find any r...
2024-03-31 19:40:51 +0000 UTC
View Post
Here's a new video where I demonstrate the consequences of not buffering input and demonstrate how a circular buffer works. The end result is buffered, interrupt-driven input for the 6502 computer. It will lead naturally into the next video which will be about flow control.
As always, thanks for your continued support and please let me know if you run into any editing mistakes or overly confusing sections.
Thanks!
-Ben
2024-02-29 23:32:40 +0000 UTC
View Post
In this video, I adapt Microsoft BASIC to run on the 6502! Hopefully it all makes sense—there is a lot going on here! This video today is definitely a draft. At a minimum I intend to put the final working code from this video up on GitHub and point to it at the end of the video.
But as always, thanks for your continued support! Let me know if you see anything in the video that could be less confusing (hopefully without redoing the whole thing!) or any editing glitches, etc.
Than...
2024-01-31 18:44:58 +0000 UTC
View Post
New year? New video! I'm finally getting around to videos about getting MS Basic running on the 6502 computer, and this is the first of what will probably be two parts about porting MS Basic and getting it working.
As always, thanks for your continued support of these videos and please let me know if you have any feedback about this one before I release it publicly.
Thanks again and happy new year!
-Ben
2024-01-01 02:10:56 +0000 UTC
View Post
Here's a quick-ish followup video on exactly what I changed to get WozMon working on the breadboard 6502. In case you were wondering what I had to change to adapt it for the serial interface, and—the bigger challenge—adapting it for normal ASCII characters.
Hope you enjoy! Up next, it'll probably be getting BASIC running. Or maybe even some non-6502 content.
As always, thanks for your continued support!
-Ben
2023-07-21 16:39:16 +0000 UTC
View Post
Well you asked for it. After my last video there was a lot of interest in delving deeper into the Wozmon code and explaining how it works. So here you go! I walk through the code line-by-line explaining how it works and some of the tricks Woz used to get it to fit in the 250-byte constraint.
As always, thanks for your continued support and let me know if you see any issues with this video before I release it publicly. I may also do a shorter followup video talking about some of the chan...
2023-06-30 22:43:34 +0000 UTC
View Post
Here I demonstrate Wozmon, the hex monitor software that shipped on the Apple 1 computer running on my breadboard 6502. The video mostly shows what Wozmon is capable of without too much time spent on how it works or precisely what I had to do to get it working. Perhaps if there's interest in that, I can go into more detail in a future video.
Anyhow, thanks again for your continued support and let me know if you see any issues with this video before it goes live in a few days.
Than...
2023-05-31 23:07:13 +0000 UTC
View Post
Here's a new video in the 6502 series. It's software for the 6551 UART serial interface. Unfortunately this chip from WDC has a hardware bug that has to be worked around. It's not ideal, but not too terrible. With the conclusion of this video, it's now very easy to read and write data from the serial interface, opening up a lot of interesting possibilities. Up next, I expect to demonstrate Wozmon running on the 6502, so stay tuned for that.
As always, thanks for your support in helping ...
2023-05-01 00:32:25 +0000 UTC
View Post
As promised in the last video, here's a look at the 6551 UART and how to interface it with the rest of the 6502 computer. This video only covers the hardware aspect. Perhaps I rambled a bit too much, but it was starting to get long and figured it would make sense to break out actually programming the 6551 into another video. As always, any feedback is appreciated before the video goes live.
And of course, thanks again for your continued support of these videos!
Thanks,
-Ben<...
2023-03-31 20:21:28 +0000 UTC
View Post
Building on my previous videos on RS232 and charge pumps, in this video, I use the MAX232 chip to build a bidirectional serial interface for the 6502 computer.
I point out the limitations of implementing RS232 in software, so naturally the next step will be to add a UART to offload the serial processing, but that will have to wait for the next video.
As always, I appreciate any feedback. I'm also working on putting together a small add-on kit with the extra components for the seri...
2023-03-01 01:07:11 +0000 UTC
View Post
In this video, I explain the operation of a Dickson charge pump, which is a simple and clever way to double (or otherwise multiply) a voltage. Charge pumps like this are typically used in low-power systems (like computers) when one part of the circuitry uses different voltage levels from another.
For example, maybe you have a processor that uses a single 5-volt supply, but you need to communicate using a protocol like RS-232 which uses ±10–15 volt signaling. How do you get 10–15 vo...
2023-01-31 18:30:46 +0000 UTC
View Post
Thanks again everyone for your support. I just wanted to let you know that if you've been thinking about buying one of my kits, now is the best time of year to do so. Head over to https://eater.net/shop and use code BLACKFRI at checkout for 10% off all kits for the next week.
2022-11-24 20:04:53 +0000 UTC
View Post
So, um... I saw this recent video by Technology Connections about a bizarre device from the 90s that attempts to censor bad language on TV. For some reason, I was compelled to learn more, found one cheap on eBay, and took it apart. Perhaps you'll enjoy the journey as much as I did?
As always, thanks for your support and let me know if you see any issues or confusing bits in the video.
Thanks!<...
2022-11-20 01:20:49 +0000 UTC
View Post
New video? Yes! It's been a while... But I'm getting back to the 6502 computer with plans to add a serial interface, which will allow for a ROM monitor and ultimately a more functional computer. Anyhow, this video gets started by looking at the electrical and timing characteristics of the RS232 protocol.
As always, I appreciate your support! I realize it's been a while, so if you weren't expecting a post or otherwise aren't interested, my policy is always that if you simply ask, I'll re...
2022-10-31 18:26:22 +0000 UTC
View Post
Heads up that I'm running a 10%-off sale on all kits starting today at https://eater.net/shop. If you've been thinking about picking up any ki...
2021-11-25 22:46:57 +0000 UTC
View Post
Hey everyone,
I'm still working on some tweaks for the hardware timer video, so I still haven't published that on YouTube yet. But last week, as you may know, Facebook's entire service was offline for about five hours.
The explanations that came out talk about DNS and BGP as somehow related to the outage, but I found a lot of people don't really know how these protocols work. So I thought it might be interesting to make a video about it with a lot more detail. Well here it is.
...
2021-10-12 03:02:11 +0000 UTC
View Post
New video! Back to the 6502 computer, this video looks at some of the unexplored functionality of the 6522 versatile interface adapter chip. Specifically, I cover the timers and how a CPU and software make use of hardware timers and timer interrupts.
As always, I appreciate your support. And please let me know if you catch any errors or confusing bits.
Thanks again!
-Ben
2021-09-30 21:01:50 +0000 UTC
View Post
I've gotten a few requests for videos about different communication protocols, so here's a video about a communication protocol! SPI is one of the simplest IC-to-IC protocols. I explain the protocol and show it in action between the 6502 computer and a temperature sensor.
As always, thanks for your support and let me know if you see any errors or confusing bits in the video.
Thanks,
-Ben
2021-08-31 18:03:42 +0000 UTC
View Post
New video! I dissected a keyboard that supports n-key rollover to figure out how it works. It was fun figuring out how to capture the USB signals from this keyboard since it only wanted to talk at 480Mbps, which is way too fast to capture. Fortunately I found a way to do it and it turned out to be pretty simple.
Hope you enjoy. As always let me know if you see any major issues. And thanks as always for your support!
-Ben
2021-07-26 20:47:40 +0000 UTC
View Post
New video! What happens when you first plug a USB device in? There's a whole lengthy conversation where the computer discovers what a USB device is capable of. In this video I capture the conversation for a keyboard and walk through what's going on.
As always, thanks for your support. Capturing that NKRO-capable keyboard I showed at the end is going to be interesting. It only communicates at high speed (480Mbps) which is much too fast to capture with any equipment I have access to...
2021-06-30 22:32:53 +0000 UTC
View Post
This is sort of a continuation of my other videos on keyboards, but really it's more of an exploration of the low level operation of USB. Hope you find it interesting!
As always, let me know if you see any bits that are confusing or wrong, and thanks again for your support!
-Ben
2021-05-31 21:09:13 +0000 UTC
View Post
Many of you noticed that for the keyboard videos, I modified the LCD to operate in 4-bit mode, freeing up some IO lines to make the 8-bit keyboard interface possible. I’ve gotten a few messages from different people wondering how that works.
The hardware part is pretty simple. Basically 4 bits of data plus the three control signals from the LCD are all connected to port B on the 6522. The 4 data bits are D4-D7 on the LCD and connected as follows. Pins D0-D3 on the LCD are now unused:<...
2021-05-05 16:46:56 +0000 UTC
View Post
Here's the final video... finally. Sorry this took longer to get to and finish up than I'd hoped. But thanks to everyone's feedback, I tried to clarify the circular buffer a bit. And I added a whole section on using the keyboard flags to handle the shift key. In the end it's pretty fun to play with.
Up next, I'm working on a video where I'll decode the USB protocol to see how a USB keyboard communicates and compare that to the PS/2 interface. No, I'm not planning to implement USB on bre...
2021-04-30 21:11:57 +0000 UTC
View Post
Thanks everyone for the feedback on the last video. I appreciate the thoughts in both directions on splitting up the video. The comments that resonated most with me were that the software part felt rushed—I agree. I was trying to squeeze everything into one video, intentionally went through it quickly, and feared it would seem rushed. I got enough comments confirming that fear. So the plan is to add some more detailed explanations of what's going on and add a little more functionality (like...
2021-04-03 07:32:45 +0000 UTC
View Post
EDIT: This is now the final video and it's just the first part (hardware). I'll repost the software section as a separate patron video with the plan of expanding it a bit before releasing it.
Hello patrons!
Here's the logical next step after my last video: Connecting a keyboard to the 6502 computer. I took an interesting approach that let me sneak some fun stuff in here. I hope you enjoy. As always, let me know if you see any problems, confusing bits, or other issues.
I'm al...
2021-03-31 03:30:27 +0000 UTC
View Post
New video! Here's a video where I poke around with the signals generated by a PS/2 keyboard and build a very basic—and somewhat impractical—circuit to decode them. I also discuss a few different options for how one might interface a keyboard to a computer.
As always, thank you for your support and please let me know if you catch any errors or confusing bits. Plan is to release this next weekend.
Thanks again,
-Ben
2021-02-28 23:12:18 +0000 UTC
View Post