{"id":20881282,"url":"https://github.com/cfrankb/esp-idf-cs3","last_synced_at":"2025-04-19T07:48:38.124Z","repository":{"id":164082080,"uuid":"561472741","full_name":"cfrankb/esp-idf-cs3","owner":"cfrankb","description":"Remake of an MSDOS game for the ESP32 microcontroller using the ST7789 / ILI9341 LCD display and a joystick module.","archived":false,"fork":false,"pushed_at":"2024-05-18T13:15:44.000Z","size":1349,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T07:01:34.527Z","etag":null,"topics":["button","esp-idf","esp32","game","game-2d","game-engine","ili9341","joystick","maze","maze-game","retro","retrogaming","st7789","tilemap"],"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/cfrankb.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}},"created_at":"2022-11-03T19:10:36.000Z","updated_at":"2025-01-18T17:56:34.000Z","dependencies_parsed_at":"2024-05-18T14:28:06.839Z","dependency_job_id":"05a622c7-f643-4676-942b-e14ef88fa04d","html_url":"https://github.com/cfrankb/esp-idf-cs3","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/cfrankb%2Fesp-idf-cs3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfrankb%2Fesp-idf-cs3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfrankb%2Fesp-idf-cs3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfrankb%2Fesp-idf-cs3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cfrankb","download_url":"https://codeload.github.com/cfrankb/esp-idf-cs3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249640620,"owners_count":21304809,"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":["button","esp-idf","esp32","game","game-2d","game-engine","ili9341","joystick","maze","maze-game","retro","retrogaming","st7789","tilemap"],"created_at":"2024-11-18T07:24:20.338Z","updated_at":"2025-04-19T07:48:38.092Z","avatar_url":"https://github.com/cfrankb.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About\n\nThis project is a game port to ESP-32 microcontroller of an MS-DOS Game.\n\nCurrent status is alpha. 90% of the core mechanic has been implemented.\n\n## Original MS-DOS\n\n![Image](images/Screenshot_2022-10-19_21-01-20.png \"icon\")\n\n## ESP-32\n\n![Image](images/20231224_082059.jpg \"icon\")\n\nI am also releasing the source code for the map editor:\nhttps://github.com/cfrankb/cs3-map-edit\n\nTry the online version of the game: \nhttps://cfrankb.com/games/ems/cs3v2.html\n\n# Software required\n\nesp-idf v5.1.2 or later.\n\n# Installation\n\nThis project is based in part on: https://github.com/nopnop2002/esp-idf-st7789\n\n```Shell\ngit clone https://github.com/cfrankb/esp-idf-cs3.git\ncd esp-idf-cs3/\nidf.py set-target {esp32/esp32s2/esp32s3/esp32c3}\nidf.py menuconfig\nidf.py flash\n```\n\n# Tested with this hardware\n\n| Driver  | Resolution | Max SPI Freq | Display Inv |\n| ------- | ---------- | ------------ | ----------- |\n| ST7789  | 240x320    | 20M          | True        |\n| ILI9341 | 240x320    | 40M          | False       |\n\n## ESP-32\n\nhttps://www.aliexpress.com/item/32959541446.html\n\n## ST7789\n\nhttps://www.aliexpress.com/item/1005004343881408.html\n\n| ST7789   | wirecolor | GPIO Pin   |\n| -------- | --------- | ---------- |\n| SDK/MISO | purple    |            |\n| LED      | grey      | 32 (BL???) |\n| SCK      | yellow    | 18         |\n| SDI/MOSI | orange    | 23         |\n| DC       | green     | 27         |\n| RESET    | brown     | 33         |\n| CS       | white     | 14 or 25   |\n| GRN      | black     | GRN        |\n| VCC      | red       | 3.3v or 5v |\n\n## Joystick\n\nhttps://www.aliexpress.com/item/32345829014.html\n\n| JOYSTICK | wirecolor | GPIO Pin |\n| -------- | --------- | -------- |\n| VRX      | brown     | 35       |\n| VRY      | white     | 34       |\n| SW       | blue      | 26       |\n| GRN      | black     | GRN      |\n| VCC      | red       | 3.3v     |\n\nThe above configuration is for the ESP32.\nPin out will vary per model. Check log output.\n\n## Dupont cables\n\nhttps://www.aliexpress.com/item/1005004611997111.html\n\n## Button Module (optional)\n\nhttps://www.aliexpress.com/item/32909058328.html\n\n| Module | wirecolor | GPIO Pin  |\n| ------ | --------- | --------- |\n| GRN    | black     | GRN       |\n| OUT    | green     | 4         |\n| VCC    | red       | 3.3v / 5v |\n\n## Further reading\n\nhttps://github.com/DiegoPaezA/ESP32-freeRTOS\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfrankb%2Fesp-idf-cs3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcfrankb%2Fesp-idf-cs3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfrankb%2Fesp-idf-cs3/lists"}