hackOS

hackOS

8 devlogs
12h 38m
•  Ship certified
Created by Drew

A toy "OS" made in NASM X86 Assembly. This project is mostly to learn about assembly and how it works.

Timeline

Ship 1

0 payouts of shell 0 shells

Drew

5 days ago

Drew Covers 8 devlogs and 12h 38m
Drew
Drew
1h 10m 5 days ago

I gave up on snake. (For now) I am going to try making tic tac toe instead as it seems as though it would be easier.

Update attachment
Drew
Drew
1h 40m 7 days ago

Okay. So i got W and S working but assembly has a weird issue where CX (the x-axis) doesn't move the pixel on the x no matter what number is set (I tested it with the draw pixel before calling it) so that's an issue for tomorrow very frustrating

Drew
Drew
1h 14m 7 days ago

Tonight i plan on making a snake game in my kernel. The way i think snake runs is by spawning the snake at a set position like (10,10) then when you hit w a s or d it loops forever in that direction and then when you go into an apple it spawns another pixel behind the head and tracks the head position and gives the previous one to the body.

Update attachment

Starting the desktop environment! My code basically creates a buffer of all the keys pressed and then calls a launch function which creates the bluescreen through 0x13 and int10h

Drew
Drew
2h 44m 15 days ago

I got commands working!- Assembly is one of the hardest languages i've ever used

Update attachment

BACKSPACE! My next step is to have a functioning kernel with commands. The backspace function works by going into the teletype interrupt and then using the backspace ascii key and moving back and putting a space where the last key was and then jumping back to reading inputs :3

Milestone! We have text input. It works by using interrupt 16h which checks for keys pressed. and then moves over to teletyppe and compares the value of the key pressed with the hex value of Enter. then if its equal it jumps to a function called callNewLine and then jumps back. The next step is to figure out deletion!!!

Update attachment
Drew
Drew
1h 53m 16 days ago

Backstory time! I started this project out of pure boredom on my way home from California on a flight. I started the day before my flight by downloading a bunch of interrupt/register books and assembly books. I always thought assembly was really cool and a good challenge. I started off by absorbing as much knowledge from ralf browns interrupt list as i could before my flight and setting up my installation of NASM and visual studio code on my laptop. I boarded my flight and started to code for a little bit before passing out. Then once i got home i had free roam of the internet and every resource at my disposal! I was able to learn about bootloaders and what they do and how to fill up space because the bootloader needs to be exactly 512 bytes and how to display multiple letters of text. I'm thinking about naming my OS hackOS in honor of hackclub! As i go through this project i want to have a couple of things such as a kernel, Desktop Environment, Word Processing, and a terminal!

Update attachment