Hi all,
After so many years of research, and with the help of this group and its superb resources, I managed to design my own
fully fledged 65C02 computer!
Durango·X pays homage to the home computers of the early eighties (like my ZX Spectrum) but with all the knowledge that we, as a society, have acquired along the years.
First of all... even if it's a bit embarrasing, there's a web page describing the project:
https://durangoretro.com but be warned that it's a complete mess, although at least is something
. This was initially a personal project but, with the support of my local makespace
La Jaquería, I got some more "partners in crime" for the
Durango Computer Team.
The main goals for this particular project were:
*Reasonably simple to design, understand and build
*Reasonably capable, with video output and some room for expansion
*Besides CPU and memory, all made from 74-series ICs
So, after some post-pandemic breadboard experiments with 6502s, I decided to go all the way... at first, it was made on
nine breadboards with hundreds of dangling wires, but it worked -- eventually! Obviously, I learned A LOT in the process and made
tons of mistakes, but that's the fun of it, isn't it?
I even managed to transport it from home to the makespace and, most important, make it work again
. This was around November 2021.
But, like I teach my students, "the hardware, without software, is an useless bunch of chips". Swapping an EPROM under a bridge of fragile jumper wires was scary, to put it mildy... so I quickly developed
nanoBoot, a "zero-hardware" solution to transfer software from a Raspberry Pi, by using the NMI line as clock, and IRQ as data. Not the fastest way (found it reliable up to a little more than 1 KiB per second) but it made software development MUCH easier.
Finally, I decided to learn KiCAD and, with patience, designed a proper PCB for it... so by Dec. 23rd 2022 I had my computer "solidly" built.
It has a
sandwich construction, where a crude keyboard lays in another (previously designed) PCB atop the motherboard, which also provides an interface for two gamepads
Main specs are:
*65C02 at 1.536 MHz (current v2 goes up to 3.5 MHz)
*No ROM on board, uses cartridge slot with extra lines for extra features, like bankswitching or dedicated sound chips
*40-key matrix keyboard and two gamepad ports (either NES or Atari style)
*8-bit expansion bus (up to 16 devices)
*1-bit sound, software controlled
*Connects to a regular TV, ideally via SCART
*Two video modes, software-switchable: 256x256 pixels, monochrome or 128x128, 16-colour (all bitmapped, no text modes)
About the
software developed for it, there's a bootloader which can load software from a most convenient SD card. I have also ported
EhBASIC adding support for LOAD/SAVE with the SD card, and also specific commands for graphics and sound...
...and, of course, games
. Some classics have been ported (Pong, Breakout; Space Invaders and Pac-Man is in the making...), some other are originals (Witch). Most of the games are made by the team, in both assembly and C. Latest addition is
Columns, interestingly allowing two simultaneous players.
But this is obviously a work in progress: we keep working and learning...
So, I hope to keep you informed about the progress of this (already enjoyable) project. See you soon!