{"id":19881238,"url":"https://github.com/arda-guler/turnacore","last_synced_at":"2026-03-10T02:04:30.528Z","repository":{"id":212545742,"uuid":"697533274","full_name":"arda-guler/TurnaCore","owner":"arda-guler","description":"An imaginary 16-bit CPU architecture with custom assembly language and instructions","archived":false,"fork":false,"pushed_at":"2023-12-14T20:09:40.000Z","size":9583,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-02T09:12:11.318Z","etag":null,"topics":["asm","assembly","challenge","cpu","cpu-emulator","educational","emulator","experimental","low-level","memory","processor","processor-architecture","processor-simulator","ram"],"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/arda-guler.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}},"created_at":"2023-09-27T23:45:12.000Z","updated_at":"2025-07-12T04:16:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"34ba31b9-e11b-4e63-842c-b733aae4de0a","html_url":"https://github.com/arda-guler/TurnaCore","commit_stats":null,"previous_names":["arda-guler/turnacore"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/arda-guler/TurnaCore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arda-guler%2FTurnaCore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arda-guler%2FTurnaCore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arda-guler%2FTurnaCore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arda-guler%2FTurnaCore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arda-guler","download_url":"https://codeload.github.com/arda-guler/TurnaCore/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arda-guler%2FTurnaCore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30322638,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T01:36:58.598Z","status":"online","status_checked_at":"2026-03-10T02:00:06.579Z","response_time":106,"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":["asm","assembly","challenge","cpu","cpu-emulator","educational","emulator","experimental","low-level","memory","processor","processor-architecture","processor-simulator","ram"],"created_at":"2024-11-12T17:13:40.120Z","updated_at":"2026-03-10T02:04:30.498Z","avatar_url":"https://github.com/arda-guler.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TurnaCore\n\n![Multiplication](https://github.com/arda-guler/TurnaCore/assets/80536083/bfe4d51a-ab84-478c-afe1-7f4115404b06)\n\n*A TurnaCore machine multiplying 13 and 27.*\n\nTurnaCore is an imaginary 16-bit CPU with a custom architecture, created mainly for creating low-level programming challenges. [Read more about the architecture here](https://github.com/arda-guler/TurnaCore/blob/master/docs/CPU_architecture.txt).\n\nThe AO language is a custom assembly language to write programs for TurnaCore machines. [Read more about it here](https://github.com/arda-guler/TurnaCore/blob/master/docs/AO_language.txt).\n\nDon't forget to read the docs!\n\n## Use\n\n**Run src/main.py** to start the TurnaCore machine. A TurnaCore machine can load one program into memory at a time (unless you write two programs back to back on the same source code file).\n\nRunning simply as:\n```\nmain.py\n```\npowers up a TurnaCore machine. The emulator will then scan the /programs folder and ask you to pick a program to run. Then, it will as you whether you want to run the program in *slow mode* (explained below) or not.\n\nRunning via:\n```\nmain.py \u003cfilename\u003e\n```\npowers up a TurnaCore machine and loads up a program into memory. The emulator starts in *slow mode* (explained below) by default.\n\nRunning via:\n```\nmain.py \u003cfilename\u003e \u003cslow_mode(Y/n)\u003e\n```\nallows you to pick whether you want to start in *slow mode* (explained below) or not.\n\n## What is this 'Slow Mode' anyway?\n\nSlow mode has a Tkinter GUI for easily keeping track of what the machine is doing. The machine takes quite a lot longer to execute each instruction so that your eyes can keep up with the numbers. Good for debugging and education, not good for running extremely large programs just for the result. If slow mode is not enabled, instructions are carried out as fast as possible, with no GUI output (just the command line printouts at the end of the program).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farda-guler%2Fturnacore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farda-guler%2Fturnacore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farda-guler%2Fturnacore/lists"}