Skip to content

NiwakaDev/X86_EMULATOR_2

Repository files navigation

X86_EMULATOR_2

X86_EMULATOR_2 is a x86 emulator written in C++.

Haribote OS

demo

スクリーンショット 2021-12-01 8.35.34.png

富士山

FreeDOS(REAL MODE)

FreeDOS

osz

スクリーンショット 2021-12-12 21 33 31

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

./x86 -i os_image

This project includes full.img and haribote.img. You can immediately run both of them on the emulator.

Language

c++14

How to use mouse

Move mouse into window

Click mouse on the window

Move mouse out of window

left-ctrl+left-alt+g

※Press left-ctrl+left-alt first, then g.

Reference

Real Mode

https://bitbucket.org/7shi/8086run/

FONT

https://github.com/dhepper/font8x8

Contact

Feel free to open an issue. Welcome any content!!