Classic Computer Magazine Archive ANTIC VOL. 2, NO. 11 / FEBRUARY 1984

A GREETING CARD FOR ALL SEASONS

Say it on cassette

by WILLIAM L. HENSON

Did you ever wake up in the morning with the sinking sensation that it's Valentines's Day ( or Mother's Day, or a special birthday) and you've forgotten to buy a card for someone? Or worse, did you realize that the loved one in question would attribute your dereliction of duty to having spent too many hours in front of your Atari? The only solution to this dilemma is to leap out of bed and resort to the All-Occasion Card. This life-saving program allows you to make a selection from ten different backgrounds, and permits you to write a message of up to three lines of horizontally scrolling text.

After you LOAD the program, your first task is to assign characters to A$, B$ and C$ in lines 460 - 480. For the best results, these line lengths should not be changed and your messages should be centered.

Your next task is to RUN the program. Each data line has a descriptive string leader that describes the character it creates. LInes 250 - 280 read and print these labels with their corresponding line numbers. You're then asked to enter the line number of the background you wish to use.

Lines 320 - 390 relocate the Graphics 1 and 2 character set to RAM. Line 360 calculates the address of the background character (or space) for the lower-case graphics set. Line 410 discards the data label. Lines 420-440 customize the background character with chosen data. The last number in each data line selects a color for the character. This number is POKEd into Color Register 0.

Line 490 selects lower case. Line 500 allows the background color to vary randomly (if the REM is removed). Line 510 varies the text color. Luminances for text and background are set to ensure that the text never "merges" with the background.

Lines 520-430 print the message strings. The loop creates the illusion that messages scroll from right to left. This scrolling is a bit uneven, but the card's recipient is usually too pleased to notice this. (The elimination of one message line and variation of the delay loop at line 620 may help matters somewhat.) Three message lines seem to be the limit for simple BASIC.

Of course, there is no reason that other characters cannot be used. For purposes of experimentation, you can modify any line of data. For example, draw an 8 x 8 black on a piece of graph paper. Color the blocks in any way you wish. Treat each line as a binary number (empty = 0, full = 1). Translate each line to decimal form, and list a data line. Then substitute your new numbers for the first eight numbers in the data line.

To experiment with color, change the last number in the data line. Replace the old label with your new one. Then RUN the program and choose your line.

If you wish to use Graphics 1, subtract one from line 350. To "proportion" the page, add three to each POSITION statement in lines 530-610.

Any good thing can be run into the ground, of course. But by varying the backgrounds on the All-Occasion Card, you can ensure that it won't grow stale too soon. The number of times you should use the card depends on two factors: How many Atari owners you know, and how brave you are. In addition, the All-Occasion Card can be used as an interesting display at meetings and other social gatherings.

The most economical means of delivering the card is via cassette. Don't forget to provide loading instructions. And remember, on those special occasions when disaster seems to be guaranteed, the All-occasion Card is here to help.

William L. Henson is an attorney who specializes in contract disputes. He became hooked on personal computers after meeting Chris Crawford in the summer of 1978. An Atari 800 joined the family in 1982. His wife Julie and five-year-old daughter Elizabeth are also Atari enthusiasts.

Requires 16K RAM

Listing: CARD.BAS Download