{"id":13727683,"url":"https://github.com/asiekierka/gbsenpai","last_synced_at":"2025-09-27T14:30:40.460Z","repository":{"id":37341169,"uuid":"376515527","full_name":"asiekierka/gbsenpai","owner":"asiekierka","description":"GB Studio Extended Nominal Player Adaptation/Interface","archived":false,"fork":false,"pushed_at":"2021-07-14T17:41:09.000Z","size":213,"stargazers_count":109,"open_issues_count":5,"forks_count":4,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-01-11T18:52:01.648Z","etag":null,"topics":[],"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/asiekierka.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-06-13T10:50:20.000Z","updated_at":"2025-01-02T06:40:47.000Z","dependencies_parsed_at":"2022-07-08T04:42:26.855Z","dependency_job_id":null,"html_url":"https://github.com/asiekierka/gbsenpai","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/asiekierka%2Fgbsenpai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asiekierka%2Fgbsenpai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asiekierka%2Fgbsenpai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asiekierka%2Fgbsenpai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asiekierka","download_url":"https://codeload.github.com/asiekierka/gbsenpai/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234442789,"owners_count":18833416,"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-08-03T02:00:30.095Z","updated_at":"2025-09-27T14:30:39.996Z","avatar_url":"https://github.com/asiekierka.png","language":"C","funding_links":[],"categories":["Toolkits","工具包"],"sub_categories":["Other places"],"readme":"# gbsenpai\n\n**gbsenpai** - GB Studio Extended Nominal Player Adaptation/Interface - is a project to port the GB Studio player to additional, non-GB/GBC platforms, with support for potential enhancements.\n\n![GB Studio v2 color sample running within gbsenpai.](https://img.asie.pl/atKY.png)\n\n[Proof of concept video](https://img.asie.pl/adKi.mp4)\n\n## Compatibility\n\ngbsenpai should be compatible with source exports made in GB Studio v2.0.0-beta5. Other versions are currently not supported.\n\n## Porting your game\n\nFirst, you need to prepare your game's source code.\n\n1. Create a directory, for example \"source_sample\". This will be your \"game directory\".\n2. Open GB Studio. From the menu, run Game -\u003e Advanced -\u003e Export project source.\n3. There should now be a \"build/src\" directory in your project folder. From there, copy the following files to your \"game directory\":\n    - all files from src/data,\n    - all files from src/music,\n    - include/banks.h,\n    - include/data_ptrs.h.\n\nNote that if you ejected the engine and made modifications to it, you will have to make equivalent \nmodifications in gbsenpai. This is not an emulator! However, as it is a port, it tries to stick\nfairly closely to the original source code - the process shouldn't be too difficult.\n\nIn addition, you will need:\n\n- a reasonably recent version of Python 3.x.\n\nFrom here, the instructions differ depending on port.\n\n### GBA\n\nThe GBA port is currently based on the devkitARM toolchain created by the devkitPro organization, alongside the libtonc library.\n\nAlternatively, you can find a tutorial provided by the GB Studio Central [here](https://gbstudiocentral.com/tips/gbsenpai/).\n\n1. Edit Makefile.gba. In particular:\n    - Set GAME_DIR to your game directory name,\n    - Set GAME_CGB to true if your game targets the GBC, and to false otherwise.\n2. Run `make -f Makefile.gba`.\n3. Enjoy. (Hopefully. I've only tested this on Linux...)\n\n### NDS\n\nThe NDS port is currently based on the devkitARM toolchain created by the devkitPro organization, alongside the libnds library.\n\nThere is some missing functionality:\n\n* Sound is not yet implemented.\n* Saving is not yet implemented.\n\n1. Edit Makefile.nds. In particular:\n    - Set GAME_DIR to your game directory name,\n    - Set GAME_CGB to true if your game targets the GBC, and to false otherwise.\n2. Run `make -f Makefile.nds`.\n3. Enjoy.\n\n## License\n\n**gbsenpai** is licensed under the terms of the MIT license, similar to the original GB Studio engine.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasiekierka%2Fgbsenpai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasiekierka%2Fgbsenpai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasiekierka%2Fgbsenpai/lists"}