qilingframework / qiling

A True Instrumentable Binary Emulation Framework
https://qiling.io
GNU General Public License v2.0
5.06k stars 737 forks source link

Fixed DOS Disk Mapping #1439

Open racerxdl opened 7 months ago

racerxdl commented 7 months ago

This fixes the DOS Mappings and makes 8086 examples work again.

This is probably not the best way to fix them, but at least it works fine with current FS Mapper. Basically what it does is map 0x80 to C and beyond and 0x00 to A and beyond.

There is few limitations though: INT 13H actually allows up to 126 disks, this only supports disks from C to Z. INT13 also supports floppies in CDEF... letters, this PR only supports A and B as floppy letters.

Although this is not ideal, I don't think I ever saw something actually uses more than two floppies and few disks. At least this make qiling able to simulate DOS.

Checklist

Which kind of PR do you create?

Coding convention?

Extra tests?

Changelog?

Target branch?

One last thing