Skip to content

kryptoish/nanopulseOS

Repository files navigation

NanoPulse OS Logo

NanoPulse OS: A NANO Programmed Unique Live Scripting Environment


Objective

NanoPulse OS is a lightweight, portable, live operating system that runs directly from a USB stick. It is designed for creative users, offering tools for generative art, simple retro game creation (like Space Invaders), and an experimental IDE with a custom esoteric programming language. NanoPulse OS is all about providing a minimal, fun, and interactive environment for exploration and creation. It leaves absolutely no trace on your computer after shutdown.


Key Features

Feature Description
Live System Boots directly from a USB stick with no need for installation or hard drive modification.
Generative Art Create hardware footprint-style generative art with simple, intuitive controls.
Retro Games Includes built-in tools for designing and playing simple retro games like Space Invaders.
Simple Scripting Supports an easy-to-use esoteric scripting language for creating small programs.
Portable Fully functional on any computer that supports USB boot, without affecting the host system.
Minimalist Design Focuses on simplicity and accessibility for both novice and advanced users.
Cross-Platform Compatibility Compatible with most x86-based systems and works on a wide range of hardware without installation.
Creative Environment Built to inspire users to experiment with code, art, and retro gaming.

How to Build and Run the Project

  1. Download the NanoPulse OS image (once available).
  2. Flash the image onto a USB stick using a tool like Rufus or Balena Etcher.
  3. Insert the USB stick into any computer and reboot, ensuring the BIOS/UEFI settings allow booting from USB.
  4. NanoPulse OS will boot directly from the USB and provide a graphical interface for generative art, retro games, and coding.

Basic Usage Instructions

  • Generative Art: Type Art in the shell (once loaded) which will create a generative hardware footprint art using the built-in tools (randomly).

  • Retro Games: Type Game in the shell (once loaded) to play or modify classic games like Space Invaders. You can also create new retro games with simple scripting commands.

  • Programming: Use the custom language interpreter to run programs written in a simple, low-level syntax. Note: The language is intentionally a joke and not meant to be used for serious programming. It's a fun, minimalist tool to experiment with coding, but it lacks the features and capabilities of a full-fledged programming language. Open the IDE by typing code in the shell (once loaded) and start coding!


Persistent Storage

  • Persistent Art: The only data that persists across reboots on the host system is the generative unique art footprint created by the user. This allows you to save your creative works and reuse them in future sessions.
  • No Host Hard Drive Modification: NanoPulse OS does not make any permanent changes to the host system's hard drive. All files and configurations are stored in RAM, ensuring that the OS remains lightweight and non-invasive.

Technologies and Tools

Category Tools/Technologies
Programming Languages C (kernel and OS development), Assembly (low-level initialization), custom esoteric language.
Graphics Simple pixel-based graphics engine for retro games and generative art.
Build System GCC (compiling), Makefile, custom tools for building and flashing the OS image.
Bootloader GRUB or Syslinux for booting from USB and handling the OS kernel loading.
User Interface Lightweight graphical interface for art creation, game playing, and coding.
External Libraries SDL2 (for graphics and input handling), custom libraries for scripting and game creation.

Scope and Challenges

  1. Minimalist Design: Creating a lean, efficient OS that can run entirely from a USB stick without needing installation or hard drive changes.
  2. Generative Art: Developing easy-to-use tools for users to create complex generative hardware footprint art with limited resources.
  3. Custom Language Interpreter: Designing and implementing a lightweight interpreter for a minimalist esoteric programming language that is fun and easy to use, but not intended for serious development.
  4. Retro Game Creation: Implementing simple game mechanics and a framework for creating and playing retro-style games (e.g., Space Invaders).
  5. Cross-Platform Compatibility: Ensuring the OS works on a wide range of hardware with no need for installation, including supporting booting from various USB interfaces and configurations.

Future Plans

  • Custom Bootloader, Custom Programming language, Custom Compiler: To make the whole OS unique and mine. Right now I am using GRUB, C, GCC for these purposes.
  • Expanded Game Library: Add more retro games and interactive challenges for users.
  • Advanced Scripting Features: Extend the custom language to support more complex functionality for users who want to create more advanced programs.
  • Art Tools: Improve and expand the generative art tools to allow for more creative control and complexity.
  • Performance Optimizations: Fine-tune the OS to ensure smooth performance on a wide range of hardware configurations.

Contributing

If you’re interested in contributing to NanoPulse OS, feel free to fork the repository and submit pull requests. Contributions are welcome, whether it’s improving my (probably) terribly written code or adding cool new features for fun!

About

This is a WIP project - a lightweight, portable, live operating system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published