It did not take long for me to realize that the virtual address jumper board for my MIKUL 6218 was not a great long-term soloution. It was ugly and was not very physically secure with jumper wires running everywhere. Instead, I decided to remove the jumper board and add a 2*5 pin header to the top of the memory board, where it belonged. As a result, I would need to program a GAL to go back in place of the jumper board, handling the conversion from virtual to physical addresses. Since I now have a working GAL programming pipeline, this was no longer a serious impediment.
Header
Adding the pin header was a simple matter of drilling holes in the board in a .10" grid, supergluing a 2*5 male header (with latch) to the board, adding some copper tape connected to ground, and soldering on jumper wires connecting to the A16-A20 address lines. Although I would have preferred to use some mounting screws on the header, both of the mounting holes ended up right on top of VCC traces.
GAL Program
With the board soldered up, I had some initial success using it with my CMS 9639 and Microware OS9 Level 2. However, I soon noticed that there was a block of memory that was not being identified at $C000-$DFFF every 64K. This is an odd range of addresses to have a problem with, since it can't be attributed to bad connections on an address line or two. I quickly identified that the GAL in U10 will disable the RAM and enable the I/O in that range, regardless of the state of the high virtual address lines. Although this is fine for the MIKUL 6809-5 board it was designed for, it is not consistent with the CMS9639's expectation that I/O is only enabled in the $00FF60-$00FF9F address range. So, I had to reprogram the U10 GAL and make some adjustments to the program in the U13 GAL to get everything working properly.
Conclusion
Here is the final product, a relatively clean looking 1 MiB EXORBus RAM and 3xVIA I/O card working great with the CMS 9619 and OS9 Level 2 on the CMS 9639:
Very cool to see what you've done here. I have yet to set up the 6809 board you traded me, but it's still in the back of my mind. I dug up a Prolog interpreter for 6809 OS-9 on the Color Computer Archive and made the plain text documentation into PDFs. I'm unaccountably aesthetically drawn to the idea of a 6809 computer sitting in a corner doing inscrutable cogitations in predicate calculus.
ReplyDeleteHi Joel! That poor computer! :D
DeleteI just picked up a 6502 based ExorBus board made by Synertek, so stay tuned for that!