SnakeOS - An OS that only plays snake, written in pure Assembly.

SnakeOS - An OS that only plays snake, written in pure Assembly.

6 devlogs
11h 33m
•  Ship certified
Created by WheeledCord

Basically the title. It's an OS that only plays snake, made in pure Assembly. This will be hell to make. Please vote.

Timeline

Ship 1

1 payout of shell 200.0 shells

WheeledCord

19 days ago

WheeledCord Covers 6 devlogs

Fixed lots of bugs. . Game should be more playable now:) Check the links if you wanna play. You will have to emulate. I think its ready to be shipped!

Update attachment
WheeledCord WheeledCord 4 days ago
You could run it off real hardware but it doesn’t like some computers lol

I did a pretty big rewrite.. I gave up with the two character width. Though it does look better, it is annoying to program, especially in the restrictive 16-bit real mode. Anyways, I got most the gameplay mechanics down. Overall this project was faster than I expected.

I made it look better. I did this by basically using two spaces with a foreground colour instead of symbols. Makes it harder to tell that its in VGA text mode. Also turns out my bootloader has some issues with coreboot and you can't see anything. I think I'm getting a bit better at assembly too which is good.

After a few hours I have finally gotten a basic movement system to work. Assembly is tough man. I made each grid square two characters, because every characters height is nearly double it's width. If its not obvious '[]' is the player, and ' .' are the empty cells . This was a lot of work, and I'm glad its finally working. I suppose if I want to step up the Difficulty, I could use VGA graphics mode (where you have to manually program every pixel) instead of VGA text mode (where you have to manually program every character), but I'm not going to do that yet. Switching to VGA graphics mode would probably mean a whole rewrite of my OS. Might do it eventually though...

I was able to get it running off real hardware! This is my first time doing this with a bootloader I made myself. I have made an OS in the past, but I used grub for the bootloader, and used a mix of C and assembly, rather than just pure and painful assembly like I am now.

Update attachment

Before I make SnakeOS, I need to make the bootloader. When your computer powers on, it doesn’t go straight to your operating system, instead it loads the first 512 bytes of the disk and executes it. So I wrote my own 512 byte boot sector that will (eventually) boot into SnakeOS. Right now it prints a message, goes to a new line, Waits for you to press a key, then after you press a key it will print you entered: A Sounds simple and easy right?? Well assembly is a nightmare, and this took me over an hour to make.

Update attachment