{"id":18588544,"url":"https://github.com/racerxdl/riscv-emulator","last_synced_at":"2025-04-10T14:30:48.571Z","repository":{"id":57660023,"uuid":"403400041","full_name":"racerxdl/riscv-emulator","owner":"racerxdl","description":"Golang RISC-V emulator that can play DOOM","archived":false,"fork":false,"pushed_at":"2023-03-07T00:19:52.000Z","size":159,"stargazers_count":68,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T22:42:15.947Z","etag":null,"topics":["doom","emulator","golang","risc-v","riscv","toy-emulator"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/racerxdl.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-09-05T19:51:32.000Z","updated_at":"2024-12-11T20:11:37.000Z","dependencies_parsed_at":"2024-06-20T01:44:01.191Z","dependency_job_id":null,"html_url":"https://github.com/racerxdl/riscv-emulator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racerxdl%2Friscv-emulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racerxdl%2Friscv-emulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racerxdl%2Friscv-emulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racerxdl%2Friscv-emulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/racerxdl","download_url":"https://codeload.github.com/racerxdl/riscv-emulator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248233946,"owners_count":21069493,"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","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":["doom","emulator","golang","risc-v","riscv","toy-emulator"],"created_at":"2024-11-07T00:46:25.045Z","updated_at":"2025-04-10T14:30:47.767Z","avatar_url":"https://github.com/racerxdl.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RISC-V Emulator\nA toy Golang RISC-V emulator that can play [DOOM](https://github.com/smunaut/doom_riscv)\n\nFor now it uses [smunaut](https://github.com/smunaut) [bootloader](https://github.com/smunaut/ice40-playground/tree/master/projects/riscv_doom) and [riscv_doom](https://github.com/smunaut/doom_riscv) from the ICE40 project.\n\nBut since there is no M extensions on this emulator, the `CFLAGS` in makefiles should be changed to use the non-M version\n\n```makefile\nCFLAGS=CFLAGS=-Wall -march=rv32i -mabi=ilp32 (...)\n```\n\nThe emulator is made to be used headless synchronously or assyncronously and easy to make new peripherials for it. I still need to do some documentation but you can see the doom example at `cmd/ui`.\n\n![DOOM](doom.jpg)\n\nWhen starting the UI mode, the following keyboard keys controls the flow:\n\n* `C` =\u003e Continue emulation\n* `P` =\u003e Pause emulation\n* `S` =\u003e Step instruction\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fracerxdl%2Friscv-emulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fracerxdl%2Friscv-emulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fracerxdl%2Friscv-emulator/lists"}