Skip to content
 

Music Disk

Some time ago (2007 I think), I mentioned that czPlayer has origins in an old sound system I coded for a Music Disk, back in 1998.
I managed to find a zip file with that same Music Disk, and wrap it with DOSBox, so that anyone can take a look, as it wouldn’t run in modern PCs.

You can download it here.
Just unpack to a folder, and run the “LaunchPH5_5” batch script. It will automatically launch PH5.5 running inside DOSBox.

I coded pretty much everything apart from a really nice graphics library I got from a book, and most of the work was done during 1998 Summer holidays. Some of the awesome features (in 1997-1998 at least):

  • Runs in VGA VESA mode, 800×600, with support for Linear Frame Buffer. (Sounds like Chinese to you? If not, then you’re getting old)
  • Optimized 256 colour palette.
  • Coded in good old Watcom C++ for DOS, and runs in protected mode (uses PMODE/W)
  • The sound system itself was quite nice, support a couple of things not commonly found:
    • Critical mixing functions coded in hand optimized assembly
    • Support from SB Mono to SB 16.
    • Support for Gravis Ultrasound, both hardware mixing, or software mixing, to work around the hardware voices limitation.
    • Mono, Stereo, 8 and 16 bits support
    • Fixed point mixing
    • Quite decent Impulse Tracker format support

The art was done by a friend of mine.
Music was done by that same friend, and a friend of his, whom I never met, using Impulse Tracker.
Two of the songs were mine, but not as good as the other ones, since after all I was the coder!

Just look at these awesome screen shots!
Keep in mind that’s from 1998, using a 800×600 8bits display mode

Sound Setup Screen

Coded in ASCII mode. Look at those amazing shadows Smile

ph5_5_002

 

Start-up screen

The awesome start-up screen, calculating some really useful lookup tables.
Also, note the 800×600 video mode, at 8 bits. Live wasn’t easy.

ph5_5_003

User Interface (Trance Zone)

The UI was divided in two zones
The background art was indeed nice. The way everything fits on top is a bit crude without antialiasing, because with just 256 colours, it was a limited palette to choose from.
The spheres with the song names were faded in and out in a cycle.

ph5_5_004

Trip-Hop Zone

And the other zone, which we could scroll to. It had a complete different set of colours, which didn’t help. Both zone colours came from the same 256 colour palette.

ph5_5_011

Some options

I had some options for sound and the graphics. Turning off interpolation would only have an effect if using software mixing of course.

ph5_5_018

Credits

Notice the transparency of the dialog box. As all the other screenshots, still using the same colour palette.

ph5_5_020

 

Conclusion

That was the first project I started, finished, and released.
Also, the first project using the original czPlayer. The current version still has a bit of that code, but most of it has been refactored.
It’s an interesting experience to look at code I wrote >12 years ago, with a complete coding style.
Was an interesting thing to work on. I remember sitting down with my friend to discuss details and take a look at each other’s work.
Also, I remember a particular day I was brainstorming about display modes, and If I could go for 16bits/24bits mode, which would look a lot nicer, but would require a lot more CPU at that time.

These were the specs of the computer I used for coding:

  • Pentium 233 MMX
  • 32 MB
  • About 20 MB of Hard Drive space, for code and assets
  • SB16 clone, and a GUS sound cards
  • Cirrus Logic Laguna 5464 PCI graphics card

Leave a Reply

You must be logged in to post a comment.