Re: 8088 and 610 saga continues...

From: Michał Pleban <lists_at_michau.name>
Date: Sun, 30 Jan 2011 19:43:32 +0100
Message-ID: <4D45B154.9020100@michau.name>
Hello!

A fresh batch of 8088 news after a free evening ;-)

I downloaded the 8088 BIOS into memory and modified the IO.SYS calls so
that they call the BIOS in memory instead of ROM. The advantage of this
is that I can put HLT opcodes anywhere in the code to see when the
memory starts being corrupted.

Generally, the corruption occurs randomly. Sometimes you can call IPC
few times and it doesn't happen. So you need to put a HLT code
somewhere, try to boot MS-DOS, and check for memory corruption. If it's
not there, try few more times. If it's still not there, move the HLT
farther in memory and repeat again. Very tedious process :-) so I
*might* have made a mistake somewhere. But I observed, that memory
corruption does not happen until we start executing this instruction:

F000:F0BD	mov al, 44h
F000:F0BF	out 21h, al
F000:F0C1	nop

If we put HLT at this NOP, memory corruption happens. If HLT is inserted
somewhere earlier, there's no memory corruption.

This instruction is a signal to the 6809 to start sending reply bytes.
When it is executed, memory corruption happens. Why this particular
instruction? I have no idea... :-(

Regards,
Michau.


       Message was sent through the cbm-hackers mailing list
Received on 2011-01-30 19:00:14

Archive generated by hypermail 2.2.0.