TweetFollow Us on Twitter

Printing Techniques 1
Volume Number:1
Issue Number:8
Column Tag:Basic School

"Printing Techniques"

By Dave Kelly, Hybrids Engineer, Hughes Aircraft Co., MacTutor Editorial Board

This month's column features a guide to printing on the Macintosh. The ability of the Macintosh to make our documents look good is one of the things that attracted me to the Mac. There are some choices to make when printing via Microsoft BASIC.

MSBASIC PRINTING

MSBASIC offers the following commands for printing:

BASIC PRINT COMMANDS

LCOPY - Sends a copy of screen to the printer just like command shift-4. (standard quality)

LIST,filename - see below for valid filenames.

LLIST - same as LIST,filename when filename = "LPT1:DIRECT" see more below.

LPOS - gives the position of the print head (not necessarily the physical position).

LPRINT - works just like PRINT except it prints to the printer instead of the screen. Draft quality.

LPRINT USING - works just like PRINT USING except it prints to the printer instead of the screen. Draft quality

OPEN # / CLOSE # - output to printer is specified by the filespec. Used the same as in storing files to a sequential file.

PRINT # - use with OPEN and CLOSE. Same as output to a sequential file.

PRINT # USING - use with OPEN and CLOSE. Same as output to a sequential file.

WIDTH # - used to set the line width size and print-zone parameters (similar to tab stops) for the printer.

WIDTH output-device - same as WIDTH #

WIDTH LPRINT - same as WIDTH #

WINDOW OUTPUT # - allows the printer to print subsequent graphics as determined by subsequent graphics statements such as CIRCLE, PSET, PICTURE, and calls to the Macintosh ROM routines. See sample program.

WRITE # - use with OPEN and CLOSE. Same as output to a sequential file.

The filespec, output-device, or filename may be one of the following:

"LPT1:" - All data written to a file opened to this output-device will be directed to the lineprinter. Prints in standard quality and issues a printer form feed when done. Supports graphics.

"LPT1:DIRECT" - When this is used, BASIC sends data to the printer as ASCII characters. The printer will respond to all normal printer codes just as it would connected to some other computer. Prints draft quality with no form feed. Fastest way to print. No graphics.

"LPT1:PROMPT" - This calls the standard page setup and printer quality dialog boxes and allows you to choose and quality of printing. Also allows 50% reduction if you have the new imagewriter driver installed. There is no known way to print high quality without using this output-device. Perhaps there is a way to call the imagewriter driver directly?? Graphics is supported only when High and Standard quality print is selected.

Now the decision is up to you. MSBASIC supplies the tools to print just about anything that can be printed to the screen. When the file-spec is set to one of the modes that supports graphics, (LPT1: or LPT1:PROMPT) whatever font has been specified with the TEXTFONT and other related commands will appear in the proper font as expected. When printing in draft quality modes, graphics is not supported and the font used is the one built in to the printer. One thing missing is the ability to output high quality printing without having to go through the dialogs. There may be a way to call the imagewriter driver directly to do this, but I haven't discovered how to do that yet.

It should be noted that the TAB and SPC functions may only be used with PRINT and LPRINT. This should not be much of a problem though.

The program below demonstrates how to print graphics created within a MSBASIC program. The "LPT1:PROMPT" output- device specification is used. This allows you to print with any quality of printing. The program uses the PICTURE statement to create a sine wave drawing. The menu lets you print on the screen or the printer or do a screen dump using the LCOPY statement. The WINDOW OUTPUT # statement is used to send graphics output to the printer. The WINDOW OUTPUT # statement saves graphics commands and sends them to the printer when the output file is closed. In this program I have used the ROM functions PAINTOVAL, ERASEOVAL, and FRAMEOVAL to draw a sinewave either on the screen or on the printer. The ROM functions are well documented in the MSBASIC 2.0 manual.

