pcjs/devices/pc/bios/compaq/deskpro386/notes.md

24 KiB

Debugging Notes

Checkpoint

This code:

F000:F9E9 B000          MOV      AL,00
F000:F9EB E620          OUT      20,AL

triggers the following warning:

notice: PIC0(0x20): unsupported OCW2 automatic EOI command: 0x00

and the very next instruction:

F000:F9ED E6A0          OUT      A0,AL

triggers the same warning:

notice: PIC1(0xA0): unsupported OCW2 automatic EOI command: 0x00

Checkpoint

There's a loop at F000:B5AA that stores 0x4000 DWORDs into RAM (ie, 64Kb), where each DWORD is a single-bit left rotation of the preceding DWORD. This is followed by another loop that loads each DWORD and verifies that it contains the appropriate bit.

Then a stack is set up in RAM (at 0030:0100) and the first CALL is issued:

F000:BC2E E87DEC        CALL     A8AE

There's some CMOS I/O activity, serial and parallel port I/O, more CMOS I/O, and then some EGA I/O.

When arrive here:

C000:016D B80700        MOV      AX,0007
C000:0170 CD10          INT      10

and we complain that the IDTR limit for the real-mode IDT isn't 0x3FF (it's been set to 0xFFFF instead). That may be OK, but I need to verify that that's what the ROM intended. If it is, then I'll probably need to change our assertion from "cpu.addrIDTLimit == 0x03FF" to "cpu.addrIDTLimit >= 0x03FF".

Checkpoint

The BIOS now progresses as far as F000:F747 (PUSH GS).

Checkpoint

The BIOS now progresses as far as 0030:8618 (MOV AX,GS).

Checkpoint

The BIOS now progresses to a Compaq memory-mapped write operation:

stopped (27129586 ops, 2209813 cycles, 361 ms, 6121366 hz)
EAX=000098FC EBX=0000E000 ECX=00000000 EDX=00000000 
ESP=000000E4 EBP=00000000 ESI=0000FFFF EDI=00007FBE 
SS=0028[00000300,FFFF] DS=0050[80C00000,FFFF] ES=0048[00FF0000,FFFF] 
CS=0030[000F0000,FFFF] FS=0000[00000000,FFFF] GS=0304[00003040,FFFF]
LD=0000[00000000,0000] GD=[0001C000,005F] ID=[000FF821,0007] TR=0000 A20=ON 
CR0=0000FFF1 CR2=00000000 CR3=00000000 PS=00000083 V0 D0 I0 T0 S1 Z0 A0 P0 C1 
0030:8637 C6060000FC    MOV      [0000],FC          ;history=1

and then gets stuck loading CS:IP of 0x28:0xF4AC:

assertion failure in deskpro386.cpu386
Fault 0x0D blocked by Debugger
stopped (27572151 ops, 443210 cycles, 340635 ms, 1301 hz)
EAX=0000FFF1 EBX=00000080 ECX=0000270F EDX=0000004A 
ESP=000000FE EBP=00000000 ESI=00007FB6 EDI=00008000 
SS=0030[00000300,FFFF] DS=0040[00000400,FFFF] ES=0000[00000000,FFFF] 
CS=F000[000F0000,FFFF] FS=0000[00000000,FFFF] GS=0304[00003040,FFFF]
LD=0000[00000000,0000] GD=[00FF0730,0047] ID=[00000000,FFFF] TR=0000 A20=OFF 
CR0=0000FFF1 CR2=00000000 CR3=00000000 PS=00000082 V0 D0 I0 T0 S1 Z0 A0 P0 C0 
F000:F4A7 EAACF42800    JMP      0028:F4AC

Here's the code leading up to it:

F000:F494 B000          MOV      AL,00              ;history=8
F000:F496 E680          OUT      80,AL              ;history=7
F000:F498 2E            CS:                         ;history=6
F000:F499 0F01167E07    LGDT     [077E]             ;history=5
F000:F49E 0F2000        MOV      EAX,CR0            ;history=4
F000:F4A1 0D0100        OR       AX,0001            ;history=3
F000:F4A4 0F2200        MOV      CR0,EAX            ;history=2
F000:F4A7 EAACF42800    JMP      0028:F4AC          ;history=1

Set the following breakpoints:

