Github Initial Commit

I went ahead and pushed my initial commit to the ROL GitHub repositories for hardware and software. The hardware repository contains the schematic of the current state of the hardware, along with the component library I’ve made, and my modified version of Ben Eater’s Arduino bus monitor. My modifications include the disassembly of the code while single-stepping and the addition of my chip select lines. Also included are PLD source files for the address decoder and the interrupt multiplexer. In the software repository is ROLOS.

I have modified the hardware a bit since my last post. I removed two of the VIAs, which I intend to replace with other components for controlling memory paging, SPI and firmware updating. I also replaced the EEPROM with a 128K flash RAM chip. That chip is in the mail, and I will write about that when I have wired it up. I also replaced the 6502 with a 65816. Right now, none of the added features of the 65816 are used, but I’ll work them in slowly.

I started implementing SPI just for an SD card interface, so I could just have a small loader on the EEPROM that read the real code off of the SD and executed it from RAM. I saw someone else’s project where they had used this 128K flash RAM chip instead of an EEPROM and I decided that was the way to go. I had actually thought about doing that earlier, but wasn’t able to find a suitably sized chip. 128K is more than I need, but it’s small enough and the chip comes in both DIP and surface mount packages. The access time for the DIP is down to 70ns and the surface mount goes down to 50ns. The lowest I could get on the EEPROM was 70ns on surface mount.

I’ve been drawing up some timing diagrams to check that all of that is in spec. So far, it’s looking good, but I need to work on it some more. I’ve also found a couple of FPGA SPI implementations and I am going to try to get that working on a CPLD.

I had to spend some time fixing things, as I did an experimental SPI circuit and tried to surgically graft it into place on the breadboards that were already wired up (close to VIA0, which I was going to use in the circuit). Doing that broke all of the VIAs, the UART and the RTC. Almost everything. I got it all working again after a couple of nights with the Multimeter and oscilloscope.

I’m putting off the RTC until I can get the flash chip in and working. It should almost be a drop-in replacement for the EEPROM for now, so shouldn’t require too much surgery. While I await it’s arrival, I’m working on an x-modem implementation so I can just upload new code instead of the current method of taking out the EEPROM, burning the updated code to it from my Mac, putting it back in the board and resetting. I’m hoping to get the flash chip wired up in such a way that I can run a loader in RAM that x-modems over new firmware, puts it on the flash and resets itself. We’ll see.

I’ve been listening to the Blade Runner soundtrack on loop while I work on ROL. It was one of my main movies back in the Atari 400 days.

Leave a comment

Your email address will not be published.