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 listReceived on 2011-01-30 19:00:14
Archive generated by hypermail 2.2.0.