I hit a major milestone on my Acorn Electron ULA replacement project yesterday - it started working with the amazing ElkSD expansion! It was very late and unexpected as I was working on a different bug at the time, so I'm excited to get more time to try out a lot of the games that might push my replacement a bit harder, maybe weird timings or interrupts. Feel like im almost feature complete...
@mogwaay am curious, how did you go about starting this project and getting information about the timings and sequences, etc?
@evolutional by forking an existing project / cheating 😋 The existing ULA replacement projects had done all the hard work in figuring out timings and registers, I just wanted something a bit simpler that gave a basic Electron experience without any upgrades and was cheaper and easier to make. My main addition was that I added a DRAM controller so it could use the existing DRAM and not just replace it with the FPGA RAM. I was also chuffed I could port it to Open Source tools and run simulations on gtkwave to test changes.
@evolutional getting detailed information on the DRAM timing was a real pain tho, especially as I didn't have a working Electron for reference AND the official Service Manual had mistakes in its timing diagram! Folks on stardot were super helpful there and I found other docs that confirmed assumptions. Then it was just a lot of trial and error (mostly error!) And trying to make sense of Logic Analyser traces.