How the Apple 1 computer works.

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Hello and welcome back to the 8-Bit Guy. So, I’ve been wanting to do a documentary about the Apple 1 for a really long time. The trouble is, if you want to make a good episode about the Apple-1, you kind of need to have an Apple-1 on hand. There were only a few hundred produced. I think there’s somewhere around 200 of them still in existence. And if you’ve got about half a million dollars in the bank, you could probably afford to buy an Apple 1. But, obviously I don’t have that kind of money. So, there’s a couple of other choices. One, you can build your own Apple-1, which is exactly what I’m about to do. This is actually a pretty long process just finding all of the parts to put one of these together. I’ll talk about that more in a little bit. Another option is, you can buy several different kinds of kits, this is an example of one, it’s called a Smarty Kit. And this is an Apple 1 compatible computer. So, it’s not a real Apple-1, but it will run Apple-1 software. But, let’s go ahead and get started putting this thing together. I’ll start by soldering in all of the IC sockets. As far as soldering goes, this is the most time consuming thing. There’s around 63 chips on this board. I know it doesn’t look like that many, but it’s a lot. That’s somewhere around 1,000 solder joints just for the sockets alone. It took me about 6 hours to complete this part. I will say this gives me great respect for Jobs and Wozniak assembling these in a garage. This would have been a monumental task. In fact, it’s quite interesting to think about that, as this is quite literally the exact same thing they were assembling. Unfortunately, it turns out I installed these axial lead capacitors in backwards. For some reason I was thinking the arrows pointed to the positive side, when they actually point to the negative. I honestly don’t think I’ve ever had to solder in axial lead capacitors before. Anyway, it was easily corrected. I’m just glad I found out about it before powering the board up. Most of the soldering is done now, so it’s time to use some alcohol to clean the flux off of the board. For authenticity, I am also building a power brick based on the original design. And now it’s time to test the power brick. OK, since nothing blew up, I’ll test the voltages. And it looks like everything is working correctly. So, now I’ll take it one step further and test the voltages on the board. Here’s the 12 volt rail. And here’s the 5 volt rail. Everything is looking good! At this point I need to explain a few things about how this computer works. I want to draw your attention to these numbers along the bottom edge of the board going from 1 to 18. Likewise along the left edge there are letters A, B, C and D. These actually form a nearly perfect grid across every major chip on this board. This is used a lot in the documentation and between hobbyists to identify specific chips or regions of the board. OK, the next thing I want to mention is that you can also roughly divide this board into 3 seconds. Over in the top corner you have the regulated power supply. Down here at the bottom two rows, this is the actual computer. This is where the CPU, RAM, and ROM live. Up here, the top two rows is the video section. But what’s interesting is that this section works almost independently of the computer section. In fact, it’s essentially a copy of a glass-teletype style terminal like this. These terminals essentially just take in ASCII characters and print them to the screen, taking the place of older type-writer style teletypes that printer characters to paper. So, the Apple 1 actually sends ASCII characters one at a time from the bottom of the board to the top to be displayed. This was considered one of the selling points of this computer. For example, a year earlier you could my a KIM-1, a single board computer also based on the 6502. But it did require a terminal in order to use it. And while the KIM-1 was decently affordable on its own, a terminal could easily cost a thousand dollars or more. So the Apple 1, which sold for $666 was a pretty good deal. The heart of the video display boils down to this character ROM, which contains the bit patterns for 64 characters. And guys, this is it. These are literally the only characters that can be displayed on the Apple 1. There aren’t any graphics modes. There aren’t any graphics characters like the PET had. There aren’t any reverse characters, and In fact, there aren’t even any lower-case characters. What’s more interesting is the way in which this thing works. The screen is 40 characters wide, by 24 characters tall. So you need to store 960 characters. But, where is all of that data stored? You see, there isn’t any video RAM either.. Well, at least not in the traditional sense. It uses shift registers. Now, a typical shift register is a chip that handles 8 bits of data. And all 8 bits are exposed as their own pin on the chip so that each bit can be input or output. Then the data can be shifted around. These are used for all sorts of things. But the Apple 1 uses a really unusual type of shift register. This one has 1,024 bits. I can’t even draw them all on the screen. And, only one bit is actually exposed at a time. As such, the chips are surprisingly small. Here are some of them right here on the board, as you can see they are little 8-pin chips. Of course, one of these chips wouldn’t be enough to store all of the characters on the screen, but if you have 6 of them together, now you have enough to store 1,024 characters. Unfortunately, this creates one of the biggest limitations of the Apple 1’s video system. There is no way to modify characters at random on the screen. You are pretty much limited to sending out new characters and having the screen scroll. Of course, this was quite common on older text terminals, because they exactly mimicked the behavior of a teletype, which is obviously limited to printing characters in this manner. As you can imagine, you aren’t going to be playing any arcade games on this thing. So, back to our assembly. I’m going to populate all of the chips needed to run the video display only. Because for the moment, that’s all I want to test. And so here we go. In theory this should give us some sort of video display. OK, so I’ve reached the point where it’s time to test. Now granted, I’m only, I’ve only populated the video section, so the computer is not going to boot up, but I should get some sort of display since the video is essentially independent from the rest of the computer. But, I’m really nervous about it because I have literally spent the last two weeks working on this project. It is by far the hardest build that I’ve ever done. It’s not just the soldering. Yeah, there’s a lot of soldering. I probably spent like 8 hours soldering stuff, but it’s just been so many other things that have made this much more difficult than you’re typically computer kit that you would put together. I would not recommend this project to anyone who is looking for a beginner project. This is way harder than I thought. And, I’m also probably about 800 dollars in the hole for this already. In other words, these parts are not cheap. They are really hard to find and they are really expensive when you do find them, so if I fry something here, this is, it’s not a trivial thing. So. I’ve also spent the last few months looking for the perfect monitor for this computer. Now, you have to think about this for a moment. You’ve got to go back to 1976, what kind of monitor would you use on a computer? I mean, televisions did not have composite inputs back then. Right? So you’d have to get an RF modulator if you wanted to use a television. There was no such thing as a computer monitor, or at least not that the consumer could go get. But, there were these. And what I have here is a CCTV security camera monitor. It’s just a black and white monitor and it does have a composite input. And this is exactly the sort of thing that an Apple 1 user would have probably been using in 1976. Now, actually, even many Apple 2 users ended up using monitors like this. Anyway, this is about from the right era and I think this will be a perfect match for my Apple 1, so let’s hook it up and see if we get a display. Well, at first I thought it was dead. But then I remembered there was a little adjustment on the board for video level, so I tried turning that, and what do you know, I have a video signal! The fact that it looks like random garbage characters is not a problem. It just means the video RAM hasn’t been cleared yet. So, this is a really good sign. Actually, the next thing I’m going to do is manually apply 5 volts to the clear-screen circuit. And sure enough, that works and I get a blinking cursor at the top left. Yes, the Apple 1 uses an AT symbol for a blinking cursor. So, time to move on, I’m going to populate all of the chips for the computer section. Here’s the most important chip of all, the 6502 microprocessor. And so I think I’m ready for the next power on. Well, I don’t think there is any CPU activity as the screen is still junk characters. But then I remembered that I had neglected to solder a few connections on the board, such as this one. There’s a little pad you need to put a blob of solder on if you are using a 6502 microprocessor. Believe it or not, this board is also designed to take a Motorola 6800 CPU instead, but you need some extra things to make it work. For example, you need to put a chip in this socket, notice it says 6800 only. And this whole area up here would need to be populated. But since I am using the 6502, I’ll just solder across this little pad. Oh, and I also need to setup the RAM banks. These are very configurable. This is a testament to the fact this computer was designed for hobbyists to tinker with. Anyway, I’ll need to put some little jumpers here and there to configure the RAM setup. And even if I did get this working, I need a keyboard to test with. I bought this one online. I think it may have been a pull from an Apple-2, but it’s close enough to the right era, I think it will work. The trouble is, it won’t sit flat on the desk because of the daughterboard on the bottom, so I cut out these little pieces of wood. They look like doorstops, actually. But I think they will work fine to prop the keyboard up. The next thing I needed to do was build an adapter cable based on this design here, since the the pinout of the Apple 2 keyboard is different from the Apple 1. OK, so here goes nothing. I’m going to power it on. Now I’ll clear the screen, as there is no key on the keyboard to do this. Then I’ll press reset on the keyboard. And ladies and gentlemen, I think it is working. So, the operating system on the Apple 1 is insanely primitive. The ROM code is only 256 bytes. Compare that with something like a Commodore VIC-20, which has 16 Kilobytes, that is literally 64 times the amount of code. There is no BASIC or anything like that. It boots up to something called WozMon, which is just a really simple system for typing in code. The idea is you can type in machine code from the keyboard, which let’s face it, was quite common in that era. But the operating system on this thing is just one step above a computer with toggle switches to enter in the byte code. So, that being said, what can we do with this thing? Well, now I have an excuse to show you these manuals. This is a perfect re-creation of the Apple-1 manual. These are made by a guy named Armin who lives in Munich, Germany. The manual isn’t huge. But it does contain the entire source code to the operating system. Of course, it fits on just two pages, because again, it’s just 256 bytes in size. It also contains a full schematic of the computer, which was not uncommon at the time. And of course, Apple Computer’s first ever warranty page. I also have here a recreation of the magazine advertisement for this product. It was advertised as a microcomputer system with a video terminal and 8K of RAM. But anyway, what I really want to draw your attention to is this example program in the manual. This is just a test program and it’s only 11 bytes long. So, this shouldn’t take too long to type in. And so, as I’m typing this into WozMon, I’m thinking about the fact that this is most likely the very first thing most Apple-1 owners would have typed in on their computer. And they were probably anxiously awaiting to see the result. And so here we are. I’m going to have it list back the machine code. Everything looks correct. So now I’ll tell it to run the code. And there we go. This is probably the first thing every Apple 1 user saw when they setup their computers back in 1976. And they probably saw it on a monitor just like this. It’s basically just a repeating pattern showing all of the characters that the computer can display and it will keep scrolling forever. So what about using BASIC? Well, most of the modern Apple-1 clones include BASIC in ROM, which is very convenient. But the original Apple-1 sold in 1976 didn’t have BASIC in ROM, so you had to load it from cassette. But in order to do that, you’d need the ACI, or Apple Cassette Interface. This plugs into the expansion slot and it also contains two more PROM chips, which add another 256 bytes of ROM to the system. Let me demonstrate. If you boot up the Apple 1 and ask Wozmon to show you the memory contents at C100, you’ll see that area is totally blank. So now what we’re going to do is insert the card, obviously with the system powered off. While we’re at it, let’s go ahead and connect up a cassette recorder. This is about the closest thing I have for the time period. We just need to connect the earphone and microphone jacks, and they will connect right here on the cassette interface. Now I’ll repeat the same test, having a look at memory in the C100 range. And as you can see, there is ROM data there, this is reading straight off the ACI card. So here’s how you use it. We’ll tell Wozmon to start the ROM code at C100. The asterisk indicates we’ve entered the cassette interface software. So now I’m going to tell it to load a program into the memory range of E000 to EFFF, and the R at the end stands for read. If I wanted to write, I’d put a W there instead. At this point it’s waiting on some data from the cassette. I have a copy of BASIC on this cassette, so I’ll load that into there. And press play. And there we go. It’s loading. You don’t really get a lot of feedback that anything is happening. But at the end of the load you’ll get the little backslash which indicates you are back in Wozmon again. So, we can start basic by executing the code at E000. And it works. The way we know we’re in BASIC is that the prompt has changed from a backslash to a greater than sign. And of course, you get more friendly error messages like syntax error. But anyway, we’ll write a small test program just to see. I apologize, I still don’t have a backspace key wired up correctly, so I can’t fix my typos. But anyway, there you go. BASIC code running on an original Apple 1. Of course BASIC programs can be considerably more complex, which is easier to show with an emulator here. And there are even some very primitive games like this one where you try to govern an ancient city. Which apparently I did terrible as all of my people starved. You can even run the classic game Star Trek from that same era. So, obviously most people aren’t going to have the time, money, or patients to assemble an Apple-1 replica. But I wanted to show some alternatives. And I’ll start by showing the SmartyKit, which I mentioned at the beginning. This kit is a solder-less design. It uses micro-controllers for the video and keyboard input. Putting this together is more like putting a puzzle together than electronics. Unfortunately, I didn’t have time to finish this before the video. I think I’ve got about 25% of it complete. I also wanted to mention the PE6502 computer, which is also Apple-1 compatible. I did a whole video on this a few years ago. So there are a variety of Apple 1 emulators out there to play around with. But the one that might surprise you the most is this one that runs on a Commodore 64. It’s called Green Delicious, but I hesitate to call this an emulator, though. It’s more like a virtual machine. The main difference being is that the code actually runs natively on the C64’s CPU since they are both 6502 derivatives. The only thing the C64 has to emulate is the keyboard and terminal display, which isn’t really that hard for a C64 to do. It completely emulates the font, and even gives us a colorful Apple logo for the flashing cursor. And everything works pretty much as expected. F1 works as the hardware clear-screen button. F7 works as the CPU reset button. F3 changes the screen colors for common monochrome styles like green, white, or amber. F5 will toggle between the apple-logo cursor or the standard @ symbol cursor that the real Apple-1 uses, for authenticity. Now, while I don’t think it can read Apple-1 cassettes, it has included BASIC in ROM, which is handy. And they’ve given us a makeshift disk loading system so we can load additional software from disk instead, along with a few example programs. Clearly the Apple-1 never supported a disk drive, but this is pretty handy. And here I am playing Apple-1 version of Star Trek on my Commodore 64. Who would have thought. So, I’m not planing to cover any of the history of this computer as I feel that’s really well documented in some high budget movies as well as some other YouTube channels. But, I wanted to give you an overview of how this computer actually works and let you see a real one in action. I say real, I mean this is about as close as you can get to the real thing. And while this episode is coming to an end, the story of this computer is not yet done. I’m going to hand this over to my brother, who’s going to build some sort of case for this and do an episode on his channel, the GeekPub. So, keep a lookout for that. I also wanted to give a shout out to Uncle Bernie who runs an ebay store carrying some of the more obscure parts that’s really hard to do find for this, and he was also able to answer some questions I had which was very helpful in getting this thing put together, so I’ll put a link down in the description for that too. But that’s about it for this episode, so as always, thanks for watching!
Info
Channel: The 8-Bit Guy
Views: 1,439,784
Rating: undefined out of 5
Keywords:
Id: 36NgkpctW6k
Channel Id: undefined
Length: 18min 53sec (1133 seconds)
Published: Fri Jul 30 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.