breakpoint enabled: F000:F498 (exec)
breakpoint enabled: %00FF0758 (write)

The write breakpoint first catches the code at 0030:F692 copying ROM data near F000:F378 to memory at %0x00FF0000 near 0x738.

It later catches code at 0030:C924 writing to that region.

Then code at 0030:8590:

EAX=00000048 EBX=000010F0 ECX=00003E29 EDX=00000000 
ESP=000000E4 EBP=00000000 ESI=0000075C EDI=0000075C 
SS=0028[00000300,FFFF] DS=0050[000F0000,FFFF] ES=0048[00FF0000,FFFF] 
CS=0030[000F0000,FFFF] FS=0000[00000000,FFFF] GS=0304[00003040,FFFF]
LD=0000[00000000,0000] GD=[0001C000,005F] ID=[000FF821,0007] TR=0000 A20=ON 
CR0=0000FFF1 CR2=00000000 CR3=00000000 PS=00000046 V0 D0 I0 T0 S0 Z1 A0 P1 C0 
0030:8590 66F3          REPZ

dw ds:73c l10
0050:073C  92C0  8000  FFFF  0000 - 9200  0000  FFFF  0000   ................
0050:074C  9A0F  0000  FFFF  0000 - 9200  C000  FFFF  0000   ................

dw es:73c l10
0048:073C  92C0  8000  FFFF  0000 - 9200  0000  FFFF  0000   ................
0048:074C  9A0F  0000  FFFF  0000 - 9200  C000  FFFF  0000   ................

dw %ff073c l10
%00FF073C  92C0  8000  FFFF  0000 - 9200  0000  FFFF  0000   ................
%00FF074C  9A0F  0000  FFFF  0000 - 9200  C000  FFFF  0000   ................

Next we stopped here, and the memory at %ff07ec was still good:

stopped (27129603 ops, 555386 cycles, 117 ms, 4746889 hz)
EAX=000098FC EBX=0000E000 ECX=00000000 EDX=00000000 
ESP=000000E4 EBP=00000000 ESI=0000FFFF EDI=00007FBE 
SS=0028[00000300,FFFF] DS=0050[80C00000,FFFF] ES=0048[00FF0000,FFFF] 
CS=0030[000F0000,FFFF] FS=0000[00000000,FFFF] GS=0304[00003040,FFFF]
LD=0000[00000000,0000] GD=[0001C000,005F] ID=[000FF821,0007] TR=0000 A20=ON 
CR0=0000FFF1 CR2=00000000 CR3=00000000 PS=00000083 V0 D0 I0 T0 S1 Z0 A0 P0 C1 
0030:863C 1F            POP      DS

%00FF073C  92C0  8000  FFFF  0000 - 9200  0000  FFFF  0000   ................
%00FF074C  9A0F  0000  FFFF  0000 - 9200  C000  FFFF  0000   ................

BEFORE													AFTER
======													=====

