StrikeTech 1995

Chan Woon Shing

Click here to view Screen Shots.

Click here to download Columns.


Columns, like Tetris, is a classic game.

There are DOS-based, Windows-based, shareware, public domain, commercial ... many many Columns in the world. So, why did I write this program? Emm.. it is a test program for my routines in handling tweaked VGA mode and Columns is a simple game that is most suitable for practice. This Columns is a game runs in 320x240x256 tweaked VGA mode, a ratio better than 320x200 I think. In fact, I already wrote one in CGA nearly 3 years ago. In this new VGA one, I have put in several screen tricks like background scrolling, screen splitting, page flipping, etc.

This game still has many places to be improved especially the speed and graphics. Since I am not a computer graphics designer, so do not expect too much on the screen output.

I have spent a lot of time on writing the VGA mode X routines, however, the core COLUMNS code is just a 1x-days work. Hope you like this game.

Game Speed

This game completely updates the screen frequently, so it requires high speed VGA card to have the best result. It is very obvious in 2 players mode and also when I changed my system from Cirrus Logic 5426 to 5428 which increases my computer's video speed by 30%. I have tested it with Trident 8900C, the speed is far from my expectation. Therefore, the game speed depends on the speed of VGA card more than CPU.

Music and Sound

This game supports Sound Blaster 2.0 compatible cards. It uses environment BLASTER to determine the Port, Irq and DMA of SB. So, it must be set before running the game, otherwise there will be no sound and music, eg. SET BLASTER=A220 D1 I5 T3 for port:220 DMA:1 IRQ:5.

It uses SBFMDRV.COM as FM Music driver to play .CMF file. This driver will be automatically loaded.

The sound effect is using .WAV files. The codes are based on the Sound Blaster Freedom Project (SBF) v3.0. Thanks to those guys who paid effort to develop this library. I've added a few codes like handling DMA buffer memory allocation and RIFF Wave file. Due to SB DMA buffer, an extra 128K is required compared to playing without sound. The driver CT-VOICE.DRV is no longer used since it doesn't support other SB compatible cards.


This game supports Keyboard, Joysticks and Mouse. Joysticks and Mouse are only effective in playing.

Modes of Playing

For one player, either left or right can be chosen.

For two players, there are 2 modes - Individual or Competitive.

What Will be Added

Choice to disable background scrolling

The main feature of this game is continuous background scrolling, this is also my major objective. However, this makes the game run very slow in low speed VGA card system. So, I will make the background scrolling as option. This will involve quite a lot of change in source code since the main logic of this game are optimized for background scrolling mode only.

Use a better music driver

I don't want to use SBFMDRV.COM for music driver as it must be loaded as a TSR. However, there is very little information in SBF about FM synthesizer programming. I'm now trying to get more information so that I can replace SBFMDRV.COM. Anyone has good driver, please give it to me.

More and betterMusic and Sound Effect

Better Graphics and Background

I will only do so when I really have time.


v0.12     A new menu screen with better graphics.

v0.10     Added mouse support.
v0.09     Added joystick 1 and joystick 2 support.
05/08/95  User defined control keys supported.
          Music  driver  (SBFMDRV.COM) will be automatically
          loaded  and  unloaded.   No  need  to  install  it
          before running Columns.
          Some changes in menu.
v0.08     A  new  McMug  background is added.  To  use  this
04/03/95  background  other  than  the  default  one,   type
          COLUMNS.EXE MCMUG.PCX to start the game.
v0.07     Fix    a    minor   conceptual    bug    due    to
02/25/95  misunderstanding   of  the  relationship   between
          changing  start  address and  vertical  retrace  /
          display period.
v0.06     Minor changes.
02/12/95  2 sound effects added.
v0.05     Music and Sound On/Off options are added.
v0.04     Music playing rate increase with the game speed.
02/03/95  A minor bug is fixed.
v0.03     Change  the speed increment.  The speed  will  not
02/02/95  increase so fast.
          More sound effects are added.
v0.02     Using .WAV instead of .VOC.
02/01/95  Use   self-developed  subroutines  based  on   SBF
          instead  of  using  CT-VOICE.DRV,  therefore,   SB
          compatible cards is now supported.
v0.01     First version with sound and music.
01/30/95  Sound  effect supports only Sound Blaster but  not
          compatible one.