Skip to content

RechieKho/piko-piko

Repository files navigation

Piko-piko OS

justforfunnoreally.dev badge

Piko-piko logo

A simplistic, minimalistic, 16-bit toy OS. Perfect for entertainment & education. 0 practicality, 100% messing around.

From the author, Richie Kho

Packed with a bootloader and an interpreter, it is able to run the commands like how BASIC does in the 80s. It is much user-unfriendly as the language is closer to assembly. It can:

  • Do basic arithmetics (add, sub, mul & div)
  • Do conditional jumps (jse, jsne, jue,...)
  • Save and load (save & load)
  • And most importantly, print colorful text (say)

All the commands are in the commands reference.

You are very welcome to fork this project and add your own commands.

It is written in pure nasm assembly, so brace yourself.

Hello world in Piko-piko

First, clone the project if you haven't do it as stated in 'Build the source' section.

Then, enter the world of Piko-piko.

$ make

At this point, you'll see "Welcome to piko-piko!" printed on the screen proceeds with >. Welcome to Piko-piko!

Then, type this command to print "Hello world!".

> say n 'Hello world!'

Yay, your first "Hello world!" in Piko-piko!

Let's spice things up by making our "Hello world!" colorful!

> say Cn 'Hello world!'

It is time to take a rest and say goodbye to Piko-piko since we have printed "Hello world!".

> bye

We will discuss more commands in the wiki.

Build from source

Software required:

  • make
  • nasm
  • python3 (optional)

First, clone this project.

$ git clone https://www.github.com/RechieKho/piko-piko.git

Then, to build the source.

$ make piko-piko.bin

Or if you want to experience Piko-piko right away.

$ make

To clean (remove) the generated files.

$ make clean

After doing some serious assembly programming, you can format the code before commiting.

$ make fmt

Note

This needs python3.

Make a bootable Piko-piko USB.

Caution

Once you made the bootable USB, the old data in the USB will not be able to recovered. Please consider backing up the data of USB before doing such dangerous act.

Note

The files saved inside the Piko-piko OS could not be recovered when transfered to a storage device.

Piko-piko OS is an 16-bit x86 OS so it is able to boot on computer with intel-based CPU.

To make a bootable Piko-piko USB, you'll need to have:

Then, directly copy it onto your USB.

# dd if=piko-piko.bin of=/dev/YOUR_USB bs=512 conv=notrunc

Replace YOUR_USB with the device file of your USB.

Caution

Please make sure the device file is really the USB file you are looking for, it is possible that you write to the wrong file and corrupt the hard disk. No one wants Piko-piko as daily main OS.

Then, you have created a bootable Piko-piko USB!

About

A x86 16-bits Operating System

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published