id       physaddr   blkaddr   used    size    type		id       physaddr   blkaddr   used    size    type
-------- ---------  --------  ------  ------  ----		-------- ---------  --------  ------  ------  ----
00020003 %00000000: 00000000  0x8000  0x8000  RAM		00020003 %00000000: 00000000  0x8000  0x8000  RAM
00020004 %00008000: 00008000  0x8000  0x8000  RAM		00020004 %00008000: 00008000  0x8000  0x8000  RAM
00020005 %00010000: 00010000  0x8000  0x8000  RAM		00020005 %00010000: 00010000  0x8000  0x8000  RAM
00020006 %00018000: 00018000  0x8000  0x8000  RAM		00020006 %00018000: 00018000  0x8000  0x8000  RAM
00020007 %00020000: 00020000  0x8000  0x8000  RAM		00020007 %00020000: 00020000  0x8000  0x8000  RAM
00020008 %00028000: 00028000  0x8000  0x8000  RAM		00020008 %00028000: 00028000  0x8000  0x8000  RAM
00020009 %00030000: 00030000  0x8000  0x8000  RAM		00020009 %00030000: 00030000  0x8000  0x8000  RAM
0002000A %00038000: 00038000  0x8000  0x8000  RAM		0002000A %00038000: 00038000  0x8000  0x8000  RAM
0002000B %00040000: 00040000  0x8000  0x8000  RAM		0002000B %00040000: 00040000  0x8000  0x8000  RAM
0002000C %00048000: 00048000  0x8000  0x8000  RAM		0002000C %00048000: 00048000  0x8000  0x8000  RAM
0002000D %00050000: 00050000  0x8000  0x8000  RAM		0002000D %00050000: 00050000  0x8000  0x8000  RAM
0002000E %00058000: 00058000  0x8000  0x8000  RAM		0002000E %00058000: 00058000  0x8000  0x8000  RAM
0002000F %00060000: 00060000  0x8000  0x8000  RAM		0002000F %00060000: 00060000  0x8000  0x8000  RAM
00020010 %00068000: 00068000  0x8000  0x8000  RAM		00020010 %00068000: 00068000  0x8000  0x8000  RAM
00020011 %00070000: 00070000  0x8000  0x8000  RAM		00020011 %00070000: 00070000  0x8000  0x8000  RAM
00020012 %00078000: 00078000  0x8000  0x8000  RAM		00020012 %00078000: 00078000  0x8000  0x8000  RAM
00020013 %00080000: 00080000  0x8000  0x8000  RAM		00020013 %00080000: 00080000  0x8000  0x8000  RAM
00020014 %00088000: 00088000  0x8000  0x8000  RAM		00020014 %00088000: 00088000  0x8000  0x8000  RAM
00020015 %00090000: 00090000  0x8000  0x8000  RAM		00020015 %00090000: 00090000  0x8000  0x8000  RAM
00020016 %00098000: 00098000  0x8000  0x8000  RAM		00020016 %00098000: 00098000  0x8000  0x8000  RAM
00020044 %000B8000: 000B8000  0x8000  0x8000  VIDEO		00020050 %000B8000: 000B8000  0x8000  0x8000  VIDEO
00020001 %000C0000: 000C0000  0x4000  0x8000  ROM		00020001 %000C0000: 000C0000  0x4000  0x8000  ROM

														00020051 %000E0000: 000E0000  0x????  0x8000  ROM
														00020052 %000E8000: 000E0000  0x????  0x8000  ROM
00020002 %000F0000: 000F8000  0x8000  0x8000  ROM		00020053 %000F0000: 000E0000  0x????  0x8000  ROM
00020002 %000F8000: 000F8000  0x8000  0x8000  ROM		00020054 %000F8000: 000E0000  0x????  0x8000  ROM

