That’s how it’s being done

By | June 1, 2022

This is how the PC compatibility library is being developed:

If a PC application is found not to be working on the board, it needs a debugging session to find out what is happening. Normally I use the FreeDOS’s DEBUG command to find a place where the application hangs, and try to figure out what happens when it does. It usually results in notes like those in the middle, with various code points in the application noted down as I hunt the problem.

Sometimes though this is not enough. For example, Microsoft QBASIC installs its own INT 16h handler, which makes it impossible to debug the application in a traditional way because it hangs immediately when the application stops on a breakpoint. For this, I used the serial connection with a command like this:

DEBUG <COM1 >COM1

This allows me to control the DEBUG command over the serial link from my PC. These debugging sessions can then be recorded and printed out for further analysis. In the pictures you can the annotated printouts as I was trying to figure out how QBASIC’s keyboard processing loop works.

Leave a Reply

Your email address will not be published. Required fields are marked *