Friday, April 21, 2023

Back from trip and cleaning up all the C code to run on the HPS side

ALLMOST COMPLETED ENTIRE PROGRAMMING

Rather than wait until I had tested each chunk of functionality before adding to the code, I decided to work out the final version and write all the code. That includes quite a bit of error checking and recovery logic, in addition to the functions during operation. 

I wrote this in many small modules, which will be easier to debug. It also makes the program easier to read and comprehend. I am going to write some small test driver programs that take each module through its functions. 

HARDWARE HAS ARRIVED FOR POWER FAILURE GRACEFUL SHUTDOWN

I have the battery, buck converters, time relay and other parts needed to install the power circuitry that gives my board time to gracefully shut down, when the IBM 1130 or its power supplies stop supplying power. 

GRAPHICAL INTERFACE THE LAST ELEMENT TO FINISH

I have drawn the interface, which displays up to 20 file names, each up to 50 characters long, in a list on the screen. Buttons on the right move the cursor up or down the list, causing it to scroll as necessary when the SD Card contains more than 20 Virtual 2315 Cartridge image files. A bottom button selects the file name which is currently pointed to in the list, opens the file and loads it down to the FPGA side of the board. 

When the disk drive spins up and attempts to load the heads down on the cartridge surface, my program switches the FPGA into disk modeling mode, tells the drive electronics that the disk drive is ready for access, and switches the screen to a static picture of a disk cartridge. 

Later, when the operator switches off the drive, the head loading signal (pick) is turned off. My logic then commands the FPGA to go back to user interface mode, unloads the data from the FPGA side and updates the SD Card file image for any changed content. We are back at the starting point where the operator can scroll around to select a new disk cartridge to load into the machine. 

 

No comments:

Post a Comment