{"id":37227129,"url":"https://github.com/christosmaragkos/sharpie","last_synced_at":"2026-01-31T05:00:43.706Z","repository":{"id":331644933,"uuid":"1114626690","full_name":"ChristosMaragkos/Sharpie","owner":"ChristosMaragkos","description":"A fantasy console written in C# with a simple but powerful assembly language","archived":false,"fork":false,"pushed_at":"2026-01-30T05:26:15.000Z","size":1864,"stargazers_count":24,"open_issues_count":4,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-30T21:39:07.186Z","etag":null,"topics":["console","dotnet","emulator","fantasy-console"],"latest_commit_sha":null,"homepage":"","language":"C#","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/ChristosMaragkos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-12-11T16:37:52.000Z","updated_at":"2026-01-30T05:26:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ChristosMaragkos/Sharpie","commit_stats":null,"previous_names":["christosmaragkos/sharpie"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ChristosMaragkos/Sharpie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristosMaragkos%2FSharpie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristosMaragkos%2FSharpie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristosMaragkos%2FSharpie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristosMaragkos%2FSharpie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChristosMaragkos","download_url":"https://codeload.github.com/ChristosMaragkos/Sharpie/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristosMaragkos%2FSharpie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28929862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T04:05:25.756Z","status":"ssl_error","status_checked_at":"2026-01-31T04:02:35.005Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["console","dotnet","emulator","fantasy-console"],"created_at":"2026-01-15T03:18:56.769Z","updated_at":"2026-01-31T05:00:43.698Z","avatar_url":"https://github.com/ChristosMaragkos.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sharpie Console\n![Sharpie Logo](https://raw.githubusercontent.com/ChristosMaragkos/Sharpie/refs/heads/main/assets/icons/icon_large.png)\n\n[Try the new web-based runner!](https://christosmaragkos.github.io/Sharpie/)\n\nSharpie is a 16-bit fantasy console implemented in C#. It is a powerhouse designed to get in your way as little as possible while mimicking how old NES- and SNES-era games were programmed.\nIt features its own custom Assembly language that facilitates most of what you'd need to not pull your hair out in the process of making a game.\n\n## Hardware Specs\n* **CPU:** 16-bit custom architecture.\n* **Registers:** 32 general-purpose registers (Two pages of 16 each).\n* **Memory:** 64KB of addressable space.\n* **Color:** A 32 color palette with support for palette swaps and alternative palettes\n* **Graphics:** Sprite-based rendering with a camera, a 65536x65536 internal display and a text overlay.\n* **Audio:** 8 monophonic channels that can play audio simultaneously, with support for **Square, Triangle, Sawtooth** and **Noise** waveforms as well as up to 128 distinct instruments.\n* **Input:** Support for up to two players.\n\n## The SDK\nThe Sharpie SDK handles your entire development pipeline. \n\n### Features\n* **Assembler:** A lightning-fast CLI (and now a GUI) that turns `.asm` code into `.shr` cartridges.\n* **Syntax Highlighting:** First-class support for Neovim and VS Code (located in `tools/editor-support`).\n\n## Getting Started\n1.  **Grab the Release:** Download the build you need from the [Releases](https://github.com/ChristosMaragkos/Sharpie/releases) tab.\n2.  **Setup your Editor:** Follow the instructions in `tools/editor-support` to get those opcodes looking pretty.\n3.  **Write Code:**\n    ```asm\n    .INCLUDE \"my_sprites.asm\"\n    \n    LDI r1, $01       ; Load a value\n    OUT_R r1          ; Print it to the console\n    ```\n4.  **Assemble:** `Sharpie.Sdk -i mygame.asm`\n5.  **Run:**\n    Drag your `.shr` file onto the Sharpie Runner and watch the magic happen.\n\n### Developer Support\nIf you'd like to ask something specific about the Sharpie, feel free to open an [Issue](https://github.com/ChristosMaragkos/Sharpie/issues) or a [Discussion](https://github.com/ChristosMaragkos/Sharpie/discussions). The [Wiki](https://github.com/ChristosMaragkos/Sharpie/wiki) also contains much more nuanced info about the console's architecture.\n\n##  Repository Structure\n* `/src`: The C# source code for the Sharpie as well as the runner interfaces.\n* `/tools`: The SDK, Assembler, and Editor support files.\n* `/assets`: Logos, icons, and release materials.\n\n## License\nSharpie, the Sharpie Logo and the Sharpie BIOS are all licensed under the LGPL License, and the Sharpie SDK uses ImageSharp for its PNG-\u003eASM conversion. See [LICENSE.md](https://github.com/ChristosMaragkos/Sharpie/blob/main/LICENSE.md) for the boring legal details.\n\n### But, can I sell my Sharpie game?\nThere are plans for standalone self-contained Sharpie ROM support by packaging them with a runner of your choice. No ETA on that yet, but stay tuned.\n**However:**\n\nThe intent is to enable the creation and distribution of games.\n\nWhile third-party runners are more than welcome, we discourage the monetization of standalone runner implementations\nas we believe the ecosystem works best when commercial value is centered on games rather than platforms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristosmaragkos%2Fsharpie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristosmaragkos%2Fsharpie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristosmaragkos%2Fsharpie/lists"}