{"id":16533735,"url":"https://github.com/niwakadev/x86_emulator_2","last_synced_at":"2025-09-22T01:31:24.807Z","repository":{"id":45488219,"uuid":"428234085","full_name":"NiwakaDev/X86_EMULATOR_2","owner":"NiwakaDev","description":"x86 emulator written in C++","archived":false,"fork":false,"pushed_at":"2024-07-25T13:44:08.000Z","size":76938,"stargazers_count":44,"open_issues_count":5,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-02T00:08:00.435Z","etag":null,"topics":["emulator","ia-32","x86","x86-32","x86-emulator"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NiwakaDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-15T11:21:01.000Z","updated_at":"2025-01-03T13:04:23.000Z","dependencies_parsed_at":"2024-10-27T11:10:03.570Z","dependency_job_id":"d3a3f3eb-cac9-4ae8-9dff-d772760da562","html_url":"https://github.com/NiwakaDev/X86_EMULATOR_2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NiwakaDev/X86_EMULATOR_2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NiwakaDev%2FX86_EMULATOR_2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NiwakaDev%2FX86_EMULATOR_2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NiwakaDev%2FX86_EMULATOR_2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NiwakaDev%2FX86_EMULATOR_2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NiwakaDev","download_url":"https://codeload.github.com/NiwakaDev/X86_EMULATOR_2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NiwakaDev%2FX86_EMULATOR_2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276333804,"owners_count":25624044,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-21T02:00:07.055Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emulator","ia-32","x86","x86-32","x86-emulator"],"created_at":"2024-10-11T18:15:41.774Z","updated_at":"2025-09-22T01:31:22.994Z","avatar_url":"https://github.com/NiwakaDev.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# X86_EMULATOR_2\n\n\n\u003cp\u003eX86_EMULATOR_2 is a x86 emulator written in C++.\u003c/p\u003e\n\n\u003cp\u003e\u003ca href=\"https://www.amazon.co.jp/30%E6%97%A5%E3%81%A7%E3%81%A7%E3%81%8D%E3%82%8B-OS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%E5%B7%9D%E5%90%88-%E7%A7%80%E5%AE%9F-ebook/dp/B00IR1HYI0\"\u003eHaribote OS\u003c/a\u003e\u003c/p\u003e\n\n![demo](https://user-images.githubusercontent.com/61189782/144729289-fe16a09d-d5dd-4b7d-8583-3b19e9381b3d.gif)\n\n![スクリーンショット 2021-12-01 8.35.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373549/39b0e3eb-4877-4f96-b63b-30673e38221f.png)\n\n![富士山](https://user-images.githubusercontent.com/61189782/143998297-d17dd067-b59a-4762-8bde-caebc8ca174b.png)\n\n\u003cp\u003eFreeDOS(REAL MODE)\u003c/p\u003e\n\n![FreeDOS](https://user-images.githubusercontent.com/61189782/145657637-3331b9cf-021e-4a1e-867c-b1b49b31a852.png)\n\n\u003cp\u003e\u003ca href=\"https://github.com/neri/osz\"\u003eosz\u003c/a\u003e\u003c/p\u003e\n\n![スクリーンショット 2021-12-12 21 33 31](https://user-images.githubusercontent.com/61189782/145712414-eed58221-06ef-42d8-9c6f-28fad542ae25.png)\n\n\u003ch2\u003e\u003ca href=\"https://github.com/barotto/test386.asm\"\u003etest386\u003c/a\u003e\u003c/h2\u003e\n \u003ctable border=\"1\"\u003e\n    \u003ctr\u003e\n      \u003cth\u003ediagnostic code\u003c/th\u003e\n      \u003cth\u003eStatus\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e0x01(Conditional jumps and loops)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e0x02(Quick tests of unsigned 32-bit multiplication and division)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x03(Move segment registers in real mode)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x04(Store, move, scan, and compare string data in real mode)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x05(Calls in real mode)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x06(Load full pointer in real mode)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e0x08(GDT, LDT, PDT, and PT setup, enter protected mode)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e0x09(Stack functionality)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x0A(Test user mode (ring 3) switching)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x0B(Moving segment registers)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x0A(Test user mode (ring 3) switching)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x0C(Zero and sign-extension)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x0D(16-bit addressing modes (LEA))\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x0E(32-bit addressing modes (LEA))\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x0F(Access memory using various addressing modes)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x10(Store, move, scan, and compare string data in protected mode)\u003c/td\u003e\n      \u003ctd\u003epassed\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003e0x11(Page faults and PTE bits)\u003c/td\u003e\n      \u003ctd\u003efailed\u003c/td\u003e\n    \u003c/tr\u003e\n\n  \u003c/table\u003e\n  \n\u003ch2\u003eBuild\u003c/h2\u003e\n\n```\nmake\n```\n\n\u003ch2\u003eRun\u003c/h2\u003e\n\n```\n./x86 -i os_image\n```\n\nThis project includes `full.img` and `haribote.img`. You can immediately run both of them on the emulator.\n\n\u003ch2\u003eLanguage\u003c/h2\u003e\nc++14\n\n\u003ch2\u003eHow to use mouse\u003c/h2\u003e\n\n\u003ch3\u003eMove mouse into window\u003c/h3\u003e\n\n```\nClick mouse on the window\n```\n\n\u003ch3\u003eMove mouse out of window\u003c/h3\u003e\n\n```\nleft-ctrl+left-alt+g\n```\n\n※Press left-ctrl+left-alt first, then g.\n\n\u003ch2\u003eReference\u003c/h2\u003e\n\n\u003ch4\u003eReal Mode\u003c/h4\u003e\n\u003ca href=\"https://bitbucket.org/7shi/8086run/\"\u003ehttps://bitbucket.org/7shi/8086run/\u003c/a\u003e\n\n\u003ch4\u003eFONT\u003c/h4\u003e\n\u003ca href=\"https://github.com/dhepper/font8x8\"\u003ehttps://github.com/dhepper/font8x8\u003c/a\u003e\n\n\u003ch2\u003eContact\u003c/h2\u003e\nFeel free to open an issue.\nWelcome any content!!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniwakadev%2Fx86_emulator_2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fniwakadev%2Fx86_emulator_2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniwakadev%2Fx86_emulator_2/lists"}