Hello, and welcome back to The 8-Bit Guy. So, in this episode, I’m going to assemble
the PE6502 computer. This is a hobbyist computer that’s meant
to be assembled at home, and this is actually a prototype. This computer is supposed to be Apple 1 compatible
so you should be able to run Apple 1 software on it and BASIC and stuff like that. However, I spent a couple of hours talking
with Jason on the phone, he’s the guy that designed this. And he said he likes to call it Apple 1.5
compatible. Because it’s a bit more powerful than an
Apple 1 but now quite an Apple 2. But, what’s really interesting is that what
he’s actually working on now is making some changes that will allow this to run Commodore
BASIC. And have the entire Commodore screen editor
and everything, which I think would be really cool. So, but I’m going to go ahead and put this
one together and see what I can get running on it. I’ll hook it up to my little handy TV here
and I don’t know, let’s assemble it and see if we can make it work!bThese zip-lock
bags should have all of the components to build this computer. Let’s take them out and have a look at them. I’m not sure if there is any rhyme or reason
to the way these are packaged. Some things are grouped together in bags. It looks like all of the smaller components
are in this bag. Here’s the actual board. It’s really nice and well made. That’s definitely a lot of parts to solder! Well, I guess I had better get out the soldering
station and all of my tools. But I also decided to print out the manual
as it was difficult to reference it quickly on my computer. It’s quite a few pages, so I printed it
double sided to make it easier to manage. All right, so I’ve got my soldering iron,
I’ve got the manual, and the board here. I also need a multi meter. One of the main reasons I need the multi meter
is for all of these resistors, because guess what? I can’t read the codes on these resistors. It’s great that he even included the color
charts for the resistors, but the problem is I’m color blind and can rarely distinguish
brown from green or violet from blue. I can see most of the other colors in the
spectrum, but it’s really hard for me to see brown and violet. So, I can use the meter to measure the resistors
so I make sure I use the right ones in the right places. It’s also handy to have a picture here of
the final assembly because sometimes that’s more helpful than a diagram. I’m actually going to start with the resistors
because they are the most challenging for me due to my color blindness and I’d just
like to get them over with. And please don’t send me a million emails
about those special sunglasses for colorblind people. Now, the good news is, a lot of these are
fairly obvious which value they are even without the multi meter because I can tell that, hey,
these 10 are obviously all of the same, and so I can look on the bill of materials and
see there are 10 identical resistors here, so I know which ones these are. And the same with these 7 here. So that just leaves these for me to measure. So I’ll start with these 10 here, and the
way I’m going to do this is just to use the bill of materials. So let’s look at all of these 1 kilo-ohm
resistors and I’ll just start with this one which is R2. So I’ll just look on the board and I can
clearly see R2 here. Pity there’s no D2, right? Then we’d have R2D2. Ha Ha. Anyway, that’s pretty much where all of
those 1K resistors go. So I’ll put all of those in. Resistors are pretty easy to install. Just bend the leads over like this. It doesn’t really matter which direction
they go in, but it is nice to try to put all of them the same direction so it looks professional. Once in the hole, I usually bend the leads
out just a bit so it doesn’t fall back through while I’m soldering. I’m still waiting on my soldering station
to warm up. I forgot to turn it on earlier. I’m using the default setting of 750 degrees. There we go, all ready! And, in case I’ve never mentioned this,
soldering while trying to record it with a camera is actually really difficult because
you’ve got to get just the right angle to see the action, and make sure your hands and
other objects are out of the way. I’m often contorting my body to accommodate
the tripod. So, doing this without filming is much easier. So, when you see me shaking it’s not because
I am coming down with Parkinson’s disease, it’s simply because I’m probably in an
awkward position when I’m trying to record it. OK, this is what good solder joints should
look like. Afterwords, you can use some cutters to remove
the excess leads. So, now I just have a bunch more resistors
to do. Every time I put in a component, I mark it
off the list so I know it’s done. All right, so I’ve managed to install all
of these resistors here and over here just by using reasoning without having to measure
anything or being able to read the codes. These are all that’s left and I’ll have
to measure them. OK fast forward a bit, and I’ve done all
of the resistors now. Notice I put them all in the same direction,
which makes it look nicer. For me, this was the most apprehensive part
of this project, so everything else should be a piece of cake! The next challenge is going to be all of these
tiny capacitors. Now the thing is, the text on these guys is
really small. And my 42 year old eyes cannot read anything
this small anymore. So I’ll be using this magnifying glass. This one is really handy because it has a
built in LED light. Anyway, as you can see, it will bring these
numbers into sharp focus, even for me! The good news is, these capacitors are apparently
all the same values. The bad news is, they don’t fit quite right
into the holes. The leads are too close together. So that’s about as far down as it wants
to slide. This is not uncommon, actually. The solution is to bend the leads a bit like
this. And so, yeah, it will go in a lot further
now. And so that’s how it looks after being soldered
in place. It’s not perfect, but it will work. And so here’s all of the little capacitors
now finished. Next up is this resistor pack. Basically it has 6 identical resistors inside
which share a common lead. And if you see that little dot on the left,
that represents pin 1. And if you look on the board here, pin one
is also labeled so you know which direction to put this. So we’ll just stick that in there, and solder
that from the other side. You sort of need 3 hands to install one of
these, but the way I usually do this is I hold the resistor pack from the other side
with one hand, then I’ll bend my lead of solder out so it sort of holds itself near
the place I need to solder like this, and just bring the whole board to the solder. All I need to do is get one pin soldered so
that it will hold it in place. Then the rest of the pins are easy to do. I should mention, by the way, that I tend
to like to install low-profile parts on a board first, before I install any taller parts. So that’s just my preference, but it seems
to make it easier because the board will lay mostly flat and also because the smaller parts
won’t get in the way of the big parts when it is time to insert them. All right, so the next part I’m going to
install is this 1 Mhz oscillator. This is what runs the clock on the 6502 processor. You may be wondering how to tell which direction
it goes. Well, if you look, there’s this little circle
here, that represents pin 1. And of course, pin 1 is clearly marked on
the board. So it just goes in nice and easy, like this. After soldering, these are a bit too long,
so I’m going to cut them off. And next up is the 5 Mhz Crystal used for
the Parallax Propeller chip. This has no specific orientation, you can
put it in either direction. And this fits in nice and flat. There’s exactly one diode in this project,
and here it is. There’s a stripe on the right side, which
indicates the polarity. The good news is, this board is labelled really
well. Notice D1, that’s where the diode goes and
there’s a little stripe on the diagram. This will be pretty similar to the resistor
in that the leads get bent like so. And then right down it goes! There’s also exactly one transistor in this
build. Now, the only thing you need to know in this
case, is that the transistor has a flat side. If you look at the board, it goes right there,
labelled Q1. And you can clearly see the flat side. The problem is the center lead will need to
be bent out some. So I usually just bend the lead out like this. Then I’ll use some needle nose pliers to
bent it back down like this. So now, it should fit in there better. Yeah, actually it fits great! So, I’ll check that off the list. Moving on, the next thing are these two momentary
switches, used for reset switches. One of them goes here, for resetting the propeller
chip, and the other goes over here for resetting the CPU. Now, these look kind of square like they might
go in more than one direction, but they are actually slightly rectangular and will only
fit one direction, so don’t worry about that. Once it is lined up, it does take a bit of
force to pop it down. The next thing I’m going to solder in is
this pin header. Now, I will warn you that these are copper
all the way from one side to the other. So if you are holding this from one side while
you solder it from the other, it will conduct the heat really well and you’re going to
burn your finger. So, this goes right here. I suggest you be very aware which pins you
are touching when you go to solder this in! Of course, once you get the first pin soldered,
the rest of them are easy to do. Next up, I’m going to start installing the
sockets, starting with these little ones. With any socket, be sure to double check this
little notch and make sure it lines up with a similar looking notch on the board. OK, so fast forwarding a bit, I’ve got that
one installed, and that one installed, however, I’ve got all of these sockets left to do. These are going to be some of the most time
consuming parts to install. I tend to hold these with one hand, and I
do sort of like I did with the resistor pack, where I just put the solder right where I
need it to get that first pin done. Once that’s done, I turn the board around
and solder the opposite pin on that socket. OK, so I’ve got each corner soldered. And these aren’t even very good solder joints. But that’s okay because they will hold it
in place long enough for me to get some other pins soldered. At this point, I just want to double check
the board from all directions that the socket is in flat and that it is facing the right
direction. This would be a real pain to fix later. Now I can solder the rest of the pins. I’ll take this opportunity to mention that
I wouldn’t really suggest a board like this for your very first soldering project. I’d suggest something smaller and cheaper. But if you’re a bit inexperienced, doing
a board like this is going to give you a lot of practice. I would also like to mention I get a lot of
requests to make a tutorial on how to solder. But, honestly, there are several other youtube
channels that have that covered pretty well. I usually recommend a video by EEVBlog, which
I think covers about everything you need to know. I will also mention that I’m using lead-based
solder, which in my opinion is easier to work with and does a better job. However, I do have a fan going in the room
that helps to blow the fumes away from my face. I also always wash my hands when I’m done
soldering to remove any residue from my hands. And some people might wonder why anyone would
want to assemble this stuff on their own. Well, to be honest, that’s half of the fun
of a project like this. It’s sort of like a jig-saw puzzle for nerds. It will take you a few hours to assemble this
and then there’s the anticipation of whether or not it will work when it is done! OK, so I’ve got a problem. These are the only pieces I have left, and
I am missing a socket, which goes right here for the MAX232, which is the serial port controller. So, I guess what I’m going to do is just
solder that chip in directly. Which, is fine. I mean, you don’t have to have a socket. The main benefit of a socket is to make it
easy to remove if you fry the chip or for whatever reason you might want to remove it. But we have sockets for all of the rest of
the chips, so I think we’ll be fine. OK, so now I’m going to start installing
some of the taller objects, such as this header for the system bus. One problem you might notice is that… he
he, gee it’s too big to fit. So no problem. I’ll just use some cutters and cut it to
the right size. And there we go, fits perfectly now! Next I’ll do the PS/2 keyboard connector. PS/2 is kind of obsolete now, but at least
they were made in the millions so they should still be pretty easy to find. Anyway, so that goes on like so. And this is the next thing I’m going to
put in. This is the composite video connector. This is where the TV or monitor will connect. This thing has some pretty big pins on it,
that’s to help with the stress of plugging and unplugging those cables. And the last of the connectors is the DC power
port, which is a fairly standard barrel connector. I should mention this kit does not come with
a power supply. Anyway, so the connector goes here. Like so. And this thing also has some rather large
pins to help with the stress of connecting and disconnecting those cables. I can’t tell you how many laptops I’ve
seen in my life that had broken power ports, usually because somebody tripped over the
wire. Moving along, this is the power LED. Now, you’ll notice that one leg here is
longer than the other. And that is the positive lead. And when you look on the board, you’ll notice
a flat side, and that is for the negative. So the shorter leg will go in that side, like
so. Next up are two voltage regulators. One of these is for 5 volts for the 6502,
and then a 3.3 volt version for the propeller chip. Just line up the flat side with the big white
line there. Easy peasy. One of the last things left to do is install
these electrolytic capacitors. I’m going to start with this big one here. These do have a specific polarity so you need
to make sure you don’t put them in backwards. You’ll notice there is a stripe on this
one side here. And that needs to line up with the stripe
on the board. Now this board is different from any other
I’ve seen when it comes to electrolytic caps. So, this cap goes in C21, but it is drawn
as a square on the board. I’m thinking maybe he originally planned
to use tantalum capacitors or something. Anyway, there is clearly a line showing where
the stripe goes so you can still line it up. But, it fits in there perfectly. I’ll bend the leads out to make it easier
to solder. And the soldering is almost done for this
job. Notice there’s this spot to solder in a
switch, but no switch was actually included in the kit. This is if you wanted to add your own to whatever
case you might mount this in. For me, I’m just going to use some of these
left over pins and solder those in. Skipping ahead, those are in now, and I’ll
just use this jumper here to act as a switch so that power is always on whenever the plug
is inserted. This would also make it really easy to connect
a power switch in the future. And here’s all of the left over trash and
excess leads from assembly. Now, the only thing that is left is to take
all of these chips and insert them into the sockets. So, let’s get started! I’m going to start with the 6502. Believe it or not, this is a brand new chip,
Western Digital still makes these, although I have no idea what uses them these days. But this is definitely the newest 6502 I’ve
ever held in my hands. Now I’m going to put this in the socket. I’ve actually bent the pins in just slightly
to help them line up. It’s very important to make sure these pins
are lined up really well, otherwise when you go to push it down, one or more pins could
bend or break off. Same thing goes for these smaller chips, also
be sure to double check the direction and line up the notch! This is the firmware ROM chip. Let’s put this in! It takes a surprising amount of force to push
these things in. Next up is the propeller chip which will serve
as a video display since you can no longer buy the original Apple 1 video chips. And this is a static RAM chip, I believe 32K,
which is a lot more than the 4K of the original Apple 1. And THIS is a perfect example of pins not
cooperating when I tried to insert the chip. Fortunately, I caught it before I pushed it
all the way down, so I can pull this out and bend them back. OK, so this thing is finally finished. All that is left to do is test it! I’m going to need a power supply. I hope this is going to work. It has the right connector and it’s actually
6.5 volts, even though the instructions call for 9V, this should actually work because
it’s rated for anything between 6.5 and 9 volts. This actually comes from my speak and spell. Anyway, I think it’s going to work. And of course, we’ll need a standard composite
video cable. And I’m going to use this old PS/2 keyboard. It’s the perfect size for this project. So I’ll plug in the keyboard, and then I’ll
plug in the composite video cable. And now it is time for the smoke test. If I did anything catastrophically wrong,
this is when I’ll find out. Well, the good news is, nothing smoked or
popped. The bad news is, there’s no video display. The power LED did come on, though. OK, so I am not terribly surprised that it
didn’t work. In fact, I would have been more surprised
if it had worked the first time. There’s always some little detail an an
assembly like this that’s going to keep something from working, even the tiniest little
thing can keep it from booting. But, you know I’m pretty sure I can get
this to work. So, I’m going to go ahead and start some
of my standard troubleshooting techniques. The first thing I wanted to do is check the
voltage at one of the chips to make sure we’re getting a steady 5V. And we are. So the power supply and regulator and all
of that is working fine. The next thing I did was swap out this serial
eprom for the propeller chip. He sent me two of these for some reason, so
let me try the second one. And behold! It actually works. Well, sort of. I entered into BASIC and just wanted to type
something, sure syntax error, that’s expected. But then I discovered that any command I typed
gave me a syntax error. In fact, pretty much nothing worked right
on this board. It was very unstable! It would reboot constantly like every few
seconds, most commands I would type would either give strange results or just cause
the computer to reboot. So, I knew something wasn’t right. I knew there had to be some other problem
and I spent a lot of time troubleshooting the board, and I couldn’t really find anything
wrong. Now, the manual had said in here to clean
all of the excess flux off the bottom of the board and that is something I had intended
to do. But, you know, I was kind of in a hurry so
I just thought, I’ll skip that step for now and I didn’t realize how important of
a step that is because flux apparently is conductive. And, I guess that never really occurred to
me. But yeah, so I took some alcohol and a toothbrush
and I spent some time scrubbing the flux off of the board and then I actually rinsed it
in the sink and then it had to dry for a little while, actually had to let it dry for several
hours even after I used some compressed air to blow all of the water off. But after that, I turned it on, and it actually
works perfectly! It’s perfectly stable now! So, let’s take a tour and see what we can
do with this thing! So, it boots up into something called wozmon,
which stands for Wozniak Monitor. It’s a really simple operating system. Just for some examples of what you can do. If I type a memory address, like 2000, it
will simply reply and tell me what byte is stored at that address, in this case FC. Of course this is all in hexadecimal. If I wanted to see a large chunk of memory,
I can type the address, then a period, and then another address. Then it will show me everything that is between
those addresses. There are two versions of BASIC stored in
ROM, so I can start one of those up by typing the starting address followed by an R. So,
now I’m in integer BASIC. Of course, I’m actually more comfortable
in Applesoft BASIC, so I’ll use that one instead. Of course, when demonstrating BASIC, everyone
has to write a small looping command to print something down the screen. So I won’t disappoint. However, I’ll write something maybe a little
bit more interesting. This is called a random maze. We used to make these on the Commodore VIC-20
and 64. It doesn’t look quite as good here because
the lines don’t actually touch each other, but you can still see the maze if you concentrate. So you may be wondering what else you can
do with it, since there are no disk drives or SD card sockets or any way to copy over
any other programs. The original Apple 1 at least had a cassette
port interface. This doesn’t even have that. The only way to actually get new programs
onto this computer is to type them in with the keyboard either in BASIC or in machine
code. However, it does have a serial port, which
can make that a lot easier. So I’ll just connect it up to one of my
old MS-DOS laptops. I was going to use my favorite terminal program,
Telix, however, it doesn’t seem to want to run on this laptop. So I’ll just use Hyperterminal inside of
Windows 95 instead. According to the manual it needs to be set
to 115,200 bits per second. And it’s working, because that READY is
coming from the little computer. OK, so what I’m going to do now is click
transfer and send a text file over the serial port. I’m going to pick microchess. As soon as I do this, you’ll see this machine
language code flying down the screen. As far as the computer is concerned, somebody
is typing this in on the keyboard. It just so happens, the thing typing it is
another computer, so it’s really fast! Once it’s done, it automatically starts
the game, as that’s the last command in the text file. I’ve never played this before, so I’m
not sure how it works. I’ll pick zero, I guess. I have no idea what this means either. And I can’t figure out what I’m doing
here either. I guess somehow I’m supposed to indicate
which piece I want to move. Anyway, I’ll have to read up on that later. Moving on, you can also send BASIC programs
much in the same way. First, you just go into BASIC, in this case
Applesoft Basic, and I’ll send over a text file for hangman. Again, it’s like I’m typing in the hangman
game really fast. However, when it is done, it errors out. So I’m thinking maybe it was designed for
integer BASIC instead, so I’ll change over to that version and then try it again. Skipping ahead a bit… it works. I’ll guess E, nope.. how about S, nope. U, maybe R, T, dang.. what is this? Well, after nearly trying the whole alphabet,
it turned out to be FLY. Lovely. Anyway, let’s try another one. This is checkers. Again, I can’t quite figure out the commands
on this without reading the manual, so I’ll do that later. All right, so I was not super impressed with
any of the games that are available for this little computer, so I thought I’ll just
write my own. I was kind of thinking something along the
lines of Tetris. I figure I could probably write that in a
few hours if I didn’t try to get too fancy. The trouble is, I couldn’t figure out how
to address the screen memory. And documentation for the Apple 1 is a bit
scarce and when you type that into google you always get results for the Apple I devices
like iPhones and iPads and stuff like that. Eventually, with enough asking around I finally
did find some documentation and one of the things I discovered about the Apple 1 design
which is really bizarre is that it’s impossible to actually address characters like anywhere
on the screen you want. So, the only thing that this computer can
do is it can send characters one at a time to a screen controller which will place the
characters at the bottom of the screen and then scroll everything else up. But, it’s actually impossible to come back
up here and change some character that’s already on the screen. The system’s simply just not capable of
doing that. And, to illustrate why, I want to show you
this little diagram, king of showing a rough bus design of a traditional 8-bit computer
that would have been made during the 1980s. In a typical system of the 1980s, the CPU
would talk with a peripheral interface adapter, and that’s usually what connects to things
like keyboards, joysticks, and disk drives. And then there’s the ROM and RAM on the
same bus with the CPU. And then the video chip usually shares some
of the RAM, and displays whatever it reads on an external monitor. The apple 1, however, has no joystick, no
disk drive, and to be honest, no video chip. At least not in the traditional sense. What it does have is a rudimentary terminal
display like you’d find in a dumb terminal of the 70s. And it is connected to the PIA chip, and the
CPU just sends characters over to be displayed. But the CPU has absolutely no control as to
where on the screen the character will end up. That’s all handled by those terminal chips. Which means, coding a simple program like
Tetris is essentially impossible on the Apple 1. In fact, that explains a lot as to why those
programs like the chess would always redraw the entire board every time you make a move. So that really limits what you can do with
a computer like this. However, it does have the full system bus
available here on this pin header, so there’s no reason you couldn’t attach some other
kind of video chip, or even a little LCD screen like this. In fact, I may mess with getting one of these
working for a future episode. But still, you know it’s a neat little computer,
and especially with the expansion socket that I mentioned, you could hack all kinds of things
on there. I mean heck, I bet you could get a SID chip
to work on there if you wanted to! But, I’ll be much more impressed when somebody
creates something really similar to this that can run Commodore BASIC. You know, the actually screen editor, and
BASIC, and the Commodore kernel. And it doesn’t have to be compatible with
the Commodore 64 or VIC-20, as long as it can just run those things so that you can
get the environment and you know you could probably port over a lot of existing software,
so that’s something that I would have a lot of fun playing with. But, I do think it definitely needs and SD-card
socket so that you can load and save programs to something at least a little bit more modern. I’d probably try to design it myself, but
I simply don’t have the time and it’s probably a little bit beyond my abilities. Still, if anybody else has a neat little home-brew
kit like this they’d like to send me, please, contact me and tell me about it and you know,
I may feature it here on the show in some future episode. Otherwise, I guess that about wraps it up
for this one, so stick around and thanks for watching!