{"id":21180204,"url":"https://github.com/amar454/floppaos","last_synced_at":"2025-07-09T23:32:04.878Z","repository":{"id":259844559,"uuid":"877146632","full_name":"amar454/floppaos","owner":"amar454","description":"floppaOS is a free and open source 32 bit operating system made in C. It is themed around the famous internet Caracal \"Big Floppa\"","archived":false,"fork":false,"pushed_at":"2025-06-02T18:39:54.000Z","size":32688,"stargazers_count":6,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T10:19:16.451Z","etag":null,"topics":["32-bit","assembly","c-programming","c-programming-language","command-line-interface","floppa","from-scratch","hobby-kernel","hobby-os","kernel","low-level-graphics","low-level-programming","operating-system","os","shell","task-manager","task-scheduler","vga-controller"],"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/amar454.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-23T07:02:16.000Z","updated_at":"2025-06-02T18:39:58.000Z","dependencies_parsed_at":"2024-11-25T21:25:48.405Z","dependency_job_id":"4c13d145-024d-4efb-82e9-2c429120d127","html_url":"https://github.com/amar454/floppaos","commit_stats":null,"previous_names":["amar454/floppaos"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/amar454/floppaos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amar454%2Ffloppaos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amar454%2Ffloppaos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amar454%2Ffloppaos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amar454%2Ffloppaos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amar454","download_url":"https://codeload.github.com/amar454/floppaos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amar454%2Ffloppaos/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264505239,"owners_count":23618909,"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":["32-bit","assembly","c-programming","c-programming-language","command-line-interface","floppa","from-scratch","hobby-kernel","hobby-os","kernel","low-level-graphics","low-level-programming","operating-system","os","shell","task-manager","task-scheduler","vga-controller"],"created_at":"2024-11-20T17:41:55.315Z","updated_at":"2025-07-09T23:32:04.873Z","avatar_url":"https://github.com/amar454.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv style=\"text-align: center;\"\u003e  \r\n  \u003cimg src=\"https://github.com/amar454/floppaos/blob/main/floppaOS_logo.jpeg?raw=true\" alt=\"floppaOS Logo\" width=\"100\"\u003e  \r\n\u003c/div\u003e  \r\n\r\n# **floppaOS**  \r\n\r\n```\r\n  __ _                          ___  ____  \r\n / _| | ___  _ __  _ __   __ _ / _ \\/ ___| \r\n| |_| |/ _ \\| '_ \\| '_ \\ / _` | | | \\___ \\ \r\n|  _| | (_) | |_) | |_) | (_| | |_| |___) |\r\n|_| |_|\\___/| .__/| .__/ \\__,_|\\___/|____/ \r\n            |_|   |_|                             \r\n```  \r\n\r\n### **Copyright © Amar Djulovic 2024, 2025**  \r\n\r\n**floppaOS** is a free and open-source 32-bit operating system written in C, built entirely from scratch—except for the GNU GRUB bootloader.  \r\n\r\nThis project is meant to be the **magnum opus** of my programming portfolio, created both for job opportunities and my deep interest in low-level programming.  \r\n\r\nI chose **not** to conform to UNIX standards, which are common in OS development. My reasoning? **GNU/Linux already exists and represents the peak of UNIX operating systems.** Rather than competing with that, I aim to build something distinct from the usual UNIX-based systems.  \r\n\r\nObviously, **floppaOS** is not intended for production use in its current state. OS development is **time-consuming**, and updates will be **inconsistent**, especially during this alpha stage.  \r\n\r\n**Contributions and help are always welcome!** If you're interested, feel free to fork the project, submit pull requests, or reach out on Discord: **@amarat**.  \r\n\r\nThank you for checking out **floppaOS**—and if you read all this, I appreciate it!  \r\n\r\n---\r\n\r\n## **Compiling Instructions**  \r\n\r\n\u003e *Note: If you're on Windows, you'll need a UNIX-like environment such as Cygwin to compile the source code.*  \r\n\r\n### **1. Clone the Repository**  \r\nRun the following command in your terminal:  \r\n```bash\r\ngit clone https://github.com/amar454/floppaos.git\r\n```\r\n\r\n### **2. Build the OS**  \r\nNavigate to the repository directory and compile with:  \r\n```bash\r\nmake all\r\n```  \r\nThis will generate an **ISO image**, which can be attached to a **virtual machine** or written to a **USB device**.  \r\n\r\n### **2a. Build and Run in QEMU** *(Recommended)*  \r\nTo compile and immediately launch the OS in **QEMU**, use:  \r\n```bash\r\nmake qemu\r\n```  \r\n**QEMU** is the only vm floppaos is compatible with, due to issues with multiboot mmap on anything else... sorry\r\n\r\n**3. Clean Up**  \r\nTo remove compiled binaries:  \r\n```bash\r\nmake clean\r\n```  \r\n\r\n### **4. Clean Object Files** *(Without Deleting the ISO)*  \r\nTo remove C and assembly object files while keeping the ISO:  \r\n```bash\r\nmake cleanobj\r\n```  \r\n*(This is the recommended step after compilation.)*  \r\n\r\n---\r\n\r\n## **Feature Overview**  \r\n\r\n✅ Simple and lightweight command-line OS  \r\n✅ Custom scripting language (**fshell**)  \r\n✅ Memory handler  \r\n✅ VGA text mode \u0026 graphics *(graphics WIP)*  \r\n✅ Task handler  \r\n✅ Basic file system  \r\n✅ Command-line scientific calculator *(some functions WIP, wrapper not yet complete)*  \r\n\r\n---\r\n\r\n## **Project Goals**  \r\n\r\n- [x] **Runs on minimal hardware**  \r\n- [x] **Completely built from scratch**  \r\n- [ ] **Uniqueness factor** *(Still in progress)*  \r\n- [ ] **Thorough documentation**  \r\n- [ ] **Focus on security through cryptography**  \r\n- [x] **Small OS size** *(As of 12/13/2024, floppaOS is only **27.65MB**!)*  \r\n- [ ] **Unique file system with permissions** *(Not POSIX-compliant)*  \r\n\r\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famar454%2Ffloppaos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famar454%2Ffloppaos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famar454%2Ffloppaos/lists"}