Yet another 65C02 SBC

For discussing the 65xx hardware itself or electronics projects.
Post Reply
kris92
Posts: 5
Joined: 25 Sep 2021

Yet another 65C02 SBC

Post by kris92 »

Hello,
My goal was to have a compact 65C02 SBC (PI form factor) I can use from my sofa. So this is a tty only setup. I was inspired by plasmo designs with CompactFlash. I started with the 6502 utilities he did for its frugal 6502 board.
Without CompactFlash and MMU, the board was tested at 30-35Mhz without any problems. But compact flash and CPLD design forced me to slow down my expectations. But I think I should clock the board at 20+Mhz

Briefly :
65c02@14Mhz
512K RAM
FT245 chip for USB
PCA9564 chip for I2C
RV3129 chip for RTC
EPM7128 (softswitches, address decoding, wait states, MMU, leds, headers)

Fuzix is currently working fine (I still have some troubles with RTC stability). The 64 bytes bootstrap load a full 512 bytes sector containing the Fuzix Bootloader.

Christophe
Attachments
Board_4.4.pdf
Full board schematics
(59.95 KiB) Downloaded 162 times
IMG_7555.jpg
IMG_7557.jpg
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: Yet another 65C02 SBC

Post by BigEd »

Welcome! A fast clock, lots of RAM, solid state storage, and Fuzix - very impressive indeed!
plasmo
Posts: 1273
Joined: 21 Dec 2018
Location: Albuquerque NM USA

Re: Yet another 65C02 SBC

Post by plasmo »

Beautifully done!

Welcome. I assume the 4-pin header next to CF disk is the I2C connector? Do you plan to drive graphic display with I2C? The 128x64 OLED display works well with I2C. The larger 128x128 grey level or color OLED display are do-able, but slow. I've also found 30MHz as the upper limit of CF interface.
Bill
kris92
Posts: 5
Joined: 25 Sep 2021

Re: Yet another 65C02 SBC

Post by kris92 »

plasmo wrote:
I assume the 4-pin header next to CF disk is the I2C connector? Do you plan to drive graphic display with I2C? The 128x64 OLED display works well with I2C.
Yes absolutely, I have a got a 128x64 OLED display, but not yet played with it.
plasmo wrote:
I've also found 30MHz as the upper limit of CF interface.
Yes when I tried 35Mhz with a previous 7064, I had to insert wait states on CF. And even on my 10ns SRAM ! Now with MMU, the whole design is slowed down.
User avatar
floobydust
Posts: 1394
Joined: 05 Mar 2013

Re: Yet another 65C02 SBC

Post by floobydust »

Wow, very nice project! Hoping you share more details on the hardware design (MMU, etc.) and your configuration for Fuzix.
tokafondo
Posts: 344
Joined: 11 Apr 2020

Re: Yet another 65C02 SBC

Post by tokafondo »

Is the FT245 acting as virtual com port or native USB connection?
kris92
Posts: 5
Joined: 25 Sep 2021

Re: Yet another 65C02 SBC

Post by kris92 »

tokafondo wrote:
Is the FT245 acting as virtual com port or native USB connection?
This is a true 8bits usb interface. This chip is rarely used. This is strange since it is very to interface, and I do not have to add or synthesize an ACIA.
User avatar
Proxy
Posts: 746
Joined: 03 Aug 2018
Location: Germany

Re: Yet another 65C02 SBC

Post by Proxy »

kris92 wrote:
tokafondo wrote:
Is the FT245 acting as virtual com port or native USB connection?
This is a true 8bits usb interface. This chip is rarely used. This is strange since it is very to interface, and I do not have to add or synthesize an ACIA.
I've been using and praising the FT240X for atleast a few years now (it's basically the same as the FT245R but with a larger FIFO buffer and cheaper prices, though it's technically 3.3V only but has 5V tolerant inputs).
and i agree, if you already use USB for power, then also using it for Serial data seems like a no-brainer, the chips are very easy to program for and even easier to hook up to all the logic required to interface them compared to a regular UART+FT232 combo.

