{"id":15877966,"url":"https://github.com/hubmartin/polyglot","last_synced_at":"2025-04-01T23:41:07.621Z","repository":{"id":69027636,"uuid":"75428886","full_name":"hubmartin/polyglot","owner":"hubmartin","description":"Single binary runs on ARM, AVR, x51","archived":false,"fork":false,"pushed_at":"2016-12-02T20:43:41.000Z","size":371,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-07T15:25:16.525Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hubmartin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2016-12-02T20:34:22.000Z","updated_at":"2020-05-16T18:10:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"48d8f8ac-656c-4abb-8319-444551045eaf","html_url":"https://github.com/hubmartin/polyglot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2Fpolyglot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2Fpolyglot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2Fpolyglot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2Fpolyglot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hubmartin","download_url":"https://codeload.github.com/hubmartin/polyglot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246730290,"owners_count":20824396,"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-10-06T02:05:07.947Z","updated_at":"2025-04-01T23:41:07.601Z","avatar_url":"https://github.com/hubmartin.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Polyglot running on AVR, ARM and 8051\n\nOne binary to rule them all.\n\nFollow this project for future explaining video and further development.\n\nThis project was created and added to the 1kB challenge as a proof of concept. Because the 1kB challenge could use any architecture and 1kB code - it brought to me the idea of creating single binary file which would run on many architectures.\n\nRight now there's only blinking LED demo for each architecture. In a few days I'll add more explanation of some tricks I used to deal with a fact that AVR and 8051 have the same reset vetor at address 0x0000.\n\nThis polyglot can be improved to share some kind of common data across all architectures. For example you can code brainfuck interpreter for every architecture and use common data space where the brainfuck program will be located. So you end with like 4 interpreters in one binary and one data segment where is the actual program which will run really cross-platform.\n\nIn software world there are some projects that are trying to create a single polyglot file which could be opened as PDF, JPG, ZIP archive ... But I wasn't be able to find anything similar in embedded world.\n\nProject idea was started based on 1kB Hack a Day challenge.\nhttps://hackaday.io/contest/18215-the-1kb-challenge\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubmartin%2Fpolyglot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhubmartin%2Fpolyglot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubmartin%2Fpolyglot/lists"}