00020024 %00100000: 00100000  0x8000  0x8000  RAM		00020024 %00100000: 00100000  0x8000  0x8000  RAM
00020025 %00108000: 00108000  0x8000  0x8000  RAM		00020025 %00108000: 00108000  0x8000  0x8000  RAM
00020026 %00110000: 00110000  0x8000  0x8000  RAM		00020026 %00110000: 00110000  0x8000  0x8000  RAM
00020027 %00118000: 00118000  0x8000  0x8000  RAM		00020027 %00118000: 00118000  0x8000  0x8000  RAM
00020028 %00120000: 00120000  0x8000  0x8000  RAM		00020028 %00120000: 00120000  0x8000  0x8000  RAM
00020029 %00128000: 00128000  0x8000  0x8000  RAM		00020029 %00128000: 00128000  0x8000  0x8000  RAM
0002002A %00130000: 00130000  0x8000  0x8000  RAM		0002002A %00130000: 00130000  0x8000  0x8000  RAM
0002002B %00138000: 00138000  0x8000  0x8000  RAM		0002002B %00138000: 00138000  0x8000  0x8000  RAM
0002002C %00140000: 00140000  0x8000  0x8000  RAM		0002002C %00140000: 00140000  0x8000  0x8000  RAM
0002002D %00148000: 00148000  0x8000  0x8000  RAM		0002002D %00148000: 00148000  0x8000  0x8000  RAM
0002002E %00150000: 00150000  0x8000  0x8000  RAM		0002002E %00150000: 00150000  0x8000  0x8000  RAM
0002002F %00158000: 00158000  0x8000  0x8000  RAM		0002002F %00158000: 00158000  0x8000  0x8000  RAM
00020030 %00160000: 00160000  0x8000  0x8000  RAM		00020030 %00160000: 00160000  0x8000  0x8000  RAM
00020031 %00168000: 00168000  0x8000  0x8000  RAM		00020031 %00168000: 00168000  0x8000  0x8000  RAM
00020032 %00170000: 00170000  0x8000  0x8000  RAM		00020032 %00170000: 00170000  0x8000  0x8000  RAM
00020033 %00178000: 00178000  0x8000  0x8000  RAM		00020033 %00178000: 00178000  0x8000  0x8000  RAM
00020034 %00180000: 00180000  0x8000  0x8000  RAM		00020034 %00180000: 00180000  0x8000  0x8000  RAM
00020035 %00188000: 00188000  0x8000  0x8000  RAM		00020035 %00188000: 00188000  0x8000  0x8000  RAM
00020036 %00190000: 00190000  0x8000  0x8000  RAM		00020036 %00190000: 00190000  0x8000  0x8000  RAM
00020037 %00198000: 00198000  0x8000  0x8000  RAM		00020037 %00198000: 00198000  0x8000  0x8000  RAM
00020038 %001A0000: 001A0000  0x8000  0x8000  RAM		00020038 %001A0000: 001A0000  0x8000  0x8000  RAM
00020039 %001A8000: 001A8000  0x8000  0x8000  RAM		00020039 %001A8000: 001A8000  0x8000  0x8000  RAM
0002003A %001B0000: 001B0000  0x8000  0x8000  RAM		0002003A %001B0000: 001B0000  0x8000  0x8000  RAM
0002003B %001B8000: 001B8000  0x8000  0x8000  RAM		0002003B %001B8000: 001B8000  0x8000  0x8000  RAM
0002003C %001C0000: 001C0000  0x8000  0x8000  RAM		0002003C %001C0000: 001C0000  0x8000  0x8000  RAM
0002003D %001C8000: 001C8000  0x8000  0x8000  RAM		0002003D %001C8000: 001C8000  0x8000  0x8000  RAM
0002003E %001D0000: 001D0000  0x8000  0x8000  RAM		0002003E %001D0000: 001D0000  0x8000  0x8000  RAM
0002003F %001D8000: 001D8000  0x8000  0x8000  RAM		0002003F %001D8000: 001D8000  0x8000  0x8000  RAM
00020040 %001E0000: 001E0000  0x8000  0x8000  RAM		00020040 %001E0000: 001E0000  0x8000  0x8000  RAM
00020041 %001E8000: 001E8000  0x8000  0x8000  RAM		00020041 %001E8000: 001E8000  0x8000  0x8000  RAM
00020042 %001F0000: 001F0000  0x8000  0x8000  RAM		00020042 %001F0000: 001F0000  0x8000  0x8000  RAM
00020043 %001F8000: 001F8000  0x8000  0x8000  RAM		00020043 %001F8000: 001F8000  0x8000  0x8000  RAM

00020017 %00FA0000: 00FA0000  0x8000  0x8000  RAM		00020017 %00FA0000: 00FA0000  0x8000  0x8000  RAM
00020018 %00FA8000: 00FA8000  0x8000  0x8000  RAM		00020018 %00FA8000: 00FA8000  0x8000  0x8000  RAM
00020019 %00FB0000: 00FB0000  0x8000  0x8000  RAM		00020019 %00FB0000: 00FB0000  0x8000  0x8000  RAM
0002001A %00FB8000: 00FB8000  0x8000  0x8000  RAM		0002001A %00FB8000: 00FB8000  0x8000  0x8000  RAM
0002001B %00FC0000: 00FC0000  0x8000  0x8000  RAM		0002001B %00FC0000: 00FC0000  0x8000  0x8000  RAM
0002001C %00FC8000: 00FC8000  0x8000  0x8000  RAM		0002001C %00FC8000: 00FC8000  0x8000  0x8000  RAM
0002001D %00FD0000: 00FD0000  0x8000  0x8000  RAM		0002001D %00FD0000: 00FD0000  0x8000  0x8000  RAM
0002001E %00FD8000: 00FD8000  0x8000  0x8000  RAM		0002001E %00FD8000: 00FD8000  0x8000  0x8000  RAM
0002001F %00FE0000: 00FE0000  0x8000  0x8000  RAM		0002001F %00FE0000: 00FE0000  0x8000  0x8000  RAM
00020020 %00FE8000: 00FE8000  0x8000  0x8000  RAM		00020020 %00FE8000: 00FE8000  0x8000  0x8000  RAM
00020021 %00FF0000: 00FF0000  0x8000  0x8000  RAM		00020021 %00FF0000: 00FF0000  0x8000  0x8000  RAM
00020022 %00FF8000: 00FF8000  0x8000  0x8000  RAM		00020022 %00FF8000: 00FF8000  0x8000  0x8000  RAM

00020023 %80C00000: 80C00000  0x0001  0x8000  H/W		00020023 %80C00000: 80C00000  0x0001  0x8000  H/W
00020002 %FFFF0000: 000F8000  0x8000  0x8000  ROM		00020002 %FFFF0000: 000F8000  0x8000  0x8000  ROM
00020002 %FFFF8000: 000F8000  0x8000  0x8000  ROM		00020002 %FFFF8000: 000F8000  0x8000  0x8000  ROM

But when we stopped here next, it was no longer good:

breakpoint hit: F000:F498 (exec)
stopped (27572162 ops, 443166 cycles, 143 ms, 3099063 hz)
EAX=0000FF00 EBX=00000080 ECX=0000270F EDX=0000004A 
ESP=000000FE EBP=00000000 ESI=00007FB6 EDI=00008000 
SS=0030 DS=0040 ES=0000 FS=0000 GS=0304 PS=00000046 V0 D0 I0 T0 S0 Z1 A0 P1 C0 
F000:F498 2E            CS:     
F000:F499 0F01167E07    LGDT     [077E]

F000:077E  0047  0730  00FF  FFFF - 0000  0000  87AA  0018   G.0.............
F000:078E  87F8  0018  8828  0018 - 0F2E  1601  0778  200F   ....(.......x..
 
%00FF0730  0000  0000  0000  0000 - 0000  0000  0000  0000   ................
%00FF0740  0000  0000  0000  0000 - 0000  0000  0000  0000   ................

Here's a fresher run:

id       physaddr   blkaddr   used    size    type		id       physaddr   blkaddr   used    size    type
-------- ---------  --------  ------  ------  ----		-------- ---------  --------  ------  ------  ----
00040006 %00000000: 00000000  0x8000  0x8000  RAM		00040006 %00000000: 00000000  0x8000  0x8000  RAM
00040008 %00008000: 00008000  0x8000  0x8000  RAM		00040008 %00008000: 00008000  0x8000  0x8000  RAM
0004000A %00010000: 00010000  0x8000  0x8000  RAM		0004000A %00010000: 00010000  0x8000  0x8000  RAM
0004000C %00018000: 00018000  0x8000  0x8000  RAM		0004000C %00018000: 00018000  0x8000  0x8000  RAM
0004000E %00020000: 00020000  0x8000  0x8000  RAM		0004000E %00020000: 00020000  0x8000  0x8000  RAM
00040010 %00028000: 00028000  0x8000  0x8000  RAM		00040010 %00028000: 00028000  0x8000  0x8000  RAM
00040012 %00030000: 00030000  0x8000  0x8000  RAM		00040012 %00030000: 00030000  0x8000  0x8000  RAM
00040014 %00038000: 00038000  0x8000  0x8000  RAM		00040014 %00038000: 00038000  0x8000  0x8000  RAM
00040016 %00040000: 00040000  0x8000  0x8000  RAM		00040016 %00040000: 00040000  0x8000  0x8000  RAM
00040018 %00048000: 00048000  0x8000  0x8000  RAM		00040018 %00048000: 00048000  0x8000  0x8000  RAM
0004001A %00050000: 00050000  0x8000  0x8000  RAM		0004001A %00050000: 00050000  0x8000  0x8000  RAM
0004001C %00058000: 00058000  0x8000  0x8000  RAM		0004001C %00058000: 00058000  0x8000  0x8000  RAM
0004001E %00060000: 00060000  0x8000  0x8000  RAM		0004001E %00060000: 00060000  0x8000  0x8000  RAM
00040020 %00068000: 00068000  0x8000  0x8000  RAM		00040020 %00068000: 00068000  0x8000  0x8000  RAM
00040022 %00070000: 00070000  0x8000  0x8000  RAM		00040022 %00070000: 00070000  0x8000  0x8000  RAM
00040024 %00078000: 00078000  0x8000  0x8000  RAM		00040024 %00078000: 00078000  0x8000  0x8000  RAM
00040026 %00080000: 00080000  0x8000  0x8000  RAM		00040026 %00080000: 00080000  0x8000  0x8000  RAM
00040028 %00088000: 00088000  0x8000  0x8000  RAM		00040028 %00088000: 00088000  0x8000  0x8000  RAM
0004002A %00090000: 00090000  0x8000  0x8000  RAM		0004002A %00090000: 00090000  0x8000  0x8000  RAM
0004002C %00098000: 00098000  0x8000  0x8000  RAM		0004002C %00098000: 00098000  0x8000  0x8000  RAM
00040088 %000B8000: 000B8000  0x8000  0x8000  VIDEO		000400A0 %000B8000: 000B8000  0x8000  0x8000  VIDEO
00040002 %000C0000: 000C0000  0x4000  0x8000  ROM		00040002 %000C0000: 000C0000  0x4000  0x8000  ROM
														0004003F %000E0000: 000E0000  0x????  0x8000  ROM
														00040041 %000E8000: 000E0000  0x????  0x8000  ROM
00040004 %000F0000: 000F8000  0x8000  0x8000  ROM		00040043 %000F0000: 000E0000  0x????  0x8000  ROM
00040004 %000F8000: 000F8000  0x8000  0x8000  ROM		00040045 %000F8000: 000E0000  0x????  0x8000  ROM
00040048 %00100000: 00100000  0x8000  0x8000  RAM		00040048 %00100000: 00100000  0x8000  0x8000  RAM
0004004A %00108000: 00108000  0x8000  0x8000  RAM		0004004A %00108000: 00108000  0x8000  0x8000  RAM
0004004C %00110000: 00110000  0x8000  0x8000  RAM		0004004C %00110000: 00110000  0x8000  0x8000  RAM
0004004E %00118000: 00118000  0x8000  0x8000  RAM		0004004E %00118000: 00118000  0x8000  0x8000  RAM
00040050 %00120000: 00120000  0x8000  0x8000  RAM		00040050 %00120000: 00120000  0x8000  0x8000  RAM
00040052 %00128000: 00128000  0x8000  0x8000  RAM		00040052 %00128000: 00128000  0x8000  0x8000  RAM
00040054 %00130000: 00130000  0x8000  0x8000  RAM		00040054 %00130000: 00130000  0x8000  0x8000  RAM
00040056 %00138000: 00138000  0x8000  0x8000  RAM		00040056 %00138000: 00138000  0x8000  0x8000  RAM
00040058 %00140000: 00140000  0x8000  0x8000  RAM		00040058 %00140000: 00140000  0x8000  0x8000  RAM
0004005A %00148000: 00148000  0x8000  0x8000  RAM		0004005A %00148000: 00148000  0x8000  0x8000  RAM
0004005C %00150000: 00150000  0x8000  0x8000  RAM		0004005C %00150000: 00150000  0x8000  0x8000  RAM
0004005E %00158000: 00158000  0x8000  0x8000  RAM		0004005E %00158000: 00158000  0x8000  0x8000  RAM
00040060 %00160000: 00160000  0x8000  0x8000  RAM		00040060 %00160000: 00160000  0x8000  0x8000  RAM
00040062 %00168000: 00168000  0x8000  0x8000  RAM		00040062 %00168000: 00168000  0x8000  0x8000  RAM
00040064 %00170000: 00170000  0x8000  0x8000  RAM		00040064 %00170000: 00170000  0x8000  0x8000  RAM
00040066 %00178000: 00178000  0x8000  0x8000  RAM		00040066 %00178000: 00178000  0x8000  0x8000  RAM
00040068 %00180000: 00180000  0x8000  0x8000  RAM		00040068 %00180000: 00180000  0x8000  0x8000  RAM
0004006A %00188000: 00188000  0x8000  0x8000  RAM		0004006A %00188000: 00188000  0x8000  0x8000  RAM
0004006C %00190000: 00190000  0x8000  0x8000  RAM		0004006C %00190000: 00190000  0x8000  0x8000  RAM
0004006E %00198000: 00198000  0x8000  0x8000  RAM		0004006E %00198000: 00198000  0x8000  0x8000  RAM
00040070 %001A0000: 001A0000  0x8000  0x8000  RAM		00040070 %001A0000: 001A0000  0x8000  0x8000  RAM
00040072 %001A8000: 001A8000  0x8000  0x8000  RAM		00040072 %001A8000: 001A8000  0x8000  0x8000  RAM
00040074 %001B0000: 001B0000  0x8000  0x8000  RAM		00040074 %001B0000: 001B0000  0x8000  0x8000  RAM
00040076 %001B8000: 001B8000  0x8000  0x8000  RAM		00040076 %001B8000: 001B8000  0x8000  0x8000  RAM
00040078 %001C0000: 001C0000  0x8000  0x8000  RAM		00040078 %001C0000: 001C0000  0x8000  0x8000  RAM
0004007A %001C8000: 001C8000  0x8000  0x8000  RAM		0004007A %001C8000: 001C8000  0x8000  0x8000  RAM
0004007C %001D0000: 001D0000  0x8000  0x8000  RAM		0004007C %001D0000: 001D0000  0x8000  0x8000  RAM
0004007E %001D8000: 001D8000  0x8000  0x8000  RAM		0004007E %001D8000: 001D8000  0x8000  0x8000  RAM
00040080 %001E0000: 001E0000  0x8000  0x8000  RAM		00040080 %001E0000: 001E0000  0x8000  0x8000  RAM
00040082 %001E8000: 001E8000  0x8000  0x8000  RAM		00040082 %001E8000: 001E8000  0x8000  0x8000  RAM
00040084 %001F0000: 001F0000  0x8000  0x8000  RAM		00040084 %001F0000: 001F0000  0x8000  0x8000  RAM
00040086 %001F8000: 001F8000  0x8000  0x8000  RAM		00040086 %001F8000: 001F8000  0x8000  0x8000  RAM
0004002E %00FA0000: 00FA0000  0x8000  0x8000  RAM		0004002E %00FA0000: 00FA0000  0x8000  0x8000  RAM
00040030 %00FA8000: 00FA8000  0x8000  0x8000  RAM		00040030 %00FA8000: 00FA8000  0x8000  0x8000  RAM
00040032 %00FB0000: 00FB0000  0x8000  0x8000  RAM		00040032 %00FB0000: 00FB0000  0x8000  0x8000  RAM
00040034 %00FB8000: 00FB8000  0x8000  0x8000  RAM		00040034 %00FB8000: 00FB8000  0x8000  0x8000  RAM
00040036 %00FC0000: 00FC0000  0x8000  0x8000  RAM		00040036 %00FC0000: 00FC0000  0x8000  0x8000  RAM
00040038 %00FC8000: 00FC8000  0x8000  0x8000  RAM		00040038 %00FC8000: 00FC8000  0x8000  0x8000  RAM
0004003A %00FD0000: 00FD0000  0x8000  0x8000  RAM		0004003A %00FD0000: 00FD0000  0x8000  0x8000  RAM
0004003C %00FD8000: 00FD8000  0x8000  0x8000  RAM		0004003C %00FD8000: 00FD8000  0x8000  0x8000  RAM
0004003E %00FE0000: 00FE0000  0x8000  0x8000  RAM		0004003E %00FE0000: 00FE0000  0x8000  0x8000  RAM
00040040 %00FE8000: 00FE8000  0x8000  0x8000  RAM		00040040 %00FE8000: 00FE8000  0x8000  0x8000  RAM
00040042 %00FF0000: 00FF0000  0x8000  0x8000  RAM		00040042 %00FF0000: 00FF0000  0x8000  0x8000  RAM
00040044 %00FF8000: 00FF8000  0x8000  0x8000  RAM		00040044 %00FF8000: 00FF8000  0x8000  0x8000  RAM
00040046 %80C00000: 80C00000  0x0001  0x8000  H/W		00040046 %80C00000: 80C00000  0x0001  0x8000  H/W
00040004 %FFFF0000: 000F8000  0x8000  0x8000  ROM		00040004 %FFFF0000: 000F8000  0x8000  0x8000  ROM
00040004 %FFFF8000: 000F8000  0x8000  0x8000  ROM		00040004 %FFFF8000: 000F8000  0x8000  0x8000  ROM
															
running											 		
notice: PIC0(0x20): unsupported OCW2 automatic EOI command: 0x00
stopped (149 ops, 622 cycles, 20 ms, 31100 hz)
EAX=0000F000 EBX=00000000 ECX=00000008 EDX=00000020 
ESP=00000000 EBP=00000000 ESI=0000F8E7 EDI=00000000 
SS=0000 DS=F000 ES=0000 FS=0000 GS=0304 PS=00000046 V0 D0 I0 T0 S0 Z1 A0 P1 C0 
F000:F9ED E6A0          OUT      A0,AL
running
notice: PIC1(0xA0): unsupported OCW2 automatic EOI command: 0x00
stopped (150 ops, 5 cycles, 17 ms, 294 hz)
EAX=0000F000 EBX=00000000 ECX=00000008 EDX=00000020 
ESP=00000000 EBP=00000000 ESI=0000F8E7 EDI=00000000 
SS=0000 DS=F000 ES=0000 FS=0000 GS=0304 PS=00000046 V0 D0 I0 T0 S0 Z1 A0 P1 C0 
F000:F9EF B009          MOV      AL,09
running
notice: PIC0(0x20): unsupported OCW2 automatic EOI command: 0x00
stopped (19729382 ops, 89821236 cycles, 6351 ms, 14142849 hz)
EAX=0000F000 EBX=00000006 ECX=00000008 EDX=00000020 
ESP=00000000 EBP=00000000 ESI=0000F8E7 EDI=00000000 
SS=0000 DS=F000 ES=0000 FS=0000 GS=0000 PS=00000046 V0 D0 I0 T0 S0 Z1 A0 P1 C0 
F000:F9ED E6A0          OUT      A0,AL
running
notice: PIC1(0xA0): unsupported OCW2 automatic EOI command: 0x00
stopped (19729383 ops, 5 cycles, 15 ms, 333 hz)
EAX=0000F000 EBX=00000006 ECX=00000008 EDX=00000020 
ESP=00000000 EBP=00000000 ESI=0000F8E7 EDI=00000000 
SS=0000 DS=F000 ES=0000 FS=0000 GS=0000 PS=00000046 V0 D0 I0 T0 S0 Z1 A0 P1 C0 
F000:F9EF B009          MOV      AL,09
running
notice: PIC0(0x20): unsupported OCW2 automatic EOI command: 0x00
stopped (25359063 ops, 12731563 cycles, 1260 ms, 10104415 hz)
EAX=0000F000 EBX=00000003 ECX=00000008 EDX=00000020 
ESP=00000000 EBP=00000000 ESI=0000F8E7 EDI=00000000 
SS=0000 DS=F000 ES=0000 FS=0000 GS=0000 PS=00000046 V0 D0 I0 T0 S0 Z1 A0 P1 C0 
F000:F9ED E6A0          OUT      A0,AL
running
notice: PIC1(0xA0): unsupported OCW2 automatic EOI command: 0x00
stopped (25359064 ops, 5 cycles, 17 ms, 294 hz)
EAX=0000F000 EBX=00000003 ECX=00000008 EDX=00000020 
ESP=00000000 EBP=00000000 ESI=0000F8E7 EDI=00000000 
SS=0000 DS=F000 ES=0000 FS=0000 GS=0000 PS=00000046 V0 D0 I0 T0 S0 Z1 A0 P1 C0 
F000:F9EF B009          MOV      AL,09
running
stopped (27129586 ops, 2209813 cycles, 382 ms, 5784851 hz)
EAX=000098FC EBX=0000E000 ECX=00000000 EDX=00000000 
ESP=000000E4 EBP=00000000 ESI=0000FFFF EDI=00007FBE 
SS=0028[00000300,FFFF] DS=0050[80C00000,FFFF] ES=0048[00FF0000,FFFF] 
CS=0030[000F0000,FFFF] FS=0000[00000000,FFFF] GS=0304[00003040,FFFF]
LD=0000[00000000,0000] GD=[0001C000,005F] ID=[000FF821,0007] TR=0000 A20=ON 
CR0=0000FFF1 CR2=00000000 CR3=00000000 PS=00000083 V0 D0 I0 T0 S1 Z0 A0 P0 C1 
0030:863C 1F            POP      DS