Welcome to Sebastian's pages!
My name is Sebastian Mihai and I am a programmer whose hobbies range from video game and operating system development, to electronics, to video game hardware history and collecting.

Since my first interaction with an IBM PC, I have been interested in operating system internals. As a result, I wrote my own small-scale operating system from scratch, exclusively in x86 assembly language.

I have created over 50 video games and tech demos for classic platforms (Sega, Nintendo, Atari, etc.), all found in my project showcase. Some were featured in print magazines, or produced and released on physical media. All are open source.

Over the years, I have gradually added to my video game collection. It contains interesting hardware and games across many decades.

I can be contacted by email at: sm.website@yahoo.com

Jump to: On Technology, On Gaming, Miscellaneous

Major Projects

Snowdrop OS - my operating system written from scratch, in assembly language
50+ video games and related projects for various systems (Sega, Nintendo, etc.)

All Projects

All of my creations, both software and hardware.
Snowdrop OS pseudo-mouse driver
Snowdrop OS dynamic memory and data structures
Snowdrop OS assembler and debugger
Electronic circuits - CMOS buffer
Electronic circuits - driving higher current loads through parallel port
Electronic circuits - interfacing a Nintendo NES from Snowdrop OS
Electronic circuits - 3-bit current buffered DAC
Electronic circuits - stepper motor driver controlled by Snowdrop OS
Electronic circuits - parallel port interface
Snowmine - a Minesweeper-like game for Snowdrop OS (in x86 assembly)
Storks - a matching game for Snowdrop OS (in x86 assembly)
Electronic circuits - interfacing with a 16x2 LCD via parallel port
Electronic circuits - square wave vs. sine wave (audio differences)
Electronic circuits - Catch That LED!
Electronic circuits - parallel port light show
Electronic circuits - the Annoizer (555 speaker circuit)
Intellivision development - Hotel Bunny
Coverage of my projects
Interviewed in the Retro Gamer magazine
My homebrew cartridges
ZX Spectrum development - Husband Chores (in Z80 assembly language)
No Snakes! - a multiplayer game over serial port
Sega Dreamcast development - Overbearing Burgers
libzx - ZX Spectrum game programming library (Z80 assembly language)
Compact Pong - game in C# for the Pocket PC (Windows Mobile 2003)
TOTP (time-based one-time password) authenticator in C# (.Net)
aSMtris - Tetris in assembly language (x86, 16-bit)
Balanced Diet (GBA) limited edition
Gameboy Advance development - Balanced Diet
Atari 7800 development - Poetiru
Arcade ROM hacking - Knights of the Round translation
PocketStation development - Pocket Worm
Sega Game Gear development - Burgers of Hanoi GG
Pokemon Mini development - Mini Cookie
Magnavox Odyssey2 development - Red Green
Sega Dreamcast VMU development - Raining Squares
Nintendo GameCube development - Mama Bear Puzzle
Nintendo Wii development - Groundhog Puzzle
Sega Saturn development - Saturnade
Atari Jaguar development - Jagmatch
Sega CD development - Blackjack CD
Nintendo 64 development - Don't Be Square
Commodore 64 development - Tube64
Sega 32x development - Eight Queens
WonderSwan (Mono) development - Swan Driving BW
WonderSwan Color development - Swan Driving
Animal Keeper - a JavaScript and HTML5 Canvas game
3DO development - Space Invaders Invaders
Sony PlayStation development - The 11th Power
Sony PSP development - Newton Voyage
Nintendo DS development - Geoincursion
Gold of the Kingdoms - an XNA/C# homebrew game
Blue Elf 2 309-in-1 JAMMA PCB - troubleshoot controls not working
Fractals in JavaScript and HTML5 Canvas
Angry Video Game Nerd (AVGN) theme song on the Gameboy Advance
Novice calligraphy - Gothic hand, with letter guide
Video compilation of my classic console homebrew games up to 2013
Seven segment display circuit with the 4511 decoder and the 4029 counter
A simple Atari 2600 joystick tester circuit
555 timer and 4017 decade counter - traffic lights circuit
Catch That LED! - an electronic game circuit
Capacitor study circuit
BlackBerry PlayBook development - Sheepish Bearings (Native SDK, OpenGL)
Neo Geo Pocket Color development - NGCollector
Neo Geo development - Neo Thunder
Atari 5200 development - Shooting Gallery
ZX Spectrum development - simple input/graphics example
Vectrex development - Scalar Ownage
Nintendo Virtual Boy development - Real Danger
Gameboy Color development - Burly Bear vs. The Mean Foxes (GBC version)
Sega Master System development - Burgers of Hanoi
Colecovision development - Mowleco
TurboGrafx-16/PC Engine development - Alddee
Atari Lynx development - Catkanoid
Nintendo NES development - Invaders must die!
Atari 2600 development - Snappy (batari basic)
Super Nintendo development - Bucket
Gameboy Advance development - smgbalib library
Airplane Vegas slot machine
Sega Genesis development - Gen Poker
(2004) Project One - first university game programming club project
Gameboy development - Burly Bear vs. The Mean Foxes
(2006) RGB Overdose - university programming contest entry

