{"id":23873063,"url":"https://github.com/efliks/nostalgic-glide-demo","last_synced_at":"2025-07-21T10:32:05.403Z","repository":{"id":270812468,"uuid":"911371385","full_name":"efliks/nostalgic-glide-demo","owner":"efliks","description":"Programming 3Dfx Voodoo accelerator cards under MS-DOS","archived":false,"fork":false,"pushed_at":"2025-05-10T18:25:19.000Z","size":534,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-05T01:29:30.404Z","etag":null,"topics":["3dfx","86box","glide","glide2x","graphical-effects","retrocomputing","retroprogramming","voodoo","voodoo-card","watcom"],"latest_commit_sha":null,"homepage":"","language":"C","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,"zenodo":null}},"created_at":"2025-01-02T21:26:55.000Z","updated_at":"2025-05-09T17:55:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"4c79188f-4cb9-4e48-b8e4-7ec19302a1f6","html_url":"https://github.com/efliks/nostalgic-glide-demo","commit_stats":null,"previous_names":["efliks/nostalgic-glide-demo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/efliks/nostalgic-glide-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efliks%2Fnostalgic-glide-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efliks%2Fnostalgic-glide-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efliks%2Fnostalgic-glide-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efliks%2Fnostalgic-glide-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/efliks","download_url":"https://codeload.github.com/efliks/nostalgic-glide-demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efliks%2Fnostalgic-glide-demo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266285376,"owners_count":23905331,"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":["3dfx","86box","glide","glide2x","graphical-effects","retrocomputing","retroprogramming","voodoo","voodoo-card","watcom"],"created_at":"2025-01-03T16:39:20.705Z","updated_at":"2025-07-21T10:32:05.385Z","avatar_url":"https://github.com/efliks.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Glide demo\n\nSpinning 3D objects using the 3Dfx Glide library under MS-DOS. \n\nInspired by two videos from PCRetroTech ([#1](https://www.youtube.com/watch?v=jjbqfmbs6Q8), \nand [#2](https://www.youtube.com/watch?v=i47tSCI0L2w)). The code is based \non some recycled code of mine from the early 2000s, and is not optimal. The \nidea is just to put some pixels on the screen.\n\nApart from being a hobby, this project can be used for testing Voodoo cards \nunder MS-DOS, because it fits into one floppy disk.\n\n## Prerequisites\n\n* A PC with a Voodoo card or a PC emulator (DOSBox or 86Box; 86Box is better as it has Voodoo emulation)\n* [Open Watcom 1.9 C compiler](https://github.com/open-watcom/open-watcom-1.9/releases/download/ow1.9/open-watcom-c-dos-1.9.exe)\n* [3Dfx Software Developer's Kit 1.0](http://falconfly.3dfx.pl/downloads/3dfx_Software_Developer_Kit_v10.rar) from FalconFly archives (in particular: glide2x.lib library and header files)\n* [3Dfx reference drivers](https://www.vogonsdrivers.com/index.php?catid=12) (in particular: glide2x.ovl overlay file)\n* A [texture pack](https://drive.google.com/file/d/1e9myBNpWHDAlyTtKmfqpKNdgcAeiuVQ_/view?usp=share_link) that I made based on free textures from OpenGameArt.org\n* MS-DOS 6.22 (forget if you have DOSBox)\n\nThe Watcom compiler suite is already bundled with the DOS/4GW extender.\n\nDownload and unpack the 3Dfx developer's kit. Do not install it as we only \nneed particular files. Copy the following header files like so:\n\n    Glide/Src/SST1/include/*.h -\u003e glide/include\n\nAnd the Glide library:\n\n    Glide/Lib/DOS/Stack/glide2x.lib -\u003e glide/lib\n\nFinally, download and unpack the texture pack in the assets/textures directory, \nand run process.sh to generate textures.\n\nThe choice of the glide2x.ovl driver depends on the type of the Voodoo board\nthat you have. A driver for Voodoo will not work with a Voodoo 2 board, and \nwill crash the system. Put the OVL file in the same directory as the program \nexecutable. None of the official drivers seem to work with 86Box's emulated \nhardware, and always make the emulator crash. For 86Box, use the file included \nin the repository.\n\n## Build\n\nThree targets are available:\n\n* 16-bit DOS + software VGA13h rasterizer (use makefile)\n* 32-bit DOS/4GW + software VGA13h rasterizer (use makefile.386)\n* 32-bit DOS/4GW + 3Dfx Glide 2.2 rasterizer (use makefile.gl)\n\nThe software targets exist as fallback and a reference for the Glide target. \nIn order to compile any of the targets, simply use, for example:\n\n    C:\\GLDDEMO \u003e wmake -f makefile.gl\n\nATTENTION! For the Glide target, run prepare.bat first, then run wmake. This \nis a workaround for the fact that there are too many command line options for \nthe wcc386 compiler.\n\n## Execute\n\nAfter you have compiled the code and generated the textures, simply use:\n\n    C:\\GLDDEMO \u003e cubegl.exe\n\nThere are two objects in the demo, a texture mapped cube, and a Phong \nilluminated torus. Switch between them by pressing [space]. Use [escape] to \nquit the demo. \n\nThe software rasterizer cannot do Gouraud shading together with texture \nmapping, and does not use perspective correction.\n\n## Tested platforms \u0026 libraries\n\nEmulators:\n* DOSBox 0.74-3\n* 86Box 4.1.1 (build 5634; config file included)\n\nPhysical system:\n* [A Pentium II retro build with a Voodoo 2 SLI](https://www.vogons.org/viewtopic.php?p=1244505#p1244505)\n\nLibrary and overlay files (MD5 checksums):\n* glide2x.lib - 9bea7a7aa072576ba4d5c97245b44be6\n* glide2x.ovl - 50ea8e8ea6d4921cb9924680b080023f (for Voodoo 1 emulation in 86Box)\n* glide2x.ovl - 837e63598cdd0882e57944c505625256 (for Voodoo 2 on physical PC)\n\nHeader files (MD5 checksums):\n* 3dfx.h - a8bbbab4e4254406434a8a213abd99a2  \n* fxdll.h - f6cd9a236299eec36e4a7b952bc35dea\n* fxglob.h - 995e85ea578b1df77ce8c68d76de5127\n* fxos.h - 29745e9d0e91bbedaf6158827a1f2ffa\n* glide.h - d95b73e67624ca3773a05dd07dab7287\n* glidesys.h - 6c89a25867b67a2ed3fcdc4811f2fa71\n* glideutl.h - 793b4b900ec61652fc85bd22748b57f9\n* sst1vid.h - 5e3fa9b0cabdf310f15ac1145221ab2f\n\n## Gallery\n\n\u003cimg src=\"./gallery/cube.png\" alt=\"Cube image\" width=\"400\" /\u003e\n\n\u003cimg src=\"./gallery/torus.png\" alt=\"Torus image\" width=\"400\" /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fefliks%2Fnostalgic-glide-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fefliks%2Fnostalgic-glide-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fefliks%2Fnostalgic-glide-demo/lists"}