MacTech Network:   MacForge.net  |  Computer Memory  |  Register Domains  |  Printer Supplies  |  Cables  |  iPod Deals  |  Mac Deals  |  Mac Book Shelf


  MacTech Magazine

The journal of Macintosh technology

 
 
Surround SCM 5

Magazine In Print
  About MacTech  
  Home Page  
  Subscribe  
  Archives DVD  
  Submit News  
  Submit a Tip!  
  Get a copy of MacTech RISK FREE  
Google
Entire Web
mactech.com
Mac Community
More...
MacTech Central
  by Category  
  by Company  
  by Product  
MacTech News
  MacTech News  
  Previous News  
  MacTech RSS  
Article Archives
  Show Indices  
  by Volume  
  by Author  
  Source Code FTP  
Inside MacTech
  Writer's Kit  
  Editorial Staff  
  Editorial Calendar  
  Back Issues  
  Advertising  
Contact Us
  Customer Service  
  MacTech Store  
  Legal/Disclaimers  
  Webmaster Feedback  

APPLE II Q & A

APPLE II DEVEOPER TECHNICAL SUPPORT

QThe Apple IIGS® GS/OS Reference, page 43, alludes to "an enhanced ProDOS ® 8 QUIT call, which contains a pathname to an application to be launched." However, I find no mention of this enhancement in the ProDOS 8 Technical Reference. How do I use this call?

AThe enhanced ProDOS 8 QUIT call allows you to quit to another application if GS/OS or ProDOS 16 has been booted. The enhanced ProDOS 8 QUIT call requires either of the following four-count parameter blocks:

Standard
dc.b $00     ;quit type 
		     ;normal
dc.w $0000   ;null
dc.b $00     ;null
dc.w $0000   ;null

Extended
dc.b $EE     ;quit type 
		     ;enhanced
dc.w path    ;addr of 
		     ;launch 
		     ;pathname 
dc.b $00     ;reserved
dc.w $0000   ;reserved


path str 'myprog.sys16' 

GS/OS patches ProDOS 8 to get control on a QUIT and launches the next program if the quit type is $EE. The code to do this is not part of ProDOS 8; it doesn't fit in the kernel, and it can't go in the "quit code" because program selectors swap that out. The enhanced Quit call, therefore, works only when GS/OS has been booted.


QWhat's the difference between Apple II GS System Software versions 5.0.3 and 5.0.4?

AApple IIGS System 5.0.4 includes the following changes:

  • TOOL.SETUP for System Software 3.2 in May 1987 changed QDStartUp to make the cursor image handle safe and has now been changed for ROM 03 as well.
  • QuickDraw Auxiliary no longer returns bogus errors for SeedFill and CalcMask in pure 640 mode, and a low-level stack imbalance has been corrected.
  • The ImageWriter® and ImageWriter LQ drivers now spool to the User Path if the system was booted over AppleShare®. A bug concerning memory allocation has been fixed, and the drivers now check errors more robustly.
  • The SCSI Manager no longer resets the SCSI bus when the Manager is started.
  • The AppleShare FST now saves and restores the correct QuickDraw direct page locations when shielding the cursor to draw the AppleShare arrows.

QWhat do I need to get started with MPW IIGS?

AMPW IIGS is a set of tools and languages that creates Apple II and Apple IIGS programs and object code under the Macintosh MPW development environment. The system requirements for MPW are detailed inAPDAlog® in the MPW product description. In addition to MPW and a system suitable for it, you need the MPW IIGS Tools package, which contains necessary development tools like the linker and other useful tools such as the resource compiler, object module dumper, and ProDOS file duplicator. You will also need the MPW IIGS language of your choice--currently assembly, C, or Pascal.

QIf a task in the Heartbeat Interrupt Task queue has not yet been executed (the tick counter has not yet reached zero), is it possible to store a zero into the TaskCnt field to keep the system from ever executing the task?

AThis will work fine. If you know where the count word is, then you can set it to zero to prevent yourself from being called. The system does not keep this information in a separate buffer; it checks the value in the queue header each pass through the Heartbeat queue,so if you were at 200 one pass, and then 0 the next, the system will not be bothered because it does not remember the previous value. And because the task is not executed unless the system itself decrements the count to zero, storing a zero into theTaskCnt field is a fine way to prevent a task from executing.

