I wrote a very small utility for LOGCPU.TXT file parsing. Most often, when such functions fail, we see error messages like "dongle not connected", "invalid dongle", and program terminates. We must find the function like "check for OUR dongle presence: read feature flags from it and get evidence it is ours, it is not expired, etc". At the lowest level of dongle library there can be "write to dongle", "read from dongle", and "perform a delay so that slow dongle can respond". There might be functions like "check for dongle presence", "read memory cell from dongle" at the top level. But It is not common to call it right after IN/OUT instructions in the same function. We suppose it calls INT21 interrupt with AH=4C function code meaning "exit to DOS". When our program can't find the dongle connected, it exits to DOS. Wow, we see the places where program tries to access the dongle. So what we know is that our DOS program is accessing it at least via port 0x378. Back to DOS days, these dongles were connected to LPT printer port. I have a very old DOS program that requires access to very old piece of hardware, such as copy-protection dongle, and we need to get rid of it. What we got is relatively big text file (can be as big as couple of gigabytes), which can be easily parsed with grep, sed, AWK or whatever you like. Type "LOG 100000": it means to run program and log 100,000 executed instructions. Load your old DOS software by typing "DEBUG program.exe" in command line, and debugger will be activated. One interesting feature of DosBox compiled with "heavydebug" option is built-in disassembler, not very powerful, but it can log every instruction it executes with full registers' states. Dennis Yurichev: 2: Using debugging features of DosBox 2: Using debugging features of DosBoxĭosBox is DOS emulator, one can say, it is a kind of virtual machine, mainly used for retrocomputing and retrogaming.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |