VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

When I boot MS-DOS normally using an external BIOS(Generic Super PC/Turbo XT BIOS v2.6) it boots without problems. But when I try to boot it with the emulator's own BIOS(which is based on Dosbox's BIOS interrupts), I see it reading some sectors from the harddisk(booting from the harddisk), but nothing appears on the screen? Is there something required missing?

Currently interrupt handlers installed in the "Normal" execution mode(currently interrupt 10h(working VGA BIOS based on Dosbox's), 11h, 12h, 13h, 15h(partly implemented), 16h(again, together with the IRQ1 handler, based on Dosbox's), 18h, 19h and 05h(dummy handler)):
https://bitbucket.org/superfury/x86emu/src/32 … upts/?at=master

Does MS-DOS need any more interrupts to boot?

Edit: When booting from a floppy disk(MS-DOS 3.3), I notice it executes interrrupt 13h function 4Fh when trying to boot? Ralf Brown's interrupt list doesn't say anything about this?

Edit: This is the int13h log I'm getting booting MS-DOS 3.3 from a floppy disk:

00:00:26:30.02638: Function 00 called.
00:00:26:30.03264: Function 02 called.
00:00:26:30.03412: Read 1/1 sectors from drive 00, start 19. Requested: Head: 1, Track: 0, Sector: 2. Start sector: 19, Destination: ES:BX=0000:00000500
00:00:26:30.03684: Function 02 called.
00:00:26:30.03800: Read 1/1 sectors from drive 00, start 33. Requested: Head: 1, Track: 0, Sector: 16. Start sector: 33, Destination: ES:BX=0000:00000700
00:00:26:30.03936: Function 02 called.
00:00:26:30.04050: Read 1/1 sectors from drive 00, start 34. Requested: Head: 1, Track: 0, Sector: 17. Start sector: 34, Destination: ES:BX=0000:00000900
00:00:26:30.06384: Function 02 called.
00:00:26:30.07002: Read 9/9 sectors from drive 00, start 1. Requested: Head: 0, Track: 0, Sector: 2. Start sector: 1, Destination: ES:BX=0800:00000000
00:00:26:30.07288: Function 02 called.
00:00:26:30.07404: Read 1/1 sectors from drive 00, start 33. Requested: Head: 1, Track: 0, Sector: 16. Start sector: 33, Destination: ES:BX=0070:00000000
00:00:26:30.07754: Function 02 called.
00:00:26:30.07866: Read 1/1 sectors from drive 00, start 34. Requested: Head: 1, Track: 0, Sector: 17. Start sector: 34, Destination: ES:BX=0070:00000200
00:00:26:30.08216: Function 02 called.
00:00:26:30.08340: Read 1/1 sectors from drive 00, start 35. Requested: Head: 1, Track: 0, Sector: 18. Start sector: 35, Destination: ES:BX=0070:00000400
00:00:26:30.08676: Function 02 called.
00:00:26:30.08792: Read 1/1 sectors from drive 00, start 36. Requested: Head: 0, Track: 1, Sector: 1. Start sector: 36, Destination: ES:BX=0070:00000600
00:00:26:30.09136: Function 02 called.
00:00:26:30.09252: Read 1/1 sectors from drive 00, start 37. Requested: Head: 0, Track: 1, Sector: 2. Start sector: 37, Destination: ES:BX=0070:00000800
00:00:26:30.09588: Function 02 called.
00:00:26:30.09704: Read 1/1 sectors from drive 00, start 38. Requested: Head: 0, Track: 1, Sector: 3. Start sector: 38, Destination: ES:BX=0070:00000A00
00:00:26:31.00060: Function 02 called.
00:00:26:31.00204: Read 1/1 sectors from drive 00, start 39. Requested: Head: 0, Track: 1, Sector: 4. Start sector: 39, Destination: ES:BX=0070:00000C00
00:00:26:31.00554: Function 02 called.
00:00:26:31.00678: Read 1/1 sectors from drive 00, start 40. Requested: Head: 0, Track: 1, Sector: 5. Start sector: 40, Destination: ES:BX=0070:00000E00
00:00:26:31.00958: Function 02 called.
00:00:26:31.01070: Read 1/1 sectors from drive 00, start 41. Requested: Head: 0, Track: 1, Sector: 6. Start sector: 41, Destination: ES:BX=0070:00001000
00:00:26:31.01332: Function 02 called.
00:00:26:31.01444: Read 1/1 sectors from drive 00, start 42. Requested: Head: 0, Track: 1, Sector: 7. Start sector: 42, Destination: ES:BX=0070:00001200
00:00:26:31.01704: Function 02 called.
00:00:26:31.01826: Read 1/1 sectors from drive 00, start 43. Requested: Head: 0, Track: 1, Sector: 8. Start sector: 43, Destination: ES:BX=0070:00001400
00:00:26:31.02076: Function 02 called.
00:00:26:31.02188: Read 1/1 sectors from drive 00, start 44. Requested: Head: 0, Track: 1, Sector: 9. Start sector: 44, Destination: ES:BX=0070:00001600
00:00:26:31.08456: Function 02 called.
00:00:26:31.08644: Read 1/1 sectors from drive 00, start 45. Requested: Head: 0, Track: 1, Sector: 10. Start sector: 45, Destination: ES:BX=0070:00001800
00:00:26:31.09004: Function 02 called.
00:00:26:31.09166: Read 1/1 sectors from drive 00, start 46. Requested: Head: 0, Track: 1, Sector: 11. Start sector: 46, Destination: ES:BX=0070:00001A00
00:00:26:31.09508: Function 02 called.
00:00:26:31.09646: Read 1/1 sectors from drive 00, start 47. Requested: Head: 0, Track: 1, Sector: 12. Start sector: 47, Destination: ES:BX=0070:00001C00
00:00:26:32.00012: Function 02 called.
00:00:26:32.00212: Read 1/1 sectors from drive 00, start 48. Requested: Head: 0, Track: 1, Sector: 13. Start sector: 48, Destination: ES:BX=0070:00001E00
00:00:26:32.00622: Function 02 called.
00:00:26:32.00754: Read 1/1 sectors from drive 00, start 49. Requested: Head: 0, Track: 1, Sector: 14. Start sector: 49, Destination: ES:BX=0070:00002000
00:00:26:32.01194: Function 02 called.
00:00:26:32.01384: Read 1/1 sectors from drive 00, start 50. Requested: Head: 0, Track: 1, Sector: 15. Start sector: 50, Destination: ES:BX=0070:00002200
00:00:26:32.01754: Function 02 called.
00:00:26:32.01880: Read 1/1 sectors from drive 00, start 51. Requested: Head: 0, Track: 1, Sector: 16. Start sector: 51, Destination: ES:BX=0070:00002400
00:00:26:32.02260: Function 02 called.
00:00:26:32.02388: Read 1/1 sectors from drive 00, start 52. Requested: Head: 0, Track: 1, Sector: 17. Start sector: 52, Destination: ES:BX=0070:00002600
00:00:26:32.02772: Function 02 called.
00:00:26:32.02908: Read 1/1 sectors from drive 00, start 53. Requested: Head: 0, Track: 1, Sector: 18. Start sector: 53, Destination: ES:BX=0070:00002800
00:00:26:32.03340: Function 02 called.
00:00:26:32.03500: Read 1/1 sectors from drive 00, start 54. Requested: Head: 1, Track: 1, Sector: 1. Start sector: 54, Destination: ES:BX=0070:00002A00
00:00:26:33.03084: Function 02 called.
00:00:26:33.03292: Read 1/1 sectors from drive 00, start 55. Requested: Head: 1, Track: 1, Sector: 2. Start sector: 55, Destination: ES:BX=0070:00002C00
00:00:26:33.03660: Function 02 called.
00:00:26:33.03788: Read 1/1 sectors from drive 00, start 56. Requested: Head: 1, Track: 1, Sector: 3. Start sector: 56, Destination: ES:BX=0070:00002E00
00:00:26:33.04152: Function 02 called.
00:00:26:33.04278: Read 1/1 sectors from drive 00, start 57. Requested: Head: 1, Track: 1, Sector: 4. Start sector: 57, Destination: ES:BX=0070:00003000
00:00:26:33.04672: Function 02 called.
Show last 52 lines
00:00:26:33.04788: Read 1/1 sectors from drive 00, start 58. Requested: Head: 1, Track: 1, Sector: 5. Start sector: 58, Destination: ES:BX=0070:00003200
00:00:26:33.05142: Function 02 called.
00:00:26:33.05256: Read 1/1 sectors from drive 00, start 59. Requested: Head: 1, Track: 1, Sector: 6. Start sector: 59, Destination: ES:BX=0070:00003400
00:00:26:33.05616: Function 02 called.
00:00:26:33.05736: Read 1/1 sectors from drive 00, start 60. Requested: Head: 1, Track: 1, Sector: 7. Start sector: 60, Destination: ES:BX=0070:00003600
00:00:26:33.06108: Function 02 called.
00:00:26:33.06224: Read 1/1 sectors from drive 00, start 61. Requested: Head: 1, Track: 1, Sector: 8. Start sector: 61, Destination: ES:BX=0070:00003800
00:00:26:33.06572: Function 02 called.
00:00:26:33.06702: Read 1/1 sectors from drive 00, start 62. Requested: Head: 1, Track: 1, Sector: 9. Start sector: 62, Destination: ES:BX=0070:00003A00
00:00:26:33.07100: Function 02 called.
00:00:26:33.07214: Read 1/1 sectors from drive 00, start 63. Requested: Head: 1, Track: 1, Sector: 10. Start sector: 63, Destination: ES:BX=0070:00003C00
00:00:26:33.07576: Function 02 called.
00:00:26:33.07688: Read 1/1 sectors from drive 00, start 64. Requested: Head: 1, Track: 1, Sector: 11. Start sector: 64, Destination: ES:BX=0070:00003E00
00:00:26:33.08046: Function 02 called.
00:00:26:33.08160: Read 1/1 sectors from drive 00, start 65. Requested: Head: 1, Track: 1, Sector: 12. Start sector: 65, Destination: ES:BX=0070:00004000
00:00:26:33.08504: Function 02 called.
00:00:26:33.08616: Read 1/1 sectors from drive 00, start 66. Requested: Head: 1, Track: 1, Sector: 13. Start sector: 66, Destination: ES:BX=0070:00004200
00:00:26:33.08960: Function 02 called.
00:00:26:33.09100: Read 1/1 sectors from drive 00, start 67. Requested: Head: 1, Track: 1, Sector: 14. Start sector: 67, Destination: ES:BX=0070:00004400
00:00:26:33.09440: Function 02 called.
00:00:26:33.09576: Read 1/1 sectors from drive 00, start 68. Requested: Head: 1, Track: 1, Sector: 15. Start sector: 68, Destination: ES:BX=0070:00004600
00:00:26:33.09928: Function 02 called.
00:00:26:34.00052: Read 1/1 sectors from drive 00, start 69. Requested: Head: 1, Track: 1, Sector: 16. Start sector: 69, Destination: ES:BX=0070:00004800
00:00:26:34.00400: Function 02 called.
00:00:26:34.00532: Read 1/1 sectors from drive 00, start 70. Requested: Head: 1, Track: 1, Sector: 17. Start sector: 70, Destination: ES:BX=0070:00004A00
00:00:26:34.00896: Function 02 called.
00:00:26:34.01026: Read 1/1 sectors from drive 00, start 71. Requested: Head: 1, Track: 1, Sector: 18. Start sector: 71, Destination: ES:BX=0070:00004C00
00:00:26:34.01360: Function 02 called.
00:00:26:34.01484: Read 1/1 sectors from drive 00, start 72. Requested: Head: 0, Track: 2, Sector: 1. Start sector: 72, Destination: ES:BX=0070:00004E00
00:00:26:34.01836: Function 02 called.
00:00:26:34.01954: Read 1/1 sectors from drive 00, start 73. Requested: Head: 0, Track: 2, Sector: 2. Start sector: 73, Destination: ES:BX=0070:00005000
00:00:26:34.02288: Function 02 called.
00:00:26:34.02408: Read 1/1 sectors from drive 00, start 74. Requested: Head: 0, Track: 2, Sector: 3. Start sector: 74, Destination: ES:BX=0070:00005200
00:00:26:34.02748: Function 02 called.
00:00:26:34.02864: Read 1/1 sectors from drive 00, start 75. Requested: Head: 0, Track: 2, Sector: 4. Start sector: 75, Destination: ES:BX=0070:00005400
00:00:26:34.03200: Function 02 called.
00:00:26:34.03314: Read 1/1 sectors from drive 00, start 76. Requested: Head: 0, Track: 2, Sector: 5. Start sector: 76, Destination: ES:BX=0070:00005600
00:00:26:34.03648: Function 02 called.
00:00:26:34.03760: Read 1/1 sectors from drive 00, start 77. Requested: Head: 0, Track: 2, Sector: 6. Start sector: 77, Destination: ES:BX=0070:00005800
00:00:26:34.04126: Function 02 called.
00:00:26:34.04240: Read 1/1 sectors from drive 00, start 78. Requested: Head: 0, Track: 2, Sector: 7. Start sector: 78, Destination: ES:BX=0070:00005A00
00:00:26:34.04584: Function 02 called.
00:00:26:34.04696: Read 1/1 sectors from drive 00, start 79. Requested: Head: 0, Track: 2, Sector: 8. Start sector: 79, Destination: ES:BX=0070:00005C00
00:00:26:34.05040: Function 02 called.
00:00:26:34.05150: Read 1/1 sectors from drive 00, start 80. Requested: Head: 0, Track: 2, Sector: 9. Start sector: 80, Destination: ES:BX=0070:00005E00
00:00:26:34.05486: Function 02 called.
00:00:26:34.05632: Read 1/1 sectors from drive 00, start 81. Requested: Head: 0, Track: 2, Sector: 10. Start sector: 81, Destination: ES:BX=0070:00006000
00:00:26:34.05988: Function 02 called.
00:00:26:34.06110: Read 1/1 sectors from drive 00, start 82. Requested: Head: 0, Track: 2, Sector: 11. Start sector: 82, Destination: ES:BX=0070:00006200
00:00:26:34.06434: Function 02 called.
00:00:26:34.06568: Read 1/1 sectors from drive 00, start 83. Requested: Head: 0, Track: 2, Sector: 12. Start sector: 83, Destination: ES:BX=0070:00006400

Since I'm pretty sure the CPU emulation is correct(since it already can run a lot of things, including 8088 MPH demo without crashing in any way using a real BIOS(Super PC/Turbo XT BIOS v2.6)), there muse be an error in the other factor faked by my emulator: The BIOS interrupts themselves.

Anyone can see what's going wrong here? peterferrie?

Last edited by superfury on 2016-07-12, 05:06. Edited 1 time in total.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 1 of 14, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

I'll try to look tomorrow. Too many meetings today.

Reply 2 of 14, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

I don't see function 4F in your log, nor do I see it in boot sequence. When did you see it appear?
In any case, your int 13 log matches what DOS 3.3 does during boot. After the read completes, there are calls to int 11h, 15h, and only then is text printed via int 10h.
Can you give more detail about what's different in your environment?

unrelated: best way to get my attention is PM. I just happened to check this post. I don't read them all.

Reply 4 of 14, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

That's interesting.
At 0070:3514 is a call to int 11h.
At 0070:354C is a call to int 15h with ah=C0h. This is the first call to int 15h.
At 0070:3578 is a call to 0070:41C0.
At 0070:41D2 is the call to int 10h with ah=0Eh, and printing the "NEC IO.SYS for MS-DOS (R) Version 3.30" text.
Do you reach any or all of those points?

Reply 5 of 14, by superfury

User metadata
Rank l33t++
Rank
l33t++

Well, I know that it isn't printing that text on the screen(or anything at all). I'll have to debug the INT calls if I want to find out anything more. I do remember a call to interrupt 15h, which resulted in a invalid bootdisk-type message(I believe it was some kind of bootfiles not found error) because of my int 15h handler. I had to add a "RETF 2" instruction into the int 15h handler(see interrupt15.c), according to found documentation, which prevents a normal IRET. Or is that only for the keyboard decoder subfunction(4Fh)? Is that correct?

void BIOS_int15()
{
switch (REG_AH) //What function?
{
case 0xC0: //Get configuration?
REG_AH = 0x00; //Supported!
CALLBACK_SCF(0); //Set carry flag to indicate an error!
MMU_ww(CPU_SEGMENT_ES, REG_ES, REG_BX, 8); //8 bytes following!
switch (EMULATED_CPU) //What CPU are we emulating?
{
case 0: //8086?
MMU_wb(CPU_SEGMENT_ES, REG_ES, REG_BX + 0x02, 0xFB); //PC/XT!
break;
case 1: //NECV30?
MMU_wb(CPU_SEGMENT_ES, REG_ES, REG_BX + 0x02, 0xFB); //PC/XT!
break;
case 2: //80286?
case 3: //80386?
case 4: //80486?
case 5: //Pentium?
MMU_wb(CPU_SEGMENT_ES, REG_ES, REG_BX + 0x02, 0xF8); //386 or higher CPU!
break;
}
MMU_wb(CPU_SEGMENT_ES, REG_ES, REG_BX + 0x03, 0x00); //Unknown submodel!
MMU_wb(CPU_SEGMENT_ES, REG_ES, REG_BX + 0x04, 0x01); //First BIOS revision!
MMU_wb(CPU_SEGMENT_ES, REG_ES, REG_BX + 0x05, 0x40|0x20); //We have 2nd PIC and RTC!
MMU_wb(CPU_SEGMENT_ES, REG_ES, REG_BX + 0x06, 0x00); //No extra hardware!
MMU_wb(CPU_SEGMENT_ES, REG_ES, REG_BX + 0x07, 0x00); //No extra support!
MMU_wb(CPU_SEGMENT_ES, REG_ES, REG_BX + 0x08, 0x00); //No extra support!
MMU_wb(CPU_SEGMENT_ES, REG_ES, REG_BX + 0x09, 0x00); //No enhanced mouse mode or Flash BIOS!
break;
case 0x4F: //Translate scan code?
CALLBACK_SCF(0);
break;
default: //Unknown function?
REG_AH = 0x86; //Not supported!
CALLBACK_SCF(1); //Set carry flag to indicate an error!
break;
}
external8086RETF(2); //RETF 2 simulated!
}

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 6 of 14, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie
superfury wrote:

Well, I know that it isn't printing that text on the screen(or anything at all). I'll have to debug the INT calls if I want to find out anything more. I do remember a call to interrupt 15h, which resulted in a invalid bootdisk-type message(I believe it was some kind of bootfiles not found error) because of my int 15h handler. I had to add a "RETF 2" instruction into the int 15h handler(see interrupt15.c), according to found documentation, which prevents a normal IRET. Or is that only for the keyboard decoder subfunction(4Fh)? Is that correct?

If that code is called by invoking "int 15h" which clears interrupt flag and jumps to execute the vector, then normally "IRET" is used to restore the flags as they were which will also enable interrupts if they were enabled before invoking int15h. Your "RETF 2" trick won't pop the flags so interrupts stay disabled after invoking "int 15h".

Some int15 routines run with interrupts enabled and some disabled, but the first thing in int 15 handler is STI to enable interrupts again. Further subroutines then use CLI/STI as they need, but will do STI before returning with "RETF 2".

If you do "STI", you are free to change flags and indicate success/error with STC/CLC before "RETF 2".

Reply 7 of 14, by superfury

User metadata
Rank l33t++
Rank
l33t++

Well, those returning flags on the stack are changed by callback_scf, which pops the flags, modifies CF, then writes it back on the stack, with the stack address being used depending on callback method(zero callback(call) vs normal interrupt(int):

 //Flag set/reset for interrupts called by callbacks. Compatible with both callback calls and normal calls.

uint_32 FLAGS_offset()
{
return REG_SP+4+(callbackzero<<2); //Apply zero callback if needed (call adds 4 bytes to stack)!
}

void CALLBACK_SZF(byte val) {
uint_32 flags=0;
if (EMU_RUNNING == 1)
{
flags = REG_EFLAGS; //Read flags!
REG_EFLAGS = MMU_rw(CPU_SEGMENT_SS, REG_SS, FLAGS_offset(), 0);
}
if (val) FLAG_ZF = 1;
else FLAG_ZF = 0;
if (EMU_RUNNING==1)
{
MMU_ww(CPU_SEGMENT_SS, REG_SS, FLAGS_offset(), REG_EFLAGS);
REG_EFLAGS = flags; //Restore!
}
}

void CALLBACK_SCF(byte val) {
uint_32 flags=0;
if (EMU_RUNNING == 1)
{
flags = REG_EFLAGS; //Read flags!
REG_EFLAGS = MMU_rw(CPU_SEGMENT_SS, REG_SS, FLAGS_offset(), 0);
}
if (val) FLAG_CF = 1;
else FLAG_CF = 0;
if (EMU_RUNNING==1)
{
MMU_ww(CPU_SEGMENT_SS, REG_SS, FLAGS_offset(), REG_EFLAGS);
REG_EFLAGS = flags; //Restore!
}
}

void CALLBACK_SIF(byte val) {
uint_32 flags=0;
if (EMU_RUNNING == 1)
{
flags = REG_EFLAGS; //Read flags!
REG_EFLAGS = MMU_rw(CPU_SEGMENT_SS, REG_SS, FLAGS_offset(), 0);
}
if (val) FLAG_IF = 1;
else FLAG_IF = 0;
if (EMU_RUNNING==1)
{
MMU_ww(CPU_SEGMENT_SS, REG_SS, FLAGS_offset(), REG_EFLAGS);
REG_EFLAGS = flags; //Restore!
}
}

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 8 of 14, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie
superfury wrote:

Well, those returning flags on the stack are changed by callback_scf, which pops the flags, modifies CF, then writes it back on the stack, with the stack address being used depending on callback method(zero callback(call) vs normal interrupt(int):

I hope during that int15h C function the CPU_RUNNING is 0, as it would not make any sense to change the flags in the stack.

The problem still is:
opcodes CD 15 (INT 15H invocation) pushes flags, CS and IP, disables IF and TF, loads IP and CS from IVT and jumps there to execute (your trap for the interrupt).
RETF 2 just pops IP and CS and skips flags by adjusting SP by 2, resuming execution right after the CD 15 opcodes. But nothing has enabled IF back, ever.

Reply 9 of 14, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

If you can post some execution logs from around the time of the int 15h call, the problem might be easier to solve.
The flow from the int 15h call until the int 10h call is linear, so if you hit the first, you should also hit the second, unless your code is being diverted by something else (there's an sti shortly before the int 15h call, perhaps an interrupt is occurring and never returning?).

Reply 10 of 14, by superfury

User metadata
Rank l33t++
Rank
l33t++

Well, simply looking at the code reveals:
EMU_RUNNING should be 1: The emulator CPU is running after all(not executing the BIOS Setting Menu or debugging, which pause the execution).
CALLBACK_SCF and CALLBACK_SIF should apply their changes both to the current flags on the stack and active flags(so it has correct effect on both IRET-returned and RETF 2-returned code: The EMU_RUNNING flags ensure that the stack is changed correctly. The FLAG_CF and FLAG_IF themselves change the result stored back onto the stack as well as the active flags, which stay that value, even after a RETF 2 instruction).
So the flags should be returned correctly both with IRET and RETF 2 instructions, as long as the stack position (SP+4+(4 when zero callback)) contains a valid copy of the flags, whether it's used or not.

So after the INT 15h function C0h, the carry flag in memory(might be unused by code) should be cleared, as well as in the flags register. The return address should have the correct flags anyway, with the structure at ES:BX being filled with it's 10 bytes of data. AH should be 00h.

Edit: I've made a little log using a new debugger logging mode i've implemented, which only logs INT instructions:

00:00:13:71.03866: 0000:7C6E (CD13)INT 13
00:00:13:71.04067: Registers:
00:00:13:71.04076: AX: 0000, BX: 0078, CX: 0000, DX: 0000
00:00:13:71.04083: CS: 0000, DS: 0000, ES: 0000, SS: 0000
00:00:13:71.04091: SP: 7BF8, BP: 0000, SI: 014B, DI: 7C36
00:00:13:71.04096: IP: 7C6E, FLAGS: F246
00:00:13:71.04104: FLAGSINFO:c1P0a0ZstIdo1111
00:00:13:71.04113: Interrupt status: 0000000000000010
00:00:13:71.04118: VGA@84,360(CRT:111,419)
00:00:13:71.04122: Display=712,446

00:00:13:71.04217: Function 00 called.
00:00:13:71.04960: 0000:7D74 (CD13)INT 13
00:00:13:71.04963: Registers:
00:00:13:71.04971: AX: 0201, BX: 0500, CX: 0002, DX: 0100
00:00:13:71.04978: CS: 0000, DS: 0000, ES: 0000, SS: 0000
00:00:13:71.04986: SP: 7BF4, BP: 0000, SI: 014B, DI: 7C36
00:00:13:71.04991: IP: 7D74, FLAGS: F202
00:00:13:71.04999: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:71.05008: Interrupt status: 0000000000000010
00:00:13:71.05015: VGA@487,365(CRT:514,424)
00:00:13:71.05032: Display=712,446

00:00:13:71.05122: Function 02 called.
00:00:13:71.05245: Read 1/1 sectors from drive 00, start 19. Requested: Head: 1, Track: 0, Sector: 2. Start sector: 19, Destination: ES:BX=0000:00000500
00:00:13:71.05964: 0000:7D74 (CD13)INT 13
00:00:13:71.05967: Registers:
00:00:13:71.05975: AX: 0201, BX: 0700, CX: 0010, DX: 0100
00:00:13:71.05983: CS: 0000, DS: 0000, ES: 0000, SS: 0000
00:00:13:71.05990: SP: 7BF4, BP: 0000, SI: 7DF6, DI: 052B
00:00:13:71.05995: IP: 7D74, FLAGS: F202
00:00:13:71.06015: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:71.06025: Interrupt status: 0000000000000010
00:00:13:71.06030: VGA@130,371(CRT:157,430)
00:00:13:71.06034: Display=712,446

00:00:13:71.06150: Function 02 called.
00:00:13:71.06263: Read 1/1 sectors from drive 00, start 33. Requested: Head: 1, Track: 0, Sector: 16. Start sector: 33, Destination: ES:BX=0000:00000700
00:00:13:71.06663: 0000:7D74 (CD13)INT 13
00:00:13:71.06666: Registers:
00:00:13:71.06674: AX: 0201, BX: 0900, CX: 0011, DX: 0100
00:00:13:71.06681: CS: 0000, DS: 0000, ES: 0000, SS: 0000
00:00:13:71.06689: SP: 7BF4, BP: 0000, SI: 7DF6, DI: 052B
00:00:13:71.06694: IP: 7D74, FLAGS: F206
00:00:13:71.06702: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:71.06712: Interrupt status: 0000000000000010
00:00:13:71.06717: VGA@353,373(CRT:380,432)
00:00:13:71.06721: Display=712,446

00:00:13:71.06800: Function 02 called.
00:00:13:71.06911: Read 1/1 sectors from drive 00, start 34. Requested: Head: 1, Track: 0, Sector: 17. Start sector: 34, Destination: ES:BX=0000:00000900
00:00:13:73.04073: 0000:7E03 (CD13)INT 13
00:00:13:73.04079: Registers:
00:00:13:73.04089: AX: 0209, BX: 0000, CX: 0002, DX: 0000
00:00:13:73.04098: CS: 0000, DS: 0000, ES: 0800, SS: 0000
00:00:13:73.04105: SP: 7BDA, BP: 7BE2, SI: 0009, DI: 0000
00:00:13:73.04110: IP: 7E03, FLAGS: F202
00:00:13:73.04120: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:73.04132: Interrupt status: 0000000000000010
00:00:13:73.04137: VGA@97,424(CRT:124,10)
Show last 690 lines
00:00:13:73.04141: Display=801,471

00:00:13:73.04247: Function 02 called.
00:00:13:73.05185: Read 9/9 sectors from drive 00, start 1. Requested: Head: 0, Track: 0, Sector: 2. Start sector: 1, Destination: ES:BX=0800:00000000
00:00:13:73.06000: 0000:7E03 (CD13)INT 13
00:00:13:73.06003: Registers:
00:00:13:73.06011: AX: 0201, BX: 0000, CX: 0010, DX: 0100
00:00:13:73.06050: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:73.06058: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0000
00:00:13:73.06063: IP: 7E03, FLAGS: F202
00:00:13:73.06071: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:73.06090: Interrupt status: 0000000000000010
00:00:13:73.06106: VGA@573,429(CRT:600,15)
00:00:13:73.06110: Display=801,471

00:00:13:73.06197: Function 02 called.
00:00:13:73.06324: Read 1/1 sectors from drive 00, start 33. Requested: Head: 1, Track: 0, Sector: 16. Start sector: 33, Destination: ES:BX=0070:00000000
00:00:13:73.07316: 0000:7E03 (CD13)INT 13
00:00:13:73.07320: Registers:
00:00:13:73.07328: AX: 0201, BX: 0200, CX: 0011, DX: 0100
00:00:13:73.07335: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:73.07343: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0200
00:00:13:73.07418: IP: 7E03, FLAGS: F206
00:00:13:73.07427: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:73.07436: Interrupt status: 0000000000000010
00:00:13:73.07441: VGA@7,437(CRT:34,23)
00:00:13:73.07445: Display=801,471

00:00:13:73.07533: Function 02 called.
00:00:13:73.07650: Read 1/1 sectors from drive 00, start 34. Requested: Head: 1, Track: 0, Sector: 17. Start sector: 34, Destination: ES:BX=0070:00000200
00:00:13:73.08817: 0000:7E03 (CD13)INT 13
00:00:13:73.08821: Registers:
00:00:13:73.08830: AX: 0201, BX: 0400, CX: 0012, DX: 0100
00:00:13:73.08842: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:73.08850: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0400
00:00:13:73.08855: IP: 7E03, FLAGS: F206
00:00:13:73.08865: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:73.08877: Interrupt status: 0000000000000010
00:00:13:73.08882: VGA@318,444(CRT:345,30)
00:00:13:73.08886: Display=801,471

00:00:13:73.08980: Function 02 called.
00:00:13:73.09156: Read 1/1 sectors from drive 00, start 35. Requested: Head: 1, Track: 0, Sector: 18. Start sector: 35, Destination: ES:BX=0070:00000400
00:00:13:74.00169: 0000:7E03 (CD13)INT 13
00:00:13:74.00172: Registers:
00:00:13:74.00180: AX: 0201, BX: 0600, CX: 0101, DX: 0000
00:00:13:74.00188: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:74.00196: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0600
00:00:13:74.00201: IP: 7E03, FLAGS: F202
00:00:13:74.00209: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:74.00218: Interrupt status: 0000000000000010
00:00:13:74.00223: VGA@656,3(CRT:683,37)
00:00:13:74.00227: Display=801,471

00:00:13:74.00306: Function 02 called.
00:00:13:74.00421: Read 1/1 sectors from drive 00, start 36. Requested: Head: 0, Track: 1, Sector: 1. Start sector: 36, Destination: ES:BX=0070:00000600
00:00:13:74.01665: 0000:7E03 (CD13)INT 13
00:00:13:74.01669: Registers:
00:00:13:74.01677: AX: 0201, BX: 0800, CX: 0102, DX: 0000
00:00:13:74.01684: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:74.01692: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0800
00:00:13:74.01697: IP: 7E03, FLAGS: F202
00:00:13:74.01705: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:74.01715: Interrupt status: 0000000000000010
00:00:13:74.01720: VGA@76,11(CRT:103,45)
00:00:13:74.01724: Display=801,471

00:00:13:74.01806: Function 02 called.
00:00:13:74.01923: Read 1/1 sectors from drive 00, start 37. Requested: Head: 0, Track: 1, Sector: 2. Start sector: 37, Destination: ES:BX=0070:00000800
00:00:13:74.03017: 0000:7E03 (CD13)INT 13
00:00:13:74.03030: Registers:
00:00:13:74.03039: AX: 0201, BX: 0A00, CX: 0103, DX: 0000
00:00:13:74.03047: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:74.03055: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0A00
00:00:13:74.03068: IP: 7E03, FLAGS: F206
00:00:13:74.03077: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:74.03086: Interrupt status: 0000000000000010
00:00:13:74.03091: VGA@419,18(CRT:446,52)
00:00:13:74.03095: Display=801,471

00:00:13:74.03176: Function 02 called.
00:00:13:74.03294: Read 1/1 sectors from drive 00, start 38. Requested: Head: 0, Track: 1, Sector: 3. Start sector: 38, Destination: ES:BX=0070:00000A00
00:00:13:74.04485: 0000:7E03 (CD13)INT 13
00:00:13:74.04489: Registers:
00:00:13:74.04497: AX: 0201, BX: 0C00, CX: 0104, DX: 0000
00:00:13:74.04506: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:74.04519: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0C00
00:00:13:74.04525: IP: 7E03, FLAGS: F202
00:00:13:74.04533: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:74.04544: Interrupt status: 0000000000000010
00:00:13:74.04552: VGA@747,25(CRT:774,59)
00:00:13:74.04556: Display=801,471

00:00:13:74.04641: Function 02 called.
00:00:13:74.04757: Read 1/1 sectors from drive 00, start 39. Requested: Head: 0, Track: 1, Sector: 4. Start sector: 39, Destination: ES:BX=0070:00000C00
00:00:13:74.05941: 0000:7E03 (CD13)INT 13
00:00:13:74.05945: Registers:
00:00:13:74.05953: AX: 0201, BX: 0E00, CX: 0105, DX: 0000
00:00:13:74.05961: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:74.05969: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0E00
00:00:13:74.05974: IP: 7E03, FLAGS: F206
00:00:13:74.06065: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:74.06081: Interrupt status: 0000000000000010
00:00:13:74.06089: VGA@187,33(CRT:214,67)
00:00:13:74.06095: Display=801,471

00:00:13:74.06269: Function 02 called.
00:00:13:74.06465: Read 1/1 sectors from drive 00, start 40. Requested: Head: 0, Track: 1, Sector: 5. Start sector: 40, Destination: ES:BX=0070:00000E00
00:00:13:74.08082: 0000:7E03 (CD13)INT 13
00:00:13:74.08086: Registers:
00:00:13:74.08094: AX: 0201, BX: 1000, CX: 0106, DX: 0000
00:00:13:74.08102: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:74.08110: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1000
00:00:13:74.08115: IP: 7E03, FLAGS: F206
00:00:13:74.08124: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:74.08134: Interrupt status: 0000000000000010
00:00:13:74.08139: VGA@507,40(CRT:534,74)
00:00:13:74.08143: Display=801,471

00:00:13:74.08224: Function 02 called.
00:00:13:74.08377: Read 1/1 sectors from drive 00, start 41. Requested: Head: 0, Track: 1, Sector: 6. Start sector: 41, Destination: ES:BX=0070:00001000
00:00:13:74.09496: 0000:7E03 (CD13)INT 13
00:00:13:74.09500: Registers:
00:00:13:74.09508: AX: 0201, BX: 1200, CX: 0107, DX: 0000
00:00:13:74.09529: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:74.09538: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1200
00:00:13:74.09543: IP: 7E03, FLAGS: F202
00:00:13:74.09551: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:74.09570: Interrupt status: 0000000000000010
00:00:13:74.09575: VGA@850,48(CRT:0,82)
00:00:13:74.09579: Display=801,471

00:00:13:74.09664: Function 02 called.
00:00:13:74.09939: Read 1/1 sectors from drive 00, start 42. Requested: Head: 0, Track: 1, Sector: 7. Start sector: 42, Destination: ES:BX=0070:00001200
00:00:13:75.01006: 0000:7E03 (CD13)INT 13
00:00:13:75.01009: Registers:
00:00:13:75.01022: AX: 0201, BX: 1400, CX: 0108, DX: 0000
00:00:13:75.01063: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:75.01080: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1400
00:00:13:75.01085: IP: 7E03, FLAGS: F202
00:00:13:75.01093: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:75.01103: Interrupt status: 0000000000000010
00:00:13:75.01108: VGA@278,55(CRT:305,89)
00:00:13:75.01112: Display=801,471

00:00:13:75.01204: Function 02 called.
00:00:13:75.01324: Read 1/1 sectors from drive 00, start 43. Requested: Head: 0, Track: 1, Sector: 8. Start sector: 43, Destination: ES:BX=0070:00001400
00:00:13:75.02442: 0000:7E03 (CD13)INT 13
00:00:13:75.02446: Registers:
00:00:13:75.02453: AX: 0201, BX: 1600, CX: 0109, DX: 0000
00:00:13:75.02461: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:75.02469: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1600
00:00:13:75.02474: IP: 7E03, FLAGS: F206
00:00:13:75.02482: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:75.02491: Interrupt status: 0000000000000010
00:00:13:75.02497: VGA@625,62(CRT:652,96)
00:00:13:75.02500: Display=801,471

00:00:13:75.02615: Function 02 called.
00:00:13:75.02730: Read 1/1 sectors from drive 00, start 44. Requested: Head: 0, Track: 1, Sector: 9. Start sector: 44, Destination: ES:BX=0070:00001600
00:00:13:75.03761: 0000:7E03 (CD13)INT 13
00:00:13:75.03764: Registers:
00:00:13:75.03772: AX: 0201, BX: 1800, CX: 010A, DX: 0000
00:00:13:75.03780: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:75.03787: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1800
00:00:13:75.03792: IP: 7E03, FLAGS: F206
00:00:13:75.03800: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:75.03810: Interrupt status: 0000000000000010
00:00:13:75.03815: VGA@53,70(CRT:80,104)
00:00:13:75.03819: Display=801,471

00:00:13:75.03900: Function 02 called.
00:00:13:75.04015: Read 1/1 sectors from drive 00, start 45. Requested: Head: 0, Track: 1, Sector: 10. Start sector: 45, Destination: ES:BX=0070:00001800
00:00:13:75.05078: 0000:7E03 (CD13)INT 13
00:00:13:75.05081: Registers:
00:00:13:75.05089: AX: 0201, BX: 1A00, CX: 010B, DX: 0000
00:00:13:75.05097: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:75.05104: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1A00
00:00:13:75.05109: IP: 7E03, FLAGS: F202
00:00:13:75.05118: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:75.05127: Interrupt status: 0000000000000010
00:00:13:75.05144: VGA@405,77(CRT:432,111)
00:00:13:75.05147: Display=801,471

00:00:13:75.05229: Function 02 called.
00:00:13:75.05343: Read 1/1 sectors from drive 00, start 46. Requested: Head: 0, Track: 1, Sector: 11. Start sector: 46, Destination: ES:BX=0070:00001A00
00:00:13:75.06471: 0000:7E03 (CD13)INT 13
00:00:13:75.06474: Registers:
00:00:13:75.06482: AX: 0201, BX: 1C00, CX: 010C, DX: 0000
00:00:13:75.06490: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:75.06497: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1C00
00:00:13:75.06502: IP: 7E03, FLAGS: F206
00:00:13:75.06510: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:75.06525: Interrupt status: 0000000000000010
00:00:13:75.06539: VGA@742,84(CRT:769,118)
00:00:13:75.06543: Display=801,471

00:00:13:76.04886: Function 02 called.
00:00:13:76.05020: Read 1/1 sectors from drive 00, start 47. Requested: Head: 0, Track: 1, Sector: 12. Start sector: 47, Destination: ES:BX=0070:00001C00
00:00:13:76.06328: 0000:7E03 (CD13)INT 13
00:00:13:76.06331: Registers:
00:00:13:76.06339: AX: 0201, BX: 1E00, CX: 010D, DX: 0000
00:00:13:76.06346: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:76.06354: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1E00
00:00:13:76.06359: IP: 7E03, FLAGS: F202
00:00:13:76.06366: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:76.06376: Interrupt status: 0000000000000010
00:00:13:76.06381: VGA@185,92(CRT:212,126)
00:00:13:76.06385: Display=801,471

00:00:13:76.06466: Function 02 called.
00:00:13:76.06619: Read 1/1 sectors from drive 00, start 48. Requested: Head: 0, Track: 1, Sector: 13. Start sector: 48, Destination: ES:BX=0070:00001E00
00:00:13:76.07682: 0000:7E03 (CD13)INT 13
00:00:13:76.07685: Registers:
00:00:13:76.07693: AX: 0201, BX: 2000, CX: 010E, DX: 0000
00:00:13:76.07700: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:76.07708: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2000
00:00:13:76.07712: IP: 7E03, FLAGS: F202
00:00:13:76.07720: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:76.07730: Interrupt status: 0000000000000010
00:00:13:76.07735: VGA@505,99(CRT:532,133)
00:00:13:76.07739: Display=801,471

00:00:13:76.07817: Function 02 called.
00:00:13:76.07931: Read 1/1 sectors from drive 00, start 49. Requested: Head: 0, Track: 1, Sector: 14. Start sector: 49, Destination: ES:BX=0070:00002000
00:00:13:76.08991: 0000:7E03 (CD13)INT 13
00:00:13:76.08994: Registers:
00:00:13:76.09002: AX: 0201, BX: 2200, CX: 010F, DX: 0000
00:00:13:76.09010: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:76.09031: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2200
00:00:13:76.09036: IP: 7E03, FLAGS: F206
00:00:13:76.09045: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:76.09054: Interrupt status: 0000000000000010
00:00:13:76.09059: VGA@848,107(CRT:0,141)
00:00:13:76.09063: Display=801,471

00:00:13:76.09158: Function 02 called.
00:00:13:76.09271: Read 1/1 sectors from drive 00, start 50. Requested: Head: 0, Track: 1, Sector: 15. Start sector: 50, Destination: ES:BX=0070:00002200
00:00:13:77.00320: 0000:7E03 (CD13)INT 13
00:00:13:77.00323: Registers:
00:00:13:77.00331: AX: 0201, BX: 2400, CX: 0110, DX: 0000
00:00:13:77.00339: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:77.00346: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2400
00:00:13:77.00351: IP: 7E03, FLAGS: F202
00:00:13:77.00359: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:77.00368: Interrupt status: 0000000000000010
00:00:13:77.00374: VGA@276,114(CRT:303,148)
00:00:13:77.00377: Display=801,471

00:00:13:77.00457: Function 02 called.
00:00:13:77.00614: Read 1/1 sectors from drive 00, start 51. Requested: Head: 0, Track: 1, Sector: 16. Start sector: 51, Destination: ES:BX=0070:00002400
00:00:13:77.01901: 0000:7E03 (CD13)INT 13
00:00:13:77.01905: Registers:
00:00:13:77.01913: AX: 0201, BX: 2600, CX: 0111, DX: 0000
00:00:13:77.01921: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:77.01928: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2600
00:00:13:77.01933: IP: 7E03, FLAGS: F206
00:00:13:77.01942: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:77.01951: Interrupt status: 0000000000000010
00:00:13:77.01957: VGA@623,121(CRT:650,155)
00:00:13:77.01972: Display=801,471

00:00:13:77.02082: Function 02 called.
00:00:13:77.02344: Read 1/1 sectors from drive 00, start 52. Requested: Head: 0, Track: 1, Sector: 17. Start sector: 52, Destination: ES:BX=0070:00002600
00:00:13:77.03487: 0000:7E03 (CD13)INT 13
00:00:13:77.03491: Registers:
00:00:13:77.03499: AX: 0201, BX: 2800, CX: 0112, DX: 0000
00:00:13:77.03507: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:77.03516: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2800
00:00:13:77.03534: IP: 7E03, FLAGS: F206
00:00:13:77.03543: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:77.03553: Interrupt status: 0000000000000010
00:00:13:77.03558: VGA@42,129(CRT:69,163)
00:00:13:77.03562: Display=801,471

00:00:13:77.03662: Function 02 called.
00:00:13:77.03781: Read 1/1 sectors from drive 00, start 53. Requested: Head: 0, Track: 1, Sector: 18. Start sector: 53, Destination: ES:BX=0070:00002800
00:00:13:77.04843: 0000:7E03 (CD13)INT 13
00:00:13:77.04846: Registers:
00:00:13:77.04854: AX: 0201, BX: 2A00, CX: 0101, DX: 0100
00:00:13:77.04862: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:77.04870: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2A00
00:00:13:77.04874: IP: 7E03, FLAGS: F202
00:00:13:77.04883: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:77.04892: Interrupt status: 0000000000000010
00:00:13:77.04898: VGA@394,136(CRT:421,170)
00:00:13:77.04901: Display=801,471

00:00:13:77.04981: Function 02 called.
00:00:13:77.05122: Read 1/1 sectors from drive 00, start 54. Requested: Head: 1, Track: 1, Sector: 1. Start sector: 54, Destination: ES:BX=0070:00002A00
00:00:13:77.06287: 0000:7E03 (CD13)INT 13
00:00:13:77.06291: Registers:
00:00:13:77.06308: AX: 0201, BX: 2C00, CX: 0102, DX: 0100
00:00:13:77.06334: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:77.06353: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2C00
00:00:13:77.06358: IP: 7E03, FLAGS: F202
00:00:13:77.06367: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:77.06376: Interrupt status: 0000000000000010
00:00:13:77.06382: VGA@731,143(CRT:758,177)
00:00:13:77.06386: Display=801,471

00:00:13:77.06506: Function 02 called.
00:00:13:77.06667: Read 1/1 sectors from drive 00, start 55. Requested: Head: 1, Track: 1, Sector: 2. Start sector: 55, Destination: ES:BX=0070:00002C00
00:00:13:77.07790: 0000:7E03 (CD13)INT 13
00:00:13:77.07793: Registers:
00:00:13:77.07801: AX: 0201, BX: 2E00, CX: 0103, DX: 0100
00:00:13:77.07809: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:77.07816: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2E00
00:00:13:77.07821: IP: 7E03, FLAGS: F206
00:00:13:77.07829: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:77.07839: Interrupt status: 0000000000000010
00:00:13:77.07844: VGA@181,151(CRT:208,185)
00:00:13:77.07848: Display=801,471

00:00:13:77.07935: Function 02 called.
00:00:13:77.08068: Read 1/1 sectors from drive 00, start 56. Requested: Head: 1, Track: 1, Sector: 3. Start sector: 56, Destination: ES:BX=0070:00002E00
00:00:13:77.09218: 0000:7E03 (CD13)INT 13
00:00:13:77.09222: Registers:
00:00:13:77.09230: AX: 0201, BX: 3000, CX: 0104, DX: 0100
00:00:13:77.09237: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:77.09245: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3000
00:00:13:77.09250: IP: 7E03, FLAGS: F202
00:00:13:77.09258: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:77.09268: Interrupt status: 0000000000000010
00:00:13:77.09273: VGA@509,158(CRT:536,192)
00:00:13:77.09277: Display=801,471

00:00:13:77.09357: Function 02 called.
00:00:13:77.09476: Read 1/1 sectors from drive 00, start 57. Requested: Head: 1, Track: 1, Sector: 4. Start sector: 57, Destination: ES:BX=0070:00003000
00:00:13:78.00556: 0000:7E03 (CD13)INT 13
00:00:13:78.00559: Registers:
00:00:13:78.00567: AX: 0201, BX: 3200, CX: 0105, DX: 0100
00:00:13:78.00574: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:78.00582: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3200
00:00:13:78.00587: IP: 7E03, FLAGS: F206
00:00:13:78.00595: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:78.00605: Interrupt status: 0000000000000010
00:00:13:78.00610: VGA@861,166(CRT:0,200)
00:00:13:78.00614: Display=801,471

00:00:13:78.00744: Function 02 called.
00:00:13:78.00859: Read 1/1 sectors from drive 00, start 58. Requested: Head: 1, Track: 1, Sector: 5. Start sector: 58, Destination: ES:BX=0070:00003200
00:00:13:78.02117: 0000:7E03 (CD13)INT 13
00:00:13:78.02120: Registers:
00:00:13:78.02128: AX: 0201, BX: 3400, CX: 0106, DX: 0100
00:00:13:78.02136: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:78.02143: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3400
00:00:13:78.02148: IP: 7E03, FLAGS: F206
00:00:13:78.02156: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:78.02166: Interrupt status: 0000000000000010
00:00:13:78.02171: VGA@298,173(CRT:325,207)
00:00:13:78.02175: Display=801,471

00:00:13:78.02259: Function 02 called.
00:00:13:78.02375: Read 1/1 sectors from drive 00, start 59. Requested: Head: 1, Track: 1, Sector: 6. Start sector: 59, Destination: ES:BX=0070:00003400
00:00:13:78.03455: 0000:7E03 (CD13)INT 13
00:00:13:78.03458: Registers:
00:00:13:78.03466: AX: 0201, BX: 3600, CX: 0107, DX: 0100
00:00:13:78.03474: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:78.03482: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3600
00:00:13:78.03486: IP: 7E03, FLAGS: F202
00:00:13:78.03495: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:78.03504: Interrupt status: 0000000000000010
00:00:13:78.03510: VGA@653,180(CRT:680,214)
00:00:13:78.03513: Display=801,471

00:00:13:78.03599: Function 02 called.
00:00:13:78.03713: Read 1/1 sectors from drive 00, start 60. Requested: Head: 1, Track: 1, Sector: 7. Start sector: 60, Destination: ES:BX=0070:00003600
00:00:13:78.04788: 0000:7E03 (CD13)INT 13
00:00:13:78.04792: Registers:
00:00:13:78.04800: AX: 0201, BX: 3800, CX: 0108, DX: 0100
00:00:13:78.04807: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:78.04815: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3800
00:00:13:78.04819: IP: 7E03, FLAGS: F202
00:00:13:78.04828: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:78.04837: Interrupt status: 0000000000000010
00:00:13:78.04843: VGA@91,188(CRT:118,222)
00:00:13:78.04846: Display=801,471

00:00:13:78.04928: Function 02 called.
00:00:13:78.05048: Read 1/1 sectors from drive 00, start 61. Requested: Head: 1, Track: 1, Sector: 8. Start sector: 61, Destination: ES:BX=0070:00003800
00:00:13:78.06142: 0000:7E03 (CD13)INT 13
00:00:13:78.06146: Registers:
00:00:13:78.06154: AX: 0201, BX: 3A00, CX: 0109, DX: 0100
00:00:13:78.06161: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:78.06169: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3A00
00:00:13:78.06174: IP: 7E03, FLAGS: F206
00:00:13:78.06182: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:78.06192: Interrupt status: 0000000000000010
00:00:13:78.06197: VGA@452,195(CRT:479,229)
00:00:13:78.06201: Display=801,471

00:00:13:78.06280: Function 02 called.
00:00:13:78.06393: Read 1/1 sectors from drive 00, start 62. Requested: Head: 1, Track: 1, Sector: 9. Start sector: 62, Destination: ES:BX=0070:00003A00
00:00:13:78.07539: 0000:7E03 (CD13)INT 13
00:00:13:78.07554: Registers:
00:00:13:78.07562: AX: 0201, BX: 3C00, CX: 010A, DX: 0100
00:00:13:78.07569: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:78.07586: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3C00
00:00:13:78.07591: IP: 7E03, FLAGS: F206
00:00:13:78.07599: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:78.07609: Interrupt status: 0000000000000010
00:00:13:78.07614: VGA@798,203(CRT:0,237)
00:00:13:78.07618: Display=801,471

00:00:13:78.07705: Function 02 called.
00:00:13:78.07819: Read 1/1 sectors from drive 00, start 63. Requested: Head: 1, Track: 1, Sector: 10. Start sector: 63, Destination: ES:BX=0070:00003C00
00:00:13:78.08931: 0000:7E03 (CD13)INT 13
00:00:13:78.08935: Registers:
00:00:13:78.08943: AX: 0201, BX: 3E00, CX: 010B, DX: 0100
00:00:13:78.08950: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:78.08958: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3E00
00:00:13:78.08963: IP: 7E03, FLAGS: F202
00:00:13:78.08971: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:78.08981: Interrupt status: 0000000000000010
00:00:13:78.08986: VGA@241,210(CRT:268,244)
00:00:13:78.08990: Display=801,471

00:00:13:78.09103: Function 02 called.
00:00:13:78.09218: Read 1/1 sectors from drive 00, start 64. Requested: Head: 1, Track: 1, Sector: 11. Start sector: 64, Destination: ES:BX=0070:00003E00
00:00:13:79.00337: 0000:7E03 (CD13)INT 13
00:00:13:79.00341: Registers:
00:00:13:79.00349: AX: 0201, BX: 4000, CX: 010C, DX: 0100
00:00:13:79.00356: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:79.00364: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4000
00:00:13:79.00369: IP: 7E03, FLAGS: F206
00:00:13:79.00377: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:79.00386: Interrupt status: 0000000000000010
00:00:13:79.00392: VGA@557,217(CRT:584,251)
00:00:13:79.00396: Display=801,471

00:00:13:79.00500: Function 02 called.
00:00:13:79.00712: Read 1/1 sectors from drive 00, start 65. Requested: Head: 1, Track: 1, Sector: 12. Start sector: 65, Destination: ES:BX=0070:00004000
00:00:13:80.00642: 0000:7E03 (CD13)INT 13
00:00:13:80.00646: Registers:
00:00:13:80.00654: AX: 0201, BX: 4200, CX: 010D, DX: 0100
00:00:13:80.00662: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:80.00669: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4200
00:00:13:80.00674: IP: 7E03, FLAGS: F202
00:00:13:80.00683: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:80.00692: Interrupt status: 0000000000000010
00:00:13:80.00697: VGA@898,225(CRT:25,259)
00:00:13:80.00701: Display=801,471

00:00:13:80.00785: Function 02 called.
00:00:13:80.00927: Read 1/1 sectors from drive 00, start 66. Requested: Head: 1, Track: 1, Sector: 13. Start sector: 66, Destination: ES:BX=0070:00004200
00:00:13:80.02112: 0000:7E03 (CD13)INT 13
00:00:13:80.02125: Registers:
00:00:13:80.02133: AX: 0201, BX: 4400, CX: 010E, DX: 0100
00:00:13:80.02151: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:80.02168: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4400
00:00:13:80.02173: IP: 7E03, FLAGS: F202
00:00:13:80.02181: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:80.02191: Interrupt status: 0000000000000010
00:00:13:80.02197: VGA@323,232(CRT:350,266)
00:00:13:80.02201: Display=801,471

00:00:13:80.02304: Function 02 called.
00:00:13:80.02462: Read 1/1 sectors from drive 00, start 67. Requested: Head: 1, Track: 1, Sector: 14. Start sector: 67, Destination: ES:BX=0070:00004400
00:00:13:80.03587: 0000:7E03 (CD13)INT 13
00:00:13:80.03590: Registers:
00:00:13:80.03598: AX: 0201, BX: 4600, CX: 010F, DX: 0100
00:00:13:80.03606: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:80.03614: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4600
00:00:13:80.03619: IP: 7E03, FLAGS: F206
00:00:13:80.03627: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:80.03637: Interrupt status: 0000000000000010
00:00:13:80.03643: VGA@666,239(CRT:693,273)
00:00:13:80.03647: Display=801,471

00:00:13:80.03728: Function 02 called.
00:00:13:80.03845: Read 1/1 sectors from drive 00, start 68. Requested: Head: 1, Track: 1, Sector: 15. Start sector: 68, Destination: ES:BX=0070:00004600
00:00:13:80.04885: 0000:7E03 (CD13)INT 13
00:00:13:80.04888: Registers:
00:00:13:80.04896: AX: 0201, BX: 4800, CX: 0110, DX: 0100
00:00:13:80.04904: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:80.04912: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4800
00:00:13:80.04917: IP: 7E03, FLAGS: F202
00:00:13:80.04925: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:80.04935: Interrupt status: 0000000000000010
00:00:13:80.04941: VGA@92,247(CRT:119,281)
00:00:13:80.04944: Display=801,471

00:00:13:80.05031: Function 02 called.
00:00:13:80.05147: Read 1/1 sectors from drive 00, start 69. Requested: Head: 1, Track: 1, Sector: 16. Start sector: 69, Destination: ES:BX=0070:00004800
00:00:13:80.06192: 0000:7E03 (CD13)INT 13
00:00:13:80.06195: Registers:
00:00:13:80.06203: AX: 0201, BX: 4A00, CX: 0111, DX: 0100
00:00:13:80.06211: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:80.06219: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4A00
00:00:13:80.06224: IP: 7E03, FLAGS: F206
00:00:13:80.06232: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:80.06242: Interrupt status: 0000000000000010
00:00:13:80.06247: VGA@441,254(CRT:468,288)
00:00:13:80.06252: Display=801,471

00:00:13:80.06340: Function 02 called.
00:00:13:80.06463: Read 1/1 sectors from drive 00, start 70. Requested: Head: 1, Track: 1, Sector: 17. Start sector: 70, Destination: ES:BX=0070:00004A00
00:00:13:80.07589: 0000:7E03 (CD13)INT 13
00:00:13:80.07594: Registers:
00:00:13:80.07602: AX: 0201, BX: 4C00, CX: 0112, DX: 0100
00:00:13:80.07610: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:80.07618: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4C00
00:00:13:80.07622: IP: 7E03, FLAGS: F206
00:00:13:80.07631: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:80.07641: Interrupt status: 0000000000000010
00:00:13:80.07646: VGA@766,261(CRT:793,295)
00:00:13:80.07650: Display=801,471

00:00:13:80.07733: Function 02 called.
00:00:13:80.07871: Read 1/1 sectors from drive 00, start 71. Requested: Head: 1, Track: 1, Sector: 18. Start sector: 71, Destination: ES:BX=0070:00004C00
00:00:13:80.08938: 0000:7E03 (CD13)INT 13
00:00:13:80.08941: Registers:
00:00:13:80.08949: AX: 0201, BX: 4E00, CX: 0201, DX: 0000
00:00:13:80.08956: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:80.08964: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4E00
00:00:13:80.08969: IP: 7E03, FLAGS: F202
00:00:13:80.08977: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:80.08987: Interrupt status: 0000000000000010
00:00:13:80.08992: VGA@212,269(CRT:239,303)
00:00:13:80.08996: Display=801,471

00:00:13:80.09079: Function 02 called.
00:00:13:80.09191: Read 1/1 sectors from drive 00, start 72. Requested: Head: 0, Track: 2, Sector: 1. Start sector: 72, Destination: ES:BX=0070:00004E00
00:00:13:81.00230: 0000:7E03 (CD13)INT 13
00:00:13:81.00233: Registers:
00:00:13:81.00241: AX: 0201, BX: 5000, CX: 0202, DX: 0000
00:00:13:81.00249: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.00256: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5000
00:00:13:81.00261: IP: 7E03, FLAGS: F202
00:00:13:81.00270: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:81.00279: Interrupt status: 0000000000000010
00:00:13:81.00284: VGA@538,276(CRT:565,310)
00:00:13:81.00288: Display=801,471

00:00:13:81.00393: Function 02 called.
00:00:13:81.00508: Read 1/1 sectors from drive 00, start 73. Requested: Head: 0, Track: 2, Sector: 2. Start sector: 73, Destination: ES:BX=0070:00005000
00:00:13:81.01571: 0000:7E03 (CD13)INT 13
00:00:13:81.01575: Registers:
00:00:13:81.01583: AX: 0201, BX: 5200, CX: 0203, DX: 0000
00:00:13:81.01590: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.01598: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5200
00:00:13:81.01603: IP: 7E03, FLAGS: F206
00:00:13:81.01611: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:81.01621: Interrupt status: 0000000000000010
00:00:13:81.01626: VGA@887,284(CRT:14,318)
00:00:13:81.01630: Display=801,471

00:00:13:81.01712: Function 02 called.
00:00:13:81.01824: Read 1/1 sectors from drive 00, start 74. Requested: Head: 0, Track: 2, Sector: 3. Start sector: 74, Destination: ES:BX=0070:00005200
00:00:13:81.02866: 0000:7E03 (CD13)INT 13
00:00:13:81.02869: Registers:
00:00:13:81.02877: AX: 0201, BX: 5400, CX: 0204, DX: 0000
00:00:13:81.02885: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.02893: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5400
00:00:13:81.02898: IP: 7E03, FLAGS: F202
00:00:13:81.02906: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:81.02916: Interrupt status: 0000000000000010
00:00:13:81.02921: VGA@321,291(CRT:348,325)
00:00:13:81.02925: Display=801,471

00:00:13:81.03005: Function 02 called.
00:00:13:81.03116: Read 1/1 sectors from drive 00, start 75. Requested: Head: 0, Track: 2, Sector: 4. Start sector: 75, Destination: ES:BX=0070:00005400
00:00:13:81.04176: 0000:7E03 (CD13)INT 13
00:00:13:81.04179: Registers:
00:00:13:81.04187: AX: 0201, BX: 5600, CX: 0205, DX: 0000
00:00:13:81.04195: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.04202: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5600
00:00:13:81.04207: IP: 7E03, FLAGS: F206
00:00:13:81.04215: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:81.04225: Interrupt status: 0000000000000010
00:00:13:81.04230: VGA@673,298(CRT:700,332)
00:00:13:81.04234: Display=801,471

00:00:13:81.04313: Function 02 called.
00:00:13:81.04426: Read 1/1 sectors from drive 00, start 76. Requested: Head: 0, Track: 2, Sector: 5. Start sector: 76, Destination: ES:BX=0070:00005600
00:00:13:81.05498: 0000:7E03 (CD13)INT 13
00:00:13:81.05501: Registers:
00:00:13:81.05509: AX: 0201, BX: 5800, CX: 0206, DX: 0000
00:00:13:81.05517: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.05524: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5800
00:00:13:81.05529: IP: 7E03, FLAGS: F206
00:00:13:81.05537: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:81.05547: Interrupt status: 0000000000000010
00:00:13:81.05552: VGA@107,306(CRT:134,340)
00:00:13:81.05556: Display=801,471

00:00:13:81.05642: Function 02 called.
00:00:13:81.05753: Read 1/1 sectors from drive 00, start 77. Requested: Head: 0, Track: 2, Sector: 6. Start sector: 77, Destination: ES:BX=0070:00005800
00:00:13:81.06837: 0000:7E03 (CD13)INT 13
00:00:13:81.06841: Registers:
00:00:13:81.06849: AX: 0201, BX: 5A00, CX: 0207, DX: 0000
00:00:13:81.06867: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.06875: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5A00
00:00:13:81.06879: IP: 7E03, FLAGS: F202
00:00:13:81.06888: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:81.06897: Interrupt status: 0000000000000010
00:00:13:81.06902: VGA@465,313(CRT:492,347)
00:00:13:81.06906: Display=801,471

00:00:13:81.06988: Function 02 called.
00:00:13:81.07102: Read 1/1 sectors from drive 00, start 78. Requested: Head: 0, Track: 2, Sector: 7. Start sector: 78, Destination: ES:BX=0070:00005A00
00:00:13:81.08176: 0000:7E03 (CD13)INT 13
00:00:13:81.08179: Registers:
00:00:13:81.08187: AX: 0201, BX: 5C00, CX: 0208, DX: 0000
00:00:13:81.08195: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.08202: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5C00
00:00:13:81.08207: IP: 7E03, FLAGS: F202
00:00:13:81.08216: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:81.08225: Interrupt status: 0000000000000010
00:00:13:81.08230: VGA@809,321(CRT:0,355)
00:00:13:81.08234: Display=801,471

00:00:13:81.08317: Function 02 called.
00:00:13:81.08445: Read 1/1 sectors from drive 00, start 79. Requested: Head: 0, Track: 2, Sector: 8. Start sector: 79, Destination: ES:BX=0070:00005C00
00:00:13:81.09512: 0000:7E03 (CD13)INT 13
00:00:13:81.09515: Registers:
00:00:13:81.09523: AX: 0201, BX: 5E00, CX: 0209, DX: 0000
00:00:13:81.09531: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.09539: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5E00
00:00:13:81.09543: IP: 7E03, FLAGS: F206
00:00:13:81.09552: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:81.09561: Interrupt status: 0000000000000010
00:00:13:81.09566: VGA@258,328(CRT:285,362)
00:00:13:81.09570: Display=801,471

00:00:13:81.09651: Function 02 called.
00:00:13:81.09763: Read 1/1 sectors from drive 00, start 80. Requested: Head: 0, Track: 2, Sector: 9. Start sector: 80, Destination: ES:BX=0070:00005E00
00:00:13:82.00783: 0000:7E03 (CD13)INT 13
00:00:13:82.00786: Registers:
00:00:13:82.00794: AX: 0201, BX: 6000, CX: 020A, DX: 0000
00:00:13:82.00802: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.00810: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 6000
00:00:13:82.00815: IP: 7E03, FLAGS: F206
00:00:13:82.00823: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:82.00834: Interrupt status: 0000000000000010
00:00:13:82.00849: VGA@583,335(CRT:610,369)
00:00:13:82.00853: Display=801,471

00:00:13:82.00946: Function 02 called.
00:00:13:82.01059: Read 1/1 sectors from drive 00, start 81. Requested: Head: 0, Track: 2, Sector: 10. Start sector: 81, Destination: ES:BX=0070:00006000
00:00:13:82.02079: 0000:7E03 (CD13)INT 13
00:00:13:82.02082: Registers:
00:00:13:82.02090: AX: 0201, BX: 6200, CX: 020B, DX: 0000
00:00:13:82.02098: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.02106: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 6200
00:00:13:82.02111: IP: 7E03, FLAGS: F202
00:00:13:82.02119: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:82.02128: Interrupt status: 0000000000000010
00:00:13:82.02133: VGA@32,343(CRT:59,377)
00:00:13:82.02137: Display=801,471

00:00:13:82.02219: Function 02 called.
00:00:13:82.02331: Read 1/1 sectors from drive 00, start 82. Requested: Head: 0, Track: 2, Sector: 11. Start sector: 82, Destination: ES:BX=0070:00006200
00:00:13:82.03391: 0000:7E03 (CD13)INT 13
00:00:13:82.03431: Registers:
00:00:13:82.03439: AX: 0201, BX: 6400, CX: 020C, DX: 0000
00:00:13:82.03446: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.03454: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 6400
00:00:13:82.03459: IP: 7E03, FLAGS: F206
00:00:13:82.03467: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:82.03476: Interrupt status: 0000000000000010
00:00:13:82.03481: VGA@366,350(CRT:393,384)
00:00:13:82.03485: Display=801,471

00:00:13:82.03570: Function 02 called.
00:00:13:82.03683: Read 1/1 sectors from drive 00, start 83. Requested: Head: 0, Track: 2, Sector: 12. Start sector: 83, Destination: ES:BX=0070:00006400
00:00:14:33.02244: 0070:3506 (CD11)INT 11
00:00:14:33.02248: Registers:
00:00:14:33.02255: AX: F000, BX: 0021, CX: F000, DX: 0000
00:00:14:33.02263: CS: 0070, DS: 0000, ES: 0070, SS: 0000
00:00:14:33.02270: SP: 7BE0, BP: 7BE2, SI: 74E2, DI: 72D4
00:00:14:33.02275: IP: 3506, FLAGS: F256
00:00:14:33.02283: FLAGSINFO:c1P0A0ZstIdo1111
00:00:14:33.02293: Interrupt status: 0000000000000010
00:00:14:33.02298: VGA@188,260(CRT:215,294)
00:00:14:33.02302: Display=801,446

00:00:14:33.02640: 0070:353E (CD15)INT 15
00:00:14:33.02643: Registers:
00:00:14:33.02650: AX: C000, BX: 0021, CX: F002, DX: 0000
00:00:14:33.02658: CS: 0070, DS: 0000, ES: 0070, SS: 0000
00:00:14:33.02665: SP: 06FC, BP: 7BE2, SI: 74E2, DI: 72D4
00:00:14:33.02670: IP: 353E, FLAGS: F246
00:00:14:33.02678: FLAGSINFO:c1P0a0ZstIdo1111
00:00:14:33.02687: Interrupt status: 0000000000000010
00:00:14:33.02692: VGA@796,262(CRT:0,296)
00:00:14:33.02696: Display=801,446

So the int 15h interrupt handler has an error?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 11 of 14, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've managed to fix the interrupt 15 handler: It was changing and returning from the callback, which is wrapped in a zero-callback(INT 15h->CALL start->CALLBACK;RETF;IRET). I've modified the default callback structure to handle the callback normally, but instead of the final IRET, it will now execute an RETF 2 instruction. This seems to make the code continue properly(so it still executed the IRET after returning from the zero callback).

This is the new log:

00:00:13:76.05228: 0000:7C6E (CD13)INT 13
00:00:13:76.05448: Registers:
00:00:13:76.05456: AX: 0000, BX: 0078, CX: 0000, DX: 0000
00:00:13:76.05464: CS: 0000, DS: 0000, ES: 0000, SS: 0000
00:00:13:76.05472: SP: 7BF8, BP: 0000, SI: 014B, DI: 7C36
00:00:13:76.05477: IP: 7C6E, FLAGS: F246
00:00:13:76.05485: FLAGSINFO:c1P0a0ZstIdo1111
00:00:13:76.05494: Interrupt status: 0000000000000010
00:00:13:76.05499: VGA@379,351(CRT:406,410)
00:00:13:76.05503: Display=712,446

00:00:13:76.05612: Function 00 called.
00:00:13:77.04461: 0000:7D74 (CD13)INT 13
00:00:13:77.04465: Registers:
00:00:13:77.04473: AX: 0201, BX: 0500, CX: 0002, DX: 0100
00:00:13:77.04480: CS: 0000, DS: 0000, ES: 0000, SS: 0000
00:00:13:77.04488: SP: 7BF4, BP: 0000, SI: 014B, DI: 7C36
00:00:13:77.04493: IP: 7D74, FLAGS: F202
00:00:13:77.04501: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:77.04510: Interrupt status: 0000000000000010
00:00:13:77.04515: VGA@715,356(CRT:742,415)
00:00:13:77.04519: Display=712,446

00:00:13:77.04619: Function 02 called.
00:00:13:77.04776: Read 1/1 sectors from drive 00, start 19. Requested: Head: 1, Track: 0, Sector: 2. Start sector: 19, Destination: ES:BX=0000:00000500
00:00:13:77.05478: 0000:7D74 (CD13)INT 13
00:00:13:77.05482: Registers:
00:00:13:77.05489: AX: 0201, BX: 0700, CX: 0010, DX: 0100
00:00:13:77.05497: CS: 0000, DS: 0000, ES: 0000, SS: 0000
00:00:13:77.05504: SP: 7BF4, BP: 0000, SI: 7DF6, DI: 052B
00:00:13:77.05509: IP: 7D74, FLAGS: F202
00:00:13:77.05517: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:77.05526: Interrupt status: 0000000000000010
00:00:13:77.05532: VGA@358,362(CRT:385,421)
00:00:13:77.05535: Display=712,446

00:00:13:77.05677: Function 02 called.
00:00:13:77.05824: Read 1/1 sectors from drive 00, start 33. Requested: Head: 1, Track: 0, Sector: 16. Start sector: 33, Destination: ES:BX=0000:00000700
00:00:13:77.06298: 0000:7D74 (CD13)INT 13
00:00:13:77.06302: Registers:
00:00:13:77.06309: AX: 0201, BX: 0900, CX: 0011, DX: 0100
00:00:13:77.06317: CS: 0000, DS: 0000, ES: 0000, SS: 0000
00:00:13:77.06324: SP: 7BF4, BP: 0000, SI: 7DF6, DI: 052B
00:00:13:77.06329: IP: 7D74, FLAGS: F206
00:00:13:77.06337: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:77.06346: Interrupt status: 0000000000000010
00:00:13:77.06351: VGA@846,365(CRT:0,424)
00:00:13:77.06355: Display=712,446

00:00:13:77.06438: Function 02 called.
00:00:13:77.06549: Read 1/1 sectors from drive 00, start 34. Requested: Head: 1, Track: 0, Sector: 17. Start sector: 34, Destination: ES:BX=0000:00000900
00:00:13:78.06002: 0000:7E03 (CD13)INT 13
00:00:13:78.06006: Registers:
00:00:13:78.06014: AX: 0209, BX: 0000, CX: 0002, DX: 0000
00:00:13:78.06022: CS: 0000, DS: 0000, ES: 0800, SS: 0000
00:00:13:78.06029: SP: 7BDA, BP: 7BE2, SI: 0009, DI: 0000
00:00:13:78.06034: IP: 7E03, FLAGS: F202
00:00:13:78.06042: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:78.06051: Interrupt status: 0000000000000010
00:00:13:78.06056: VGA@739,414(CRT:766,0)
Show last 701 lines
00:00:13:78.06060: Display=801,471

00:00:13:78.06160: Function 02 called.
00:00:13:78.06802: Read 9/9 sectors from drive 00, start 1. Requested: Head: 0, Track: 0, Sector: 2. Start sector: 1, Destination: ES:BX=0800:00000000
00:00:13:78.07493: 0000:7E03 (CD13)INT 13
00:00:13:78.07496: Registers:
00:00:13:78.07504: AX: 0201, BX: 0000, CX: 0010, DX: 0100
00:00:13:78.07511: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:78.07519: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0000
00:00:13:78.07523: IP: 7E03, FLAGS: F202
00:00:13:78.07532: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:78.07541: Interrupt status: 0000000000000010
00:00:13:78.07546: VGA@357,420(CRT:384,6)
00:00:13:78.07549: Display=801,471

00:00:13:78.07620: Function 02 called.
00:00:13:78.07732: Read 1/1 sectors from drive 00, start 33. Requested: Head: 1, Track: 0, Sector: 16. Start sector: 33, Destination: ES:BX=0070:00000000
00:00:13:78.08697: 0000:7E03 (CD13)INT 13
00:00:13:78.08700: Registers:
00:00:13:78.08708: AX: 0201, BX: 0200, CX: 0011, DX: 0100
00:00:13:78.08716: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:78.08724: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0200
00:00:13:78.08793: IP: 7E03, FLAGS: F206
00:00:13:78.08801: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:78.08810: Interrupt status: 0000000000000010
00:00:13:78.08816: VGA@692,427(CRT:719,13)
00:00:13:78.08819: Display=801,471

00:00:13:78.08900: Function 02 called.
00:00:13:78.09016: Read 1/1 sectors from drive 00, start 34. Requested: Head: 1, Track: 0, Sector: 17. Start sector: 34, Destination: ES:BX=0070:00000200
00:00:13:78.09906: 0000:7E03 (CD13)INT 13
00:00:13:78.09910: Registers:
00:00:13:78.09918: AX: 0201, BX: 0400, CX: 0012, DX: 0100
00:00:13:78.09925: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:78.09933: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0400
00:00:13:78.09938: IP: 7E03, FLAGS: F206
00:00:13:78.09946: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:78.09956: Interrupt status: 0000000000000010
00:00:13:78.09961: VGA@102,435(CRT:129,21)
00:00:13:78.09965: Display=801,471

00:00:13:79.00036: Function 02 called.
00:00:13:79.00177: Read 1/1 sectors from drive 00, start 35. Requested: Head: 1, Track: 0, Sector: 18. Start sector: 35, Destination: ES:BX=0070:00000400
00:00:13:79.01150: 0000:7E03 (CD13)INT 13
00:00:13:79.01154: Registers:
00:00:13:79.01162: AX: 0201, BX: 0600, CX: 0101, DX: 0000
00:00:13:79.01169: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:79.01177: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0600
00:00:13:79.01182: IP: 7E03, FLAGS: F202
00:00:13:79.01190: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:79.01200: Interrupt status: 0000000000000010
00:00:13:79.01205: VGA@439,442(CRT:466,28)
00:00:13:79.01209: Display=801,471

00:00:13:79.01283: Function 02 called.
00:00:13:79.01396: Read 1/1 sectors from drive 00, start 36. Requested: Head: 0, Track: 1, Sector: 1. Start sector: 36, Destination: ES:BX=0070:00000600
00:00:13:79.02335: 0000:7E03 (CD13)INT 13
00:00:13:79.02339: Registers:
00:00:13:79.02346: AX: 0201, BX: 0800, CX: 0102, DX: 0000
00:00:13:79.02354: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:79.02362: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0800
00:00:13:79.02367: IP: 7E03, FLAGS: F202
00:00:13:79.02375: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:79.02385: Interrupt status: 0000000000000010
00:00:13:79.02389: VGA@760,1(CRT:787,35)
00:00:13:79.02393: Display=801,471

00:00:13:79.02474: Function 02 called.
00:00:13:79.02587: Read 1/1 sectors from drive 00, start 37. Requested: Head: 0, Track: 1, Sector: 2. Start sector: 37, Destination: ES:BX=0070:00000800
00:00:13:79.03616: 0000:7E03 (CD13)INT 13
00:00:13:79.03620: Registers:
00:00:13:79.03628: AX: 0201, BX: 0A00, CX: 0103, DX: 0000
00:00:13:79.03635: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:79.03643: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0A00
00:00:13:79.03648: IP: 7E03, FLAGS: F206
00:00:13:79.03656: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:79.03666: Interrupt status: 0000000000000010
00:00:13:79.03670: VGA@203,9(CRT:230,43)
00:00:13:79.03674: Display=801,471

00:00:13:79.03754: Function 02 called.
00:00:13:79.03867: Read 1/1 sectors from drive 00, start 38. Requested: Head: 0, Track: 1, Sector: 3. Start sector: 38, Destination: ES:BX=0070:00000A00
00:00:13:79.04847: 0000:7E03 (CD13)INT 13
00:00:13:79.04850: Registers:
00:00:13:79.04858: AX: 0201, BX: 0C00, CX: 0104, DX: 0000
00:00:13:79.04866: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:79.04873: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0C00
00:00:13:79.04878: IP: 7E03, FLAGS: F202
00:00:13:79.04886: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:79.04896: Interrupt status: 0000000000000010
00:00:13:79.04901: VGA@531,16(CRT:558,50)
00:00:13:79.04905: Display=801,471

00:00:13:79.04980: Function 02 called.
00:00:13:79.05092: Read 1/1 sectors from drive 00, start 39. Requested: Head: 0, Track: 1, Sector: 4. Start sector: 39, Destination: ES:BX=0070:00000C00
00:00:13:79.06073: 0000:7E03 (CD13)INT 13
00:00:13:79.06077: Registers:
00:00:13:79.06085: AX: 0201, BX: 0E00, CX: 0105, DX: 0000
00:00:13:79.06092: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:79.06100: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 0E00
00:00:13:79.06106: IP: 7E03, FLAGS: F206
00:00:13:79.06135: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:79.06144: Interrupt status: 0000000000000010
00:00:13:79.06149: VGA@872,24(CRT:0,58)
00:00:13:79.06153: Display=801,471

00:00:13:79.06240: Function 02 called.
00:00:13:79.06354: Read 1/1 sectors from drive 00, start 40. Requested: Head: 0, Track: 1, Sector: 5. Start sector: 40, Destination: ES:BX=0070:00000E00
00:00:13:79.07387: 0000:7E03 (CD13)INT 13
00:00:13:79.07390: Registers:
00:00:13:79.07398: AX: 0201, BX: 1000, CX: 0106, DX: 0000
00:00:13:79.07406: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:79.07414: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1000
00:00:13:79.07419: IP: 7E03, FLAGS: F206
00:00:13:79.07427: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:79.07436: Interrupt status: 0000000000000010
00:00:13:79.07441: VGA@291,31(CRT:318,65)
00:00:13:79.07445: Display=801,471

00:00:13:79.07523: Function 02 called.
00:00:13:79.07637: Read 1/1 sectors from drive 00, start 41. Requested: Head: 0, Track: 1, Sector: 6. Start sector: 41, Destination: ES:BX=0070:00001000
00:00:13:79.08619: 0000:7E03 (CD13)INT 13
00:00:13:79.08622: Registers:
00:00:13:79.08630: AX: 0201, BX: 1200, CX: 0107, DX: 0000
00:00:13:79.08638: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:79.08646: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1200
00:00:13:79.08650: IP: 7E03, FLAGS: F202
00:00:13:79.08659: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:79.08668: Interrupt status: 0000000000000010
00:00:13:79.08673: VGA@634,38(CRT:661,72)
00:00:13:79.08685: Display=801,471

00:00:13:79.08762: Function 02 called.
00:00:13:79.08871: Read 1/1 sectors from drive 00, start 42. Requested: Head: 0, Track: 1, Sector: 7. Start sector: 42, Destination: ES:BX=0070:00001200
00:00:13:80.08303: 0000:7E03 (CD13)INT 13
00:00:13:80.08307: Registers:
00:00:13:80.08315: AX: 0201, BX: 1400, CX: 0108, DX: 0000
00:00:13:80.08323: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:80.08330: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1400
00:00:13:80.08335: IP: 7E03, FLAGS: F202
00:00:13:80.08343: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:80.08352: Interrupt status: 0000000000000010
00:00:13:80.08357: VGA@63,46(CRT:90,80)
00:00:13:80.08361: Display=801,471

00:00:13:80.08448: Function 02 called.
00:00:13:80.08588: Read 1/1 sectors from drive 00, start 43. Requested: Head: 0, Track: 1, Sector: 8. Start sector: 43, Destination: ES:BX=0070:00001400
00:00:13:80.09596: 0000:7E03 (CD13)INT 13
00:00:13:80.09599: Registers:
00:00:13:80.09607: AX: 0201, BX: 1600, CX: 0109, DX: 0000
00:00:13:80.09615: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:80.09622: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1600
00:00:13:80.09627: IP: 7E03, FLAGS: F206
00:00:13:80.09635: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:80.09644: Interrupt status: 0000000000000010
00:00:13:80.09649: VGA@409,53(CRT:436,87)
00:00:13:80.09653: Display=801,471

00:00:13:80.09728: Function 02 called.
00:00:13:80.09841: Read 1/1 sectors from drive 00, start 44. Requested: Head: 0, Track: 1, Sector: 9. Start sector: 44, Destination: ES:BX=0070:00001600
00:00:13:81.00881: 0000:7E03 (CD13)INT 13
00:00:13:81.00884: Registers:
00:00:13:81.00892: AX: 0201, BX: 1800, CX: 010A, DX: 0000
00:00:13:81.00900: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.00907: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1800
00:00:13:81.00912: IP: 7E03, FLAGS: F206
00:00:13:81.00920: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:81.00929: Interrupt status: 0000000000000010
00:00:13:81.00934: VGA@737,60(CRT:764,94)
00:00:13:81.00938: Display=801,471

00:00:13:81.01017: Function 02 called.
00:00:13:81.01131: Read 1/1 sectors from drive 00, start 45. Requested: Head: 0, Track: 1, Sector: 10. Start sector: 45, Destination: ES:BX=0070:00001800
00:00:13:81.02639: 0000:7E03 (CD13)INT 13
00:00:13:81.02645: Registers:
00:00:13:81.02657: AX: 0201, BX: 1A00, CX: 010B, DX: 0000
00:00:13:81.02679: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.02691: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1A00
00:00:13:81.02698: IP: 7E03, FLAGS: F202
00:00:13:81.02712: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:81.02739: Interrupt status: 0000000000000010
00:00:13:81.02785: VGA@189,68(CRT:216,102)
00:00:13:81.02793: Display=801,471

00:00:13:81.02903: Function 02 called.
00:00:13:81.03052: Read 1/1 sectors from drive 00, start 46. Requested: Head: 0, Track: 1, Sector: 11. Start sector: 46, Destination: ES:BX=0070:00001A00
00:00:13:81.04125: 0000:7E03 (CD13)INT 13
00:00:13:81.04128: Registers:
00:00:13:81.04136: AX: 0201, BX: 1C00, CX: 010C, DX: 0000
00:00:13:81.04144: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.04151: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1C00
00:00:13:81.04156: IP: 7E03, FLAGS: F206
00:00:13:81.04164: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:81.04173: Interrupt status: 0000000000000010
00:00:13:81.04178: VGA@526,75(CRT:553,109)
00:00:13:81.04182: Display=801,471

00:00:13:81.04269: Function 02 called.
00:00:13:81.04391: Read 1/1 sectors from drive 00, start 47. Requested: Head: 0, Track: 1, Sector: 12. Start sector: 47, Destination: ES:BX=0070:00001C00
00:00:13:81.05439: 0000:7E03 (CD13)INT 13
00:00:13:81.05443: Registers:
00:00:13:81.05450: AX: 0201, BX: 1E00, CX: 010D, DX: 0000
00:00:13:81.05458: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.05465: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 1E00
00:00:13:81.05470: IP: 7E03, FLAGS: F202
00:00:13:81.05478: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:81.05488: Interrupt status: 0000000000000010
00:00:13:81.05492: VGA@870,83(CRT:0,117)
00:00:13:81.05496: Display=801,471

00:00:13:81.05574: Function 02 called.
00:00:13:81.05695: Read 1/1 sectors from drive 00, start 48. Requested: Head: 0, Track: 1, Sector: 13. Start sector: 48, Destination: ES:BX=0070:00001E00
00:00:13:81.06831: 0000:7E03 (CD13)INT 13
00:00:13:81.06835: Registers:
00:00:13:81.06843: AX: 0201, BX: 2000, CX: 010E, DX: 0000
00:00:13:81.06850: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.06867: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2000
00:00:13:81.06871: IP: 7E03, FLAGS: F202
00:00:13:81.06879: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:81.06889: Interrupt status: 0000000000000010
00:00:13:81.06894: VGA@289,90(CRT:316,124)
00:00:13:81.06898: Display=801,471

00:00:13:81.06975: Function 02 called.
00:00:13:81.07088: Read 1/1 sectors from drive 00, start 49. Requested: Head: 0, Track: 1, Sector: 14. Start sector: 49, Destination: ES:BX=0070:00002000
00:00:13:81.08118: 0000:7E03 (CD13)INT 13
00:00:13:81.08121: Registers:
00:00:13:81.08129: AX: 0201, BX: 2200, CX: 010F, DX: 0000
00:00:13:81.08137: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.08144: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2200
00:00:13:81.08149: IP: 7E03, FLAGS: F206
00:00:13:81.08157: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:81.08166: Interrupt status: 0000000000000010
00:00:13:81.08171: VGA@632,97(CRT:659,131)
00:00:13:81.08175: Display=801,471

00:00:13:81.08255: Function 02 called.
00:00:13:81.08410: Read 1/1 sectors from drive 00, start 50. Requested: Head: 0, Track: 1, Sector: 15. Start sector: 50, Destination: ES:BX=0070:00002200
00:00:13:81.09419: 0000:7E03 (CD13)INT 13
00:00:13:81.09423: Registers:
00:00:13:81.09430: AX: 0201, BX: 2400, CX: 0110, DX: 0000
00:00:13:81.09438: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:81.09446: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2400
00:00:13:81.09451: IP: 7E03, FLAGS: F202
00:00:13:81.09459: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:81.09468: Interrupt status: 0000000000000010
00:00:13:81.09473: VGA@61,105(CRT:88,139)
00:00:13:81.09477: Display=801,471

00:00:13:81.09557: Function 02 called.
00:00:13:81.09679: Read 1/1 sectors from drive 00, start 51. Requested: Head: 0, Track: 1, Sector: 16. Start sector: 51, Destination: ES:BX=0070:00002400
00:00:13:82.00675: 0000:7E03 (CD13)INT 13
00:00:13:82.00678: Registers:
00:00:13:82.00686: AX: 0201, BX: 2600, CX: 0111, DX: 0000
00:00:13:82.00694: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.00702: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2600
00:00:13:82.00706: IP: 7E03, FLAGS: F206
00:00:13:82.00715: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:82.00724: Interrupt status: 0000000000000010
00:00:13:82.00729: VGA@407,112(CRT:434,146)
00:00:13:82.00739: Display=801,471

00:00:13:82.00846: Function 02 called.
00:00:13:82.00959: Read 1/1 sectors from drive 00, start 52. Requested: Head: 0, Track: 1, Sector: 17. Start sector: 52, Destination: ES:BX=0070:00002600
00:00:13:82.01973: 0000:7E03 (CD13)INT 13
00:00:13:82.01976: Registers:
00:00:13:82.01984: AX: 0201, BX: 2800, CX: 0112, DX: 0000
00:00:13:82.01992: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.02000: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2800
00:00:13:82.02005: IP: 7E03, FLAGS: F206
00:00:13:82.02014: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:82.02023: Interrupt status: 0000000000000010
00:00:13:82.02038: VGA@726,119(CRT:753,153)
00:00:13:82.02042: Display=801,471

00:00:13:82.02158: Function 02 called.
00:00:13:82.02270: Read 1/1 sectors from drive 00, start 53. Requested: Head: 0, Track: 1, Sector: 18. Start sector: 53, Destination: ES:BX=0070:00002800
00:00:13:82.03274: 0000:7E03 (CD13)INT 13
00:00:13:82.03277: Registers:
00:00:13:82.03286: AX: 0201, BX: 2A00, CX: 0101, DX: 0100
00:00:13:82.03304: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.03312: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2A00
00:00:13:82.03317: IP: 7E03, FLAGS: F202
00:00:13:82.03334: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:82.03343: Interrupt status: 0000000000000010
00:00:13:82.03349: VGA@178,127(CRT:205,161)
00:00:13:82.03353: Display=801,471

00:00:13:82.03447: Function 02 called.
00:00:13:82.03588: Read 1/1 sectors from drive 00, start 54. Requested: Head: 1, Track: 1, Sector: 1. Start sector: 54, Destination: ES:BX=0070:00002A00
00:00:13:82.04618: 0000:7E03 (CD13)INT 13
00:00:13:82.04621: Registers:
00:00:13:82.04629: AX: 0201, BX: 2C00, CX: 0102, DX: 0100
00:00:13:82.04636: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.04644: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2C00
00:00:13:82.04649: IP: 7E03, FLAGS: F202
00:00:13:82.04657: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:82.04666: Interrupt status: 0000000000000010
00:00:13:82.04672: VGA@516,134(CRT:543,168)
00:00:13:82.04676: Display=801,471

00:00:13:82.04753: Function 02 called.
00:00:13:82.04867: Read 1/1 sectors from drive 00, start 55. Requested: Head: 1, Track: 1, Sector: 2. Start sector: 55, Destination: ES:BX=0070:00002C00
00:00:13:82.05888: 0000:7E03 (CD13)INT 13
00:00:13:82.05891: Registers:
00:00:13:82.05899: AX: 0201, BX: 2E00, CX: 0103, DX: 0100
00:00:13:82.05907: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.05914: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 2E00
00:00:13:82.05919: IP: 7E03, FLAGS: F206
00:00:13:82.05928: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:82.05937: Interrupt status: 0000000000000010
00:00:13:82.05942: VGA@865,142(CRT:0,176)
00:00:13:82.05945: Display=801,471

00:00:13:82.06030: Function 02 called.
00:00:13:82.06141: Read 1/1 sectors from drive 00, start 56. Requested: Head: 1, Track: 1, Sector: 3. Start sector: 56, Destination: ES:BX=0070:00002E00
00:00:13:82.07183: 0000:7E03 (CD13)INT 13
00:00:13:82.07187: Registers:
00:00:13:82.07195: AX: 0201, BX: 3000, CX: 0104, DX: 0100
00:00:13:82.07202: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.07210: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3000
00:00:13:82.07215: IP: 7E03, FLAGS: F202
00:00:13:82.07223: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:82.07233: Interrupt status: 0000000000000010
00:00:13:82.07238: VGA@293,149(CRT:320,183)
00:00:13:82.07242: Display=801,471

00:00:13:82.07319: Function 02 called.
00:00:13:82.07516: Read 1/1 sectors from drive 00, start 57. Requested: Head: 1, Track: 1, Sector: 4. Start sector: 57, Destination: ES:BX=0070:00003000
00:00:13:82.08567: 0000:7E03 (CD13)INT 13
00:00:13:82.08570: Registers:
00:00:13:82.08578: AX: 0201, BX: 3200, CX: 0105, DX: 0100
00:00:13:82.08586: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.08594: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3200
00:00:13:82.08598: IP: 7E03, FLAGS: F206
00:00:13:82.08607: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:82.08616: Interrupt status: 0000000000000010
00:00:13:82.08622: VGA@645,156(CRT:672,190)
00:00:13:82.08625: Display=801,471

00:00:13:82.08749: Function 02 called.
00:00:13:82.08865: Read 1/1 sectors from drive 00, start 58. Requested: Head: 1, Track: 1, Sector: 5. Start sector: 58, Destination: ES:BX=0070:00003200
00:00:13:82.09900: 0000:7E03 (CD13)INT 13
00:00:13:82.09904: Registers:
00:00:13:82.09912: AX: 0201, BX: 3400, CX: 0106, DX: 0100
00:00:13:82.09919: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:82.09927: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3400
00:00:13:82.09932: IP: 7E03, FLAGS: F206
00:00:13:82.09940: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:82.09950: Interrupt status: 0000000000000010
00:00:13:82.09955: VGA@82,164(CRT:109,198)
00:00:13:82.09959: Display=801,471

00:00:13:83.00038: Function 02 called.
00:00:13:83.00153: Read 1/1 sectors from drive 00, start 59. Requested: Head: 1, Track: 1, Sector: 6. Start sector: 59, Destination: ES:BX=0070:00003400
00:00:13:83.01170: 0000:7E03 (CD13)INT 13
00:00:13:83.01174: Registers:
00:00:13:83.01182: AX: 0201, BX: 3600, CX: 0107, DX: 0100
00:00:13:83.01190: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:83.01197: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3600
00:00:13:83.01202: IP: 7E03, FLAGS: F202
00:00:13:83.01210: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:83.01220: Interrupt status: 0000000000000010
00:00:13:83.01225: VGA@437,171(CRT:464,205)
00:00:13:83.01229: Display=801,471

00:00:13:83.01310: Function 02 called.
00:00:13:83.01423: Read 1/1 sectors from drive 00, start 60. Requested: Head: 1, Track: 1, Sector: 7. Start sector: 60, Destination: ES:BX=0070:00003600
00:00:13:84.01028: 0000:7E03 (CD13)INT 13
00:00:13:84.01042: Registers:
00:00:13:84.01050: AX: 0201, BX: 3800, CX: 0108, DX: 0100
00:00:13:84.01058: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:84.01065: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3800
00:00:13:84.01070: IP: 7E03, FLAGS: F202
00:00:13:84.01079: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:84.01088: Interrupt status: 0000000000000010
00:00:13:84.01093: VGA@775,179(CRT:0,213)
00:00:13:84.01097: Display=801,471

00:00:13:84.01190: Function 02 called.
00:00:13:84.01374: Read 1/1 sectors from drive 00, start 61. Requested: Head: 1, Track: 1, Sector: 8. Start sector: 61, Destination: ES:BX=0070:00003800
00:00:13:84.02646: 0000:7E03 (CD13)INT 13
00:00:13:84.02650: Registers:
00:00:13:84.02657: AX: 0201, BX: 3A00, CX: 0109, DX: 0100
00:00:13:84.02665: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:84.02672: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3A00
00:00:13:84.02677: IP: 7E03, FLAGS: F206
00:00:13:84.02685: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:84.02695: Interrupt status: 0000000000000010
00:00:13:84.02700: VGA@236,186(CRT:263,220)
00:00:13:84.02704: Display=801,471

00:00:13:84.02786: Function 02 called.
00:00:13:84.02924: Read 1/1 sectors from drive 00, start 62. Requested: Head: 1, Track: 1, Sector: 9. Start sector: 62, Destination: ES:BX=0070:00003A00
00:00:13:84.03940: 0000:7E03 (CD13)INT 13
00:00:13:84.03945: Registers:
00:00:13:84.03954: AX: 0201, BX: 3C00, CX: 010A, DX: 0100
00:00:13:84.03971: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:84.03989: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3C00
00:00:13:84.03994: IP: 7E03, FLAGS: F206
00:00:13:84.04011: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:84.04031: Interrupt status: 0000000000000010
00:00:13:84.04045: VGA@582,193(CRT:609,227)
00:00:13:84.04049: Display=801,471

00:00:13:84.04192: Function 02 called.
00:00:13:84.04306: Read 1/1 sectors from drive 00, start 63. Requested: Head: 1, Track: 1, Sector: 10. Start sector: 63, Destination: ES:BX=0070:00003C00
00:00:13:84.05444: 0000:7E03 (CD13)INT 13
00:00:13:84.05457: Registers:
00:00:13:84.05464: AX: 0201, BX: 3E00, CX: 010B, DX: 0100
00:00:13:84.05472: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:84.05480: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 3E00
00:00:13:84.05484: IP: 7E03, FLAGS: F202
00:00:13:84.05492: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:84.05501: Interrupt status: 0000000000000010
00:00:13:84.05506: VGA@25,201(CRT:52,235)
00:00:13:84.05510: Display=801,471

00:00:13:84.05588: Function 02 called.
00:00:13:84.05698: Read 1/1 sectors from drive 00, start 64. Requested: Head: 1, Track: 1, Sector: 11. Start sector: 64, Destination: ES:BX=0070:00003E00
00:00:13:84.06781: 0000:7E03 (CD13)INT 13
00:00:13:84.06784: Registers:
00:00:13:84.06792: AX: 0201, BX: 4000, CX: 010C, DX: 0100
00:00:13:84.06800: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:84.06807: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4000
00:00:13:84.06812: IP: 7E03, FLAGS: F206
00:00:13:84.06830: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:84.06840: Interrupt status: 0000000000000010
00:00:13:84.06845: VGA@342,208(CRT:369,242)
00:00:13:84.06849: Display=801,471

00:00:13:84.06958: Function 02 called.
00:00:13:84.07083: Read 1/1 sectors from drive 00, start 65. Requested: Head: 1, Track: 1, Sector: 12. Start sector: 65, Destination: ES:BX=0070:00004000
00:00:13:84.08186: 0000:7E03 (CD13)INT 13
00:00:13:84.08189: Registers:
00:00:13:84.08197: AX: 0201, BX: 4200, CX: 010D, DX: 0100
00:00:13:84.08204: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:84.08212: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4200
00:00:13:84.08216: IP: 7E03, FLAGS: F202
00:00:13:84.08225: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:84.08234: Interrupt status: 0000000000000010
00:00:13:84.08239: VGA@682,215(CRT:709,249)
00:00:13:84.08243: Display=801,471

00:00:13:84.08318: Function 02 called.
00:00:13:84.08461: Read 1/1 sectors from drive 00, start 66. Requested: Head: 1, Track: 1, Sector: 13. Start sector: 66, Destination: ES:BX=0070:00004200
00:00:13:84.09478: 0000:7E03 (CD13)INT 13
00:00:13:84.09481: Registers:
00:00:13:84.09489: AX: 0201, BX: 4400, CX: 010E, DX: 0100
00:00:13:84.09497: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:84.09504: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4400
00:00:13:84.09509: IP: 7E03, FLAGS: F202
00:00:13:84.09517: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:84.09527: Interrupt status: 0000000000000010
00:00:13:84.09532: VGA@107,223(CRT:134,257)
00:00:13:84.09536: Display=801,471

00:00:13:84.09620: Function 02 called.
00:00:13:84.09732: Read 1/1 sectors from drive 00, start 67. Requested: Head: 1, Track: 1, Sector: 14. Start sector: 67, Destination: ES:BX=0070:00004400
00:00:13:85.00752: 0000:7E03 (CD13)INT 13
00:00:13:85.00755: Registers:
00:00:13:85.00763: AX: 0201, BX: 4600, CX: 010F, DX: 0100
00:00:13:85.00771: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:85.00779: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4600
00:00:13:85.00784: IP: 7E03, FLAGS: F206
00:00:13:85.00792: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:85.00802: Interrupt status: 0000000000000010
00:00:13:85.00807: VGA@450,230(CRT:477,264)
00:00:13:85.00811: Display=801,471

00:00:13:85.00888: Function 02 called.
00:00:13:85.01006: Read 1/1 sectors from drive 00, start 68. Requested: Head: 1, Track: 1, Sector: 15. Start sector: 68, Destination: ES:BX=0070:00004600
00:00:13:85.02043: 0000:7E03 (CD13)INT 13
00:00:13:85.02046: Registers:
00:00:13:85.02054: AX: 0201, BX: 4800, CX: 0110, DX: 0100
00:00:13:85.02062: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:85.02070: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4800
00:00:13:85.02074: IP: 7E03, FLAGS: F202
00:00:13:85.02083: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:85.02092: Interrupt status: 0000000000000010
00:00:13:85.02097: VGA@776,238(CRT:0,272)
00:00:13:85.02101: Display=801,471

00:00:13:85.02179: Function 02 called.
00:00:13:85.02293: Read 1/1 sectors from drive 00, start 69. Requested: Head: 1, Track: 1, Sector: 16. Start sector: 69, Destination: ES:BX=0070:00004800
00:00:13:85.03302: 0000:7E03 (CD13)INT 13
00:00:13:85.03305: Registers:
00:00:13:85.03313: AX: 0201, BX: 4A00, CX: 0111, DX: 0100
00:00:13:85.03320: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:85.03328: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4A00
00:00:13:85.03333: IP: 7E03, FLAGS: F206
00:00:13:85.03341: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:85.03351: Interrupt status: 0000000000000010
00:00:13:85.03356: VGA@225,245(CRT:252,279)
00:00:13:85.03360: Display=801,471

00:00:13:85.03441: Function 02 called.
00:00:13:85.03554: Read 1/1 sectors from drive 00, start 70. Requested: Head: 1, Track: 1, Sector: 17. Start sector: 70, Destination: ES:BX=0070:00004A00
00:00:13:85.04559: 0000:7E03 (CD13)INT 13
00:00:13:85.04562: Registers:
00:00:13:85.04570: AX: 0201, BX: 4C00, CX: 0112, DX: 0100
00:00:13:85.04578: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:85.04586: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4C00
00:00:13:85.04591: IP: 7E03, FLAGS: F206
00:00:13:85.04599: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:85.04608: Interrupt status: 0000000000000010
00:00:13:85.04614: VGA@550,252(CRT:577,286)
00:00:13:85.04617: Display=801,471

00:00:13:85.04694: Function 02 called.
00:00:13:85.04806: Read 1/1 sectors from drive 00, start 71. Requested: Head: 1, Track: 1, Sector: 18. Start sector: 71, Destination: ES:BX=0070:00004C00
00:00:13:85.05787: 0000:7E03 (CD13)INT 13
00:00:13:85.05790: Registers:
00:00:13:85.05798: AX: 0201, BX: 4E00, CX: 0201, DX: 0000
00:00:13:85.05806: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:85.05814: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 4E00
00:00:13:85.05818: IP: 7E03, FLAGS: F202
00:00:13:85.05827: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:85.05836: Interrupt status: 0000000000000010
00:00:13:85.05841: VGA@896,260(CRT:23,294)
00:00:13:85.05845: Display=801,471

00:00:13:85.05927: Function 02 called.
00:00:13:85.06039: Read 1/1 sectors from drive 00, start 72. Requested: Head: 0, Track: 2, Sector: 1. Start sector: 72, Destination: ES:BX=0070:00004E00
00:00:13:85.07016: 0000:7E03 (CD13)INT 13
00:00:13:85.07020: Registers:
00:00:13:85.07027: AX: 0201, BX: 5000, CX: 0202, DX: 0000
00:00:13:85.07035: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:85.07043: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5000
00:00:13:85.07048: IP: 7E03, FLAGS: F202
00:00:13:85.07056: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:85.07065: Interrupt status: 0000000000000010
00:00:13:85.07071: VGA@322,267(CRT:349,301)
00:00:13:85.07075: Display=801,471

00:00:13:85.07155: Function 02 called.
00:00:13:85.07268: Read 1/1 sectors from drive 00, start 73. Requested: Head: 0, Track: 2, Sector: 2. Start sector: 73, Destination: ES:BX=0070:00005000
00:00:13:85.08277: 0000:7E03 (CD13)INT 13
00:00:13:85.08280: Registers:
00:00:13:85.08288: AX: 0201, BX: 5200, CX: 0203, DX: 0000
00:00:13:85.08296: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:85.08303: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5200
00:00:13:85.08308: IP: 7E03, FLAGS: F206
00:00:13:85.08316: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:85.08326: Interrupt status: 0000000000000010
00:00:13:85.08331: VGA@671,274(CRT:698,308)
00:00:13:85.08335: Display=801,471

00:00:13:85.08412: Function 02 called.
00:00:13:85.08525: Read 1/1 sectors from drive 00, start 74. Requested: Head: 0, Track: 2, Sector: 3. Start sector: 74, Destination: ES:BX=0070:00005200
00:00:13:85.09542: 0000:7E03 (CD13)INT 13
00:00:13:85.09545: Registers:
00:00:13:85.09553: AX: 0201, BX: 5400, CX: 0204, DX: 0000
00:00:13:85.09561: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:85.09568: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5400
00:00:13:85.09573: IP: 7E03, FLAGS: F202
00:00:13:85.09581: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:85.09590: Interrupt status: 0000000000000010
00:00:13:85.09596: VGA@105,282(CRT:132,316)
00:00:13:85.09599: Display=801,471

00:00:13:85.09676: Function 02 called.
00:00:13:85.09787: Read 1/1 sectors from drive 00, start 75. Requested: Head: 0, Track: 2, Sector: 4. Start sector: 75, Destination: ES:BX=0070:00005400
00:00:13:86.00841: 0000:7E03 (CD13)INT 13
00:00:13:86.00844: Registers:
00:00:13:86.00852: AX: 0201, BX: 5600, CX: 0205, DX: 0000
00:00:13:86.00859: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:86.00867: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5600
00:00:13:86.00872: IP: 7E03, FLAGS: F206
00:00:13:86.00880: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:86.00889: Interrupt status: 0000000000000010
00:00:13:86.00894: VGA@457,289(CRT:484,323)
00:00:13:86.00898: Display=801,471

00:00:13:86.00975: Function 02 called.
00:00:13:86.01087: Read 1/1 sectors from drive 00, start 76. Requested: Head: 0, Track: 2, Sector: 5. Start sector: 76, Destination: ES:BX=0070:00005600
00:00:13:86.02166: 0000:7E03 (CD13)INT 13
00:00:13:86.02169: Registers:
00:00:13:86.02177: AX: 0201, BX: 5800, CX: 0206, DX: 0000
00:00:13:86.02185: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:86.02192: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5800
00:00:13:86.02197: IP: 7E03, FLAGS: F206
00:00:13:86.02205: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:86.02214: Interrupt status: 0000000000000010
00:00:13:86.02219: VGA@792,297(CRT:0,331)
00:00:13:86.02223: Display=801,471

00:00:13:86.02300: Function 02 called.
00:00:13:86.02411: Read 1/1 sectors from drive 00, start 77. Requested: Head: 0, Track: 2, Sector: 6. Start sector: 77, Destination: ES:BX=0070:00005800
00:00:13:86.03435: 0000:7E03 (CD13)INT 13
00:00:13:86.03438: Registers:
00:00:13:86.03459: AX: 0201, BX: 5A00, CX: 0207, DX: 0000
00:00:13:86.03478: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:86.03494: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5A00
00:00:13:86.03499: IP: 7E03, FLAGS: F202
00:00:13:86.03507: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:86.03516: Interrupt status: 0000000000000010
00:00:13:86.03521: VGA@250,304(CRT:277,338)
00:00:13:86.03525: Display=801,471

00:00:13:86.03606: Function 02 called.
00:00:13:86.03717: Read 1/1 sectors from drive 00, start 78. Requested: Head: 0, Track: 2, Sector: 7. Start sector: 78, Destination: ES:BX=0070:00005A00
00:00:13:86.04725: 0000:7E03 (CD13)INT 13
00:00:13:86.04729: Registers:
00:00:13:86.04736: AX: 0201, BX: 5C00, CX: 0208, DX: 0000
00:00:13:86.04744: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:86.04752: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5C00
00:00:13:86.04756: IP: 7E03, FLAGS: F202
00:00:13:86.04764: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:86.04774: Interrupt status: 0000000000000010
00:00:13:86.04779: VGA@593,311(CRT:620,345)
00:00:13:86.04782: Display=801,471

00:00:13:86.04857: Function 02 called.
00:00:13:86.05006: Read 1/1 sectors from drive 00, start 79. Requested: Head: 0, Track: 2, Sector: 8. Start sector: 79, Destination: ES:BX=0070:00005C00
00:00:13:87.05170: 0000:7E03 (CD13)INT 13
00:00:13:87.05174: Registers:
00:00:13:87.05182: AX: 0201, BX: 5E00, CX: 0209, DX: 0000
00:00:13:87.05190: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:87.05198: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 5E00
00:00:13:87.05203: IP: 7E03, FLAGS: F206
00:00:13:87.05211: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:87.05221: Interrupt status: 0000000000000010
00:00:13:87.05226: VGA@42,319(CRT:69,353)
00:00:13:87.05230: Display=801,471

00:00:13:87.05313: Function 02 called.
00:00:13:87.05492: Read 1/1 sectors from drive 00, start 80. Requested: Head: 0, Track: 2, Sector: 9. Start sector: 80, Destination: ES:BX=0070:00005E00
00:00:13:87.06554: 0000:7E03 (CD13)INT 13
00:00:13:87.06557: Registers:
00:00:13:87.06565: AX: 0201, BX: 6000, CX: 020A, DX: 0000
00:00:13:87.06573: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:87.06581: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 6000
00:00:13:87.06585: IP: 7E03, FLAGS: F206
00:00:13:87.06594: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:87.06603: Interrupt status: 0000000000000010
00:00:13:87.06608: VGA@367,326(CRT:394,360)
00:00:13:87.06612: Display=801,471

00:00:13:87.06691: Function 02 called.
00:00:13:87.06808: Read 1/1 sectors from drive 00, start 81. Requested: Head: 0, Track: 2, Sector: 10. Start sector: 81, Destination: ES:BX=0070:00006000
00:00:13:87.07827: 0000:7E03 (CD13)INT 13
00:00:13:87.07831: Registers:
00:00:13:87.07839: AX: 0201, BX: 6200, CX: 020B, DX: 0000
00:00:13:87.07846: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:87.07854: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 6200
00:00:13:87.07859: IP: 7E03, FLAGS: F202
00:00:13:87.07867: FLAGSINFO:c1p0a0zstIdo1111
00:00:13:87.07877: Interrupt status: 0000000000000010
00:00:13:87.07882: VGA@716,333(CRT:743,367)
00:00:13:87.07886: Display=801,471

00:00:13:87.07976: Function 02 called.
00:00:13:87.08093: Read 1/1 sectors from drive 00, start 82. Requested: Head: 0, Track: 2, Sector: 11. Start sector: 82, Destination: ES:BX=0070:00006200
00:00:13:87.09115: 0000:7E03 (CD13)INT 13
00:00:13:87.09165: Registers:
00:00:13:87.09173: AX: 0201, BX: 6400, CX: 020C, DX: 0000
00:00:13:87.09181: CS: 0000, DS: 0000, ES: 0070, SS: 0000
00:00:13:87.09189: SP: 7BD6, BP: 7BE2, SI: 0001, DI: 6400
00:00:13:87.09194: IP: 7E03, FLAGS: F206
00:00:13:87.09202: FLAGSINFO:c1P0a0zstIdo1111
00:00:13:87.09211: Interrupt status: 0000000000000010
00:00:13:87.09217: VGA@151,341(CRT:178,375)
00:00:13:87.09221: Display=801,471

00:00:13:87.09311: Function 02 called.
00:00:13:87.09426: Read 1/1 sectors from drive 00, start 83. Requested: Head: 0, Track: 2, Sector: 12. Start sector: 83, Destination: ES:BX=0070:00006400
00:00:14:35.09213: 0070:3506 (CD11)INT 11
00:00:14:35.09218: Registers:
00:00:14:35.09226: AX: F000, BX: 0021, CX: F000, DX: 0000
00:00:14:35.09233: CS: 0070, DS: 0000, ES: 0070, SS: 0000
00:00:14:35.09241: SP: 7BE0, BP: 7BE2, SI: 74E2, DI: 72D4
00:00:14:35.09246: IP: 3506, FLAGS: F256
00:00:14:35.09254: FLAGSINFO:c1P0A0ZstIdo1111
00:00:14:35.09263: Interrupt status: 0000000000000010
00:00:14:35.09268: VGA@873,251(CRT:0,285)
00:00:14:35.09272: Display=801,446

00:00:14:35.09568: 0070:353E (CD15)INT 15
00:00:14:35.09571: Registers:
00:00:14:35.09579: AX: C000, BX: 0021, CX: F002, DX: 0000
00:00:14:35.09587: CS: 0070, DS: 0000, ES: 0070, SS: 0000
00:00:14:35.09594: SP: 06FC, BP: 7BE2, SI: 74E2, DI: 72D4
00:00:14:35.09599: IP: 353E, FLAGS: F246
00:00:14:35.09607: FLAGSINFO:c1P0a0ZstIdo1111
00:00:14:35.09616: Interrupt status: 0000000000000010
00:00:14:35.09622: VGA@580,252(CRT:607,286)
00:00:14:35.09625: Display=801,446

00:00:14:71.07599: 0000:3C06 (CD11)INT 11
00:00:14:71.07604: Registers:
00:00:14:71.07612: AX: CE3C, BX: 0572, CX: 0572, DX: 0000
00:00:14:71.07620: CS: 0000, DS: 0000, ES: 0000, SS: 0021
00:00:14:71.07628: SP: 9E1A, BP: E54D, SI: 8BBA, DI: 6D7C
00:00:14:71.07633: IP: 3C06, FLAGS: F246
00:00:14:71.07641: FLAGSINFO:c1P0a0ZstIdo1111
00:00:14:71.07651: Interrupt status: 0000000000000010
00:00:14:71.07657: VGA@405,387(CRT:432,421)
00:00:14:71.07661: Display=801,446

After that, logging stops, so there's something wrong there(0000:3C06 INT 11h instruction)? It seems to have returned to the same instruction(0000:3C06===0070:3506)?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 12 of 14, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

By that point, the int 10h has been bypassed.
Here's the relevant flow:

3504                 int     11h
...
353A mov ah, 0C0h
353C int 15h
...
3568 call 41B0
...
41B0 push ds
41B1 push cs
41B2 pop ds
41B3 push si
41B4 mov si, 1DB2h
41B7 lodsb
41B8 cmp al, 0
41BA jz 41C7
41BC push bx
41BD mov bx, 7
41C0 mov ah, 0Eh
41C2 int 10h

Is 70:1DB2 empty for you? That's where the "NEC" message lives, but if it's not there, then that's why nothing is printed, and suggests a loading problem.
There's not supposed to be an int 11h at 3C06h. I would guess that some wrong sectors have been loaded into memory, because there's an int 11h at 3506h.

Reply 13 of 14, by superfury

User metadata
Rank l33t++
Rank
l33t++

Looking at the log createn with the most recent commit(fixing lots of errors in SDL2 and SDL compatibility layer, making SDL2 work with joysticks correctly), I notice that, for some reason, the INT 15h jumps to bogus memory(0000:0000), as the bytes at address 0000:0054h contain zeroes.

After looking at the place the interrupt is set up(BIOS POST handler used in the emulation), I find that the switch statement, which handles the seperate cases for different kind of code in the BIOS, was missing the special statement added for the interrupt 15h handler. Adding this statement makes MS-DOS 3.3 boot up to the point it asks for the current date/time. Now I just need to fix the input mechanism(since it won't see anything I type using that BIOS).

Looking at the code inserted into the custom BIOS ROM, I notice that the IRQ1 handler uses a INT 15h, but the INT 15h handler returns using the RETF 2 instruction? Won't this give problems with the Dosbox' interrupt handling? I notice that enabling the IRQ1 handler crashes the MS-DOS boot sequence? Anyone can see what's going wrong?

Interrupt 15h handler itself: https://bitbucket.org/superfury/x86emu/src/c1 … t15.c?at=master
Setup of the handlers: https://bitbucket.org/superfury/x86emu/src/c1 … ost.c?at=master
Callback code generator: https://bitbucket.org/superfury/x86emu/src/c1 … ger.c?at=master
Interrupt 16h, IRQ1 and support: https://bitbucket.org/superfury/x86emu/src/c1 … t16.c?at=master

Interrupt 15h is wrapped using a zero callback, as usually, which returns with a RETF 2 instead of IRET(like the other interrupt handlers), leaving interrupts disabled?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 14 of 14, by superfury

User metadata
Rank l33t++
Rank
l33t++

I notice that there's a little problem with the way the Dosbox IRQ1&INT16h handler process things, combined with the custom INT15h handler.

- Interrupt 15h now sets the carry flag to indicate that the BIOS should translate the scancode.
- The IRQ1 handler (Dosbox-based) now properly skips the callback when the carry flag is cleared(indicating custom int15h handler function 4Fh).
- Interrupt 15h is reverted to it's normal interrupt handler.
- Interrupt 16h now properly sets the interrupt flag using the CALLBACK_SIF function, instead of writing the (incorrect) current interrupt flag(FLAG_IF macro, which is always zero, because we're running an interrupt) OR'ed into the flags on the stack directly to the stack.

I notice that when booting MS-DOS 3.3 and asking for the time, I can enter exactly 1 key. After that it becomes unresponsive to keyboard input(although MS-DOS just displays the next question(requesting the current time) when pressing enter, or when pressing e.g. 1, it displays the 1)). Is there a problem with the interrupt 16h handler?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io