QCan run queue tasks remove themselves?

AYes, run queue tasks can call Desk Manager RemoveFromRunQ on themselves without difficulty.

QCan QuickDraw II Auxiliary's CopyPixels call scale pixel images beyond maxWidth?

ANo, but you can use the QuickDraw II SetBufDims call to increase the size of the QuickDraw buffer to beyond what was specified for the maxWidth variable in the QDStartUp routine.

QHow do I port my Macintosh HyperCard ® stack to run with HyperCard II GS?

AYou can use HyperMover TM, which is available on AppleLink ® on developer CDs. HyperMover allows HyperCard 1.2.5 stacks from the Macintosh to run with little or no modification on the Apple II GS with HyperCard IIGS. HyperMover consists of two stacks, one for the Macintosh and one for the Apple II GS. HyperMover for the Macintosh creates a folder containing files that describe the stack you wish to convert to the II GS. This folder and the files it contains are then transferred to the II GS via Apple File Exchange or an AppleTalk network. HyperMover for the IIGS then rebuilds a stack as close as possible to the original stack using the files contained in this folder. The most noticeable difference between the original and the rebuilt stack will be in the graphics. Because the II GS and the Macintosh have such different sized screen displays, the graphics and objects of the rebuilt stack must be scaled to fit the II GS screen, resulting in some loss of detail.

HyperMover contains several features designed to make the rebuilt stack as useful and as close to the original stack as possible. It can create scaled representations of Macintosh pictures, convert Macintosh sounds to IIGS sounds and Macintosh icons to IIGS icons, and transfer all HyperCard objects including backgrounds, cards, buttons, and fields and their attributes. However, because HyperMover is a stack, it cannot convert XCMD/XFCNs and cannot fix scripts that need specific Macintosh screen coordinates to function.

QIs HyperTalk the same in HyperCard II GS as in Macintosh HyperCard?

AGenerally, HyperTalk® on the Apple II GS is the same as HyperCard 1.2.5 HyperTalk on the Macintosh, but the HyperTalk on the Apple II GS has an extended command set to support the features available in the Apple II GS environment. New commands are included for setting color properties of objects, painting properties, and printing. A new property for buttons called the family property also has been added.

QDoes HyperCard IIGS provide for extending the HyperTalk language?

AYes. External commands and functions, which are usually referred to as XCMDs and XFCNs, or externals as a general group, are functionally identical in the Macintosh HyperTalk and Apple IIGS HyperTalk software environments. XCMDs and XFCNs provide for extensions to the existing HyperTalk language and are called using the same methods as those for Macintosh HyperTalk. Modifications have to be made, however, to move existing source code for Macintosh externals into the Apple IIGS environment. HyperTalk callback procedures and interfaces for the Apple IIGSdiffer slightly from Macintosh HyperTalk.


Kudos to our readers who care enough to ask us terrific and well thought out questions. The answers to these puzzles have been supplied courtesy of our teams of technical gurus; our thanks to all. Special thanks to Matt Deatherage, C. K. Haun, Jim Luther, Eric Soldan, Dan Strnad, and Tim Swihart for the material in this Q & A column. *

Have more questions? Need more answers? Take a look at the new developer technical library on AppleLink (updated weekly) or the Q & A stack on each Developer CD Series disc. *



Click here to find out more about our best subscription bundle deal ever!
2 years of the magazine, and the all new MacTech DVD ... at 70% off!



Click on the cover to
see this month's issue!

TRIAL SUBSCRIPTION
Get a RISK-FREE subscription to the only technical Mac magazine!
 
 


MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797

Register Low Cost (ok dirt cheap!) Domain Names in the MacTech Domain Store. As low as $1.99!
Save on brand compatible and name brank ink jet and laser supplies.
Save on long distance * Upgrade your Computer
Movies with No Late Fees!

See local info about Westlake Village
SJ * BRJ * BJ * OJ * NITS
Staff Site Links



All contents are Copyright 1984-2007 by Xplain Corporation. All rights reserved.

MacTech is a registered trademark of Xplain Corporation. Xplain, Video Depot, Movie Depot, Palm OS Depot, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, NetProLive, JavaTech, WebTech, BeTech, LinuxTech, Apple Expo, MacTech Central and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.