OSDev.org

The Place to Start for Operating System Developers
It is currently Tue Mar 19, 2024 2:58 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: Pikobrain
PostPosted: Sun Mar 28, 2021 8:14 am 
Offline
User avatar

Joined: Sun Mar 28, 2021 7:46 am
Posts: 9
Pikobrain is a 16-bit OS I've been coding since 2019.
It uses BIOS interrupts to deal with hardware, and this allows it to only be 5kB in size.

https://github.com/Hanzlu/Pikobrain

Pikobrain does not have a proper file system, instead you access sectors and tracks/heads on the hard drive with their number.
This means files are automatically 512 bytes, and a folder is most likely about 32kB in size.

Pikobrain uses the hexadecimal number system in commands, but there are convertors between decimal and hexadecimal, to simplify the process.

Pikobrain has a custom assembly language and assembler, a text editor, and a calculator.

It is certainly not like other OSes, and I do not wish for it to be either. A core philosophy for developing Pikobrain has been to write all the code myself, and to not use any standards or ideas others have created (besides the BIOS I guess).
Small code size, but not at the expense of user-friendliness (too much) has been a goal as well.

Since version 1.0 it has worked on real hardware. At the time of writing this the OS is at version 1.3.6.

Here is a screenshot:
Image

_________________
https://www.github.com/hanzlu/pikobrain


Top
 Profile  
 
 Post subject: Re: Pikobrain
PostPosted: Mon Jul 05, 2021 4:06 am 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 811
Location: Hyperspace
It's good to see another system using blocks in place of files. :) I keep my hobby notes in a Forth system with 1KB blocks; it's much easier to organize than text files. 1KB works out pretty well for me, but this is with fixed-length lines. Part of the 1KB is inevitably wasted as padding on the ends of lines. 1/2KB with actual newlines would give me almost as much space. I don't have "bulk". Sometimes wish I did, but if I could join blocks like that, I'd end up with something hard to organize again.

Using the first few characters as the name is practical for keeping notes. 10 characters is a little bit short; even old MS-DOS supported 11 characters in total, but I guess it's not bad.

Can you use variables in Picobrain's input state? I use variables to hold block numbers when I'm switching frequently between 3 or more blocks. (I wrote a 'flip' command to switch between 2 blocks, but it's too limited.)

It's interesting that Pikobrain uses the backspace key to terminate programs. Plan 9 uses the delete key, as did many other systems in the 90s. Also in the 90s, most GUI systems had a delete key where the crazy old PC keyboard has backspace. But maybe you knew that. :) Personally, I wish the pause/break key was used for termination, but I guess that's getting rare on laptop keyboards.

I was thinking of trying Pikobrain, but then I saw this terrifying statement in the manual! ;)
Quote:
Boot from the USB. If the boot is sucessfull the screen should change color. Pikobrain is now installed on your hard drive.

So... it boots and installs automatically? The manual doesn't mention giving the user a choice of partitions. (It doesn't mention partitions at all.) Doesn't that mean it's going to overwrite whatever I already have on the hard drive?

_________________
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
 Post subject: Re: Pikobrain
PostPosted: Mon Jul 05, 2021 9:57 am 
Offline
User avatar

Joined: Sun Mar 28, 2021 7:46 am
Posts: 9
It's nice to see a reply here.

If the files in your system is automatically 1kB, does this mean there is no way to have larger files?
In Pikobrain a "bulk" is consecutive sectors on the hard drive, so it's not that difficult to deal with. You just have to specify the file number and its size (number of sectors) to access it.

I'm not exactly sure what you meant by "variable". But, no, you always access files by their number in Pikobrain. But I see how variables could be useful (if I understand you correctly).

The command "input" does not work by filling a buffer, but rather directly reads the key inputs. This means you can not use backspace and rewrite letters, this is where backspace is used as "exit" as it completely cancels the command writing. Otherwise the backspace button is not necessarily a terminate key.

Yes, I haven't looked into how partitions work, so Pikobrain will overwrite the first 10 sectors of the hard drive when installed. On the real life machine I run Pikobrain, Windows XP no longer worked after I installed Pikobrain, but most of the XP code was of course still on the drive. For this reason a virtual machine (VirtualBox) is better for testing, rather than everyday use.
You'd be very welcome to test Pikobrain on VirtualBox, as all you need is to download the piko.flp file from GitHub. I'd be happy to hear "user reviews".

_________________
https://www.github.com/hanzlu/pikobrain


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group