{"id":28520259,"url":"https://github.com/w84death/smolix","last_synced_at":"2026-04-25T11:34:07.677Z","repository":{"id":290038915,"uuid":"973170511","full_name":"w84death/smolix","owner":"w84death","description":"Smolix: Real Mode, Raw Power. Homebrew x86 Operatin System.","archived":false,"fork":false,"pushed_at":"2025-06-07T09:30:36.000Z","size":2372,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-02T14:44:13.627Z","etag":null,"topics":["16-bit","assembly","assembly-la","baremetal","baremetal-os","corewar","corewars","dsky","gamedev","homebrew","os","x86"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/w84death.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","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":"2025-04-26T12:16:24.000Z","updated_at":"2025-06-07T09:30:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"7690ca46-8af1-4b71-a615-f447c00abb36","html_url":"https://github.com/w84death/smolix","commit_stats":null,"previous_names":["w84death/smolix"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/w84death/smolix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w84death%2Fsmolix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w84death%2Fsmolix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w84death%2Fsmolix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w84death%2Fsmolix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/w84death","download_url":"https://codeload.github.com/w84death/smolix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w84death%2Fsmolix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32261116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: 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":["16-bit","assembly","assembly-la","baremetal","baremetal-os","corewar","corewars","dsky","gamedev","homebrew","os","x86"],"created_at":"2025-06-09T07:01:18.480Z","updated_at":"2026-04-25T11:34:07.672Z","avatar_url":"https://github.com/w84death.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"![SMOLiX](media/splash.png)\n\nReal Mode, Raw Power.\n\nHomebrew, research operating system for x86 processors. Targeting retro 32-bit computers (386+).\n\n![Screenshot of SMOLiX](media/welcome.png)\n\n## CURRENT VERSION (0x0C)\nThis code is in active development. The kernel now uses hexadecimal version numbering and has moved beyond alpha stage. Current features are stable with ongoing development of the Dirty Rat game and file system.\n\n## Technical Details\n\nSMOLiX is a minimalist operating system designed to run in x86 Real Mode (16-bit). It embraces the simplicity and raw performance of direct hardware access, while providing a unique graphical user interface.\n\n![High Resolution Mode](media/hires.png)\n\n### Architecture\n- **Processor Target**: x86 (386+ compatible)\n- **Mode**: Real mode\n- **Memory Model**: Segmented memory model\n- **Boot Method**: Standard floppy disk boot\n- **Minimal Hardware**:\n  - CPU: 386+\n  - Graphics: EGA/VGA\n  - RAM: 256KB\n- **Operating System**: Linux (development environment)\n\n### Development Tools\n- **Assembly Language**: FASM (Flat Assembler)\n- **Build System**: Make\n- **Emulation**: QEMU/Bochs\n- **Graphics Tool**: Custom Python tileset converter (tileset2glyphs.py)\n- **Disk Image Creation**: dd (direct disk utility)\n\n### Functions:\n- **Bootloader**\n  - Loads kernel from disk\n  - Sets up initial environment\n  - Transfers control to kernel entry point\n  - Boot parameters configuration\n\n- **Kernel**\n  - int 0x60 System calls:\n    - Reset, system initialization\n    - Version information\n    - Print char\n    - Print string\n    - Set color\n    - Load glyph\n    - Load all glyphs for the UI\n    - Draw glyph\n    - Draw multi-char glyph\n    - Get key from input\n    - Handle text input\n    - Process keyboard events\n    - Memory management routines\n    - System statistics display\n    - APM power management\n  - **DSKY Interface**: Apollo-inspired VERB/NOUN command system\n    - VERB codes for actions (00-99)\n    - NOUN codes for data objects (00-99)\n    - Visual feedback with highlighted input fields\n    - Type 'v' for VERB input, 'n' for NOUN input, ENTER to execute\n\n- **Graphics System**\n  - 16-color EGA/VGA support\n  - Multiple video modes (40x25, 80x25)\n  - Permanent header with logo and version\n\n![ASCII Support](media/ascii.png)\n\n- **User Interface**\n  - DSKY (Display \u0026 Keyboard) interface inspired by Apollo Guidance Computer\n  - Virtual screen paging system\n  - Screen saver for CRT monitor protection\n  - Sound feedback for commands\n  - System statistics display\n  - **Dirty Rat Game**: Mini-game with player movement, broom entities, and floppy collection\n\n![System Statistics](media/stats.png)\n\n![Help Screen](media/help.png)\n\n## DSKY Commands\n\nThe DSKY (Display \u0026 Keyboard) interface is inspired by the Apollo Guidance Computer and uses a VERB/NOUN command system:\n\n- **VERB**: Specifies the action to perform (00-99)\n- **NOUN**: Specifies the data object or parameter (00-99)\n\n### How to Use DSKY\n\n1. Press `v` to enter VERB input mode (field highlights in red)\n2. Type a 2-digit VERB code (e.g., `00`)\n3. Press `n` to enter NOUN input mode (field highlights in red)\n4. Type a 2-digit NOUN code (e.g., `00`)\n5. Press `ENTER` to execute the command\n6. Press `ESC` to clear and start over\n\n### Available Commands\n\n| VERB | NOUN | Command | Description |\n|------|------|---------|-------------|\n| 00   | 00   | Help    | Display all available commands |\n| 01   | 01   | Version | Show kernel version information |\n| 01   | 02   | Stats   | Display comprehensive system statistics |\n| 30   | XX   | Files   | List files on floppy disk |\n| 31   | XX   | Read    | Read file (NOUN number) to buffer |\n| 32   | XX   | Display | Display current buffer content |\n| 33   | XX   | Write   | Write buffer to floppy disk |\n| 34   | XX   | Clear   | Clear file buffer |\n| 50   | 00   | Game    | Enter Dirty Rat mini-game |\n\n### Examples\n\n- `VERB 00, NOUN 00` - Show help and all available commands\n- `VERB 01, NOUN 02` - Display system statistics  \n- `VERB 31, NOUN 01` - Read file #1 to buffer\n- `VERB 50, NOUN 00` - Start the Dirty Rat game\n\n## Building and Running\n\n```\nmake        # Build the system\nmake run    # Run in QEMU\nmake debug  # Run in Bochs\nmake burn   # Burn to floppy disk\nmake clean  # Clean build artifacts\n```\n\n## Tileset 2 Glyphs\n\n```/smolix/tool$ python3 tileset2glyphs.py tileset.png ../src/glyphs.asm```\n\n\n# FOSS\nCopyright (C) 2025 [Krzysztof Krystian Jankowski](https://krzysztofjankowski.com). This program is free software. See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw84death%2Fsmolix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fw84death%2Fsmolix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw84death%2Fsmolix/lists"}