Classic Computer Magazine Archive ANTIC VOL. 8, NO. 1 / MAY 1989

Type-In Software

FEATURE APPLICATION

VCR Labeler

Instant cassete title directories. By Frank Walters

Print labels for your VCR cassettes with this simple BASIC program. It works on any 8-bit Atari computer with at least 48K memory and a printer. Printer drivers for five different printers are included, along with instructions for making your own.

VCR Labeler is a simple BASIC program that makes videocassette labels out of standard 3 1/2x15/16 inch printer labels (such as Avery #4145 labels).

Each label has room for as many as three titles, along with the VCR counter number and running time in hours and minutes (h:mm).

If you have more than three titIes on a cassette, make two labels--they will fit on the edge of VHS box. You'll have to trim the left edges to fit two labels on a Beta box.

GETTING STARTED

Type in Listing 1, VCRLABEL.BAS, check it with TYPO II and be sure to SAVE a copy before you RUN it.

When RUN, VCR Labeler will ask you to select the type of printer you'll be using. If your printer isn't listed, try the other drivers to see if any of them will work correctly with your printer. Otherwise, follow the directions below for creating your own printer driver.

PRINTING LABELS

It's a good idea to put the labels in the printer before entering label information. That way, you'll be ready to print as sson as you've entered the information.

The program first asks for the number of titles for that label (1-3). This number determines the line spacing of the label. You can enter 3, even if you only have 1 title, leaving room on the label for more. That way, you can enter the VCR counter for the start of the next blank section.

The program then asks for the first title. For each title, there is room for 16 characters on each of 2 lines. The program will display two lines with a space between them. Type your title on the lines, but don't type a letter over the space. Simply space over it and begin the second Line. Use the cursor keys to edit your line, then, when everything looks correct, press [RETURN]. The program will split the text into two lines and ignore the space between them.

Next, type the starting counter number of that program. Iegal entries are 0-9999, or press [RETURN] for 0000. The program drops decimals and puts entries in four-digit form automatically.

Finally, enter the duration of the program--one digit for the hours, and two digits for the minutes. Use a space or colon to separate hours and minutes. For example, the program will accept either 1:30 or 1 30 as entries. [RETURN] will give the default time of 0:00. If the program is less than an hour, type a 0 for the hour Value.

After information for each title has been entered, the label will be displayed on the screen. If necessary, you can re-type that section to correct any errors.

After entering the information for all the programs on the label, just follow the prompts to print it. You may wish to make the frrst label a 3-title entry, to check the spacing on the label when you print. There is an option to reprint a label if you have to adjust the labels in the printer. Once the triple entry label is centered, all following labels should be properly spaced, automatically.

CREATING YOUR OWN PRINTER DRIVER

If your printer is not supported, change line 5 to:

5 TYPE = 6

This selects the OTHER PRiNTER subroutine, located in lines 4600-4680. You'll need to know a little bit about BASIC programming to take the necessary printer control codes from your printer manual and place them into VCR Labeler.

The program stores the printer control codes in string variables.

WIDE$, for example, contains the instructions to set your printer's character width (called "pitch") to 12 characters per inch (sometimes called "elite"), then sets your printer to double-width, or expanded print. Since expanded print is twice as wide as normal print, we'll get half as many characters per inch--6 cpi.

Most printer manuals give printer control codes in decimal. After finding the printer code, you'll have to convert it to a character string before you can add it to the program.

Here's an example. According to the Star SG-10/15 manual, the code used to set the print pitch to elite (12 cpi) is: 27, 66, 2.

Referring to an ASCII chart, we see that 27 is the ASCII code for the [ESC] character, 66 is the ASCII code for the letter "B" and 2 is the ASCII code for a [CONTROL][B] character.

Continuing on in the manual, we find the code used to set the printer to expanded print is: 27, 87, 1.

Returning to our ASCII chart, we see that 27 is the ASCII code for the [ESC] character, 87 is the ASCII code for the letter W and 1 is the ASCII code for a [CONTROL][A] character.

When you finally place these control codes into a string, they look like this:

Note that this matches line 4310, which defines the SG-10/15 printer code for WIDE$.

Follow this method to create the rest of the printer control code strings, listed below:

W1DE$-Double-width characters for 12 cpi, giving six double-width characters per inch. See above for a complete explanation.

WIDEOFF$--Change back to 12 cpi.

BOLD$-Near Letter Quality, or your best looking double-strike or emphasized font (must stay at 12 cpi).

P66$-Code for standard 6 lines/inch or 66 lines per page. This determines the spacing between lines, not the form feed value.

P88$-Set 8 lines per inch or 88 lines per page.

UON$--Turn underline ON.

UOFF$--Turn underline OFF.

Up to four characters can be inserted. If you need more, put them in and re-DIMension the appropriate string in lines 1000 to 1020.

If your codes use less than four characters, you must remove any of the extra little hearts from your strings. These hearts represent nulls (ASCII 0) and do nothing. However, if you don't have a double strike or NLQ mode, leave at least one heart in the BOLD$, so it won't send a carriage return.

Once your TYPE is set and the printer codes are determined, remember to DELETE line 4605 of your subroutine, which is a trap to prevent that subroutine from being accidentally selected.

If you get tired of entering your printer type every time you RUN the program, put that number in place of the 0 in line 5. From then on the program will skip the printer setup whenever you RUN it.

Finally, be sure to SAVE your modified VCRLABEL program before you RUN it.

Frank Walters has had work published in Computer Shopper and Compute! His Lazy Loader appeared in the May 1985 issue of Antic.

Listing: VCRLABEL.BAS Download