X86_EMULATOR_2
X86_EMULATOR_2 copied to clipboard
x86 emulator written in C++
X86_EMULATOR_2
X86_EMULATOR_2 is a x86 emulator written in C++ .
FreeDOS(REAL MODE)
test386
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 |
Build
make
Run
Run Haribote OS
./x86 -i haribote.img
Run FreeDOS
./x86 -i fd.img
Run osz
./x86 -i full.img
Language and Library
c++14, SDL2test : googletest
How to use mouse
Mouse into the emulator
Click mouse on the emulator
Mouse out of the emulator
left-ctrl+left-alt+g
※Press left-ctrl+left-alt first, then g .
Test
./test.sh
or
make clean
make x86_test
./x86_test
Reference
Real Mode
https://bitbucket.org/7shi/8086run/FONT
https://github.com/dhepper/font8x8Contact
Feel free to contact me .フロッピーディスクの音源について
※これは廃止になりました。OtoLogicの素材を使用(https://otologic.jp/)
フロッピーディスクの音源ファイル:Floppy_Disk_Drive02-1(Operating_Noise).mp3