{"id":28638934,"url":"https://github.com/sas2k/micro80","last_synced_at":"2025-06-12T19:09:46.202Z","repository":{"id":222802820,"uuid":"758419386","full_name":"Sas2k/Micro80","owner":"Sas2k","description":"A 16-bit Console that never existed","archived":false,"fork":false,"pushed_at":"2024-04-11T05:38:56.000Z","size":354,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-11T06:39:11.852Z","etag":null,"topics":["emulation","emulator","fantasy-console","pysdl2","python"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Sas2k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-16T09:29:12.000Z","updated_at":"2024-02-16T13:50:07.000Z","dependencies_parsed_at":"2024-02-29T15:45:35.313Z","dependency_job_id":"961bab0a-4510-4aba-9e65-43be244b2cb3","html_url":"https://github.com/Sas2k/Micro80","commit_stats":null,"previous_names":["sas2k/micro80"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sas2k/Micro80","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sas2k%2FMicro80","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sas2k%2FMicro80/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sas2k%2FMicro80/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sas2k%2FMicro80/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sas2k","download_url":"https://codeload.github.com/Sas2k/Micro80/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sas2k%2FMicro80/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259519871,"owners_count":22870374,"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":["emulation","emulator","fantasy-console","pysdl2","python"],"created_at":"2025-06-12T19:09:44.648Z","updated_at":"2025-06-12T19:09:46.193Z","avatar_url":"https://github.com/Sas2k.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e📺 Micro80\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Status](https://img.shields.io/badge/status-active-success.svg)]()\n[![GitHub Issues](https://img.shields.io/github/issues/Sas2k/Micro80.svg)](https://github.com/Sas2k/Micro80/issues)\n[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/Sas2k/Micro80.svg)](https://github.com/Sas2k/Micro80/pulls)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)\n\n\u003c/div\u003e\n\n\u003ch3 align=\"center\"\u003e A 16-bit Console that **never** existed.\n    \u003cbr\u003e \n\u003c/h3\u003e\n\n## 📝 Table of Contents\n\n- [📝 Table of Contents](#-table-of-contents)\n- [🧐 About ](#-about-)\n- [🏁 Getting Started ](#-getting-started-)\n- [✨ Features ](#-features-)\n  - [📃 To-Do](#-to-do)\n  - [Prerequisites](#prerequisites)\n  - [Installing](#installing)\n- [🎈 Usage ](#-usage-)\n- [⛏️ Built Using ](#️-built-using-)\n- [✍️ Authors ](#️-authors-)\n\n## 🧐 About \u003ca name = \"about\"\u003e\u003c/a\u003e\n\nAn Emulator for a 16-bit Console that never existed.\n\nThe Micro80 is a 16-bit Console with 9 Registers, 128Kib of Main Memory and a 128x128 Graphics Display.\n\nTo find out about on how to Contribute to the Project, Check out the [Contributing.md](CONTRIBUTING.md) File.\n\n## 🏁 Getting Started \u003ca name = \"getting_started\"\u003e\u003c/a\u003e\n\nThese instructions will get you a copy of the project up and running on your local machine for development and Running Purposes. See [deployment](#deployment) for notes on how to deploy the project on a live system.\n\n## ✨ Features \u003ca name = \"features\"\u003e\u003c/a\u003e\n\n- 16-bit CPU with 9 registers\n- 128Kib of Main Memory.\n- 16-bit Graphics with 128x128 Resolution.\n- 74 Instructions.\n\n### 📃 To-Do\n\n- [ ] Make Character-Maps for the Graphics Display.\n- [x] Add Inputs.\n- [ ] Add Sound Chips.\n- [ ] Create a High-Level Language to Code in.\n- [ ] Bring up the Clock Speed\n- [ ] Create a Documentation.\n\n### Prerequisites\n\n- Python 3.10 or higher\n- Cython\n- PySDL2\n- Virtualenv (Optional)\n- Black (Code Formatting/Styling)\n\n### Installing\n\nA how-to guide that will help you get started with the project.\n\nFirst off, Clone the repository on to your local machine.\n\n```bash\ngit clone \u003chttp-repo-url\u003e\n```\n\nthen, navigate to the directory and create a virtual environment.\n\n```bash\ncd Micro80\npython -m virtualenv venv\n```\n\nActivate the virtual environment\n\n```bash\nsource venv/bin/activate #for linux\n```\n```powershell\n.\\venv\\Scripts\\activate #for windows\n```\n\nInstall the required packages\n\n```bash\npip install -r requirements.txt\n```\n\nThen, the project is Set-Up.\n\n\u003e If the *.pyd files are not present, or if you done any changes to the code. please build it using the following commands\n\u003e ```bash\n\u003e python setup.py build_ext --inplace\n\u003e ```\n\u003e Then, change the file names to have `name.pyd`\n\u003e `MainMemory.cp310-win_amd64.pyd` to `MainMemory.pyd`\n\n## 🎈 Usage \u003ca name=\"usage\"\u003e\u003c/a\u003e\n\nHere is a simple example on how to run the project.\n\nfirst create a `main.asm80` file with the following code.\n\n```c\n; main.asm80 \u003c- this is a comment\nWAdr 0x4400\nWDir 0x0005 ; Go to Address 0x4400 (in variables) and set the value to 5\nWAdr 0x4401\nWDir 0x0006 ; Go to Address 0x4401 (in variables) and set the value to 6\n\nLDA 0x4400 ; Load the value at 0x4400 into the Accumulator\nADD 0x4401 ; Add the value at 0x4401 to the Accumulator\nSTA 0x4402 ; Store the value in the Accumulator to 0x4402\n\nHLT ; Halt the CPU\n```\n\nthen, Assemble it to a ROM file.\n\n```bash\npython -m Micro90.Assembler -i main.asm80\n```\n\nThen, run in debug mode. to See changes in the memory and the CPU.\n\n```bash\npython -m Micro80 -f main.rom.m80 -d\n```\n\nAnd that's it! You have a simple program running on the Micro80 Emulator.\n\nTo find out more on the language (for now...) check out the [Instructions.txt](Micro80/instructions.txt) in the Main Folder and the Assembly Codes in the [Assembly-Programs](Micro80/Assembly-Programs) Folder.\n\n## ⛏️ Built Using \u003ca name = \"built_using\"\u003e\u003c/a\u003e\n\n- [Python](https://www.python.org/) - Coded In\n- [Cython](https://cython.org/) - Improved Performance\n- [PySDL2](https://pysdl2.readthedocs.io/en/rel_0_9_7/) - Graphics Library\n\n## ✍️ Authors \u003ca name = \"authors\"\u003e\u003c/a\u003e\n\n- [@Sas2k](https://github.com/Sas2k) - Idea \u0026 Initial work\n\nSee also the list of [contributors](https://github.com/Sas2k/Micro80/contributors) who participated in this project.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsas2k%2Fmicro80","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsas2k%2Fmicro80","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsas2k%2Fmicro80/lists"}