My 65816 Computer Concept
Posted: Mon May 18, 2020 4:07 am
Hi everyone,
A bit over a month ago, I posted a topic titled '6502 PC - where to start' asking for some advice on creating a functional and practical computer to run BASIC (viewtopic.php?f=12&t=6080). Well I got some great replies and I've investigated a bit more so here is my design goals. The CPU will be a 65816. I know it's harder to get started with but the good thing is it emulates the 65c02 and when I want to get more advanced I don't have to pay another $20 at Mouser. My memory map (assuming 24 bit addressing) looks like this:Instead of TTL logic I'll use a CPLD to do memory mapping, etc., because then I can easily change it to take advantage of '816 native mode. It will have a 65c22 and 65c51 for I/O, and I might buy another CPLD to implement Daryl's 65SPI. In my original post I said I wanted VGA output with an FPGA, but I've researched a bit more and it seems unlikely. I could use a parallax propeller, but I'll probably go with Grant's composite video controller, because I have some Arduino Unos lying around that I can pull chips out of. For expansions, it will have 65SIB, SPI-10, I2C-6 (so many interfaces appear on this forum
) and maybe a PC printer port. I know that it's bad to use the processors own buses for expansions but I was also thinking of having ISA card slots since my memory map will have so much empty space. For BASIC I can use EhBASIC so I only need to write 2 routines. Is this design easily plausible for a beginner? I'd appreciate any tips and advice.
Thanks
A bit over a month ago, I posted a topic titled '6502 PC - where to start' asking for some advice on creating a functional and practical computer to run BASIC (viewtopic.php?f=12&t=6080). Well I got some great replies and I've investigated a bit more so here is my design goals. The CPU will be a 65816. I know it's harder to get started with but the good thing is it emulates the 65c02 and when I want to get more advanced I don't have to pay another $20 at Mouser. My memory map (assuming 24 bit addressing) looks like this:
Code: Select all
$000000-$01FFFF: 128KB system RAM
$020000-$FEFFFF: Unused
$FF0000-$FF00FF: I/O memory
$FF0100-$FFFFFF: 64KB EEPROM
Thanks