NOTE THAT THIS ROUTINE DOES NOT WORK WITH THE LASER PRINTER. MACTUTOR WILL PAY $50 TO THE FIRST ARTICLE SUBMISSON THAT EITHER MAKES THIS PROGRAM WORK ON THE LASER OR GIVES A WELL DOCUMENTED ACCOUNT OF WHY IT DOESN'T.

MACBASIC PRINTING

The Macintosh BASIC Handbook, by Thomas Blackadar and Jonathan Kamin makes no reference printing graphics on the printer. Apparently Apple has spent alot of time trying to develop MacBASIC as an "educational" tool and hasn't developed all the features to make it into a serious development language. According to this book, and few other "pre-mature" books that are out, the TOOLBOX function will not even be documented in the initial release of MacBASIC. The TOOLBOX includes the means of creating windows, menus, and other Mac controls. Printing is limited to draft quality via a file aparameter named .PRINTER. The fancy features of MacBASIC only apply to the Mac screen.

'        Sine Wave
'      by Dave Kelly
'  ©MACTUTOR 1985

MENU 1,0,1,"File"
MENU 1,1,1,"Quit"
MENU 5,0,0,""
MENU 4,0,0,""
MENU 3,0,0,""
MENU 2,0,0,""
ON MENU GOSUB premenu: MENU ON
WINDOW OUTPUT 1
period=70: amplitude=70
phase=0: offset=120
pi=3.141592654#: w=(2*pi)/period
CLS:PRINT" Please wait while picture data    is being recorded (approx 
25 sec.)"
PICTURE ON
FOR x=10 TO 525

' Sine wave equation
y=offset+amplitude*SIN((w*x)+phase)

'Set up parameters for PAINTOVAL
rectangle%(0)=y-19: rectangle%(1)=x-19
rectangle%(2)=y: rectangle%(3)=x
PAINTOVAL(VARPTR(rectangle%(0)))

'Setup parameters for ERASEOVAL
rectangle%(2)=y-2: rectangle%(3)=x-2
ERASEOVAL(VARPTR(rectangle%(0)))

'Setup parameters for FRAMEOVAL
rectangle%(0)=y-20: rectangle%(1)=x-20
rectangle%(2)=y-1: rectangle%(3)=x-1
FRAMEOVAL(VARPTR(rectangle%(0)))
NEXT x
PICTURE OFF:MENU OFF

'Setup menus
MENU 2,0,1,"Print Sine Wave"
MENU 2,1,1,"On Screen"
MENU 2,2,1,"On Printer"
MENU 2,3,1,"Screen Dump"

ON MENU GOSUB menuselect:MENU ON
CLS: PRINT"Make your    ^ ^ ^ ^ ^ ^ ^ ^ ^          selection from this 
menu"
loop: GOTO loop

premenu: 
menunumber=MENU(0):MENU
IF menunumber=1 THEN PICTURE  OFF: GOTO quit
RETURN

menuselect:
menunumber=MENU(0):MENU
IF menunumber =1 THEN quit
IF menunumber<>2 THEN RETURN
menuitem=MENU(1)

'Print graphics on Screen
IF menuitem=1 THEN CLS:GOSUB  printpic:RETURN

'Screen dump
' Note that LCOPY does not work with
' laser printers. Anybody  know why?
IF menuitem=3 THEN CLS:GOSUB  printpic:LCOPY:RETURN

'Print graphics on printer
' Note that this does not work with laser
' printers. Anybody know why?
OPEN "LPT1:PROMPT" FOR OUTPUT AS #1
WINDOW OUTPUT #1
GOSUB printpic
CLOSE #1
RETURN

printpic:
MENU 1,0,0:MENU 2,0,0
PICTURE(2,40)-(510,340),PICTURE$
MENU 1,0,1:MENU 2,0,1
RETURN

quit:
CLS:MENU RESET:END

 
AAPL
$98.52
Apple Inc.
-0.51
MSFT
$43.90
Microsoft Corpora
-0.07
GOOG
$585.73
Google Inc.
-4.87

MacTech Search:
Community Search:

Software Updates via MacUpdate

