My name is Sebastian Mihai and I am a programmer whose hobbies range from video game and operating system development, to electronics, reverse engineering, and video game collecting.
Over time, I've created a number of hobby projects: software, hardware, et cetera.
I can be contacted by email at:
sm.website@yahoo.com
Major Personal Projects
All Personal Projects
All of my creations, both software and hardware.
A collection of all my Street Fighter 2 Champion Edition romhacks
Bird in Hand - a Street Fighter 2 Champion Edition mod/ROM hack (arcade, CPS)
Burning Fires - a Street Fighter 2 Champion Edition mod/ROM hack (arcade, CPS)
Barrels of Fun - a Street Fighter 2 Champion Edition mod/ROM hack (arcade, CPS)
Fire Serpent - a Street Fighter 2 Champion Edition mod/ROM hack (arcade, CPS)
Vampiric - a Street Fighter 2 Champion Edition mod/ROM hack (arcade, CPS)
Aimed Barrels - a Street Fighter 2 Champion Edition mod/ROM hack (arcade, CPS)
Aimed Fires - a Street Fighter 2 Champion Edition mod/ROM hack (arcade, CPS)
Street Fighter 2 development toolchain (Capcom CPS1 arcade ROM hacking)
winzx - a Windows 98-themed ZX Spectrum custom tape loader
RoguePoints - a simple World of Warcraft add-on for rogues and druids
smloader - a minimalist ZX Spectrum custom tape loader
smtap - a tool for managing ZX Spectrum TAP tape images
No CD cracking - Elder Scrolls 4: Oblivion (from binary, using OllyDbg)
No CD cracking - Elder Scrolls 3: Morrowind (from binary, using OllyDbg)
No CD cracking - Heroes of Might and Magic 3 (from binary, using OllyDbg)
Apollo 12-in-1 vintage brick game (handheld LCD Tetris) too loud
zxian - a ZX Spectrum emulator (for Windows, written in C)
z80hai - a Z80 disassembler (for Windows, written in C)
Atari 2600 animated sprite example (in 6502 assembly language)
Atari 2600 EPROM adaptor
Warlock's Tower - a Knights of the Round mod/ROM hack (arcade, CPS) - custom edition
Death's Thread - a Knights of the Round mod/ROM hack (arcade, CPS)
Squire's Aid - a Knights of the Round mod/ROM hack (arcade, CPS)
Capcom CPS1 patch development tool chain (arcade ROM hacking)
Timeline - a text adventure game (using sebventure v1 engine)
Snowdrop OS - version 31 released (runtime libraries)
Electronic Circuits - interfacing with a Z80 microprocessor v10 (PCB build)
Electronic Circuits - interfacing with a Z80 microprocessor v9 (NTSC analog video signal)
Electronic Circuits - interfacing with a Z80 microprocessor v8 (input from I/O device)
Electronic Circuits - interfacing with a Z80 microprocessor v7 (output to I/O device)
Electronic Circuits - interfacing with a Z80 microprocessor v6 (clock and interrupts)
Electronic Circuits - interfacing with a Z80 microprocessor v5 (introduce RAM)
Electronic Circuits - interfacing with a Z80 microprocessor v4 (introduce ROM)
Electronic Circuits - interfacing with a Z80 microprocessor v3 (data and address buses)
Electronic Circuits - interfacing with a Z80 microprocessor v2 (observe machine cycles)
Electronic Circuits - interfacing with a Z80 microprocessor v1 (run NOPs)
Snowdrop OS - version 29 released (hangman game, data compression utilities)
Snowdrop OS - version 28 released (GUI improvements, desktop, draw)
Snowdrop OS messaging system
2600-in-1 Pandora's Box JAMMA multi-game board: external settings button
Hand-optimizing x86/x64 assembly - optimize comparison to -1, 0, 1
Electronic Circuits - interfacing with an arcade game
Diablo 1 hacking - a fully-built toolchain to add your own features
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 Technology
My articles on technology-related topics of all sorts.
ZX Spectrum ROM source code, ready to assemble
Arcade CRT video - Knights of the round frame by frame
Dizzy 7 on ZX Spectrum - incorrect interrupt mode 2 initialization
Arch Linux installation steps
How to modify and save an executable using OllyDbg 2.00
Weller WLC100 soldering station potentiometer Watts per level
4-pin oscillator: Rasco Plus (8820 Taiwan MP 12AB 8A)
Z80 CPU failure mode: unable to single step past first instruction
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.
Mortal Kombat (arcade, 1992) - playthrough on Arcade1Up countercade
World of Warcraft (Classic) - Badlands reagents list
Fat Frumos - vintage Romanian folklore-based ZX Spectrum game
Famiclone PAL games
Diablo 2 în limba română - poster
CGA games on a PC XT clone (Sanyo MBC-775)
Loading a game into a ZX Spectrum in NTSC land (North America)
JVC TM-9U (A) monitor (CRT)
Diablo 2 - PC Gamer November 1998 article (Alpha version)
Diablo 2 în limba română (Diablo 2 in Romanian)
LCD tennis - cheap handheld sport!
Diablo 2 collector's edition photos (complete)
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
Miscellaneous
Articles on everything else.
Ethelred the Unready medieval coin
Declining societies - was the film "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
Buckethead
CSC418H