I have been quite swamped with both work and life for the past few months and have put this on the back burner for now. I’m afraid I won’t have time to solder a few boards for you. Also the boards I have are of a previous revision and require a couple of bodge wires. What I suggest is that you grab the gerbers from the gitlab (mistakes have been corrected) and order the PCBs with SMT assembly from eg JLCPCB. It will also be cheaper for you!
Hope that helps
An open hardware extensible 65C02 computer
- Sheep64
- In Memoriam
- Posts: 311
- Joined: 11 Aug 2020
- Location: A magnetic field
Re: An open hardware extensible 65C02 computer
I assumed that you were busy rather than disinterested. Hopefully, you are able to work intensively on Planck over Christmas or some time before then. Even if you only able to work on it intensively for two weeks or so per year, the extended periods of reflection will lead to the most elegant design and the least bodging.
Software
Despite me being a practical hardware lamer - who is far behind you and almost every other active participant of the forum - I try to make my work compatible with yours. I have been encouraging ABI compatibility among actively developed 6502 systems. The intention is that people can share as little or as much as they want about their base system but the software gets particularly interesting when it reaches GETCHR and PUTCHR. Unfortunately, there are inordinate ways to implement an ABI and this delves a little into memory maps whether we like it or not. I have suggested a layout to drogon which I believe is already compatible with Planck hardware and software. Working backwards from the end of the memory map:-
Increased software compatibility may aid the objective of Planck being a cost effective, open system. Most immediately, it may be possible to use Ruby's graphical client with Planck to aid boot-strap or reduce system cost.
Hardware
People on the 6502 Forum have great success with dual port RAM but you should definitely stick with FPGA. plasmo's VGA in a RAM socket is scalable and may aid debug on Planck. However, it has zero registers which is simultaneously an advantage and a disadvantage. Agumander's dual port RAM sample playback and dual port RAM audio co-processor are impressive and particularly suited to multi-media. It may be possible to adapt some of Agumander's GameTank design to Planck. Regardless, I predict that clock stretched FPGA serial will be increasingly significant. As noted by Alan Kay, the best way to predict the future is to invent it. Well, I've been working on clock stretched serial networking and it is particularly suited to FPGA implementation, for example, as commonly found on Planck.
I followed the 74x161 datasheet to extend your variant of the clock stretching circuit. The most significant result for you is that future iterations of Planck may have a processor which exceeds 20MHz while retaining 6522 compatibility. I adapted an extension of this design to one bit audio DAC. It should be possible to fit discrete chips for stereo sample playback onto one Planck Card and/or add similar functionality to the video FPGA.
I have one trick and I'm going to try it everywhere. I tried square wave generation for video without success. In the unlikely event that I get discrete video working, iCE40 FPGA remains the most sensible, most open, cheapest, most reliable and most compact choice for video. Even Radical Brad, with 30 breadboard video design, concedes that FPGA is more practical and portable.
Please consider quad SPI as a board or in FPGA. An eight discrete chip design incorporates your clock stretching circuit. Alternatively, you might be able to flash one FPGA as an open, low cost, one chip audio/video/co-processor/SPI system.
Currently, flashing anything beyond Arduino Uno/Nano/Due is beyond me but you give me very strong incentive to improve my practical skills. Hopefully, I'll be more than a hardware theoretician when you return.
Software
Despite me being a practical hardware lamer - who is far behind you and almost every other active participant of the forum - I try to make my work compatible with yours. I have been encouraging ABI compatibility among actively developed 6502 systems. The intention is that people can share as little or as much as they want about their base system but the software gets particularly interesting when it reaches GETCHR and PUTCHR. Unfortunately, there are inordinate ways to implement an ABI and this delves a little into memory maps whether we like it or not. I have suggested a layout to drogon which I believe is already compatible with Planck hardware and software. Working backwards from the end of the memory map:-
- Second half of page $FF: RESET, NMI and IRQ vectors. Remainder may be either 65816/65134/65265 vectors, Commodore/Acorn vectors, monitor program or I/O.
- First half of page $FF: Monitor program, arbitrary software or I/O, such as Planck Bus.
- Page $FE: Acorn/Ruby I/O or arbitrary software.
- Page $FD: Acorn I/O, re-located Commodore vectors or arbitrary software.
- Page $FC: Acorn I/O or arbitrary software.
- Page $FB: re-located Acorn vectors or arbitrary software.
- First eight bytes of page $01: Magic byte sequence to explicitly identify ABI.
Increased software compatibility may aid the objective of Planck being a cost effective, open system. Most immediately, it may be possible to use Ruby's graphical client with Planck to aid boot-strap or reduce system cost.
Hardware
People on the 6502 Forum have great success with dual port RAM but you should definitely stick with FPGA. plasmo's VGA in a RAM socket is scalable and may aid debug on Planck. However, it has zero registers which is simultaneously an advantage and a disadvantage. Agumander's dual port RAM sample playback and dual port RAM audio co-processor are impressive and particularly suited to multi-media. It may be possible to adapt some of Agumander's GameTank design to Planck. Regardless, I predict that clock stretched FPGA serial will be increasingly significant. As noted by Alan Kay, the best way to predict the future is to invent it. Well, I've been working on clock stretched serial networking and it is particularly suited to FPGA implementation, for example, as commonly found on Planck.
I followed the 74x161 datasheet to extend your variant of the clock stretching circuit. The most significant result for you is that future iterations of Planck may have a processor which exceeds 20MHz while retaining 6522 compatibility. I adapted an extension of this design to one bit audio DAC. It should be possible to fit discrete chips for stereo sample playback onto one Planck Card and/or add similar functionality to the video FPGA.
I have one trick and I'm going to try it everywhere. I tried square wave generation for video without success. In the unlikely event that I get discrete video working, iCE40 FPGA remains the most sensible, most open, cheapest, most reliable and most compact choice for video. Even Radical Brad, with 30 breadboard video design, concedes that FPGA is more practical and portable.
Please consider quad SPI as a board or in FPGA. An eight discrete chip design incorporates your clock stretching circuit. Alternatively, you might be able to flash one FPGA as an open, low cost, one chip audio/video/co-processor/SPI system.
Currently, flashing anything beyond Arduino Uno/Nano/Due is beyond me but you give me very strong incentive to improve my practical skills. Hopefully, I'll be more than a hardware theoretician when you return.
Re: An open hardware extensible 65C02 computer
I have gone ahead and redesigned most boards with through hole components exclusively. (Well almost exclusively, I still have quite a few SMD power on reset chips, so that one stays for now. Also I have not found a readily available alternative to the DS1833)
I have also completed the design of the Planck "computer" which is a single 100x150 mm board that has 32k of RAM, 32K of ROM CPU and 65C51 serial on board. That frees up 2 expansion slots and turns out to be about the same price as the three boards it replaces (CPU board, backplane, serial board). In my mind, this deprecates the original backplane, which I have not bothered updating to through hole components.
I am also in the process of opening a Tindie store to sell kits. I'm not sure if it's worth the trouble, but I'd like to give it a try. Anyone here already sells on Tindie? What is it like?
I have also completed the design of the Planck "computer" which is a single 100x150 mm board that has 32k of RAM, 32K of ROM CPU and 65C51 serial on board. That frees up 2 expansion slots and turns out to be about the same price as the three boards it replaces (CPU board, backplane, serial board). In my mind, this deprecates the original backplane, which I have not bothered updating to through hole components.
I am also in the process of opening a Tindie store to sell kits. I'm not sure if it's worth the trouble, but I'd like to give it a try. Anyone here already sells on Tindie? What is it like?
Re: An open hardware extensible 65C02 computer
Quick update : the latest versions of the boards, with all through hole components have turned out to work perfectly. Here is a quick demo of the single board computer and the IO board together, working perfectly with a PS/2 keyboard with a 24 MHz crystal (12MHz CPU clock) and one wait state for the ROM.
Some slight mistakes with the labels on the boards and some components under the sockets that interfere with some styles of sockets were the only problems I found so far.
Very happy with how it turned out. It also works fine without any extension cards, doing I/O through the serial port only.
Real video (not a gif) here: https://planck6502.com/news/2021/10/15/ ... work-fine/
Some slight mistakes with the labels on the boards and some components under the sockets that interfere with some styles of sockets were the only problems I found so far.
Very happy with how it turned out. It also works fine without any extension cards, doing I/O through the serial port only.
Real video (not a gif) here: https://planck6502.com/news/2021/10/15/ ... work-fine/
- Sheep64
- In Memoriam
- Posts: 311
- Joined: 11 Aug 2020
- Location: A magnetic field
Re: An open hardware extensible 65C02 computer
I am very gratified to see people recommending Planck to each other. It is good to know that jfoucher's work has continued influence.