{"id":35222758,"url":"https://github.com/rezgui/fpos","last_synced_at":"2026-04-08T14:32:34.222Z","repository":{"id":28664422,"uuid":"32184006","full_name":"rezgui/fpos","owner":"rezgui","description":"Free Pascal Operating System (FPOS) is a operating system consists of a minimal kernel built on FreePascal. It contains a Scheme implementation of a hard drive (ATA) driver, keyboard (PS2), serial (8250 UART), FAT32 filesystem and a small real time clock manager. The project was built to experiment with developement of operating system using a high level functional language to study the developement process and the use of Scheme to build a fairly complex system.","archived":false,"fork":false,"pushed_at":"2025-06-06T10:38:23.000Z","size":3702,"stargazers_count":88,"open_issues_count":18,"forks_count":19,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-06-06T11:31:57.065Z","etag":null,"topics":["freepascal","kernel","microkernel","operating-system","os","pascal","pascal-compiler","pascal-language","pascal-programming"],"latest_commit_sha":null,"homepage":"","language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rezgui.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":"2015-03-13T22:26:31.000Z","updated_at":"2025-06-06T10:38:26.000Z","dependencies_parsed_at":"2025-06-06T11:35:12.231Z","dependency_job_id":null,"html_url":"https://github.com/rezgui/fpos","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/rezgui/fpos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezgui%2Ffpos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezgui%2Ffpos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezgui%2Ffpos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezgui%2Ffpos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rezgui","download_url":"https://codeload.github.com/rezgui/fpos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezgui%2Ffpos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31559806,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["freepascal","kernel","microkernel","operating-system","os","pascal","pascal-compiler","pascal-language","pascal-programming"],"created_at":"2025-12-30T00:29:03.833Z","updated_at":"2026-04-08T14:32:34.194Z","avatar_url":"https://github.com/rezgui.png","language":"Pascal","readme":"# FPOS - Free Pascal Operating System\r\n\u003cdiv align=\"right\"\u003e\r\n\u003cimg src=\"https://img.shields.io/badge/Code-FreePascal-blue\"\u003e\r\n\u003cimg src=\"https://img.shields.io/badge/Version-0.01-green\"\u003e \r\n\u003ca href=\"https://treeware.earth\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/dynamic/json?color=brightgreen\u0026label=Treeware\u0026query=%24.total\u0026url=https%3A%2F%2Fpublic.offset.earth%2Fusers%2Ftreeware%2Ftrees\" /\u003e\u003c/a\u003e\r\n\u003c/div\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"res/fpos_logo.png\"\u003e\u003cbr/\u003eProject started in 01-01-2010 and coded with ❤️\r\n\u003c/p\u003e\r\n\r\n# ‼️ Attention :\r\nThis project is far from dead, but it requires revision...\r\nA new bootloader will be utilized for execution on 64-bit architecture. Additionally, new functionalities will be implemented:\r\n- An integrated file system implementation supporting FAT32, NTFS, ext-versions, and much more.\r\n- Multitasking extension for running many subprograms simultaneously.\r\n- Extendable hardware driver slots for multitasking capability.\r\n- An API for accessing all public kernel functionalities.\r\n- A graphical user interface (possibly as a separate threading application).\r\nMany modern features will follow, but please be patient...\r\n\r\n## Introduction :\r\n\u003cimg align=\"right\" src=\"https://wiki.freepascal.org/images/9/92/built_with_fpc_logo.png\"\u003e\r\nFPOS is a operating system consists of a minimal kernel built on FreePascal. It contains a Scheme implementation of a hard drive (ATA) driver, keyboard (PS2), serial (8250 UART), FAT32 filesystem and a small real time clock manager. The project was built to experiment with developement of operating system using a high level functional language to study the developement process and the use of Scheme to build a fairly complex system.\r\n\u003cbr\u003e\u003cbr\u003e\r\n\r\n\r\nBoot             |  Shell (CLI) | Command (Help)\r\n:-------------------------:|:-------------------------:|:-------------------------:\r\n\u003cimg src=\"res/fpos_boot.png\" width=\"300\"\u003e  |  \u003cimg src=\"res/fpos_shell.png\" width=\"300\"\u003e|  \u003cimg src=\"res/fpos_command.png\" width=\"300\"\u003e\r\n\r\n🤝 Bugs and help / improvements will be appreciated, please send them to (Yacine REZGUI) yacine.rezgui@gmail.com and (Mario Ray Mahardhika) leledumbo_cool@yahoo.co.id.\r\n\r\n## :heavy_check_mark: Implemented :\r\n- [x] GDT, IDT       ( no problem... I hope )\r\n- [x] ISR            ( currently, only page fault has additional handler )\r\n- [x] IRQ            ( no problem... I hope  )\r\n- [x] Console        ( including simple command processing )\r\n- [x] Keyboard       ( try to be US-std, but I don't know the keymap. Just guessing for now )\r\n- [x] Memory Manager ( needs testing )\r\n- [x] Speaker        ( just for fun :-) )\r\n- [x] RTC            ( seems wrong at PM, also for DayOfWeek )\r\n- [ ] System calls\r\n- [ ] Multitasking\r\n- [ ] Filesystem     ( perhaps FAT12 is the most obvious, or should we create one ourselves? )\r\n\r\n## 🔧 Fixed :\r\n- Successive Write(Ln) fails due to 103 IOResult\r\n- Some inline assembler and assembler routines are missing register list, causing it to crash randomly (please test)\r\n\r\n## 📋 Changed :\r\n- Updated to FPC RTL revision 14499\r\n\r\n## ➕ Added :\r\n- Not 📅 planned for now\r\n\r\n## 📝 Note :\r\n- Some files are not used due to unusability ( multitasking \u0026 filesystem )\r\n\r\n# ⚙️ How to compile :\r\n- Make sure you have working FPC installation ( try using latest 2.5.x snapshot if your version fails )\r\n- Copy executables** under tools to a directory listed in your PATH ( or Path )\r\n- Open Command Prompt ( start-\u003erun-\u003ecmd ), cd to fpos top directory, then type 'make'\r\n\r\n## :battery: How to test :\r\n- Adapt **(Qemu or Bochs).bat** to your Qemu / Bochs installation\r\n- On Linux, you must change 'i386-linux-ld' in make.rules to 'ld'\r\n\r\n## :heart: Contributing\r\nContributions, issues and feature requests are welcome!\r\n\r\n## :pray: Thanks to\r\n- **[@achief-ws](https://github.com/renderedideas-lab)**\r\n- **[@Sio](https://github.com/SANiK)**\r\n- **[@James T. Sprinkle](https://github.com/the-grue)**\r\n- **[@Steve Jenson](https://github.com/stevej)**\r\n- and Other [here](CONTRIBUTORS.md)\r\n\r\n## :link: Other Link\r\n- [Awesome Operating System Stuff](https://github.com/rezgui/AwesomeOS)\r\n\r\n## 📓 License\r\nThe  GPL-2.0 License. Please see [License File](LICENSE.md) for more information.\r\n\r\n## 🌳 Treeware\r\nThis Operating System is a Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats. Read more about Treeware at [treeware.earth](http://treeware.earth)\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frezgui%2Ffpos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frezgui%2Ffpos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frezgui%2Ffpos/lists"}