Chapter 3

The Form Feed - in Basic Software

Let’s modify our program to print only 10 lines, then have it automatically roll the paper up to the next TOE CHR$ (12) means “Feed Form to TOF.”

Make the program read:

9

PR #1

 

(Apple)

20

FOR N =

1 TO 1 0

 

3 0

PRINT

N

 

40

NEXT N

 

 

45

PRINT CHR$(12)

(TRS use 12+128=140)

49 P R # 0

 

(Apple)

and RUN.

CURSES! (the villain said). We overshot the top of the next form by one lousy line. Did you look at it?

What went wrong? All we added was a simple Form Feed in line 45. Where did that extra line feed come from? Hmmmm? (Knit 1, Pearl 2.)

That’s right! Every PRINT statement automatically sends a Line Feed to the printer. We forgot to include a trailing semicolon in Line 45 to surpress it.

Sounds simple enough. Let’s change Line 45 to:

4 5 P R I N T C H R $ ( 1 2 ) ;

and RUN again.

Time Out for Controlled Confusion

We are genuinely on the horns of a dilemma.

Since the Apple PR#0 disconnects the printer before the final Line Feed form line 45 is executed, Apple users are seeing different results than everyone else and are wondering what all the shouting is about. They don’t see any problem, but for the wrong reason!

Apple users replace PR#0 in line 49 with END, then RUN and see what happens.

Get the idea, now? It overshot by one line again.

26