VPM Program
QuickBASIC Version




Copyright 1999 by Eric Maiken






Download the QuickBASIC Program VPM

A plain-text file VPM.txt (24 kb)

Current Version: 09132000

I'm no longer supporting the QuickBASIC binary format files.


How to Get Ahold of the Microsoft Program QuickBASIC:

  • First, if you have a DOS/Windows PC, see if the program QuickBASIC is already on your machine, or on your installation CD.
  • Try searching "QuickBASIC" or "QBASIC" on the net for information.


Using the Program VPM

This program is written in the old Microsoft language QuickBASIC, which reads the text format file VPM.txt. You may want to rename the file to a different extension (such as .bas or qba) rather than .txt

Assuming you have the QuickBASIC program, place the VPM.txt file  in the same directory and then:

  • Select "File" then "Open Program" from the DOS menu. You should see the VPM program in the menu, so select it. Then, the source code for the main module (or an error message!) will come up in the editor window.
  • Use the key "F2" to see the list of subroutines called by VPM.bas. You'll want to be able to open up SUB DIVEDATA to change the gas mixtures and other constants.
  • To start the program, select "Run" from the menu bar, and follow the input instructions.

The dive stage input form is in feet of fresh water and run-time. Run time is the time since you started your decent.

For multilevel dives,  you'll need to run the program a couple of times to verify the ascent ceilings for each stage  to be sure that the first deco stop is shallower than the next shallowest dive stage. You can also descend on short multilevel steps, otherwise descent is calculated as instantaneous.

Breathing gas settings are changed by the hard coded constants in SUB DIVEDATA. You can set the ppO2 for a nitrox dive in SUB DIVEDATA by changing the constant O2. Also, on a deep dive, you can set one nitrox ascent stage with nitroxStops in addition to a pure O2 stage with the constant oxygenStops. It's best to open the O2 window as wide as possible and as early as possible in the ascent.

The program outputs a sequence of updated, increasingly liberal, ascent schedules (though only the first and last iterations are visible on fast machines). This is to illustrate the iterative nature of the algorithm. Compare the first and last schedules for some short dives (big difference) and also for long dives (not much difference).

You can turn on the option to write the deco schedule to an output file if you uncomment the appropriate lines  in SUB PUTIN.

Compare the VPM schedules to the ascents calculated by Neo-Haldane (Keller/Buhlmann) based programs (ie: nearly every other program that is available). Especially try plugging the VPM deep stops into these programs as a multilevel dive and see how the schedules compare.