Sega Dreamcast development - Overbearing Burgers
Last updated on December 20, 2016, 1:17 by Sebastian Mihai
Overbearing Burgers is a Sega Dreamcast homebrew game featuring a hungry brown bear. The bear must jump at the right time to not only not hit the rocks on the ground, but also to not miss any of the hamburgers.

Overbearing Burgers is very easy to play; the only button used is A, which will make the bear jump.


CD image - Overbearing Burgers .cdi CD image. Download this to play the game in an emulator (I recommend nullDC), or on real hardware

Source code - Overbearing Burgers source code package
SDK - get this if you wish to compile Overbearing Burgers yourself, or if you'd like to develop your own games using this as a starting point! Tested in Windows XP. Since the SDK is Linux-based, it also installs Cygwin first. See Developing section below
extra tools for the SDK - these are used to build the .cdi image, and are required by the build script. See Developing section below
DiscJuggler 6 demo version - I used this to burn Overbearing Burgers to a CD, to play on actual hardware. See Burning section below

Burning the game to a CD

I used the demo version of DiscJuggler 6 (download link above). I'm sure it would work with other programs, such as Alcohol 120%.
In DiscJuggler 6, I chose File->New, and then Burn Image, selecting overbearing.cdi. In the Advanced tab, I chose the settings as shown in the image below:

After setting the burning speed to 1x (which is imposed by the demo version of DiscJuggler anyway), I clicked Start and shortly after the CD was done. The CD worked on a regular Dreamcast console without any issues.

Developing your own Dreamcast game

From the links above, download both the SDK, and Mount dreamcast gcc sdk DDEr4.cdi using Daemon Tools Lite, or burn it to an actual CD. This SDK will first install Cygwin, and then the Dreamcast toolchain. Follow the installation steps. While installing, I chose not to source, meaning that I chose to manually run to get the environment variables for the SDK to be set. Eventually, I decided to add it myself to my user's .bashrc file (see how below).

Once the installation completes, unzip to c:\cygwin\bin. This should include the four files: mkisofs.exe, cdi4dc.exe, scramble.exe, makeip.exe.

From a cmd prompt:

cd c:\cygwin

Modify your ~/.bashrc file by adding the following at the end:
source /usr/local/dc/kos/kos/

This sets all necessary environment variables whenever you start up Cygwin.

Restart Cygwin.

unzip to ~/overbearing

You can now compile Overbearing Burgers:

cd ~/overbearing

The output is overbearing.cdi, a .cdi CD image file which can be played in an emulator such as nullDC, via File->Normal Boot
The .cdi file can also be burned to a CD-R and played on real hardware (see the Burning section above).

Note: the file overbearing/ip.txt contains game header information, such as developer, title, etc., which you can modify to include your own name and your project's name.
If you use the materials on this page, or any other page on this web site, you do so at your own risk. They are provided "as is". No warranty is provided or implied. I neither guarantee that the materials will work, nor that they will not be harmful in any way.

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

Snowdrop OS - my operating system from scratch, in assembly language

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

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