Re: 8088 and 610 saga continues...

From: Michał Pleban <lists_at_michau.name>
Date: Thu, 27 Jan 2011 11:02:38 +0100
Message-ID: <4D4142BE.7080409@michau.name>
Hello!

W dniu 2011-01-27 10:23, Hársfalvi Levente pisze:

> Here comes the possibly interesting part: anytime the
> machine crashed, I could notice the corruption of a position of _each_
> memory page. (Ie. if address $xxab was hit, then each addresses of
> $00ab, $01ab, $02ab, ..., $ffab were all corrupted... the low part of
> the address was usually nonpredictable). This is pretty similar to
> Michał's description of how the memory got corrupted in the 610. ...I
> wouldn't draw conclusions at this point, however. After all that time, I
> still don't know how/why all that happened... only, that it did.

Well, that is a very interesting story! So you say that if an
instruction at $xx21 was affected by a hardware problem, all memory
locations at $xx21 would be corrupt.

Now, let's apply this theory to our 8088 case... After careful
isolation, I was able to determine that memory is corrupted after this call:

0040:0674                 call    far ptr 0F000h:0F003h

Which is, of course, a call to IPC. Until then, no 8088 code is executed
from memory locations 0xxx21h nor 0xxxA1h.

But in the ROM code at 0F000h:0F003... yes, we have an instruction at
location 0FF021h, and guess what it is?

F000:F021                 in	al,21h

Now that's a coincidence - an instruction at location 21 which accesses
port 21!

My bet is that this is the very instruction that corrupts the memory.

Regards,
Michau.

       Message was sent through the cbm-hackers mailing list
Received on 2011-01-27 11:00:09

Archive generated by hypermail 2.2.0.