Partly because I need a proper test system for my 74HCT6526, and partly because I just enjoy adding stuff to my TO-DO List, I've started working on my first SBC. It's purpose will only be to serve as a testbed for 6526 TTL Clone.
Until now, I'm using a C64 for this, and it's serving its purpose pretty well. However, the inability to go over 1MHz and the small weird quircks of the 65xx bus on the commodore are the main issues that have driven me to this point.
With this in mind, I've put together the following list of requirements.
- Continuosly variable clock, from 1MHz to as far as possible. I have an upper limit of 30MHz in mind for the clock. I know 20MHz is possible with a 6502, 30 should be pretty much impossible I think. This variable clock would allow me to find any limits
- Clock Frequency Display.. Useful, and should look very cool.
- No input at all. Program the ROM (more on this later) and just run a suite of tests for the 6526.
- Basic output.. Something like a 20x4 Character LCD will do.
- Easy, quick, and on board ROM programming. I will be modifiying the code continuosly, so this is very important.
- Include a 6522. Why not!? It can also be useful for the tests
- Include a socket for a 6526. Compatibility with old NMOS 6526 is not needed, although it would be nice.
- Allow testing of all 6526 pins. Ports, serial, /FLAG interrupt, etc
- Independent reset for 6526.
I've come up with the following memory map.
Code: Select all
11xx xxxx xxxx xxxx RAM c000 - ffff
1001 0xxx xxxx xxxx 6222 9000 - 97ff
1000 1xxx xxxx xxxx 6526 8800 - 8fff
1000 0xxx xxxx xxxx LCD 8000 - 87ff
0xxx xxxx xxxx xxxx RAM 0000 - 7fff
To startup the system, I intend to disconnect the 6502 from the bus using the BE pin, have a microcontroler write the RAM, return the bus to the 6502 and reset it.
------------------------------
GitHub repos:
SBC6526 https://github.com/dmolinagarcia/SBC6526
LOGISIM6526 https://github.com/dmolinagarcia/LOGISIM6526
74HCT6526 https://github.com/dmolinagarcia/74HCT6526