DRAM and IDE

The last couple of weeks have mostly been spent working on improving the monitor code but there has been some progress on the hardware side as well.

Both the DRAM controller and the IDE interface are now working fully.

Working DRAM and IDE interface

Getting the IDE interface working had some issues initially, but they were fixed with a couple of mods to the board and fixing the 5V power line for the CF card to the IDE interface which had somehow burnt out. While I was able to read data from the card there was still some issues with being to reliably read data. It seemed that it was often reading corrupted data back from the device.

After deciding to return to fixing the issue later, it was time to move on to getting the DRAM controller working. A comprehensive memory test was added to the monitor based on some diagnostics code written for the Kiwi by Chris Teseland. Running the test on the SRAM worked successfully, unfortunately when running the test on the DRAM it was failing every time.

Checking the signals going to the DRAM and all seemed to be ok but when trying to check timing I found that the DTACK signal was stuck low. This was caused by a short that I had created when modifying the board.

With the DTACK short fixed, running the memory test on the DRAM again passed successfully. Trying the IDE test again and reading data from the CF card was returning correct data with no errors. It was interesting to find that the rest of the computer appeared to be working with the DTACK line stuck low but I would put that down to the lower access times of the SRAM and ROM.

Still some more work to do getting the last of the devices up and running, especially the video side which seems to have some issues, but it’s coming closer to a fully working computer now.