Mooplog

RetroChallenge 2016/10 - One bodge to fix them all

It's two days past the deadline, but I found an extra moment to work on my SD card interface today and I have it working!

I switched the clock output to the SD card from SH_CLK to /SH_CLK to move the rising edge of the clock to a point where the output from the shift register is stable, and now it works nicely.

It's always a one character fix!

This eliminated the critical timing that the Bus Pirate was have gotten away with but my circuit did not.

0x40

0x95 and a response

SPI Decoder

Once I had this working I checked that the 74HCT595 was clocking the data coming back from the SD correctly. Since my test program soft resets the rc2014 when it finishes I was able to check this from BASIC.

Reading back the response

Now that this is working I need to write a (less messy) program to fully initialise the SD card and switch to fast mode. Once that is done I will verify the schematic by rebuilding the circuit on stripboard from the schematic, before designing a proper PCB for the circuit including a proper SD card socket.

There are also a couple of potential minor hardware improvements to investigate:

Finally, here's the final schematic:

Final Schematic

Even though I didn't quite get it done within the deadline I can call this RetroChallenge a success (it was definitely good motivation).

For bonus points I managed to use exactly all the gates in the 7400 quad NAND and 7404 hex inverter that make up my glue logic.

Now it's probably time to start reading the CP/M BIOS Alteration Guide!