{"id":31649264,"url":"https://github.com/binarymelodies/x80-emulator","last_synced_at":"2025-10-07T07:41:51.372Z","repository":{"id":318318508,"uuid":"1068032226","full_name":"BinaryMelodies/x80-emulator","owner":"BinaryMelodies","description":"Emulator pack for the 8080/Z80 instruction sets","archived":false,"fork":false,"pushed_at":"2025-10-06T14:00:09.000Z","size":410,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T14:36:49.697Z","etag":null,"topics":["8080","8085","assembler","emulator","ez80","gameboy","z180","z280","z380","z80"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BinaryMelodies.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-01T18:47:47.000Z","updated_at":"2025-10-06T14:00:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"8865fad7-b249-4c4c-b892-5d8c8e6f1212","html_url":"https://github.com/BinaryMelodies/x80-emulator","commit_stats":null,"previous_names":["binarymelodies/x80-emulator"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/BinaryMelodies/x80-emulator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryMelodies%2Fx80-emulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryMelodies%2Fx80-emulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryMelodies%2Fx80-emulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryMelodies%2Fx80-emulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BinaryMelodies","download_url":"https://codeload.github.com/BinaryMelodies/x80-emulator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryMelodies%2Fx80-emulator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278740831,"owners_count":26037480,"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-10-07T02:00:06.786Z","response_time":59,"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":["8080","8085","assembler","emulator","ez80","gameboy","z180","z280","z380","z80"],"created_at":"2025-10-07T07:41:49.921Z","updated_at":"2025-10-07T07:41:51.365Z","avatar_url":"https://github.com/BinaryMelodies.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# An emulator/assembler/disassembler package supporting the 8-bit Intel 8080/Zilog Z80 family\n\n**Much of the project is untested and comes with no warranty.** However the core passes the popular 8080, Z80 an 8085 instruction exerciser suites.\n\nThis project grew out of a desire to research, document and compare several derivatives of the Intel 8080 microprocessor, arguably the progenitor to the ever abundant x86 architecture family.\n\nThe project includes an assembler, a disassembler, an emulator, with the goal being making the CPU emulation core a standalone library.\nIt also includes several automatically generated HTML tables summarizing and comparing the instruction sets.\n\nThe emulator currently emulates the Intel 8080, Intel 8085, KR580VM1, Sharp SM83, Zilog Z80, Zilog Z180, Zilog Z280, Zilog Z380, Zilog eZ80, ASCII R800 processors, and can create a very basic CP/M environment.\n\nThe file `tools/cpudisc.com` can distinguish between the above CPUs using undocumented and processor specific instructions.\n\n# Overview\n\nThe family started with the CTC Datapoint 2200, which was not a microprocessor per se but a programmable terminal.\nCTC requested Intel to create a single chip implementation, the Intel 8008, but eventually they decided not to use the 8008 in their terminals.\nThe Datapoint 2200 became the foundation of a series of similar terminals, including the 2200 Version II and the 5500.\n\nThe Intel 8008 was produced alongside the reportedly first microprocessor, the 4-bit Intel 4004 (not compatible with it, not implemented in this package), and by the same lead.\nOnce it became clear that CTC was not interested in the product, Intel started selling the 8008 to third parties, and followed it up by the source code compatible (but not binary compatible) 8080 and 8085.\n\nMany of the original team later left Intel to found Zilog and produce a series of 8080 compatible microprocessors, starting with the wildly popular Z80, used in multiple home computers.\nZilog also created a series of upgrades to the Z80, including the Z180, the 16-bit Z800/Z280, the 32-bit Z380 and the 24-bit eZ80.\nMost of these are not compatible with each other.\n\nOther derivatives of the chips include the Sharp SM83, used as the CPU for the Gameboy, the 16-bit R800 from ASCII corporation, the КР580ВМ1 (KR580VM1) from the Soviet Union and the Rabbit series of processors.\n\n[See the generated instruction set tables](https://html-preview.github.io/?url=https://github.com/BinaryMelodies/x80-emulator/blob/main/html/tables.html)\n\n# Compilation\n\nRunning `make` should generate the binaries and HTML tables in the `out` directory.\nThis includes the `assembler`, `disassembler` and `emulator`.\nThe `emulator` takes a CP/M binary (as a `.COM`, `.PRL` or CP/M Plus `.COM` executable) and executes and/or debugs it.\nA rudimentary inline assembly is also provided.\n\n# Resources\n\nThis project was inspired and supported by several resources, some of which are included here.\n\n* Intel and Zilog manuals\n* [Some excellent tables summarizing old processor architectures](https://pastraiser.com/)\n* [Summary of the 8080 and Z80 instruction sets, webpage long defunct](http://nemesis.lonestar.org/computers/tandy/software/apps/m4/qd/opcodes.html)\n* [The Undocumented Z80 Documented](http://z80.info/zip/z80-documented.pdf) and [Z80 Flag Affection](http://www.z80.info/z80sflag.htm)\n* [Z80 and R800 assembly/machine language op-code tables](https://www.angelfire.com/art2/unicorndreams/msx/Z80R800.html)\n* [Documentation for the KR580VM1 (in Russian)](https://code.google.com/archive/p/radio86/wikis/KP580BM1.wiki)\n\nand many more.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinarymelodies%2Fx80-emulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinarymelodies%2Fx80-emulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinarymelodies%2Fx80-emulator/lists"}