On 12/12/20 10:52 pm, Stephen Adolph wrote:
*7FECH* *(7EH)* *MOV A,M* *!! Can't take an interrupt here, if we change the hook itself!!!* *7FEDH* *(23H)* *INX H* * *7FEEH* *(66H)* *MOV H,M* * *7FEFH* *(6FH)* *MOV L,A*
At 7FEC, the software hook data is read not as a single 16bit value (like LHLD), but instead it is read in 2 separate 8 bit reads! OUCH!
Many moons ago, as part of a project I was involved with I had an embedded computer reading counters off a network of poker machines (for statistical analysis purposes). Hit a similar problem where a 16 bit value was being updated as two 8 bit ones (against the spec), and the interrupt driver on the poker machine was reading the value in mid increment and sending it out on the network. The amount of torturous logic I had to implement to check if the increment was "kosher", and roll back *previous* values that had already been processed gave me nightmares for weeks on end. The software vendors of the poker machines didn't feel this was a problem. I definitely feel your pain. :/ Cheers.
