Hi, I'm Sean, and I plan to build a 65XX-based computer
Hi, I'm Sean, and I plan to build a 65XX-based computer
Hi, I'm Sean, and I plan to build a 65XX-based computer. I've been programming for decades but haven't done much hardware hacking, but I've been inspired by the Ben Eater videos, various retro-computing initiatives, and conversations with older friends about all the cool computers back in the 80's. I first programmed on a Commodore 64 at my first elementary school, did some more on the Apples in my second elementary school, a little bit with Macs and Unix-y systems. Most of my programming was on DOS, then Windows, though. I had a college course in x86 assembly, and learned the basics of C and Pascal in high school. I've programmed in a variety of modern procedural and OOP languages since.
I'm thinking my most likely project will be either W65C816 or W65C265 based. I've read here that the WDC single-board computer based on the W65C816 has had known issues (too-slow IC in the address latch, IIRC) and it only runs at 8 MHz anyway, whereas I aspire to have it run at maximum possible speed. Alas the SBC based on the W65C265 is even slower. The FPGA-based microcontroller SBC's look nice, but for some reason I want to run with "real" chips. I may start by buying and assembling the Ben Eater kit then start working things up from there, and move from breadboard to wire-wrapped perfboard or PCB's. My plans are still rather nebulous.
Anyhow, just introducing myself. Thanks to everybody who's been contributing to the discussions here. I've found the past couple weeks of reading here very educational. I've been taking lots of notes.
I'm thinking my most likely project will be either W65C816 or W65C265 based. I've read here that the WDC single-board computer based on the W65C816 has had known issues (too-slow IC in the address latch, IIRC) and it only runs at 8 MHz anyway, whereas I aspire to have it run at maximum possible speed. Alas the SBC based on the W65C265 is even slower. The FPGA-based microcontroller SBC's look nice, but for some reason I want to run with "real" chips. I may start by buying and assembling the Ben Eater kit then start working things up from there, and move from breadboard to wire-wrapped perfboard or PCB's. My plans are still rather nebulous.
Anyhow, just introducing myself. Thanks to everybody who's been contributing to the discussions here. I've found the past couple weeks of reading here very educational. I've been taking lots of notes.
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
Welcome. Be sure to go through the 6502 primer at http://wilsonminesco.com/6502primer/ which is all about building your own 6502 computer. The '816 is the next step up of course, but most of the same material applies. Ben Eater apparently got his address-decoding scheme from the 6502 primer—not that it's impossible for someone to come up with the same thing without knowing of the primer's existence though. I've been using it since the early 1990's.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
Sean wrote:
Hi, I'm Sean, and I plan to build a 65XX-based computer.
Welcome!
A piece of advice I always offer to someone who is wanting to build their first 65xx contraption is to start out simple. The more features you add the greater the likelihood the unit will be DOA and thus the greater the likelihood you will become discouraged. The beauty of the 65xx architecture is it doesn't take a lot of hardware to make a functioning unit. A suitable clock source, basic logic gates, a UART and a 65C22, along with some RAM and ROM, will get you going. Also, consulting Garth's 6502 primer is invaluable in laying out your design and anticipating problem areas.
Quote:
I'm thinking my most likely project will be either W65C816 or W65C265 based.
My opinion is you should not consider the 65C265. While WDC's processors are excellent products, their microcontrollers leave something to be desired.
A 65C816 design can be made fairly simple if you elect as part of your first effort to forego use of extended RAM (i.e., RAM beyond 64KB). That way you don't have to worry about decoding the A16-A21 address bits, which reduces your design's glue logic complexity. My POC V1 units were built that way and work well—POC V1.2 runs at 20 MHz.
Naturally, you will need to write some code for your machine. There is a variety of editors and assemblers available, the choice depending on the operating environment you prefer. Although I am a UNIX knuckle-dragger from long ago (over 40 years), I do my 65C816 development in the Kowalski simulator, which runs on Billy-ware. Thanks to 8BIT's hard work, the simulator's assembler can assemble programs written specifically for the 65C816 running in native mode. Object code can be save as binary, Intel hex or Motorola S-records.
Anyhow, if you have questions don't be shy about asking. We're never shy about offering advice and opinions.
x86? We ain't got no x86. We don't NEED no stinking x86!
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
BigDumbDinosaur wrote:
Although I am a UNIX knuckle-dragger from long ago (over 40 years), I do my 65C816 development in the Kowalski simulator, which runs on Billy-ware. Thanks to 8BIT's hard work, the simulator's assembler can assemble programs written specifically for the 65C816 running in native mode.
I myself am using the Cross-32 (C32 for short), formerly from Universal Cross Assemblers, now sold by Data Sync Engineering, at http://www.datasynceng.com/c32doc.htm . It's also available from MPE, at http://www.mpeforth.com/cross32.htm. For $99, you get a great macro assembler that can be used for dozens of processors.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
Sean wrote:
I'm thinking my most likely project will be either W65C816 or W65C265 based.
You can make it as easy or as hard as you like - I built a 65816 system that runs at 16Mhz/256KB on a double sided PCB without taking any special precautions, BDD here has a 4-layer board that runs at 20Mhz, so it's up to you.
I'd suggest starting with a 65C02/64KB though - you can drop-in a 65c816 later if you like (one resistor change, or use a couple of jumpers to to it "properly") then you could start to use some of the '816 features.
This: https://projects.drogon.net/ruby-6502-b ... uby-65816/ was what I did to 'upgrade' my initial 6502 board.
Hope it goes well!
Cheers,
-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
- floobydust
- Posts: 1394
- Joined: 05 Mar 2013
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
In addition to a welcome, etc., I'll just add my $0.02 on obtaining hardware. Granted, I've no issue with anyone turning a bit of this stuff into a business, and Ben has gotten some good exposure with his videos. Having said that, it seems that a lot of folks who buy his kit end up here asking questions, trying to solve issues they've encountered, etc. I'd also say the (6502) kit is limited in what you get and would recommend a different path. Also realize you still need a power supply and a way to program the EEPROM, so you still have to go shopping elsewhere.
I typically use Mouser... and for anyone getting started with a 65XX project, I too would recommend starting with the W65C02. In any case, for a bit more than the kit, you can purchase a decent breadboard, more chips, caps, etc., with a power supply and be able to build beyond the confines of the kit quickly and easily. Here's a basic list of things you should get:
Protoboard: $29.98
RAM: $2.54
ROM:$9.77
CPU: $6.95
VIA: $6.95
74HC00: $0.48
74HC04: $0.48
74HC30: $0.45
74HC138: $0.44
74HC139: $0.43
DS1813: $2.24
1MHz-Osc: $2.18
0.1uF caps: $0.20 each
68uF/16V caps: $0.70 each
3.3Kx8: $0.43
Tactil Switches: $0.15 each
5V/3A PS: $12.50
16x2 display: $8.75 and up
I'd use a resistor network as noted above... and even at $30, the Twin Industries TW-E41-1060 breadboard comes with some jumper wires... in any case, you'll have a larger and more flexible grouping of parts to get started with... and can add a UART to connect to a terminal with.
Again, nothing against the kit, but hanging around us old bunch will likely have you wanting to do a lot more and much sooner than you think. Good luck.
I typically use Mouser... and for anyone getting started with a 65XX project, I too would recommend starting with the W65C02. In any case, for a bit more than the kit, you can purchase a decent breadboard, more chips, caps, etc., with a power supply and be able to build beyond the confines of the kit quickly and easily. Here's a basic list of things you should get:
Protoboard: $29.98
RAM: $2.54
ROM:$9.77
CPU: $6.95
VIA: $6.95
74HC00: $0.48
74HC04: $0.48
74HC30: $0.45
74HC138: $0.44
74HC139: $0.43
DS1813: $2.24
1MHz-Osc: $2.18
0.1uF caps: $0.20 each
68uF/16V caps: $0.70 each
3.3Kx8: $0.43
Tactil Switches: $0.15 each
5V/3A PS: $12.50
16x2 display: $8.75 and up
I'd use a resistor network as noted above... and even at $30, the Twin Industries TW-E41-1060 breadboard comes with some jumper wires... in any case, you'll have a larger and more flexible grouping of parts to get started with... and can add a UART to connect to a terminal with.
Again, nothing against the kit, but hanging around us old bunch will likely have you wanting to do a lot more and much sooner than you think. Good luck.
Regards, KM
https://github.com/floobydust
https://github.com/floobydust
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
GARTHWILSON wrote:
Welcome. Be sure to go through the 6502 primer at http://wilsonminesco.com/6502primer/ which is all about building your own 6502 computer. The '816 is the next step up of course, but most of the same material applies. Ben Eater apparently got his address-decoding scheme from the 6502 primer—not that it's impossible for someone to come up with the same thing without knowing of the primer's existence though. I've been using it since the early 1990's.
- Firefox6502
- Posts: 44
- Joined: 01 Feb 2021
- Location: Sydney, Australia
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
Hi Sean,
Firstly welcome! I'm very much a newbie - only started reading up on 6502 "stuff" about a month ago!
Ok, your description is almost identical to mine...C64, 80s, x86 asm in college, then Pascal, C... finally modern high-level languages since.
I also initially wanted to go with the '816 chip, my motivation being that it's a faster and more modern chip. But after reading up (and whatever little I understood at the time) it has more complex architecture and something about timings and stuff being a bit awkward to program/work with. So I went with the 65C02. Much like you, I want to use "real chips", and moreover I've decided to use only components from the 80s era to keep it authentic - in the spirit of the era. But I am using all CMOS versions (65C02 not the NMOS 6502) of chips!
My first stop was to get out my old college book on the 6502 Microprocessors and Microcomputers 3rd Edition by Tocci & Laskowski. I've read it twice! (I can't believe I kept this book, I somehow knew it would come in handy one day). Anyway this gave me good fundamental knowledge. But I had a million questions on how to proceed and actually do a build. After speaking to a friend, he recommended this site. It didn't take long to find the 6502 Primer. An awesome read huh?!. This gave me knowledge on how to proceed, and saved me alot of time. With my very fragile and new found knowledge, I looked for SBC designs and went with Daryl's SBC-2 https://sbc.rictor.org/info2.html. The most difficult part of the schematic for me was understanding the address decoding section. So I tackled this section first and it took me some time to understand it. The remaining sections all fell into place. Soon afterwards I learnt about Programmable Logic Devices (PLDs), then decided to replace the 74 series chips.
Now I'm very close to finalising the schematic on paper - many pages. I haven't decided on which schematic software package to use, either Eagleor ExpressPCB. Anyone care to input here, for someone with no schematic experience? Thanks.
I'm keeping it simple! The only extension to the design I will do at this stage is to add an LCD, partly for diagnostic purposes and partly become it will look cool.
I also plan to run this SBC as fast as it is able. My strategy is to upgrade incrementally, first with a 1MHz osc, then 4MHz, 6MHz, 10Mhz. 14MHz. And at each increment, I will review and diagnose the circuit making the required speed-related changes appropriately. In anticipation of this, I'm buying 70ns memory chips (if I remember the speed correctly). I recognise it will take more than just fast components to run it at the top end speed. One step at a time
If it wasn't for this community, my SBC would only be a dream. Thanks all! So far I'm a month in, and it's taken over most of my spare time. Coffee helps, it's been a ride 
Firstly welcome! I'm very much a newbie - only started reading up on 6502 "stuff" about a month ago!
Sean wrote:
Hi, I'm Sean, and I plan to build a 65XX-based computer. I've been programming for decades but haven't done much hardware hacking, but I've been inspired by the Ben Eater videos, various retro-computing initiatives, and conversations with older friends about all the cool computers back in the 80's. I first programmed on a Commodore 64 at my first elementary school, did some more on the Apples in my second elementary school, a little bit with Macs and Unix-y systems. Most of my programming was on DOS, then Windows, though. I had a college course in x86 assembly, and learned the basics of C and Pascal in high school. I've programmed in a variety of modern procedural and OOP languages since.
Sean wrote:
I'm thinking my most likely project will be either W65C816 or W65C265 based. I've read here that the WDC single-board computer based on the W65C816 has had known issues (too-slow IC in the address latch, IIRC) and it only runs at 8 MHz anyway, whereas I aspire to have it run at maximum possible speed. Alas the SBC based on the W65C265 is even slower. The FPGA-based microcontroller SBC's look nice, but for some reason I want to run with "real" chips. I may start by buying and assembling the Ben Eater kit then start working things up from there, and move from breadboard to wire-wrapped perfboard or PCB's. My plans are still rather nebulous.
My first stop was to get out my old college book on the 6502 Microprocessors and Microcomputers 3rd Edition by Tocci & Laskowski. I've read it twice! (I can't believe I kept this book, I somehow knew it would come in handy one day). Anyway this gave me good fundamental knowledge. But I had a million questions on how to proceed and actually do a build. After speaking to a friend, he recommended this site. It didn't take long to find the 6502 Primer. An awesome read huh?!. This gave me knowledge on how to proceed, and saved me alot of time. With my very fragile and new found knowledge, I looked for SBC designs and went with Daryl's SBC-2 https://sbc.rictor.org/info2.html. The most difficult part of the schematic for me was understanding the address decoding section. So I tackled this section first and it took me some time to understand it. The remaining sections all fell into place. Soon afterwards I learnt about Programmable Logic Devices (PLDs), then decided to replace the 74 series chips.
Now I'm very close to finalising the schematic on paper - many pages. I haven't decided on which schematic software package to use, either Eagleor ExpressPCB. Anyone care to input here, for someone with no schematic experience? Thanks.
I'm keeping it simple! The only extension to the design I will do at this stage is to add an LCD, partly for diagnostic purposes and partly become it will look cool.
I also plan to run this SBC as fast as it is able. My strategy is to upgrade incrementally, first with a 1MHz osc, then 4MHz, 6MHz, 10Mhz. 14MHz. And at each increment, I will review and diagnose the circuit making the required speed-related changes appropriately. In anticipation of this, I'm buying 70ns memory chips (if I remember the speed correctly). I recognise it will take more than just fast components to run it at the top end speed. One step at a time
Sean wrote:
Anyhow, just introducing myself. Thanks to everybody who's been contributing to the discussions here. I've found the past couple weeks of reading here very educational. I've been taking lots of notes.
Greetings Professor Falken.
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
Firefox6502 wrote:
I haven't decided on which schematic software package to use, either Eagleor ExpressPCB. Anyone care to input here, for someone with no schematic experience? Thanks.
Wikipedia has a brief comparison of a long list of CADs, many of them free, at https://en.wikipedia.org/wiki/Compariso ... A_software. See also http://pcbshopper.com/cad/ for some info and reviews on free PCB CAD. (This is from chapter 13 of the 6502 primer.)
Quote:
I also plan to run this SBC as fast as it is able. My strategy is to upgrade incrementally, first with a 1MHz osc, then 4MHz, 6MHz, 10Mhz. 14MHz. And at each increment, I will review and diagnose the circuit making the required speed-related changes appropriately. In anticipation of this, I'm buying 70ns memory chips (if I remember the speed correctly). I recognise it will take more than just fast components to run it at the top end speed. One step at a time 
70ns is pretty slow these days, and is definitely not suitable for 14MHz. This is addressed in chapter 5 of the 6502 primer. See Jeff's excellent animated to-scale timing diagrams which help visualize timing margins, at viewtopic.php?f=4&t=2909, and much more on his own website at https://laughtonelectronics.com/Arcana/ ... iming.html .
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
- floobydust
- Posts: 1394
- Joined: 05 Mar 2013
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
ExpressPCB does offer Gerber Files. Can't remember when that started, but when you place an initial order, there's a check-box for getting the Gerber Files. So... you do need place your initial order for PCBs with them, but you'll get the Gerbers and can then use any PCB house for future boards. The last two PCBs I did with ExpressPCB I requested the Gerbers and they appear fine... loaded them to JLPCB and they rendered on-screen without issue.
Granted, that initial order is expensive... but their PCBs are high quality. I also have a pretty large collection of custom components I've created over the past 7 years, so that does tend to tie me in a bit... as I don't really want to re-create them in another software package.
Granted, that initial order is expensive... but their PCBs are high quality. I also have a pretty large collection of custom components I've created over the past 7 years, so that does tend to tie me in a bit... as I don't really want to re-create them in another software package.
Regards, KM
https://github.com/floobydust
https://github.com/floobydust
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
Firefox6502 wrote:
oftware package to use, either Eagleor ExpressPCB. Anyone care to input here, for someone with no schematic experience? Thanks.
I do not recommend you use it - it's old (now) and has had little development in recent years. It's also limited to double sided. If you want a free (open source) package that runs under several systems, then do look at KiCAD.
-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
floobydust wrote:
ExpressPCB does offer Gerber Files. Can't remember when that started, but when you place an initial order, there's a check-box for getting the Gerber Files. So... you do need place your initial order for PCBs with them, but you'll get the Gerbers and can then use any PCB house for future boards. The last two PCBs I did with ExpressPCB I requested the Gerbers and they appear fine... loaded them to JLPCB and they rendered on-screen without issue.
I have a standing offer to convert anyone's ExpressPCB board layout to Gerbers. Just contact me via PM with the EPCB board file attached to get it converted. I have not ordered anything through EPCB since 2014, which is when I gained the ability to convert EPCB layouts to Gerbers.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
floobydust wrote:
In addition to a welcome, etc., I'll just add my $0.02 on obtaining hardware. Granted, I've no issue with anyone turning a bit of this stuff into a business, and Ben has gotten some good exposure with his videos. Having said that, it seems that a lot of folks who buy his kit end up here asking questions, trying to solve issues they've encountered, etc. I'd also say the (6502) kit is limited in what you get and would recommend a different path. Also realize you still need a power supply and a way to program the EEPROM, so you still have to go shopping elsewhere.
Quote:
I typically use Mouser... and for anyone getting started with a 65XX project, I too would recommend starting with the W65C02. In any case, for a bit more than the kit, you can purchase a decent breadboard, more chips, caps, etc., with a power supply and be able to build beyond the confines of the kit quickly and easily. Here's a basic list of things you should get:
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
BigDumbDinosaur wrote:
Sean wrote:
Hi, I'm Sean, and I plan to build a 65XX-based computer.
A piece of advice I always offer to someone who is wanting to build their first 65xx contraption is to start out simple. The more features you add the greater the likelihood the unit will be DOA and thus the greater the likelihood you will become discouraged. The beauty of the 65xx architecture is it doesn't take a lot of hardware to make a functioning unit. A suitable clock source, basic logic gates, a UART and a 65C22, along with some RAM and ROM, will get you going. Also, consulting Garth's 6502 primer is invaluable in laying out your design and anticipating problem areas.
Quote:
My opinion is you should not consider the 65C265. While WDC's processors are excellent products, their microcontrollers leave something to be desired.
Quote:
A 65C816 design can be made fairly simple if you elect as part of your first effort to forego use of extended RAM (i.e., RAM beyond 64KB). That way you don't have to worry about decoding the A16-A21 address bits, which reduces your design's glue logic complexity. My POC V1 units were built that way and work well—POC V1.2 runs at 20 MHz.
Quote:
Naturally, you will need to write some code for your machine. There is a variety of editors and assemblers available, the choice depending on the operating environment you prefer. Although I am a UNIX knuckle-dragger from long ago (over 40 years), I do my 65C816 development in the Kowalski simulator, which runs on Billy-ware. Thanks to 8BIT's hard work, the simulator's assembler can assemble programs written specifically for the 65C816 running in native mode. Object code can be save as binary, Intel hex or Motorola S-records.
Quote:
Anyhow, if you have questions don't be shy about asking. We're never shy about offering advice and opinions.
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Hi, I'm Sean, and I plan to build a 65XX-based computer
Sean wrote:
BigDumbDinosaur wrote:
...I do my 65C816 development in the Kowalski simulator, which runs on Billy-ware...
It's also useful for writing and simulating 65C02 code, as the assembler and simulation environment natively support the Rockwell version of the 65C02. 8BIT's improvements added assembler support for the WDC 65C02. Although I develop for the 816, I do periodically simulate algorithms in 65C02 mode to verify my logic.
x86? We ain't got no x86. We don't NEED no stinking x86!