{"id":26326038,"url":"https://github.com/x65/emu","last_synced_at":"2025-10-29T08:10:17.070Z","repository":{"id":260653454,"uuid":"872413048","full_name":"X65/emu","owner":"X65","description":"X65 microcomputer emulator","archived":false,"fork":false,"pushed_at":"2025-03-05T09:48:47.000Z","size":1331,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-05T10:32:20.556Z","etag":null,"topics":["65816","8bit","emulator","wasm","x65"],"latest_commit_sha":null,"homepage":"https://x65.zone/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"0bsd","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/X65.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":"2024-10-14T11:52:56.000Z","updated_at":"2025-03-05T09:55:29.000Z","dependencies_parsed_at":"2024-12-18T16:30:59.880Z","dependency_job_id":"14214e66-2e9a-4404-9b60-b6c839810ce1","html_url":"https://github.com/X65/emu","commit_stats":null,"previous_names":["x65/emu"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X65%2Femu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X65%2Femu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X65%2Femu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X65%2Femu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/X65","download_url":"https://codeload.github.com/X65/emu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243782964,"owners_count":20347357,"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":["65816","8bit","emulator","wasm","x65"],"created_at":"2025-03-15T19:34:59.847Z","updated_at":"2025-10-29T08:10:17.065Z","avatar_url":"https://github.com/X65.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# X65 emulator\n\nThis is Emu \u003cimg src=\"emu.gif\" alt=\"Emu\"\u003e The [X65 Computer][1] Emulator.\n\nEmu is based on [chip emulators][2] by Andre Weissflog.\n\n\u003e The USP of the chip emulators is that they communicate with the outside world\n\u003e through a 'pin bit mask': A 'tick' function takes an uint64_t as input\n\u003e where the bits represent the chip's in/out pins, the tick function inspects\n\u003e the pin bits, computes one tick, and returns a (potentially modified) pin bit mask.\n\u003e\n\u003e A complete emulated computer then more or less just wires those chip emulators\n\u003e together just like on a breadboard.\n\n[1]: https://x65.zone/\n[2]: https://github.com/floooh/chips\n\n## Dependencies\n\nFedora:\n\n    dnf install libX11-devel libXi-devel libXcursor-devel mesa-libEGL-devel alsa-lib-devel\n\nUbuntu:\n\n    apt install libx11-dev libxi-dev libxcursor-dev libegl1-mesa-dev libasound2-dev\n\n## Build\n\n[![CMake on multiple platforms](https://github.com/X65/emu/actions/workflows/cmake-multi-platform.yml/badge.svg)](https://github.com/X65/emu/actions/workflows/cmake-multi-platform.yml)\n\nBuild using CMake and a modern C/C++ compiler.\n\n\u003e [!TIP]\n\u003e This repository uses submodules.\n\u003e You need to do `git submodule update --init --recursive` after cloning\n\u003e or clone recursively:\n\n    \u003e git clone --recursive https://github.com/X65/emu.git\n\n### WASM\n\nInstall [Emscripten][3] toolchain. Next, run the following commands:\n\n    mkdir wasm\n    cd wasm\n    emcmake cmake -DCMAKE_BUILD_TYPE=Release ..\n    cmake --build .\n\n[3]: https://emscripten.org/docs/getting_started/downloads.html\n\n## Running\n\nLinux\n\n    \u003e build/emu --help\n    Usage: emu [OPTION...] [ROM.xex]\n\n    \u003e build/emu roms/SOTB.xex\n\nWindows\n\n    \u003e build/emu.exe file=roms/SOTB.xex\n\n### Opcode Breakpoints\n\nThe emulator supports opcode based breakpoints, if an specified opcode is executed, the emulator will stop. Possible breakpoint values are EA (NOP) 42 (WDM #xx) and B8 (CLV).\n\n    \u003e build/emu.exe file=roms/SOTB.xex break=EA\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx65%2Femu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fx65%2Femu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx65%2Femu/lists"}