Shop OBEX P1 Docs P2 Docs Learn Events
Props as coprocessors for 65c816? — Parallax Forums

Props as coprocessors for 65c816?

porcupineporcupine Posts: 80
edited 2015-01-30 09:09 in Propeller 1
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.

Comments

  • TorTor Posts: 2,010
    edited 2014-11-30 06:31
    WDC makes a commercial C compiler for the 65c816 though. Not free, but not expensive either IIRC.

    [Addit: $40 for the full toolkit (linker, ide, assembler, compiler etc. for 65c02/65c816).]

    [Update 2015: That compiler toolkit is now free]
  • Heater.Heater. Posts: 21,230
    edited 2014-11-30 06:52
    porcupine,

    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.
  • TorTor Posts: 2,010
    edited 2014-11-30 07:52
    I'm with Heater.. I should have added that to my post as well but I was on a mobile device. Go for it! I like the two propellers. Actually it's probably necessary (the Propeddle got very pin-strained). And something I would like to see. It was in fact the Propeddle project that got me interested in the Propeller in the first place, it's the reason I'm now here. The Propeller is an interesting device in that it can substitute for hardware the way it does.
  • porcupineporcupine Posts: 80
    edited 2014-11-30 08:07
    Yeah the Propeddle is neat, I like his idea, but I don't think I'd go the way he did in using the Prop for controlling memory etc because, yeah, pin constraints basically means you're stuck with an 8-bit machine.

    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.
  • Cluso99Cluso99 Posts: 18,069
    edited 2014-11-30 15:34
    You should also look at ZiCog (it runs CPM2.2 on an emulated Z80 on the propeller) and the prop hw that has been built for it - TriBlade, RamBlade, DracBlade (see links in my signature)
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-11-30 15:47
    I remember using those 65C816 chips in designs in the late 80's but shifted over to the enhanced M37702 Mitsubishi version in POS terminals and industrial controls. The M37702 was faster and it was a microcontroller with all the I/O and UARTs etc, even OTP. I still have boards floating around with these chips on them. Loved the CPU architecture which was so much more superior when all my peers were still insisting upon using 68HC11s (Motorola pushed them on the universities at the time)
  • porcupineporcupine Posts: 80
    edited 2014-11-30 18:17
    Interesting I hadn't heard of this M33702 before. WDC has their own MCU now (W65C265S ) with an '816 core in it that sounds nice, with a lot of I/O (56 pins), option to turn some of the lines into a full data/address bus and address up to 16MB of external RAM, 4 UARTs, bunch of interrupts, etc., though doesn't have the heft of the Prop, as it's clocked at only 8mhz.

    It's interesting that WDC has never produced a full 32 bit descendant of the 6502/816 line.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-11-30 19:14
    porcupine wrote: »
    Interesting I hadn't heard of this M33702 before. WDC has their own MCU now (W65C265S ) with an '816 core in it that sounds nice, with a lot of I/O (56 pins), option to turn some of the lines into a full data/address bus and address up to 16MB of external RAM, 4 UARTs, bunch of interrupts, etc., though doesn't have the heft of the Prop, as it's clocked at only 8mhz.

    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!
  • TorTor Posts: 2,010
    edited 2014-12-01 01:52
    porcupine wrote: »
    It's interesting that WDC has never produced a full 32 bit descendant of the 6502/816 line.
    Well, there was the W65C832 project.. I have a datasheet from 1990. It never got produced though. Looks interesting, but some aspects seems rather complicated to me. And then there were the 65c816 and 65c02 emulation modes to account for as well. All in all it probably became too complicated+too little+too late, considering the time frame. WDC is doing very well with their current portfolio though so it was probably the right decision to abandon the 32-bit model.
  • porcupineporcupine Posts: 80
    edited 2015-01-30 06:10
    So since I posted this originally I've breadboarded up a simple free-running 65c816 'computer' which just reads NOP of a 64k EPROM. But breadboard is turning into a huge hassle for this, I spend more time fixing various jumpers on the breadboard than I do working on the actual circuitry. I haven't interfaced a Prop with it because my system is running on 5v and that's a lot of resistors to breadboard. I'd move to PCBs but I've never done it before, and all the PCB routing solutions are ridiculous for price and capability and difficult to use. I bought some of the stuff to do wirewrap, and I've actually gotten ok at doing it, but I am blown away by how expensive the DIP sockets are!
  • TorTor Posts: 2,010
    edited 2015-01-30 06:19
    I updated that earlier post of mine about the WDC compiler - it used to cost $40 but is now free.

    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
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2015-01-30 06:54
    porcupine wrote: »
    So since I posted this originally I've breadboarded up a simple free-running 65c816 'computer' which just reads NOP of a 64k EPROM. But breadboard is turning into a huge hassle for this, I spend more time fixing various jumpers on the breadboard than I do working on the actual circuitry. I haven't interfaced a Prop with it because my system is running on 5v and that's a lot of resistors to breadboard. I'd move to PCBs but I've never done it before, and all the PCB routing solutions are ridiculous for price and capability and difficult to use. I bought some of the stuff to do wirewrap, and I've actually gotten ok at doing it, but I am blown away by how expensive the DIP sockets are!

    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.
    attachment.php?attachmentid=113001
    320 x 227 - 26K
  • porcupineporcupine Posts: 80
    edited 2015-01-30 09:09
    Thanks I appreciate the offer, but as this is really a learning thing for me (why else futz with 20 year old processors?) I feel like I should struggle through it myself and make all the prerequisite mistakes on the way.

    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.
Sign In or Register to comment.