OS X Yosemite Wallpaper 1.0 - Desktop im...
OS X Yosemite Wallpaper is the gorgeous new background image for Apple's upcoming OS X 10.10 Yosemite. This wallpaper is available for all screen resolutions with a source file that measures 5,418... Read more
Acorn 4.4 - Bitmap image editor. (Demo)
Acorn is a new image editor built with one goal in mind - simplicity. Fast, easy, and fluid, Acorn provides the options you'll need without any overhead. Acorn feels right, and won't drain your bank... Read more
Bartender 1.2.20 - Organize your menu ba...
Bartender lets you organize your menu bar apps. Features: Lets you tidy your menu bar apps how you want. See your menu bar apps when you want. Hide the apps you need to run, but do not need to... Read more
TotalFinder 1.6.2 - Adds tabs, hotkeys,...
TotalFinder is a universally acclaimed navigational companion for your Mac. Enhance your Mac's Finder with features so smart and convenient, you won't believe you ever lived without them. Tab-based... Read more
Vienna 3.0.0 RC 2 :be5265e: - RSS and At...
Vienna is a freeware and Open-Source RSS/Atom newsreader with article storage and management via a SQLite database, written in Objective-C and Cocoa, for the OS X operating system. It provides... Read more
VLC Media Player 2.1.5 - Popular multime...
VLC Media Player is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, MP3, OGG, ...) as well as DVDs, VCDs, and various streaming protocols. It... Read more
Default Folder X 4.6.7 - Enhances Open a...
Default Folder X attaches a toolbar to the right side of the Open and Save dialogs in any OS X-native application. The toolbar gives you fast access to various folders and commands. You just click... Read more
TinkerTool 5.3 - Expanded preference set...
TinkerTool is an application that gives you access to additional preference settings Apple has built into Mac OS X. This allows to activate hidden features in the operating system and in some of the... Read more
Audio Hijack Pro 2.11.0 - Record and enh...
Audio Hijack Pro drastically changes the way you use audio on your computer, giving you the freedom to listen to audio when you want and how you want. Record and enhance any audio with Audio Hijack... Read more
Intermission 1.1.1 - Pause and rewind li...
Intermission allows you to pause and rewind live audio from any application on your Mac. Intermission will buffer up to 3 hours of audio, allowing users to skip through any assortment of audio... Read more

Latest Forum Discussions

See All

Frog Orbs 2 Review
Frog Orbs 2 Review By Nadia Oxford on July 29th, 2014 Our Rating: :: THIS MAGIC IS A TAD MONOTONOUS Universal App - Designed for iPhone and iPad Frog Orbs 2 is repetitive, but younger players should enjoy it nonetheless.   | Read more »
Puzzix Review
Puzzix Review By Jennifer Allen on July 29th, 2014 Our Rating: :: NICE IDEAUniversal App - Designed for iPhone and iPad A little like Tetris, Puzzix is all about piecing together blocks and watching them vanish. It could do with... | Read more »
Cannonball eMail is Now Live – Works Wit...
Cannonball eMail is Now Live – Works With Gmail, Yahoo, Outlook, Hotmail, and AOL Posted by Jessica Fisher on July 29th, 2014 [ permalink ] | Read more »
To The End Review
To The End Review By Lee Hamlet on July 29th, 2014 Our Rating: :: A VICIOUS CYCLEUniversal App - Designed for iPhone and iPad To The End will test players’ patience, timing, and dedication as they try to navigate all 13 levels in... | Read more »
Kairobotica (Games)
Kairobotica 1.0.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.0 (iTunes) Description: In a galaxy not so far away, miscreants and monsters are wreaking havoc, and it's up to everyone's favorite mechanical mascot... | Read more »
Traps n’ Gemstones Review
Traps n’ Gemstones Review By Campbell Bird on July 28th, 2014 Our Rating: :: CASTLEVANIA JONESUniversal App - Designed for iPhone and iPad Fight mummies, dig tunnels, and ride a runaway minecart to discover ancient secrets in this... | Read more »
The Phantom PI Mission Apparition Review
The Phantom PI Mission Apparition Review By Jordan Minor on July 28th, 2014 Our Rating: :: GHOSTS BUSTEDUniversal App - Designed for iPhone and iPad The Phantom PI is an exceedingly clever and well-crafted adventure game.   | Read more »
More Stubies Are Coming Your Way in a Ne...
More Stubies Are Coming Your Way in a New Update Posted by Jessica Fisher on July 28th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
The Great Prank War Review
The Great Prank War Review By Nadia Oxford on July 28th, 2014 Our Rating: :: PRANKING IS SERIOUS BUSINESSUniversal App - Designed for iPhone and iPad Though short, The Great Prank War offers an interesting and fun mix of action and... | Read more »
Marvel Contest of Champions Announced at...
Marvel Contest of Champions Announced at Comic-Con Posted by Jennifer Allen on July 28th, 2014 [ permalink ] Announced over the weekend at San Diego Comic-Con was the fairly exciting looking Marvel Contest of Champions. | Read more »

