X86_EMULATOR_2 is a x86 emulator written in C++ .
FreeDOS(REAL MODE)
diagnostic code | Status |
---|---|
0x01(Conditional jumps and loops) | passed |
0x02(Quick tests of unsigned 32-bit multiplication and division) | passed |
0x03(Move segment registers in real mode) | passed |
0x04(Store, move, scan, and compare string data in real mode) | passed |
0x05(Calls in real mode) | passed |
0x06(Load full pointer in real mode) | passed |
0x08(GDT, LDT, PDT, and PT setup, enter protected mode) | passed |
0x09(Stack functionality) | passed |
0x0A(Test user mode (ring 3) switching) | passed |
0x0B(Moving segment registers) | passed |
0x0A(Test user mode (ring 3) switching) | passed |
0x0C(Zero and sign-extension) | passed |
0x0D(16-bit addressing modes (LEA)) | passed |
0x0E(32-bit addressing modes (LEA)) | passed |
0x0F(Access memory using various addressing modes) | passed |
0x10(Store, move, scan, and compare string data in protected mode) | passed |
0x11(Page faults and PTE bits) | failed |
make
Run Haribote OS
./x86 -i haribote.img
Run FreeDOS
./x86 -i fd.img
Run osz
./x86 -i full.img
test : googletest
Click mouse on the emulator
left-ctrl+left-alt+g
※Press left-ctrl+left-alt first, then g .
./test.sh
or
make clean
make x86_test
./x86_test
OtoLogicの素材を使用(https://otologic.jp/)
フロッピーディスクの音源ファイル:Floppy_Disk_Drive02-1(Operating_Noise).mp3