This is a place for me to show progress on porting some old games that a friend of mine wrote. All of the games were done in DOS using a Borland compiler and they relied heavily on Borland's BGI (graphics.h), conio.h and bios.h libraries.

I've wrote the BOSS library to wrap all these old function calls and use SDL underneath. See the BOSS page for details and downloads.

Ten Nights of Killing and Mayhem at F.J.B II

I started reworking the "Ten Nights of Killing and Mayhem at F.J.B II" code (TNO). Here are some screenshots of my progress:

TNO Title Screen TNO Main Menu TNO Main Menu TNO Clipboard 1 TNO Clipboard 2 TNO Main Screen TNO MAP

And here's a detailed history:

Date Notes

Cleaned up a great deal of errors in the code (mismatched data types, function parameter types, etc) and patched up the code so it compiles (stubbed out int86, all asm, gotoxy, etc) and linked in BOSS.


Wrote a wrapper around the screen pointer to provide transparent access to the screen using BOSS. The title screen now works.


Converted all voc files to wav files, relocated to data\sounds. Converted all xmi files to mid files, relocated to data\music.


Updated all data files to be organized into subfolders.

Modified all findfirst and findnext to use _findfirst and _findnext


Fixed a bug in my putrletters() wrapper function that was calling putvletters.


Reworked most drawing routines to use the raw function calls in BOSS (directly to SDL).

Fixed a couple bugs in graphic filenames

Game now works but is not thoroughly tested


Correctly extracted all XMI sequences and converted them to MIDI, updated in game.

Clear clipboard quicker when looking at a teacher (tdetails function)

Fixed mouse button sensitivity (only generates an event upon mouse button going down, not being held down)

Updated map drawing function (viewmap) to directly access screen which fixes problem of leaving map

Added missing sounds: phone, up, down, swallow, bow, gunshot, flame, money, drink, rocket, chainsaw


Fixed load/save game bug (size of integers was incorrectly specified as 2 bytes)

Fixed inventory graphic loading issue (wrong directory for files)

Loop music indefinitely instead of continually checking and re-starting it every turn

Added in command-line option (-w) to force to windowed mode

Fixed keyboard input in the game (BOSS update)

Fixed bug where turning a player could reduce movement points below zero


Added auto-save feature in Options. Can also enable this by default by using a new command-line option (-s)

For KIA teachers, draw letters in red, with a solid thin line through that teacher in the clipboard.


Updated readmouse and gethand to use Boss raw calls for SDL.

Fixed mouse graphics for Options menu.

Fix stairs issue when you Pass your turn on a linking stair square

Work around colour cycle issue when mouse cursor overlaps

Updated more functions for Boss raw calls for SDL


Finished moving all graphics operation to Boss raw calls

Fixed Turn Left/Right Arrow display problem (problem with putlletters and putrletters)

Fixed border drawing as a result of modifying putlletters

Fixed a behind mouse error when mouse is over movement points and player moves


Started development of Ten Nights of Killing and Mayhem at F.J.B III.
Detailed history will be kept in this readme file going forward.



The Caverns of Xaskazien

(with apologies to Dr. Seuss)

This is COX.

This is COX on DOS:

COX Title Screen, Original COX Menu, Original COX Player Creation, Original COX Main Game, Original

Can I try COX on DOS on my box?

Right-click here, you can't beat the cost

This is COX on DOS using BOSS:

COX Progress Title Screen, 2004-03-06 COX Progress Menu, 2004-03-06 COX Player Creation, 2004-03-06 COX Main Game, 2004-03-06

Can I try COX on DOS using BOSS on my box?

Right-click here, now I have to go floss...

The End

Anyway, here is a detailed history of COX development (with BOSS highlights):

Date Notes

Reworked COX code with stubbed out versions of library functions and linked with SDL.


Implemented working versions of many functions in BOSS


Implemented working versions of text functions in BOSS

  • Implemented putimage functions for 16-color EGA drawings in BOSS
  • Updated the font sizes used by the game
  • Implemented several text formatting functions in BOSS
2004-03-06 Implemented first cut of sound system in BOSS

At this stage the game is playable with all graphics, with all sounds and is almost completely on par with the DOS-based version
  • Updated text sizing for "(KEY)" near bottom of screen in COX code
  • Moved enemy stats up a few pixels to avoid chop-off (font sizing issue again)
  • Build as fullscreen in Release mode
  • Include MSVC Run-time DLL with Release zip
  • Added missing door2 sound effect
  • Fixed a buffer overrun when drinking health potion
  • Moved land files to a maps sudirectory under data
  • Updated all fixture graphics to be 11x11
  • Removed some obsolete code (hitsound(), commented out sound()/nosound() calls)
  • Fixed Light spell causing maps off grid to be displayed
  • Added a couple footstep sounds...maybe they're too annoying?
  • Added a heavy door sound for when the door can't be opened
  • Fixed another buffer overrun when a Light Healing spell is cast.
  • Changed stepping sound volume.
  • Fixed maze-generation function so exits are always reachable
  • Fixed another buffer overrun when a Magic Missile spell is cast.
  • Fixed Dungeon Level text placing when lair or legendary land
  • Added new Cave-in Graphic
  • Made the stepping sounds a separate sound that can be played with other sounds.
  •    Fixed cave-ins being shown in a findmap situation.
  •    COX now links into BOSS instead of including the source
2004-03-13 Handed source of COX back to Jeff Sinasac. More updates on the way from him including many updated sounds, new features, etc.
codedread codedread