{"id":13727751,"url":"https://github.com/sverx/GBAdv","last_synced_at":"2025-05-08T00:30:44.375Z","repository":{"id":22621985,"uuid":"25964456","full_name":"sverx/GBAdv","owner":"sverx","description":"GameBoyAdvance graphical core registers wrapper functions... and a bit more.","archived":false,"fork":false,"pushed_at":"2022-12-15T11:00:01.000Z","size":19,"stargazers_count":23,"open_issues_count":0,"forks_count":2,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-08-04T02:07:45.366Z","etag":null,"topics":["background","nintendo-gameboyadvance","retroprogramming","sprites","wrapper-functions"],"latest_commit_sha":null,"homepage":null,"language":"C","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/sverx.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}},"created_at":"2014-10-30T09:49:24.000Z","updated_at":"2023-10-29T22:01:10.000Z","dependencies_parsed_at":"2023-01-11T21:42:11.132Z","dependency_job_id":null,"html_url":"https://github.com/sverx/GBAdv","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/sverx%2FGBAdv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sverx%2FGBAdv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sverx%2FGBAdv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sverx%2FGBAdv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sverx","download_url":"https://codeload.github.com/sverx/GBAdv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224679718,"owners_count":17351853,"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":["background","nintendo-gameboyadvance","retroprogramming","sprites","wrapper-functions"],"created_at":"2024-08-03T02:00:32.432Z","updated_at":"2024-11-14T19:30:17.254Z","avatar_url":"https://github.com/sverx.png","language":"C","funding_links":[],"categories":["Libraries","图书馆"],"sub_categories":["Other places"],"readme":"# GBAdv\n\nlibgba provides almost everything you need to drive the GBA graphical capabilities, but it forces the programmer to do so in a very low level fashion, thru direct access to the GBA internal registers. This is the reason I made GBAdv, a collection of wrapper functions (and a bit more) which are useful to abstract from that low level, and finally let more enthusiast homebrewers into GBA programming.\n\nYou just have to download the GBAdv C source and put it with your project sources. Modify it if you wish/need it! Just please let me know if you find any bug.\n\nHere's a list of the functions that are defined. Full documentation is available [here](https://github.com/sverx/GBAdv/blob/master/doc/GBAdv.html)\n\nVideo Mode functions:\n\n```\nvoid initDisplay (unsigned int mode, int boolean_object_mapping_style_1D)\n```\nBackground functions:\n\n```\nvoid configureBackground (unsigned int background_number, unsigned int mode, unsigned int maps, unsigned int tiles)\nvoid showBackgrounds (unsigned int which)\nvoid toggleBackgrounds (unsigned int show, unsigned int hide)\nvoid toggleBackgroundsOn (unsigned int show)\nvoid toggleBackgroundsOff (unsigned int hide)\nvoid scrollBackground (unsigned int background_number, int scroll_x, int scroll_y)\nvoid configureBackground2AffineMatrix (int dx, int dmx, int dy, int dmy)\nvoid configureBackground3AffineMatrix (int dx, int dmx, int dy, int dmy)\nvoid configureBackground2ReferencePoint (int x, int y)\nvoid configureBackground3ReferencePoint (int x, int y)\n```\nSprite functions:\n\n```\nvoid showSprites (int boolean_active)\nvoid initSprites (int boolean_back_to_front)\nvoid initSpritesFrontToBack (void)\nvoid initSpritesBackToFront (void)\nint addSprite (int x, int y, unsigned int image, unsigned int properties)\nint reserveSprite (void)\nvoid setSpriteProperties (unsigned int sprite, unsigned int image, unsigned int properties)\nint setSpritePosition (unsigned int sprite, int x, int y)\nint addObjectAffineMatrix (int pa, int pb, int pc, int pd)\nvoid setObjectAffineMatrix (unsigned int matrix, int pa, int pb, int pc, int pd)\n```\nOther functions:\n\n```\nvoid setSpecialEffect (unsigned int which, unsigned int target_A, unsigned int target_B)\nvoid setAlphaBlendingSpecialEffectCoefficients (unsigned int target_A, unsigned int target_B)\nvoid setBrightnessSpecialEffectCoefficient (unsigned int brightness)\nvoid setMosaicCoefficients (unsigned int BG_Mosaic_x, unsigned int BG_Mosaic_y, unsigned int OBJ_Mosaic_x, unsigned int OBJ_Mosaic_y)\nvoid activateWindow (unsigned int windows)\nvoid deactivateWindow (unsigned int windows)\nvoid setWindow0Coordinates (unsigned int x0, unsigned int y0, unsigned int x1, unsigned int y1)\nvoid setWindow1Coordinates (unsigned int x0, unsigned int y0, unsigned int x1, unsigned int y1)\nvoid setWindowControl (unsigned int enabled_inside_win0, unsigned int enabled_inside_win1, unsigned int enabled_outside, unsigned int enabled_objects)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsverx%2FGBAdv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsverx%2FGBAdv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsverx%2FGBAdv/lists"}