top of page
Writer's picturerehsd

65816 System - June 2022 General Update


In January of this year, I decided to try to build a new system based on the 65816 processor. It has now been almost five months, and I thought I would share the current state of the system.



While it's not "done," and likely never will be, it has come a long way. I have been learning a great deal through this project!


The primary components of the system include:

  • 65816 motherboard

  • USB mouse add-in card

  • Video add-in card

  • Sound add-in card

  • Joystick / controller add-in card


65816 Motherboard

  • ATX form factor

  • W65C816S6TPG-14 processor, running at 14.16 MHz

  • 32 KB basic RAM

  • 480 KB flash ROM

  • 512 KB extended RAM

  • PS/2 keyboard

  • Onboard SPI support

  • Seven expansion slots (using ISA connectors but not using ISA protocol)

  • 480x320 debug screen

  • Address decode logic with programmable logic device (PLD).

  • More details



USB Mouse Add-in Card

  • Arduino Mega 2560 with USB host shield

  • Interrupt-based

  • USB data sent to system through an onboard W65C22S6TPC-14 versatile interface adapter (VIA)

  • More details



Video Add-in Card

  • 320x240 resolution, with one byte per pixel for color (RRRGGGBB)

  • Card drives sync with a pair of PLDs.

  • Daughter cards for video memory. 128 KB of dual-port static RAM (expandable to 256 KB).

  • Output does not require system processor usage. System and video card can both access video memory simultaneously.

  • More details


Sound Add-in Card

  • 18 channels / voices

  • Dedicated audio coprocessor (65816) running at 10 MHz

  • 32 KB basic RAM (28 KB usable due to addressing design -- DPRAM and I/O using the 4 KB)

  • 512 KB firmware flash ROM

  • Onboard 512 KB flash ROM for media assets

  • Onboard 64 GB SD Card for media assets (uses onboard SPI for communication)

  • Dual-port static RAM for communication from/to the host system

  • Leverages three VIAs and six programmable sound generators

  • Playback independent of host system

  • Supports interrupts from system for commands and data

  • Can raise interrupts back to system

  • Two-line debug screen

  • More details


Joystick / NES Controller Add-in Card (and Add-on Board)

  • One ATARI joystick port

  • One NES controller port

  • Supports both interrupts and polling

  • More details


Overall System

  • System to USB mouse communication handled through VIA and Arduino Mega 2560

  • System to video card communication handled through dual-port SRAM.

  • System to sound card communication handled through dual-port SRAM and interrupts.

  • System to joystick/controller communication handled through VIA and optionally interrupts.

  • The entire system is running well at full speed (14.16 MHz for my build).

  • I am supplying 5.10 V to the system. Current draw is 1.37 A. The system debug screen and associated Arduino Mega 2560 are currently powered off of USB from my PC.

  • Along the way, I have so far developed several supporting utilities (mostly Winforms), including graphic import and conversion, PSG controller, music editor, MusicXML importer, a 65816 emulator, and a sound card emulator.

  • I have months of assembly work ahead of me.


I have posts on many different aspects of the above, including links to schematics and code. See BLOG | rehsd (rehsdonline.com).


Questions, suggestions? Drop me a line! Thanks!


Some related posts:

501 views2 comments

Recent Posts

See All

2 Comments


could I buy an assembled version of the entire package from you rehsd? I have much interest in the software part of it, but I am an absolute dumb ass to everything soldering/assembly/hardware related :(

Like
rehsd
rehsd
Dec 07, 2023
Replying to

Hi, Gustavo! Unfortunately, I'm not setup very well to sell, ship, and support builds in this way. Possibly, in the future this is something I could do. Sorry about that!

Like
bottom of page