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.

Reply via email to