{"id":19053730,"url":"https://github.com/idanrosenzweig/real-time-computer-emulator","last_synced_at":"2026-04-17T09:31:26.778Z","repository":{"id":244984326,"uuid":"816913419","full_name":"IdanRosenzweig/Real-Time-Computer-Emulator","owner":"IdanRosenzweig","description":"A real time emulator for a computer containing a cpu, mouse, keyboard, screen, (floppy) disk driver and BIOS firmware. Capable of loading and running small operating systems, provided as floppy disk files.","archived":false,"fork":false,"pushed_at":"2024-06-18T16:53:29.000Z","size":90,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-12T09:26:46.884Z","etag":null,"topics":["bios","c","cpp","emulator","firmware","floppy-drives","hardware","i386","operating-systems","vga","x86"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IdanRosenzweig.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-06-18T16:29:26.000Z","updated_at":"2025-09-14T08:37:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"7bc0b686-6b12-4708-ae9e-83340f256718","html_url":"https://github.com/IdanRosenzweig/Real-Time-Computer-Emulator","commit_stats":null,"previous_names":["idanrosenzweig/computer-emulator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/IdanRosenzweig/Real-Time-Computer-Emulator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IdanRosenzweig%2FReal-Time-Computer-Emulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IdanRosenzweig%2FReal-Time-Computer-Emulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IdanRosenzweig%2FReal-Time-Computer-Emulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IdanRosenzweig%2FReal-Time-Computer-Emulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IdanRosenzweig","download_url":"https://codeload.github.com/IdanRosenzweig/Real-Time-Computer-Emulator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IdanRosenzweig%2FReal-Time-Computer-Emulator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31923079,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T09:10:15.403Z","status":"ssl_error","status_checked_at":"2026-04-17T09:10:14.455Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bios","c","cpp","emulator","firmware","floppy-drives","hardware","i386","operating-systems","vga","x86"],"created_at":"2024-11-08T23:33:48.882Z","updated_at":"2026-04-17T09:31:26.757Z","avatar_url":"https://github.com/IdanRosenzweig.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Real Time Computer Emulator\n\n## overview\nThis project is a real time emulator for a computer containing a cpu, mouse, keyboard, screen, (floppy) disk driver and BIOS firmware.\nThe emulator implements all the necessary internals and functionalities to simulate the real life behavior of a computer machine.\n\nOnce started, the emulator would boot the machine up via the reset vector and firmware, and launch a window displaying the computer's screen output.\nWhen the window is in focus, the emulator would listen to the input of the mouse and keyboard like regular hardware interrupts.\n\nThe implemented components include:\n* full Intel i386 (x86 ISA) processor, both real mode and protected mode.\n* Mouse\n* Keyboard\n* PS/2 controller (for the mouse and keyboard)\n* VGA for screen graphics, both text mode and graphics mode\n* Floppy disk driver\n* small BIOS firmware\n\nThe emulator is currently capable of loading small operating systems, provided as floppy disk files.\n\n\u003cbr\u003e\nThis project also contains implementation for two small, sample operating systems that can be complied and tested quickly against the emulator.\n\n## build\n\nto build the emulator, execute the `build.sh` script at the rot directory of the project.\nthis would create a directory `build` which would contain:\n* `reset_vector.bin`: a file contain the reset vector machine code for the processor\n* `bios.bin`: a file containing the firmware code for the processor\n* `emulator`: the emulator file itself. be sure to execute it at the same directory as the reset vector file and the bios file\n\nthe project also contains sample operating systems to be tested on the emulator.\nexecute the `build_sample_os.sh` script with one argument:\n* `small_os`: this build a small os with graphics (sourced `samples/small_ls`)\n* `tiny_os`: this build a tiny, minimalist OS which just outputs text to the screen using BIOS (sourced `samples/tiny_os`)\n\nto clean all build, execute the `clean.sh` script","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidanrosenzweig%2Freal-time-computer-emulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fidanrosenzweig%2Freal-time-computer-emulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidanrosenzweig%2Freal-time-computer-emulator/lists"}