also if you want to experiment with some displays, take a look at some Arduino TFT Shields (320x240)... they are pretty cheap and use an 8 bit Parallel Interface that is easy to connect through a single VIA (D0-7 on one port and RD, WR, RS, CS, RST on the other port). though they are a bit of a pain to initialize they are still very capable screens (kinda a shame the 6502 primer never mentions them, only their Serial cousins)
here a post on reddit where someone connected one of these to the Ben Eater 1MHz 65C02 Computer, so just imagine what you could do at +20MHz!
https://www.reddit.com/r/beneater/comments/ndoncl/
User avatar
GARTHWILSON
Forum Moderator
Posts: 8774
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: Yet another 65C02 SBC

Post by GARTHWILSON »

Proxy wrote:
also if you want to experiment with some displays, take a look at some Arduino TFT Shields (320x240)... they are pretty cheap and use an 8 bit Parallel Interface that is easy to connect through a single VIA (D0-7 on one port and RD, WR, RS, CS, RST on the other port). though they are a bit of a pain to initialize they are still very capable screens (kinda a shame the 6502 primer never mentions them, only their Serial cousins)
I've never used one, which would be partly why I didn't put anything about them in the 6502 primer. It sounds like the hardware interface is the same as that of the intelligent character LCDs though (which I do cover), plus the reset line. [Edit: Correction. RD and WR would not match up, since the character LCDs have a single R/W.] I would kind of like to do a 320x240 monochrome LCD, but with SPI (to reduce the number of connections), and certainly no touchscreen. (Sorry—I detest touch screens; and I also have no use for color on my 65xx computers.)
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?
tokafondo
Posts: 344
Joined: 11 Apr 2020

Re: Yet another 65C02 SBC

Post by tokafondo »

I read the datasheet, and found four control pins besides the data bus.

And that's where I stopped because I can't tell where to connect that control pins in the 6502. In your design I see the FT240 connected to a CPLD.
plasmo
Posts: 1273
Joined: 21 Dec 2018
Location: Albuquerque NM USA

Re: Yet another 65C02 SBC

Post by plasmo »

I used FT245 the first time a few weeks ago. I like it; it is simple to interface, very very fast, and you can boot from it so a simple computer made of FT245, RAM and 6502 is possible. The FT245 interface is at lower left of the schematic. One thing to watch out is its read strobe is active low, but its write strobe is active high.
Bill
Attachments
Prog65_rev0_Experiment_2_sch.pdf
(35.99 KiB) Downloaded 194 times
tokafondo
Posts: 344
Joined: 11 Apr 2020

Re: Yet another 65C02 SBC

Post by tokafondo »

Thank you. I will study this to try to adapt it to something I'm trying to achieve: make the w65c265s work as a '816. And that means not using internal ports at all, but everything external as in usual SBC designs.
kris92
Posts: 5
Joined: 25 Sep 2021

Re: Yet another 65C02 SBC

Post by kris92 »

tokafondo wrote:
I read the datasheet, and found four control pins besides the data bus.

And that's where I stopped because I can't tell where to connect that control pins in the 6502. In your design I see the FT240 connected to a CPLD.
Yes cpld is the way to go to achieve a compact design.
kris92
Posts: 5
Joined: 25 Sep 2021

Re: Yet another 65C02 SBC

Post by kris92 »

plasmo wrote:
I used FT245 the first time a few weeks ago. I like it; it is simple to interface, very very fast, and you can boot from it so a simple computer made of FT245, RAM and 6502 is possible. The FT245 interface is at lower left of the schematic. One thing to watch out is its read strobe is active low, but its write strobe is active high.
Bill
You are very conservative with the clock frequency :-)
Yes, the read strobe cost to me a faulty pcb to a few months ago…
boondaburrah
Posts: 2
Joined: 06 Oct 2021

Re: Yet another 65C02 SBC

Post by boondaburrah »

I had to read the FT245R datasheet multiple times regarding the strobe pins. Both are described as taking their action (either putting data from the FIFO onto the bus or taking the contents of the bus and putting them into the FIFO) when the RD# or WR pin transitions from high to low, even though one is technically negative logic and the other positive? In any case, I just hooked it up as if they were !R and !W pins (though I had to OR them with !CS because the chip doesn't have a separate one) and everything works fine. I hooked the other status pins up to the bus over a 74HC245 that I read from some other address to see if the FIFO has data or not. I'm only running at ~3.58MHz so that might be why I'm getting away with it.

A simple XMODEM receiver in ROM and I was off to the races
Post Reply