{"id":13566206,"url":"https://github.com/chanmix51/soft65c02","last_synced_at":"2025-04-09T08:30:32.059Z","repository":{"id":40586774,"uuid":"229353420","full_name":"chanmix51/soft65c02","owner":"chanmix51","description":"A 65C02 simulator","archived":false,"fork":false,"pushed_at":"2024-04-26T14:12:33.000Z","size":307,"stargazers_count":14,"open_issues_count":6,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T03:23:37.528Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chanmix51.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2019-12-20T23:59:06.000Z","updated_at":"2024-05-29T15:19:45.000Z","dependencies_parsed_at":"2024-03-28T23:26:01.024Z","dependency_job_id":"34825e36-b218-4bfa-878b-48e999aada53","html_url":"https://github.com/chanmix51/soft65c02","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanmix51%2Fsoft65c02","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanmix51%2Fsoft65c02/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanmix51%2Fsoft65c02/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanmix51%2Fsoft65c02/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chanmix51","download_url":"https://codeload.github.com/chanmix51/soft65c02/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248002909,"owners_count":21031689,"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":[],"created_at":"2024-08-01T13:02:04.499Z","updated_at":"2025-04-09T08:30:31.721Z","avatar_url":"https://github.com/chanmix51.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Soft 65C02\n\nSoft65C02 is a suite of softwares dedicated to 65C02 machine code testing and debugging. It is composed of 3 parts:\n\n * soft65C02_lib: a Rust library to simulate a 65C02 processor you can use in your own developments.\n * soft65C02_tester: a CLI tool to run automated tests against 65C02 machine code.\n * soft65C02_studio: (yet to develop) a CLI tool to run, debug machine code and create tests scripts.\n\nIf you want to use the old CLI tool, the last working version is e7e6615.\n\nThis is a pet project so if you are interested into real world software\nregarding this processor, I suggest you have a look\n[there](https://www.masswerk.at/products.php) and\n[there](http://www.6502.org/users/andre/).\n\n\n![GNU GPL V3.0](https://img.shields.io/github/license/chanmix51/soft65c02)\n![Rust Language](https://img.shields.io/badge/language-rust-orange)\n\n### Why would you write another simulator for the 65C02?\n\nI started this project in 2020 to learn the [Rust\nlanguage](https://www.rust-lang.org/) and … the 65C02. It has been a real\npleasure to code in the Rust programming language, guys \u0026 girls, you have\ncreated awesome tools.\n\n### The Rust language OK, but why the 6502 and not a modern processor?\n\nBecause the 6502 comes from an age where processors were built by humans for\nhumans. So the 6502 is a very good way to learn how processors work and are\nprogrammed. Plus, the 65C02 is cool.\n\nIt's all [Ben\nEater](https://www.youtube.com/watch?v=LnzuMJLZRdU)'s fault by the way.\n\n### What's the actual state of this development?\n\nThe library is supposed to be wire to wire compatible with a real 65C02. The\nfirst version of this software (2020 → 2024) was a CLI against the library but\nif this was a good first step it was not testable enough for evolving. In 2024 I\ntook advantage of free time to split the project in a Rust workspace to dig more\nin GUI part. I rewrote the Tester with parser tests this time. The Studio is\nyet to write.\n\n### License\n\nThese softwares are released under the terms of the [GNU GPL\nv3](http://www.gnu.org/licenses/gpl-3.0.html).\n\nIn short, you are free to do what you want with this software but the author is\nNOT responsible _in any case_ for whatever happens directly or indirectly as\nresults of your use of the software. You are able to modify and/or share the\nsoftware as long as it, with your changes, remains under the same license.\n\nThis program is free software: you can redistribute it and/or modify it under\nthe terms of the GNU General Public License as published by the Free Software\nFoundation, either version 3 of the License, or (at your option) any later\nversion.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY\nWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE.  See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with\nthis program.  If not, see [https://www.gnu.org/licenses/].\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanmix51%2Fsoft65c02","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchanmix51%2Fsoft65c02","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanmix51%2Fsoft65c02/lists"}