Classic Computer Magazine Archive ANTIC VOL. 8, NO. 6 / OCTOBER/NOVEMBER 1989


Be prepared for those annual savings chompers

By Lee Brilliant, M.D.

Plan your monthly spending with the Budgetizer, so those annual big bills don't catch you unprepared. This BASIC program works on 8-bit Atari computers with at least 48K memory and disk drive.

Surprise! You won the lottery!

Nice surprise, huh? Too bad most surprises sound more like this:

"Uh-Oh. Property tax bill due next month. Where are we going to get the money?"

Surprise! Well, that's what it used to be like around my house every month. I was always getting big surprise bills that I knew were coming, but just didn't think about ahead of time. Especially upsetting were those annual or twice-yearly biggies like property taxes or insurance premiums.

So when I learned about the Budgetizer method, I wrote a program to use it and since then have had no big surprises besides automobile repairs.

Budgetizer is not just a different budget program, but a different way of budgeting. A typical budget program sets goals for various areas and simply tells you how much above or below you are in any month. Budgetizer lets you set up a chart of all your bills for the year and then calculates how much you'll need to put aside for the future to meet those expenses.

Most people avoid the shock of making large payments by making monthly payments instead of periodic ones on such expenses as heating, mortgage and insurance. However, if you have an escrow account as part of your mortgage (to pay insurance and taxes) you should figure what you lose each year.

If your property taxes are $1,000 each year and home insurance is $500, then the interest which the escrow company earns on this money is over $100-which you will probably not get back. Budgetizer essentially turns your irregular expenses into monthly payments to your own account, eliminating unpleasant surprise and saving you money.


Type in Listing 1, BUDGET.BAS, check it with TYPO II, and SAVE a copy to disk. When you first RUN Budgetizer, it will ask whether your system is using one drive or two. If you tell the program you are using two drives, you need to have your data disk in drive two.

Antic disk users will find a sample data file, BUDGET.DAT on the disk. Budgetizer will look for this file, and if you choose EDIT from the main menu you will see the expense categories already on disk.


Budgetizer allows you to list all your expenses for a whole year, then assigns them to one of two groups. If the amount of an expense is the same for every month the program considers it a fixed expense. If the amount differs from one month to the next it is considered periodic.

Fixed expenses are stored as positive numbers and periodic ones as negatives. When you print the budget, the fixed and periodic expenses are totaled separately for each month and also as grand totals.

The periodic expenses divided by twelve gives you the monthly cost of all the irregular bills. Each month, the program adds the fixed costs and the average periodic cost, then subtracts the monthly periodic expense.

You wind up with twelve numbers labeled RESERVE. MIN. MONTHLY INCOME is the minimum amount of income which you need to deposit into your checking account each month to cover all the expenses. RESERVE represents the amount of money that must be left in your checking account at the end of each month to meet upcoming bills.

There are four levels to the program. The main menu allows you to select Print, Edit, Save, and Quit. Print Save and Quit are pretty self-explanatory, but Edit is more complex.


When you choose Edit, the program will work with the data tile, BUDGET.DAT. If you are using two drives, the program looks on drive 2 for this file. Otherwise it looks on drive 1. If a BUDGET.DAT file is found, the program loads the information automatically.

Once you choose Edit, the next level is CATEGORIES. You can have up to six categories of expense, such as Loans, Utilities or Credit Cards.

Choose a category, then go to FIELDS. You can have up to ten fields per category. Under Loans, for example, you might have House and Car. Finally, there are twelve RECORDS (monthly payment amounts) per field.

Use the [CONTROL] [ARROW] keys to highlight your choice, then press [SELECT] to go to the next level. The [ESC] key takes you back to the previous level. The arrow keys also allow you to move around within the window and [RETURN] causes the program to read the data as it appears in the window.

To eliminate a category or field, simply make its name all blanks and press [RETURN]. If you change a name, only the name changes, the data stays intact.

New fields and categories are added to the end of the list. Only Uppercase letters and numbers are acceptable as categories and fields. Records must be entered as numbers only.

You can change the number of fields, record size, or the length of names if you want. But the numbers I used were selected because of formatting considerations with the printer. All the printer codes are in one line at the end of the program and may need to be adjusted to fit your printer.


Much of the credit for this program goes to Doug White and his article, Equivalence, in the February, 1989 issue of ANTIC. His article inspired me with a better way to manipulate data fields.

Although Doug White did not specifically mention this technique, I first dimension my data array (ARRAY 11,39) then a string (ARRAY$) to the length of one byte. Later I change the pointers of ARRAY$ to match the location and size of ARRAY. Now I can clear sections of the array by blanking strings instead of slower FOR NEXT loops. I can also move data around the array with fast string manipulations. My hat's off to Doug for a fascinating and useful concept.

I have used BUDGETIZER for two years now and during this time I have had no unpleasant major surprises. Now if I could only win the lottery . . .. A

Lee Brilliant is a physician in Southern California and a longtime Atari 8-hit programmer-writer. His work bas often appeared in Antic.

Listing BUDGET.BAS Download
Data BUDGET.DAT Download