Tuesday, October 6, 2026

All Virtual 2315 Cartridge Facility utility programs now using Qt graphical user interface

REVAMPED ALL UTILITY PROGRAMS TO USE A GRAPHICAL USER INTERFACE

The programs had a mixture of Tk (John Ousterhout's graphical interface that goes with his Tcl language), direct python input and Qt toolkit interfaces. Many would pop up simple dialog boxes to grab input such as a sector number.

I decided to build up a more normal graphical interface. All the programs now open a window with buttons, text entry spaces and other elements. The user enters parameters such as cylinder number by pressing a button, typing in the value, and either having it accepted if properly formatted or seeing an error message inside the main window. Action buttons request the functionality such as 'convert a file' or 'update a sector'. 

CONVERTED ALL PROGRAMS TO STANDALONE EXECUTABLES FOR WINDOWS

I used Pyinstaller to build these into a single executable that does not require the user to install Python and the various libraries used by the utility programs. This does make them fairly big, around 50MB each. The github repository for the project holds both the Python script and the executable, for the convenience of the user. 

EXAMPLE MAIN SCREENS

The convert1130.exe program needs the user to select the input file in IBM 1130 simulator format, asks the user to create an output file, but also needs then to have entered the four hex digit cartridge ID to write on the virtual 2315 cartridge along with a free form text description of up to 199 characters that they can use to annotate the contents and usage of this cartridge. The button Convert the file causes the conversion to occur, as long as the required other information has been properly entered.


The updatesector.exe program asks the user to select the file in virtual 2315 disk format that will be opened. The user must enter the cylinder, head and sector address of the sector they wish to update. The cylinder is validated - it must be 1 or 2 hex digits in the range 0 to CA to correspond to cylinders 0 to 202 that can be accessed on the 2310 disk drive. The button Display Sector will cause a window to pop up with a grid that shows the contents of all 321 words of the sector. The user can click on any word in that grid and type in a replacement value. It must be a valid four digit hex value else it is rejected. The user can then click the Write changes back button to update the disk file, or choose a different sector address and display that, or quit the application. 

EXAMPLE OF ACTION WINDOWS THAT POP UP


Above shows the grid that pops up in the updatesector.exe program which allows the user to update any and all words of that sector. 


Above is the output of the listcartridges.exe application showing a list of all files in the selected folder/directory that are in valid 1130 simulator or virtual 2315 disk format. 

EXAMPLE OF BONUS INFORMATION

Additional information is printed to the DOS window that opens behind the executable program (or the script if running the Python code directly), where it might be useful in special cases. For example, while building the list of file names that are either virtual 2315 format or 1130 simulator format disk files, the listcartridges.exe program outputs additional data on the 2315 file extracted from its header.




No comments:

Post a Comment