On Techonology

My articles on technology-related topics of all sorts.
NTSC CRT scanning
One of the most interesting bugs I ever fixed
Example of indexing and searching in Lucene.Net using C#
Atari Lynx - installing a power connector
Blood Bros arcade JAMMA PCB repair log (sound problems)
Generating DC (direct current) from a plasma ball (wireless charging)
Listening to an electromagnetic field
Tesla coil - visualizing its electromagnetic field
.Net development - C# from C#
The naming convention of the C standards is Y2K-susceptibl
Missing stack trace entries in Release mode assemblies in .Net 4.0 (C#)
Public constants across assemblies and default parameter values in C#
C# lambda operator
Simple two-column, three-panel web site template
An easy to use random number generator
Puppy Linux on a computer without a hard drive (on a USB stick!)
(My) Useful settings for fresh Windows installations on new computers
How text indexes work
Trivialization of history through technology
Entropy in code
Basic Linux tricks
Be safe with production databases
Keep your computer clean with virtualization

On Gaming

Walkthroughs, reviews, how-tos, etc.
Diablo 2 - Single player hardcore builds which cleared Hell (all heroes)
Prince of Persia (1989) - playthrough on a 486 computer (MSDOS)
Blood Bros (arcade) - PCB photos
Bad Dudes vs. DragonNinja (arcade) - PCB photos
Mortal Kombat (arcade, 1992) - playthrough on arcade machine
Featured personally in a game
Knights of the Round arcade game - in-depth review
Rastan (arcade) - PCB photos
Using the ZX Spectrum computer in North America
Knights of the Round (arcade, 1991) - playthrough on arcade machine
Frostmaiden (amazon) guide for Diablo 2 single player hardcore, 1.14
My video game collection (2015)
Neo Geo history through commercials and documentaries
Vanguard: Saga of Heroes is no more
The failure of Nokia N-Gage in one photo
Real life places and film characters in video games
Vectrex - Who needs pixels, anyway?
FPS map design then and now
Video game fun facts
King of Fighters - collection of all ten games on Neo Geo AES
Virtual Boy - warnings, cautions, and bad ergonomics
Atari Jaguar - recommended by dentists everywhere
Neo Geo X - The rebirth
Metal Slug 4 on Neo Geo AES
Neo Geo history through scans of printed materials
Neo geo 161 in 1 multi game cartridge review
Epilepsy-inducing arcade games
How to buy an arcade machine (cabinet)
Videogame arcade ethics
Videogame ROM prefixes and codes
A comparison of videogame cartridge byte sizes across generations
How Neo geo AES refused to die - a short history
ZX Spectrum - humble beginnings
Return to Castle Wolfenstein knife video
Neo Geo AES


Articles on everything else.
Declining societies - was Idiocracy prophetic?
RAM is a misnomer
Canada - caught between metric and imperial
Vacuum cleaners
Small caps on plastic bottles
Future Shop planning
18th century laws from England
Zellers - shadows of the past
Razor blades for school children
(Romanian language) Dialectele limbii române
Lapte Gros - dangerous childhood game
Easy geometry
Shifting a manual transmission without using the clutch
Baking soda