Friday, January 15, 2016

Fighting Visual Studio and other toolchains - hours frittered away attempt to compile a few minutes of changed code


I was chasing down the flaws in the IBM 1130 simulator, wherein when I boot the DCIP utility and try to dump a sector, it incorrectly believes the 1403 printer is there but not ready. This is due to a bit that is returned to a Sense DSW for the 1403 (0x0080) that should be off.

The utility does strange things to the program if it thinks it has the 1403, which blocks an 1132 from working. In order to create a core load for DCIP that I can use properly, I need to boot it into the simulator where it thinks there are neither 1403 nor 1132 ready. I have to fix the bug.

Compiling the simulator was coming along nicely, once I fixed some makefile absolute disk path references that were residual from the system where the distribution was built. That is, until I had to link in a static version of the libgd library, which means I have to first download and create that library. Since that brought its own clunkiness, and the only function in the 1130 that uses this library is the 1627 plotter emulation, I disabled the support.

The code for the printer support combines both 1132 and 1403 printers, but shares some fields such as the Device Status Word. This causes some problems as activities on one of the printers can flip on sense bits that are delivered for the other printer! I patched around this behavior with the goal of getting a good memory load I can use for the real 1130.

No comments:

Post a Comment