Props as coprocessors for 65c816?
porcupine
Posts: 80
I know about Propeddle and I know the pPropQL. Both really neat machines that use the Propeller to emulate a classic computer.
I'm thinking about a hobby project maybe similar but without the aim of recreating any classic computer or emulating anything. Just something new. I'm interested in people's more expert opinions, I'm very much a newbie.
My goals are to learn about the construction of simple computers, like the ones I grew up in the 80s.
I want to work in the following constraints:
* Use only parts that can still be purchased from suppliers.
* Only only through-hole parts so I can prototype on breadboard and since I lack the skills of SMD soldering.
* Simple memory model and peripherals so I can keep the address decoder etc. very simple.
* Capabilities of machine should be more late 80s than early 80s -- i.e. more Atari ST than Commodore 64.
So with those constraints I was thinking something like this:
* WDC 65816 because it's still produced, is available in DIP, and is a fairly capable processor and has an external 8-bit data bus so lower pin count.
* At least two Propellers.
- One mapped (via 16 address lines) from 0x8000 to 0xFFFF which 1) provides clock and bus signals to the CPU 2) provide the RESET sequence at 0xFFFC and 0xFFFD 3) subsequently act as a video controller, with its entire 32k of HUB RAM mapped to the CPU and the Prop's video circuitry outputting RGB.
- Another as an I/O controller, perhaps just with 4 or 6 address lines to to improve the pin count available for I/O. Could provide e.g. SD card access.
* At least 1MB static SRAM, maybe 4 or 8 (AS6C4008)
* Maybe a 512KB EPROM.
* Address decoder could be as simple as a 74154 and maybe a couple other 74 series chips?
Am I crazy? I've never really done anything like this before, but it seems like this would actually be fairly simple overall? There's plenty of schematics of similar machines without the props that I can use as reference.
The only thing that bothers me is the lack of a GCC backend for the 65816/6502, which will make it hard to write an OS.
I'm thinking about a hobby project maybe similar but without the aim of recreating any classic computer or emulating anything. Just something new. I'm interested in people's more expert opinions, I'm very much a newbie.
My goals are to learn about the construction of simple computers, like the ones I grew up in the 80s.
I want to work in the following constraints:
* Use only parts that can still be purchased from suppliers.
* Only only through-hole parts so I can prototype on breadboard and since I lack the skills of SMD soldering.
* Simple memory model and peripherals so I can keep the address decoder etc. very simple.
* Capabilities of machine should be more late 80s than early 80s -- i.e. more Atari ST than Commodore 64.
So with those constraints I was thinking something like this:
* WDC 65816 because it's still produced, is available in DIP, and is a fairly capable processor and has an external 8-bit data bus so lower pin count.
* At least two Propellers.
- One mapped (via 16 address lines) from 0x8000 to 0xFFFF which 1) provides clock and bus signals to the CPU 2) provide the RESET sequence at 0xFFFC and 0xFFFD 3) subsequently act as a video controller, with its entire 32k of HUB RAM mapped to the CPU and the Prop's video circuitry outputting RGB.
- Another as an I/O controller, perhaps just with 4 or 6 address lines to to improve the pin count available for I/O. Could provide e.g. SD card access.
* At least 1MB static SRAM, maybe 4 or 8 (AS6C4008)
* Maybe a 512KB EPROM.
* Address decoder could be as simple as a 74154 and maybe a couple other 74 series chips?
Am I crazy? I've never really done anything like this before, but it seems like this would actually be fairly simple overall? There's plenty of schematics of similar machines without the props that I can use as reference.
The only thing that bothers me is the lack of a GCC backend for the 65816/6502, which will make it hard to write an OS.
Comments
[Addit: $40 for the full toolkit (linker, ide, assembler, compiler etc. for 65c02/65c816).]
[Update 2015: That compiler toolkit is now free]
Your idea is fine. People have done such things before.
This guy build a computer with an Intel 8086 and Propeller for keyboard, graphics output, disk (SD card). It runs MSDOS:
https://www.youtube.com/watch?v=qCj2deCFMnc
http://ve2cuy.wordpress.com/2011/01/31/mini-i86-dos-machine/
The N8VEM builders have a Z80 computer running CP/M with Propeller as peripherals.
I'm sure there are others.
I'd in fact not use the Propeller for the graphics chip and use a dedicated graphics processor if I could find something through hole. I like the V9990 that is used in the Kiwi microcomputer, but it's SMD. If I were smarter/more experienced maybe i'd try to build something fancier with the prop using external vram? Maybe someday.
I'm still thinking about doing 68000 instead, because I'm quite familiar with it, it has better tooling/cross compilers available, and I could probably port EmuTOS to it. But it's a lot more complicated.
It's interesting that WDC has never produced a full 32 bit descendant of the 6502/816 line.
I remember getting samples of the W65C265S many many years ago and WDC have not made any new designs, they just survive on their licence fees somehow I guess. Must be a lot of cobwebs at that place. The M37702 and variants were much better chips and they would run at 8MHz and had all the peripherals you could name including ADC which the W65C265 lacked although it boasted four UARTs at the time. These chips were used in great quantities in IDE HDDs but sadly Mitsubishi ended up trying to produce a replacement that was "C' friendly, the M16C, what a disaster that was!
Anyway, as I have several 65c816 and Propeller chips laying around I'm still interested in what you can come up with (in passive mode, as that particular drawer of chips is in my other location, half a world away).
-Tor
If you are really keen then I do have old blanks pcbs sitting around that can take the 65C816 along with EPROM and RAM etc.
Here is a shot of simple one that in this shot was populated with the 65C02 but also used the 65816 in place of it. I used these in great quantities in vending machines in the early 90s amongst other things.
On a side note, I am curious about the folks out there who have used the Prop1 to do video with >32k using external SRAM. I have the notion of using the Prop as a VDP, among other things, probably with one dedicated just for that purpose. But the resolution would be pretty low if I was limited to HUB RAM for display.