Jump to content

Watch someone build a 65816-based system


Recommended Posts

There has been a lot of discussion in the past about the decision to use a 65C02 instead of a 65C816 in the CX16.  I've read on the 6502.org site that dealing with the data/address pins can be difficult, even with the info provided in the data sheet.  So it was interesting to run across a series of videos from a guy named Adrien Kohlbecker, who's attempting to design a basic system using it.  I have no idea what his ultimate plans are, apart from the rev A specs in the introduction (Bank 0 RAM, some ROM and extended RAM, 6522 for peripherals, and a serial port).  But those who like Ben Eater's videos will probably like what he's doing here.  I especially appreciate how he's breaking down the timings, trying to visualize each problem that needs to be solved, updating the schematics, connecting everything on breadboards, testing, etc.  Videos seem to be coming regularly, and so far he's handled the multiplexed bus, BE and RDY pins.

He hasn't actually run the CPU in the design yet, but he's done basic tests of the latch/buffer for the data bus and bank address.  The methodical approach he's taking is very promising, and it's been interesting to watch the progress.

Apologies if this has already been posted.  I tried searching for it and came up empty.

Intro video is here: 


Edited by Calculon
  • Like 5
Link to comment
Share on other sites

  • 3 weeks later...
On 10/30/2021 at 10:18 AM, Fabio said:

There's a thing I've never understood: why there is no "non multiplexed" 65c816 ? It would be a very nice chip for low end , hobbyist and low power application.

Probably just cost vs demand. I've looked a little at an FPGA core that claims 65816 support that does break it out to non-multiplexed "pins".

  • Like 1
Link to comment
Share on other sites

Interfacing the 65C816, due to its common 40 pin package (not enough pins) is not quite as simple from a HW perspective but doable if you know what you are doing.

Not the subject of this thread, but here is a pep talk on Assembly.  I know it's a topic within the X16 portion of this site (whether or not David should have gone w/65C816 instead of 65C02.

The bottom line is that if you don't mind blowing memory and cycles, you can do just about everything on the 65C816 using far/long instructions and yet, take advantage of some efficiencies along the way.  You'll need to be familiar with new compiler directives and macros in order to solve for the differences but it's an easy lift.  In the end, you'll be way ahead as you'll have access to 4MB of RAM if you want it, run upwards at 14 Mhz. and can claw back in simple ways with new Opcodes such as BRA (branch unconditional, saving a byte versus a [now] short JMP.

Of course, and as mentioned, a simple processor instruction will switch the 65C816 into 65C02 mode so a front panel mounted switch could have selected this if the Kernel and BASIC Rom work could have been solved.  For that matter, a default of an ALL 65C02 based code base for Kernel and BASIC could have just been dumped in and with the boot-time switch, a micro-kernel similar to C256 Foenix could have opened the doors (assuming general Commodore compatibility of X16 was a design tenet.)

I'm developing a tile and sprite based client for a game on the C256 Foenix, starting with a 6502/6510 based C64 Terminal emulator that I wrote in the 80s; it will ultimately talk UDP over the Foenix RJ45 Ethernet, but in 65C816.  I have a NodeJS based Express server running out on Heroku already so just need to pull the client together.  It will take me the better part of a year to complete; I just don't have the time due to other work obligations.

Regardless of how you feel about the splintering of the community and people jumping over to Mega65 or my incessant desire to distract : ), these four videos will walk you through the basics of 65C816;  Produced by Peter from the Foenix project, he does not so much compare 6502 or the Commodore 64 to Foenix or even talk much about the Foenix at all, but does a master-class job at explaining:

... across 4 videos, defining a simple sprite which eventually is driven by a joystick in very basic and easy to understand form.


  • Like 1
  • Thanks 1
Link to comment
Share on other sites

On 11/5/2021 at 4:53 AM, akohlbecker said:

Hey! Author here 👋

I'm not a regular user of this forum but I just want to say thank you for recommending my channel. Staying motivated to keep producing videos is hard, but this keeps me going, so thank you Calculon!

I appreciate the work you’re putting into it, especially the contributions to the software side of it. Not to mention watching the progress!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...

Important Information

Please review our Terms of Use