Price Scanner via MacPrices.net

Updated MacBook Pro Price Trackers
We’ve updated our MacBook Pro Price Trackers with the latest information on prices, bundles, and availability on the new 2014 models from Apple’s authorized internet/catalog resellers as well as... Read more
Apple updates MacBook Pros with slightly fast...
Apple updated 13″ and 15″ Retina MacBook Pros today with slightly faster Haswell processors. 13″ models now ship with 8GB of RAM standard, while 15″ MacBook Pros ship with 16GB across the board. Most... Read more
Apple drops price on 13″ 2.5GHz MacBook Pro b...
The Apple Store has dropped their price for the 13″ 2.5GHz MacBook Pro by $100 to $1099 including free shipping. Read more
Apple drops prices on refurbished 2013 MacBoo...
The Apple Store has dropped prices on Apple Certified Refurbished 13″ and 15″ 2013 MacBook Pros, with model now available starting at $929. Apple’s one-year warranty is standard, and shipping is free... Read more
iOS 8 and OS X 10.10 To Support DuckDuckGo As...
Writing for Quartz, Dan Frommer reports that Apple’s forthcoming iOS 8 and OS X 10.10 operating systems version updates will allow users to select DuckDuckGo as their default search engine. He notes... Read more
U.K. Hospital Using iPods and iPads To Record...
British news journal GazetteLive’s. Ian McNeal notes that the old “an apple a day keeps the doctor away” proverb is being turned on its head at http://southtees.nhs.uk/hospitals/james-cook/ James... Read more
13-inch 2.5GHz MacBook Pro on sale for $1099,...
Best Buy has the 13″ 2.5GHz MacBook Pro available for $1099.99 on their online store. Choose free shipping or free instant local store pickup (if available). Their price is $100 off MSRP. Price is... Read more
Roundup of Apple refurbished MacBook Pros, th...
The Apple Store has Apple Certified Refurbished 13″ and 15″ MacBook Pros available for up to $400 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free. Their prices... Read more
Record Mac Shipments In Q2/14 Confound Analys...
A Seeking Alpha Trefis commentary notes that Apple’s fiscal Q3 2014 results released July 22, beat market predictions on earnings, although revenues were slightly lower than anticipated. Apple’s Mac’... Read more
Intel To Launch Core M Silicon For Use In Not...
Digitimes’ Monica Chen and Joseph Tsai, report that Intel will launch 14nm-based Core M series processors specifically for use in fanless notebook/tablet 2-in-1 models in Q4 2014, with many models to... Read more

Jobs Board

Sr Software Lead Engineer, *Apple* Online S...
Sr Software Lead Engineer, Apple Online Store Publishing Systems Keywords: Company: Apple Job Code: E3PCAK8MgYYkw Location (City or ZIP): Santa Clara Status: Full Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Sr. Product Leader, *Apple* Store Apps - Ap...
**Job Summary** Imagine what you could do here. At Apple , great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.