MOS 6510 PC Build

Been wanting to build my own pc from scratch and looking at the NES/C128 as inspiration. While yes, I’m aware of the emulation out there, some of the assembly needed, and all the schematics available to make a clone. The goal here is to learn how to build a computer and develop a MOS 650x based pc with 512k ram (bank switched), runs a custom built UNIX clone and has two FTDI serial ports one for console and the other for a virtual modem.

I’m hoping that someone would be able to point me in the right direction to build out the parts list and maybe guide a neophile in his quest to learn 80’s generation computer engineering?

Update

Parts list:

Software:

2 Likes

For RAM, you can get much higher speed at lower cost by using modern cache RAM instead of classic static RAM chips. Flash memory chips are easier to program than classic EPROMs.

As for the serial ports, I would go to Tanner and get either ACIA or UART parts with MAX 232 drivers so that it is compatible with real classic serial devices. You can plug FTDI adapters into those to interface with modern equipment.

Are you planning on LUnix for your OS?

1 Like

Hey Bill,

I was looking into LNG/LUnix but also have source code for an early version of UNIX from bell labs so I was thinking of either writing one myself to be more inline with something like Plan9 or just forking LNG.

Max232 uart, check… ok what other chips would I need?

65C02 chips are still available new.

6510 chips are getting hard to come by.

1 Like

I know what you mean, had to scavange a few from ebay and “broken” NES.

http://www.philpem.me.uk/elec/6502/

(edit: and www.6502.org, which is a treasure trove of 6502 designs)

NES chips aren’t 6502 or 6510. They are their own monster with a 6502 core but with sound capabilities added in.

Ricoh made those and they sell for a premium. I’m always looking for them.

1 Like

Sounds like they’re out of scope for what I need and looking over the newer wD chips I’m becoming a bit more interested in them so we might be able to work out a trade for other chips that you may have which I need to build this prototype.

1 Like

Do you want to design the whole thing from scratch, or use a pre-existing design? The 6502 is a pretty simple chip, so most basic designs look very much alike, and the real points of deviation will be your bank-switching scheme and maybe your disk or flash device interface, maybe your video if you have it, but even that’s pretty vanilla if you use a 6845 or such. There are several nice designs on 6502.org, including one with memory management and its own multitasking OS. Can’t remember the name off the top of my head.

We all love the 6502. But the 6809 is probably the pinnacle of the 8-bitters, and has a beautiful fairly orthogonal instruction set, is as easy to interface as the 6502, and is it’s natural successor, within the 8-bit constraint. If programming a 6502 can be likened to breathing through a straw, then programming the 6809 is like a deep breath of fresh air, almost like programming a PDP-11 or 68000. It also runs perhaps the best 8-bit OS of the period, Microware’s OS/9, now reincarnated and actively developed as NitrOS/9.

For memory management, you can get as simple as a latch for mapping banks of RAM into a bankable window, or you could use a CPLD for flexible mapping, but there exists a family of special TTL chip, the 74LS610-13 chips, that aggregate a lot of function, including an addressable register bank and decoder in a single chip. The '10 is 3-state and latching. There are examples of its use online, including 6502.org.

There are at least a couple of unix-like systems that can compile on 6502. LUnix (in assembly) and con-tiki (in C, via cc65) off the top of my head.

If you’re interested in other OS’s besides a unix workalike, there’s a nice portable, well written CP/M workalike called DOS/65. The 6502 source is here.

If you are interesting in recreating a highly configurable and hackable basic machine from the late 70’s-early 80’s, there’s a project underway to create high-fidelity reproductions of a number of Ohio Scientific (OSI) PCB’s, as well as new boards for added functionality. These are enough to create a very configurable system including video, disk, RAM/ROM. 20 address-bus lines allow for bank switching across the system. For example, one CPU board allows switching between 6502, 6800, or Z80, and runs CP/M or 6502-based OS’s. Another adds an intersil 6100 under control of the system CPU to provide a PDP/8e compatible system. If you’re interested, you can check:
http://osiweb.org/#Links:
http://osiweb.org/osiforum/viewtopic.php?f=3&t=322
http://osiweb.org/osiforum/viewtopic.php?f=3&t=332
http://osiweb.org/osiforum/viewtopic.php?f=3&t=317

Dave

3 Likes

Interesting…I did not realize that the OSI community is alive and well. I have the SuperBoard SBC and was considering a Challenger, but went SWTPc instead because of price and the 6809.

I noticed you have a VIA in your parts list. That is not truly necessary unless you want to interface a keyboard directly instead of via a serial port or if you want a parallel printer port.

As Dave said, you will need some glue logic for address decoding and bank switching. If I knew how to do that, I would use some form of a gate array or programmable logic for that.

I have bought several hands full of cache RAM and flash memory chips intending to build similar systems. I’ll have to dig them up to get the part numbers.

One GAL may be enough, depending on the addressing scheme. If it won’t fit in a 22v10, then go to a CPLD. I think that the selection of 5V tolerant CPLD’s is kind of thin. You could look at the Atmel/Microchip ATF15xx line.

Although it looks like the WDC stuff goes down to 1.8V, so if you go all WDC, you have lots of options.

Dave

1 Like

By sheer orneriness and force of will.

Join the forum and say hello :slight_smile: Also, SWTPc is bretheren to OSI, but with better software.

Dave

1 Like

If you want a straight-up RS232 connection, you’ll likely use a MAX232–get the “A” version, which uses all 0.1uF caps. However, it’s not a UART–it’s a charge-pump level shifter to convert between logic and RS232 levels. You’ll still need a UART. The classic one for 6502 is a Motorola 6850, but WDC make a 65C51 that’s compatible, and has a much more flexible baud rate generator.

Dave

1 Like

The CoolRunner-II from Xilinx, now a bit long in the tooth, are 5V tolerant. You’d have to go back to the XC95xx series to be fully 5V.

I have several programmers and can program a wide assortment of PALs, GALs, etc. should anyone need some programmed.

We have (or had when I last looked) a BP-1400 (or 1600) in the electronics lab, with an assortment of sockets that should be able to handle all but the most recent devices, if a laptop with a parallel port is available (like a Dell D610).

What version of Windows does that programmer require?

Accessing the parallel port other than printing to it through a printer driver is very difficult with newer versions of Windows.

Many of the device programming tools are DOS programs and they do not work with any flavor of 64-bit windows.

Same here…

TopMax and TopMax II by eeTools
Data I/O Series 22
Stag ZL30A
and a manual programmer for 1702A

I can do most anything older… back to 1702A, 2704/2708 and odd ones like the TMS2716 and Motorola 69764/68766. Also can do PLA, GAL, PAL, PEEL, PALCE, and most bipolar PROMs.

Still would like to find something that can do the spider leg style PROMs.

Windows XP works, Win 7 will not work, because of changes to the drivers. The machine was supported by new software releases through Jan 2009, BRWin v4.80.

Dave

Well, I checked yesterday and the programmer was no longer on the rack. I hope it was not discarded. That would be a waste. At a minimum, it could fetch a few hundred on Ebay, despite being an older model and out of support.