A toy "OS" made in NASM X86 Assembly. This project is mostly to learn about assembly and how it works.
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
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.
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
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.
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
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!!!
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!