Page 1 of 1

JRC-1, my latest 65816 build

Posted: Fri Dec 24, 2021 2:36 am
by jmthompson
I'm super happy to report that my latest design, the JRC-1, is up and running!
jrc1.jpg
(apologies for the slightly blurry picture)

The board is 200x130 mm and four layers. It was manufactured by JLCPCB. The system specs are:
  • 65c816 CPU @ 4 MHz
    1 MB of 55 ns SRAM (2 x AS6C4008)
    256 KB of 90 ns EEPROM (W29C020)
    65c22 VIA
    65SPI (ATF1504AS)
    28C92 dual UART
    CPLD glue logic (ATF1504AS)
    Two DB-9 serial ports (via MAX238 drivers)
    SD card port
    User port exposing all VIA I/O lines plus SPI
    JTAG port for reprogramming the CPLDs
    Three forty-pin expansion connectors (not currently fitted)
    Reset and NMI switches via DS1813s
    DC barrel jack for 5V power
This is my third full (non-breadboard) build, and also my first one that required exactly zero board changes to get working. That being said the layout is not 100% error-free: the footprints for the DS1813s are reversed (I misread the data sheet), and the expansion connector footprints are wrong. The only physical problem I ended up having is that my PLCC-44 sockets are a bit dodgy; next time I'll just order quality ones from Mouser.

The expansion connectors expose A0-A7, D0-D7, and some other necessary bus signals, plus four each +5V and GND. They will be used by me to prototype some add-on features that may end up on the main board of a future design. They are supposed to be 40-pin card edge connectors, but despite test fitting on paper I did not realize the spacing between pin rows is too narrow, and so for now I'm just going to use 2x20 pin headers.

Anyway I just wanted to share my joy at getting the build up and running so painlessly. Since the boards were not even scheduled to arrive for a few more days this is basically an early Christmas present to myself. Now I can spend my Christmas vacation working on the software side of things. :)

Re: JRC-1, my latest 65816 build

Posted: Fri Dec 24, 2021 6:15 am
by BigEd
Very nice indeed, and well done for the very-nearly-correct-but-certainly-as-correct-as-it-needed-to-be board!

Re: JRC-1, my latest 65816 build

Posted: Fri Dec 24, 2021 6:32 am
by BigDumbDinosaur
jmthompson wrote:
I'm super happy to report that my latest design, the JRC-1, is up and running!

Congratulations! The layout looks good. Just need someone with better photography skills to get a clear picture of it. :D

Quote:
28C92 dual UART

That must be a new product from NXP. There's a 26C92 and a 28L92, but I've not met a 28C92. :shock:

Re: JRC-1, my latest 65816 build

Posted: Fri Dec 24, 2021 8:14 am
by drogon
jmthompson wrote:
I'm super happy to report that my latest design, the JRC-1, is up and running!
Very nice!

What software plans?

-Gordon

Re: JRC-1, my latest 65816 build

Posted: Fri Dec 24, 2021 5:27 pm
by jmthompson
BigDumbDinosaur wrote:
jmthompson wrote:
I'm super happy to report that my latest design, the JRC-1, is up and running!
Congratulations! The layout looks good. Just need someone with better photography skills to get a clear picture of it. :D
Hah yes, I did not notice the blur until after I'd taken photos and started posting. My eyesight is kinda shoddy this year; I had some health issues earlier in the year (including a brief, mild COVID infection) and at some point it made my vision take a dive. Time for new glasses yet again.
Quote:
Quote:
28C92 dual UART
That must be a new product from NXP. There's a 26C92 and a 28L92, but I've not met a 28C92. :shock:
Yeah yeah, that one. :) And actually the chip on there is a Phillips part that I got from eBay a couple years back; I can't seem to find my spare NXP part from Mouser but this one works just fine.

Re: JRC-1, my latest 65816 build

Posted: Fri Dec 24, 2021 5:40 pm
by jmthompson
drogon wrote:
What software plans?
The long term goal is for an OS, JR/OS, that will be in ROM and sit on top of the BIOS. Nothing super fancy initially; I just want to be able to read and write files from SD cards for now. The file system will likely be FAT so that I can easily transfer files to and from my Linux workstation. There is already some initial code for JR/OS that I wrote for a previous project that never made it off breadboard.

I also would like this to be able to boot to BASIC, so I plan to create a full 65816 native interpreter. I could just keep hacking up EhBasic, but this is an area where I really want to roll my own just for the experience. It'll be open source, of course.

Re: JRC-1, my latest 65816 build

Posted: Fri Dec 24, 2021 8:57 pm
by BigDumbDinosaur
jmthompson wrote:
Yeah yeah, that one. :) And actually the chip on there is a Phillips part that I got from eBay a couple years back; I can't seem to find my spare NXP part from Mouser but this one works just fine.

If it's marked “Phillips” then it's pretty old stuff. Phillips divested their chip-making business in 2006. As long as it works...

Re: JRC-1, my latest 65816 build

Posted: Sat Dec 25, 2021 1:33 am
by jmthompson
BigDumbDinosaur wrote:
jmthompson wrote:
Yeah yeah, that one. :) And actually the chip on there is a Phillips part that I got from eBay a couple years back; I can't seem to find my spare NXP part from Mouser but this one works just fine.

If it's marked “Phillips” then it's pretty old stuff. Phillips divested their chip-making business in 2006. As long as it works...
Yep works fine so far; I've run tests with both serial ports. Currently they are at 38.4k bps; this is an artifact of the BIOS code being from my old breadboard build that, for reasons I never figured out, refused to use the alternate baud rate table and so couldn't do 115.2k. In fact at that time I thought the Phillips parts were the problem so I bought the newer NXP ones from Mouser. which did not solve the issue. Trying the higher speed again is very high on my list of things to try on this new system.

Re: JRC-1, my latest 65816 build

Posted: Sat Dec 25, 2021 5:10 am
by BigDumbDinosaur
jmthompson wrote:
Currently they are at 38.4k bps; this is an artifact of the BIOS code being from my old breadboard build that, for reasons I never figured out, refused to use the alternate baud rate table and so couldn't do 115.2k. In fact at that time I thought the Phillips parts were the problem so I bought the newer NXP ones from Mouser. which did not solve the issue. Trying the higher speed again is very high on my list of things to try on this new system.

See attached, although the 28L92 has a different method for selecting high BPS rates.

extended_data_rates.pdf
Extended BPS Rates on Phillips UARTs
(34 KiB) Downloaded 58 times
28l92.pdf
NXP 28L92 Data Sheet
(336.96 KiB) Downloaded 52 times

Re: JRC-1, my latest 65816 build

Posted: Sun Dec 26, 2021 8:11 pm
by jmthompson
BigDumbDinosaur wrote:
See attached, although the 28L92 has a different method for selecting high BPS rates.
My init code is basically right out of the POC driver code. I guess whatever was wrong before was something with that previous build, because I just flipped the register init table back to 115.2k bps and it's working just fine. Now I gotta try turning interrupt-driven transmit back on and see if that's stable too. :)