{"id":19740083,"url":"https://github.com/efliks/demoscene-legacy","last_synced_at":"2025-04-30T05:32:48.160Z","repository":{"id":29478243,"uuid":"33015230","full_name":"efliks/demoscene-legacy","owner":"efliks","description":"VGA mode 13h programming in x86 Assembly","archived":false,"fork":false,"pushed_at":"2024-08-25T09:14:11.000Z","size":2683,"stargazers_count":26,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-25T14:37:19.872Z","etag":null,"topics":["assembler","assembly","demoscene","graphical-effects","mode13h","ms-dos","retroprogramming","vga"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/efliks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2015-03-28T00:21:54.000Z","updated_at":"2024-08-24T17:49:40.000Z","dependencies_parsed_at":"2024-07-13T08:24:16.565Z","dependency_job_id":"8aadb562-30e6-4228-855d-5a46ae05117d","html_url":"https://github.com/efliks/demoscene-legacy","commit_stats":null,"previous_names":["feliksm1/demoscene-legacy","skilefm/demoscene-legacy","efliks/demoscene-legacy","mfelikz/demoscene-legacy"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efliks%2Fdemoscene-legacy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efliks%2Fdemoscene-legacy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efliks%2Fdemoscene-legacy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efliks%2Fdemoscene-legacy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/efliks","download_url":"https://codeload.github.com/efliks/demoscene-legacy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224198847,"owners_count":17272179,"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":["assembler","assembly","demoscene","graphical-effects","mode13h","ms-dos","retroprogramming","vga"],"created_at":"2024-11-12T01:19:26.225Z","updated_at":"2024-11-12T01:19:29.921Z","avatar_url":"https://github.com/efliks.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./sample.png\" alt=\"Sample image\" width=\"750\" /\u003e\n\n# demoscene-legacy\n\nBack in the early 2000s, I was part of a Polish online group of\nAssembler enthusiasts called New Age Assembler Group or NAAG \n(now defunct). Some of our works made it to the broader demoscene. \nFor example, in June 2002 we released our only zine that can still\nbe found [here](http://www.pouet.net/prod.php?which=50666).\n\nHere is a collection of graphical effects written originally for DOS \nin x86 Assembly language. Some of these effects were published on \n[Demozoo](https://demozoo.org/sceners/70017/), a demoscene site.\n\nThe effects are all implemented in 16-bit Assembly and use real mode. \nI have some better effects in 32-bit protected mode Assembly in \na [new repository](https://github.com/efliks/megassembly).\n\nThis collection also contained effects written in C, but I have made \na [separate repository](https://github.com/efliks/doseffects) for them.\n\n## Build\n\nTo compile and run the graphical effects, there are many options. You can use \na retro PC with DOS, a virtual machine running DOS, or a PC emulator such as \nDOSBox or PCem.\n\nSecondly, you need some assembler. Back in the days, I used compilers\nfrom Borland. Luckily, they seem to have become abandonware.\nFor example, here you can download \n[Borland Turbo Assembler 5.0](https://winworldpc.com/product/turbo-assembler/5x).\n\nOnce you have the assembler installed, open the attached makefile and replace\nthe paths to TASM and TLINK with your own.\n\nThen, simply run make:\n\n```\nc:\\legacy \u003e c:\\tasm\\bin\\make.exe -f makefile\n```\n\n## Execute\n\nAt this point, you should have around 19 COM files. \n\nPress any key to quit. In *asmshade*, you can press [space] to cycle \nbetween different display modes, and [escape] to quit.\n\nIf you are using DOSBox, it may be that some effects run too slowly. \nIt is possible to accelerate them to some degree by repeatedly \npressing [ctrl + shift + f12], which will increase the number of \"cycles\" \nin DOSBox.\n\nOn a system with DOSIDLE installed, it may be necessary to \ntemporarily switch it off. Otherwise, the animation gets stuck after \na few seconds. To switch off DOSIDLE, use:\n\n```\nc:\\legacy \u003e c:\\dosidle2\\dosidle.exe -off\n```\n\n## System requirements\n\nThe code is really ancient 16-bit Assembly, but it makes use of some \n32-bit instructions, e.g. to accelerate copying display buffers. It also \nrelies on the mathematical coprocessor.\n\nThe target platform was a Pentium 133 MHz with a VGA/PCI video card. To \nmeasure the performance on slower systems, I configured several virtual PCs \nwith 86box, and did some benchmarks with *asmshade*. I recommend at least \na Pentium 100 MHz to have acceptable framerate.\n\nAll effects use the tiny memory model, but allocate additional segments. \n256 kB of free conventional memory should be enough.\n\n## Final notes\n\nThe reason for publishing these programs here is solely because I think\nthey may still have some educational, fun or nostalgy value for some \npeople.\n\nI am the only developer of the programs. Licensing information can be \nfound in COPYING.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fefliks%2Fdemoscene-legacy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fefliks%2Fdemoscene-legacy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fefliks%2Fdemoscene-legacy/lists"}