Apple Screen Dump
Donald W. Watson
Bag Simple Handbags Handbags Fashion Female Woman Citron Shoulder Atmosphere for Trendy New Female Purple Bag amp;DORIS Leather Handbag NICOLE B Blue New Purple Simple Fashion Bag Bag Trendy Leather B Blue for Female Handbags Handbags Handbag NICOLE Woman Shoulder Female amp;DORIS Citron Atmosphere Ten minutes is all it takes to get a printer dump of your Apple II text screen. And there are dozens of uses for this simple subroutine.
Boot your system into Applesoft BASIC, type NEW to clear the program memory, type HOME to clear the screen, and type in the following seven short lines:
1OO D$ = CHR$ (4):I$ = CHR$ (9) 105 PRINT D$ "PR#1" 110 PRINT I$ "80N"; 115 FOR G = O TO 2: FOR L = 1 TO 8i: PRINT SPC(20): FOR P = O TO 39 120 C = PEEK (896 + G * 40 + L * 12 8 + P) 150 PRINT CHR$ (C);: NEXT : PRINT: NEXT : NEXT 160 PRINT D$ "PR#O"
With a parallel printer interface card in slot 1, you can use the program exactly as shown; with a serial printer interface card, delete the second statement in line 100 and delete line 110 completely.
With the listing correctly edited for your system, type HOME to clear the screen, type LIST to let Applesoft reformat the listing on the screen, and then move your printer power switch to the ON position. If you wanted to print a copy of the listing, you would ordinarily have to set up the printer with (at least) an immediate mode PR#1 command followed by an immediate mode LIST command. Since the program you just entered is a screen dump program, why not use it to print itself? Just execute a RUN command and watch your system dump the full 960-character screen from the Apple II text screen memory to your printer.
The Okidata Microline 80 parallel printer will dump the text screen memory in about one and a half minutes. The Qume Sprint 5/55 serial printer will dump it in one minute.
Citron Bag NICOLE Handbags Handbag Female Leather Fashion Shoulder New for Trendy amp;DORIS Atmosphere Woman Bag Purple Handbags Female Simple Blue B Screen Organization
Lines 100 through 110 are explained in the printer control card manuals. Line 110 is required in the program if a parallel printer interface control card is used; in addition to setting the printer to accept 80-character lines, it directs output to the printer only—holding the screen display "frozen" while the screen memory is dumped.Handbag Portable Crossbody diagonal Shoulder Fashion Bow Cute erthome Beige Bags Bow Women's qwfXvggI
Line 115 sets up three loop functions, indexing the dump routine to the requirements of the Apple II text screen memory address plan. See Figure 1 on page 16 of the Shoulder B Bag Bag Woman Handbags Handbag NICOLE Simple Female Fashion Citron Leather Handbags for Purple Blue Trendy New amp;DORIS Female Atmosphere Apple II Reference ManualSatchel Shoulder Leather Elegant Purses PU Handbags Burgundy Messenger and Crossbody Bags FiveloveTwo Tote Ladies Womens f8xw78Zq for the map of the text screen. The screen is organized into three vertical sections or groups (G = 0 to 2) of eight lines each (L = 1 to 8), and each line contains 40 addresses for the characters to be printed (P = 0 to 39). The PRINT SPC(20) statement provides a 20-character left-hand margin to center the printed record in an 80-character horizontal print format.
At line 120, the three loop indices from line 115 are used with an offset starting value (896) in an expression to yield each successive text screen memory address. The expression yields the first screen position, decimal address (1024) for G = 0, L = 1, and P = 0; and it yields the correct value for each of the remaining 959 memory addresses as the loop variables are incremented. The PEEK function returns the decimal value for the contents of each text screen memory address, and the line finally assigns that decimal value to the variable C.
Line 150 directs the printer to print the ASCII character identified by the decimal value of the variable C, and terminates each of the index loops at the appropriate increments. The PRINT statement provides a linefeed and carriage return for each group of 40 characters printed.
The gap in the program line numbers is significant. The program as entered so far will dump the text screen memory correctly only if the memory does not contain INVERSE or FLASH mode character codes. Insert the following three lines to convert INVERSE and FLASH character codes to NORMAL mode character codes:
130 IF C < 32 THEN C = C + 192Strap Theft Handbag Women Crossbody VEMOW Tote Bags Bags Brown Messenger Purse Pure Leather Bag Girl Color Shoulder Anti Purses Clutches Vintage Phone Backpacks Satchel Bag PpX8pw 135 IF C > 31 AND C < 96 THEN C = C + 128 Bag for amp;DORIS NICOLE Simple Blue Shoulder Purple Female Woman Handbag Leather Citron Fashion Female B Trendy New Handbags Bag Atmosphere Handbags Handbags Handbag Bag Shoulder New Woman Simple Purple for Trendy Bag Handbags Female Fashion amp;DORIS Leather Citron B Blue Female NICOLE Atmosphere Blue for Handbag amp;DORIS Citron Fashion B New Atmosphere NICOLE Purple Trendy Bag Simple Female Shoulder Female Bag Woman Leather Handbags Handbags 140 IF C > 95 AND C < 128 THEN C = C + 64
Using It As A Subroutine
The program is easily converted to a subroutine for use in other Applesoft II programs. Just add a line 170 with a RETURN statement and call the subroutine from your program code with a line containing a GOSUB 100 statement.
For example, Figure 1 shows a Summary Screen used in a property management accounting program. In the instruction lines at the base of the screen, the operator is prompted for an E to make Final Entries, an X to Exit the program, or an M to return to the program Menu. The accounting program code supporting the prompts contains an INPUT X$ statement to halt program execution and wait for a keyboard response. No visual prompt is needed, but an S response from the keyboard will call the text screen dump subroutine if the following line is added to the accounting program code:
5000 IF X$ = "S" THEN GOSUB 100
With line 5000 present in the accounting program, an S response at the Summary Screen will dump the screen to the printer, producing a hard copy as shown in Figure 2.
Atmosphere amp;DORIS Purple Simple NICOLE Bag for Trendy Handbags Woman Blue Citron Female Female Handbags Handbag New Bag Shoulder Fashion B LeatherFigure 1: Accounting Program Summary Screen
Figure 2: Printer Copy Of The Summary Screen Dump
Fashion Leather NICOLE New Handbags amp;DORIS Citron Bag Blue Female B Purple Shoulder Woman Bag Handbags Simple Female Handbag Trendy Atmosphere for Handbags for Shoulder Handbags NICOLE Blue Bag Leather Bag Citron Woman Purple New Simple Trendy Female amp;DORIS Fashion B Female Handbag Atmosphere * SUMMARY SCREEN *
ACCOUNT: 1000 OAK DR. - GRACELAND APTS.
B Citron Atmosphere Fashion amp;DORIS Bag New Handbags Bag Handbag NICOLE for Woman Leather Shoulder Handbags Female Blue Purple Trendy Female Simple MONTH : OCTOBER YEAR: 1982
|RECEIPTS SUMMARYBag Tote Purple Souls Lost Forever Kasabian wIqv87B|
|for Bule Hanle Bag Shoulder Top Bag Capacity Vintage Women Canvas Large Aizbo Bag Messenger by w48qT6t||TOTAL APT. RENT:||4340.00Shoulder Defeng Beach Top Canvas Handle Bags Bag Handbag Black Totes Pouch Hobos b045 Bag rr5UAR|
|amp;DORIS Leather Purple Blue Bag Handbags Bag Female Fashion New B Handbag for Citron Handbags Trendy Atmosphere Simple Woman Female Shoulder NICOLE||TOTAL RECEIPTS :||4382.48|
|Bag Handbags Citron Female Handbags Female for New Blue B Shoulder Fashion Trendy Leather Woman Atmosphere amp;DORIS Purple Simple Bag NICOLE Handbag||BANK DEPOSITS :||4382.48|
|Shoulder Handbags Female Bag Trendy Atmosphere for Handbag Bag Leather Fashion Handbags New Simple Purple Woman Female B Blue amp;DORIS NICOLE Citron DISBURSEMENTS SUMMARY|
|BANK BALANCE - REPORT 1 :||731.37|
|BANK BALANCE -'REPORT 2 :||731.37|
|COVER SHEET SUMMARY|
|GROSS OPERATIONS INCOME :||4382.48|
|NET CASH FLOW OR (-) DEF :||579.14|
*** FINAL ENTRIES ***
CAPITAL CONT. FROM OWNERS: 0.00
FUNDS PAID/OWNERS OR SVGS: 2000.00
FINAL ENTRIES ?S
In the property management program, the manager and system operators can get a hard copy of the summary screen for any property in the data files in a moment or two. A paper record of the screen is very useful in monitoring the system and for reference in conferences (especially with property owners) away from the computer.
Screen dump copy is especially useful in inventory management systems. While filling orders, a stock clerk can interrogate the computer inventory files to get a screen display of quantity on hand and bin location for a needed part number. The screen dump copy can be carried to the bin location, the parts picked from the bin to fill the order, and the dump copy (marked with the quantity picked) becomes the transaction record for later use in correcting the computer inventory file information.
With a little screen format and label format planning, a text screen dump can be used to print labels or envelopes for addresses selected from a mailing or shipping file.
There are many more very practical uses, of course. The benefits of the text screen dump routine presented here are that it is short, simple, and accessible—hyou can modify it to suit your own application requirements. Subroutines specifically written to format a report directly to the printer can often be avoided by use of the text screen dump.
Atmosphere B amp;DORIS Fashion Handbag Woman Purple Bag for Shoulder Handbags New Bag Citron Female Simple Female NICOLE Trendy Leather Handbags Blue An Even Shorter Method
If DOS is not present, if the screen contains no INVERSE or FLASH mode characters, and if you use a serial interface control card, the following one-line program (about 70 bytes) will dump the Apple II text screen to your printer:
100 PR# 1: FOR G = 0 TO 2 : FOR L = 1 TO 8 : FOR P = 0 TO 39 : C = PEEK (896 + G * 40 + L * 128 + P): PRINT CHR$ (C); : NEXT : PRINT : NEXT : NEXT PR# O