{"id":16133444,"url":"https://github.com/deckerego/picosystem-demo","last_synced_at":"2026-01-20T19:32:41.153Z","repository":{"id":46288386,"uuid":"417639411","full_name":"deckerego/picosystem-demo","owner":"deckerego","description":"Match 3 game demo'ing the PicoSystem 32blit libraries","archived":false,"fork":false,"pushed_at":"2021-11-01T23:49:24.000Z","size":604,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T17:47:12.023Z","etag":null,"topics":["32blit","handheld","match3","match3-game","picosystem","pimoroni"],"latest_commit_sha":null,"homepage":"","language":"C++","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/deckerego.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}},"created_at":"2021-10-15T21:19:44.000Z","updated_at":"2022-07-27T20:24:18.000Z","dependencies_parsed_at":"2022-09-14T19:41:53.167Z","dependency_job_id":null,"html_url":"https://github.com/deckerego/picosystem-demo","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":"32blit/picosystem-boilerplate","purl":"pkg:github/deckerego/picosystem-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deckerego%2Fpicosystem-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deckerego%2Fpicosystem-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deckerego%2Fpicosystem-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deckerego%2Fpicosystem-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deckerego","download_url":"https://codeload.github.com/deckerego/picosystem-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deckerego%2Fpicosystem-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28610618,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T18:56:40.769Z","status":"ssl_error","status_checked_at":"2026-01-20T18:54:26.653Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["32blit","handheld","match3","match3-game","picosystem","pimoroni"],"created_at":"2024-10-09T22:44:43.774Z","updated_at":"2026-01-20T19:32:41.135Z","avatar_url":"https://github.com/deckerego.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PicoSystem 32blit Match 3 Demo\n\nA Match 3 game to demo how to build games for the Pimoroni PicoSystem.\n\nThe how's and why's of the code are being documented in the \n[picosystem-demo Wiki](https://github.com/deckerego/picosystem-demo/wiki), \nwhich should help provide some info on the 32blit SDK and how it is used to build the game. \n\n## Tools Used\n\n### Artwork\n\n[Krita](https://krita.org/) was used to create pixel art for all assets.\n\n### Maps\n\nMaps are generated using [Tiled](https://www.mapeditor.org).\n\n## Building the Demo\n\nThis demo was created with macOS 11.6 (Big Sur), and most of these instructions\nwill work with Linux or WSL (Windows Subsystem for Linux) equivalents.\n\n### Compilers \u0026 Libraries with macOS\n\nYou'll need a compiler and a few other dependencies to get started building C++\nfor PicoSystem. With macOS that will include installing xcode (even if you\ndon't plan on using xcode). After that the process will be:\n\n1. Adding the xcode build tools: `xcode-select --install`\n1. Adding OSS build libraries: `brew install cmake`\n1. Installing 32blit tools: `pip3 install 32blit`\n1. Installing the ARM cross-compile toolchain from https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads (this could be done from brew, but I prefer a system-wide install)\n1. Add the ARM tools directory to your current PATH. As an example, you can add `~/.zprofile` and add `export PATH=\"$PATH:/System/Volumes/Data/Applications/ARM/bin\"` at the end for the default install.\n1. Clone 32blit SDK: git clone https://github.com/32blit/32blit-sdk.git\n1. Change into the cloned directory and update submodules as needed: `git submodule update --init`\n1. Clone Pico SDK: git clone -b master https://github.com/raspberrypi/pico-sdk.git\n1. Change into the cloned directory and update submodules as needed: `git submodule update --init`\n1. Clone Pico Extras: git clone -b master https://github.com/raspberrypi/pico-extras.git\n1. Change into the cloned directory and update submodules as needed: `git submodule update --init`\n1. Move all the SDKs into `/opt` (again, I'm a fan of system-wide installs)\n\n### Testing with SDL\n\nTo test on your local machine before copying to the PicoSystem, build an\nSDL port of your app with:\n\n```\nmkdir build.sdl\ncd build.sdl\ncmake ..\nmake\n```\n\nIn macOS you can launch the app from the commandline with:\n\n```\nopen PicoSystem\\ Demo.app\n```\n\n### Building for the PicoSystem\n\nIf you've got local copies of the Pico SDK, Pico Extras and 32blit SDK alongside your project,\nthen you can configure and build your .uf2 like so:\n\n```\nmkdir build.pico\ncd build.pico\ncmake .. -D32BLIT_DIR=/opt/32blit-sdk -DPICO_SDK_PATH=/opt/pico-sdk -DCMAKE_TOOLCHAIN_FILE=/opt/32blit-sdk/pico.toolchain -DPICO_BOARD=pimoroni_picosystem\nmake\n```\n\n### Copying your game to your PicoSystem\n\nConnect your PicoSystem to your computer using a USB Type-C cable.\n\nFrom a power-off state, hold down X (the top face button) and press Power (the button at the top left, next to the USB Type-C port).\n\nYour PicoSystem should mount as \"RPI-RP2\". On macOS this might be `/Volumes/RPI-RP2`:\n\n```\ncp demo.app.uf2 /Volumes/RPI-RP2\n```\n\nThe file should copy over, and your PicoSystem should automatically reboot into your game.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeckerego%2Fpicosystem-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeckerego%2Fpicosystem-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeckerego%2Fpicosystem-demo/lists"}