{"id":20522846,"url":"https://github.com/anachrocomputer/svgalibscroller","last_synced_at":"2025-08-31T20:44:08.569Z","repository":{"id":233607610,"uuid":"787538877","full_name":"anachrocomputer/SVGAlibScroller","owner":"anachrocomputer","description":"Very old program that uses the SVGAlib to generate a parallax scrolling display resembling a game","archived":false,"fork":false,"pushed_at":"2024-05-28T18:39:55.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T10:49:01.139Z","etag":null,"topics":["alsa","parallax-scrolling","svga-library"],"latest_commit_sha":null,"homepage":"","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/anachrocomputer.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-16T18:04:43.000Z","updated_at":"2024-05-28T18:39:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"a49d9706-803e-4bb8-be14-92f40f1dd882","html_url":"https://github.com/anachrocomputer/SVGAlibScroller","commit_stats":null,"previous_names":["anachrocomputer/svgalibscroller"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anachrocomputer%2FSVGAlibScroller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anachrocomputer%2FSVGAlibScroller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anachrocomputer%2FSVGAlibScroller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anachrocomputer%2FSVGAlibScroller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anachrocomputer","download_url":"https://codeload.github.com/anachrocomputer/SVGAlibScroller/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242128317,"owners_count":20076177,"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":["alsa","parallax-scrolling","svga-library"],"created_at":"2024-11-15T22:37:04.458Z","updated_at":"2025-03-06T00:43:00.478Z","avatar_url":"https://github.com/anachrocomputer.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SVGAlibScroller #\n\nThis is an experimental program to generate a VGA display\nresembling the game \"Defender\".\nApart from having a parallax-scrolling background of fields and clouds, that is.\nMaybe it's more like \"Scramble\", but I've only played the Vectrex version of that game.\n\nI wrote it in February 2012 as a second step towards a fully interactive program that could\ndisplay directly on the PC's screen.\nAn earlier iteration generated numerous PPM format still images and then assembled them,\nalong with a soundtrack, into a video file by using 'ffmpeg'.\nBut this version writes directly to the VGA screen and the ALSA sound subsystem.\n\n\u003e [!NOTE]\n\u003e SVGAlib is long obsolete and superceded by SDL2,\n\u003e the Simple DirectMedia Layer.\n\u003e SVGAlib had several shortcomings,\n\u003e and was only really useful on Linux systems that ran in text mode (i.e. without a GUI).\n\u003e This repo is here as an example of how we wrote code back in the day,\n\u003e and as a bit of a fossil (like myself).\n\nThe code never got as far as accepting user input in the function `game_logic()`.\nI really wanted to use a joystick,\nand that's what led me to move to SDL2 which supports input as well as output.\nThe program only runs for eight seconds and then terminates.\n\n## Compilation Options ##\n\nThere's a #define in the code called MODE13H which will make the program run in\n320x200, 256-colour mode.\nIf that #define is not defined, the program will run in 640x480 resolution.\n\n## Compiling and Building ##\n\nTo compile this code, you'll need the usual 'build-essential' package:\n\n`sudo apt install build-essential`\n\nalong with the SVGAlib libraries and header files:\n\n`https://www.svgalib.org/`\n\nAnd the ALSA sound subsystem libraries :\n\n`https://www.alsa-project.org/wiki/Main_Page`\n\nOnce those are installed, you can simply run 'make':\n\n`make`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanachrocomputer%2Fsvgalibscroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanachrocomputer%2Fsvgalibscroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanachrocomputer%2Fsvgalibscroller/lists"}