Apple IIgs Developer Technotes

102 Technical Notes from Apple Developer Technical Support (1986-1991)

Apple IIgs Developer Technotes

YearTitleAuthorDescription
1988#1: Contents of System.Disk and System.ToolsMatt Deatherage... describes the contents of the disks System.Disk and System.Tools and the minimum files necessary to boot GS/OS starting with System 5.0.
1986#1: How to Install Custom BRK and /NMI HandlersJim Merritt (rev. Jim Mensch)... discusses a method to install a custom debugger or debugging stub within the Apple IIGS system.
1990#10: How Applications Find Their FilesDave Lyons... explains how applications should find configuration and other application-related files.
1987#10: InvalRgn TwistGuillermo OrtizInvalRgn(RgnHandle) accumulates the region to which RgnHandle points into the update region of the current window's port; in the process, it makes the region global, thus causing problems if later calls expect the region to still be local.
1991#100: VersionVilleMatt Deatherage... all there is to know about versions, version formats and version numbers on the Apple IIgs.
1991#101: Patching the ToolboxDave Lyons... presents guidelines on when and how to patch Apple IIgs Toolbox functions.
1990#11: About EraseDisk and FormatMatt Deatherage... explains how an application can tell when a user chooses Cancel from an EraseDisk or Format dialog box and explains why thefile_sys_ID field is ignored in class-zero calls.
1987#11: Ensoniq DOC Swap-Mode AnomalyJim Merritt (rev. Jim Mensch)... discusses a problem with Ensoniq DOC where zero bytes in the waveform stream could cause clicks or static.
1990#12: All About Notify ProcsMatt Deatherage... discusses the GS/OS notification procedure new to System Software 5.0.
1987#12: Tool Set InterdependenciesJim Merritt (rev. Matt Deatherage & Dave Lyons)... lists all known interdependencies between system tool sets on the IIgs.
1990#13: GS/OS Reference UpdateMatt Deatherage... corrects and updates the Addison-Wesley Apple IIgs GS/OS Reference. Previous versions from APDA labeled Volume 1 or 2 are obsolete,and should no longer be used.
1987#13: ROM 1.0 Modem Firmware BugMike Askins (rev. Matt Deatherage)... discusses a bug involving buffering and serial port setting commands in the modem firmware in ROM 1.0.
1987#14: Standard File Calls and GrafPort RecordsGuillermo Ortiz (rev. Matt Deatherage)... describes how Standard File 1.1 and earlier did not preserve the GrafPort around Standard File calls and how to save and restore GrafPort.
1987#15: InstallFont and Big FontsGuillermo Ortiz (rev. Eric Soldan & Matt Deatherage)... describes how InstallFont can fail when installing a font larger than 32K and bit 15 of ScaleWord is clear.
1987#16: Notes on Background PrintingMike Askins... describes common problems people encounter when using background printing as available through the serial firmware.
1987#17: Application Memory Management and the MMStartUp User IDJim Merritt (rev. Steven Glass & Rich Williams)... describes a technique which permits an application to dispose of any memory it has used with a single Memory Manager call without clobbering other system components or itself.
1987#18: Do-It-Yourself SCC AccessJim Luther, Mike Askins, Matt Deatherage & Jim Mensch... describes how to install and remove a interrupt handler routine for the Z8530 Serial Communications Controller (SCC) on the Apple IIgs
1987#19: Multichannel Output with the Apple IIGS Note Synthesizer(rev. Jim Merritt)... discusses multichannel sound with the IIGS Note Synthesizer.
1988#2: GS/OS and the 80-Column FirmwareMatt Deatherage... discusses the changes in handling the 80-column firmware between GS/OS and ProDOS 16.
1986#2: Transforming I/O Subroutines for Use in "Native" ModePete McDonald... outlines a number of techniques useful when transforming Apple II I/O subroutines for use in the "native" Apple IIGS environment.
1987#20: Catalog of APW Language NumbersJim Merrit (rev. Matt Deatherage)This information is now documented in Apple II File Type Notes, specifically Notes of file type $B0
1987#21: DMA Compatibility for Expansion RAMJim Merritt (rev. Glenn A. Baxter)... discusses the Apple IIGS Extended Memory Slot specification.
1987#22: Proper Use of Dynamic SegmentsGuillermo Ortiz (rev. Eric Soldan & Andy Stadler)... discusses strategies that applications can use to deal with dynamic segments
1987#23: Toolbox Use of DOC RAMJim Merritt (rev. Matthew Denman & Matt Deatherage)... explains why you need to take care of the values you store in the first page of the Ensoniq Digital Oscillator Chip (DOC) RAM when using Note Synthesizer and MIDI Tool Sets.
1987#24: Apple IIgs Toolbox Reference UpdatesRilla Reynolds, Matt Deatherage, Dave Lyons, C.K. Haun & Eric Soldan... documents changes to the Apple IIgs Toolbox Reference manuals.
1987#25: Apple IIgs Firmware Reference UpdatesRilla Reynolds (rev. Dave Lyons & Jim Luther)... documents updates to the May 1987 edition of the Apple IIgs Firmware Reference.
1987#26: ROM Revision SummaryRilla Reynolds (rev. Matt Deatherage)... summarizes revisions to the Apple IIGS ROM (0/1/3).
1987#27: Graphics Image File FormatsSteve Glass, Eagle Berns, Art Cabral, Pete McDonald & Rilla Reynolds (rev. Matt Deatherage)This information is now documented in Apple II File Type Notes, specifically Notes of file types $C0 and $C1.
1987#28: Interface Card Design GuidelinesCameron Birse (rev. Matt Deatherage)... describes suggested dimensions for interface cards for the Apple IIGS and Apple IIe upgraded sytems.
1987#29: Monochrome High-Resolution ModeRilla Reynolds... discusses a 280 x 192 monochrome high-resolution mode available on the Apple IIGS.
1988#3: Pointers on CachingMatt Deatherage... discusses effective use of the GS/OS cache.
1986#3: Window Information Bar UseDan Oliver (rev. Dave Lyons)... details the use of a window's information bar, including a code sample which places a menu in an information bar.
1987#30: Apple IIgs Hardware Reference UpdatesRilla Reynolds & Jim Luther (rev. Jim Luther)... documents updates to the Apple IIgs Hardware Reference.
1987#31: Redirecting Output in APW CGuillermo Ortiz... a sample C program which allows output redirection through an APW shell command.
1987#32: /INH Line AnomalyGlenn A. Baxter (rev. Glenn A. Baxter & Rob Moore)... describes a hardware anomaly which affects the use of the /INH line on the Apple IIGS and can cause bus contention.
1987#33: ERRORDEATH MacroAllan Bell, Apple Australia & Jim Merritt (rev. Jim Mensch & Matt Deatherage)... a short assembly language macro you can invoke to handle fatal error conditions.
1988#34: Low-Level QuickDraw II RoutinesSteven Glass (rev. Dave "Evad Snoyl" Lyons, Keith Rollin, Steven Glass, Matt Deatherage & Eric Soldan)... the low-level routines which QuickDraw II uses ... and custom bottleneck (drawing) procedures.
1988#35: Printer Driver SpecificationsDan Hitchens, Matt Deatherage & Suki Lee... describes the routines and internal structures needed to design a printer driver for the Apple IIgs system.
1988#36: Port Driver SpecificationsDan Hitchens (rev. Matt Deatherage & Suki Lee)... describes how to write your own drivers for Apple IIGS ports.
1988#37: Free-Form Synthesizer TipsJim Mensch... intended to help a person who is unfamiliar with the Apple IIGS Sound Tool Set use the Free-Form Synthesizer effectively.
1988#38: List Controls in Dialog BoxesKeith Rollin, Dave Lyons & Eric Soldan (rev. C.K. Haun)... describes how to include a list control into a dialog box with sample APW C source code.
1988#39: Mega II Video CountersJ. Rickard (rev. Dave Lyons)... describes the Mega II video output registers, which you can use to locate where the beam is located on the Apple IIGS display (VBLANK etc).
1989#4: A GS/OS State of MindMatt Deatherage... discusses GS/OS concepts and practices.
1986#4: Changing Graphics Modes in Mid-ApplicationDan Oliver... discusses how to switch between the two graphics modes, 320 and 640 horizontal resolution, while running an application which uses the Window, Control, and Menu Managers.
1988#40: VBL SignalRob Moore & Rilla Reynolds (rev. Dave Lyons)... discusses reading the VBL signal to accomplish smooth animation.
1988#41: Font Family NumbersRilla Reynolds & Jeff Erickson (rev. Matt Deatherage & Keith Rollin)... lists fonts and font family numbers as well as considerations when printing
1988#42: Custom WindowsDan Oliver & Keith Rollin... describes custom windows which are now supported with Window Manager version 2.2.
1988#43: Undocumented Feature of CalcMenuSizeDan Oliver (rev. Matt Deatherage)... described CalcMenuSize – OBSOLETE: see updated info in Volume 3 of the Apple IIgs Toolbox Reference on page 37-3
1988#44: GetPenState and SetPenState Record ErrorKeith Rollin (rev. Matt Deatherage)... described an error in the pen state record – OBSOLETE: see updated info on page 43-2 of Volume 3 of the Toolbox Reference.
1988#45: Parameters for GetFrameColorDan Oliver (rev. Matt Deatherage)... correct the description of parameters passed to and returned from GetFrameColor in Window Manager chapter of the Apple IIGS Toolbox Reference.
1988#46: DrawPicture Data FormatJeff Erickson & Keith Rollin... describes the internal format of the QuickDraw II picture data structure.
1988#47: What SetDataSize DoesKeith Rollin... clears up any ambiguity in the description of the SetDataSize call.
1988#48: All About AlertWindowDan Oliver & Keith Rollin (rev. Dave Lyons)... described AlertWindow – OBSOLETE: See updated AlertWindow information in Apple IIgs Toolbox Reference, Volume 3
1988#49: Rebooting (Really)Matt Deatherage & Jim Merritt... discusses rebooting the Apple IIGS from software.
1989#5: Resource Fork FormatsMatt Deatherage... discusses the resource fork format of GS/OS extended files.
1986#5: Window and Menu TitlesDan Oliver... discusses spacing for both window and menu titles.
1989#50: Extended Serial Interface Error HandlingDan Strnad... discusses error reporting by the Extended Serial Interface.
1989#51: How to Avoid Running Out of MemoryEric Soldan (rev. Dave Lyons)... discusses handling nearly-out-of-memory situations when working with the IIgs tools.
1989#52: Loading and Special MemoryEric Soldan... discusses strategies for preventing applications from loading into special memory.
1989#53: Desk Accessories and ToolsMatt Deatherage & Jim Mensch (rev. Dave Lyons)... discusses compatibility issues that can arise between desk accessories and applications.
1989#54: MIDI DriversJim Mensch (rev. Matt Deatherage)... describes how to write a driver for use with the Apple IIgs MIDI tools.
1989#55: Avoiding ClrHeartBeatMatt Deatherage... lists changes to the description for ClrHeartBeat.
1989#56: Managing Dynamic SegmentsEric Soldan (rev. Matt Deatherage)... discusses application difficulties when transferring control to dynamic segments during low-memory conditions.
1989#57: Preventing Memory Compacting and PurgingDave Lyons... discusses a flag byte at location $E100CB that debugging utilities can use to temporarily prevent the Memory Manager from moving or purging memory.
1989#58: Keyboard Modifiers Register AnomalyDave Lyons... discusses an anomaly with the keyboard modifiers register at location $C025 which prevents it from always properly reflecting the state of the Control and Shift keys.
1989#59: Do Not Create Zero-Length Text ScrapsDave Lyons... described a problem with zero-length text scraps fixed since System 5.0.3.
1989#6: Drivers and GS/OS Direct PageMatt Deatherage... corrects an error in the preliminary GS/OS documentation and provides an alternate suggestion for driver developers.
1986#6: QuickDraw II Pattern Data StructureGuillermo OrtizSome QuickDraw II calls require a pen pattern as input or return one as output; regardless of the drawing mode (320 mode or 640 mode), takes 32 bytes.
1989#60: Menu Manager MemorabiliaDave Lyons (rev. Matt Deatherage, Dave Lyons, & Tim Swihart)... discusses the Menu Manager, specifically a few anomalies and some tips for making menus your friends.
1989#61: Window Title HandlesDave Lyons... discusses extensions to SetWTitle and GetWTitle in System Software 5.0 and later which allow handles to be used as window titles.
1989#62: No Non-Solid Window Background PatternsDave Lyons... discusses why window background patterns should always be solid; non-solid patterns are not always drawn with the expected alignment.
1989#63: Master Color ValuesJim Luther (rev. Dave Lyons)... documents master color values used for the Apple IIgs text, text background, and border colors.
1989#64: Apple IIGS Installer and Installer ScriptsJim Luther & "Jay" Schaffer... describes how the Apple IIGS Installer program executes script files and documents how to write script files for it.
1989#65: Control-^ is Harder Than It LooksDave Lyons... describes a problem using Control-^ to change the text cursor with programs that use GETLN.
1989#66: ExpressLoad PhilosophyMatt Deatherage (rev. Dave Lyons)... discusses the ExpressLoad feature and how it relates to the standard Loader and your application.
1989#67: LaserWriter Font MappingSuki Lee & Jim Luther... discusses the methods used by the Apple IIGS Print Manager to map IIGS fonts to the PostScript® fonts available with an Apple LaserWriter printer.
1989#68: Tips for I/O Expansion Slot Card DesignRob Moore & Jim Luther... points out several potential problem areas developers should know about when designing I/O expansion slot cards for the Apple IIGS.
1989#69: The Ins and Outs of Slot ArbitrationMatt Deatherage... discusses the concept of a 14-slot Apple IIgs system through dynamic software slot arbitration.
1989#7: Behavior of SET_DISKSWMatt Deatherage... discusses changes to the documented behavior of SET_DISKSW in System Software 5.0. Relevant for driver authors.
1986#7: Halt Mechanism in IIGS SANEGuillermo Ortiz... described a bug of SANE on the Apple IIGS which caused it to jump through location $00/0018 instead of through the HALT vector in the SANE direct page.
1989#70: Fast Graphics HintsDon Marsh & Jim Luther... discusses techniques for fast animation on the Apple IIGS.
1989#71: DA Tips and TechniquesDave Lyons... presents tips and techniques for writing Desk Accessories.
1989#72: QuickDraw II QuirksDave Lyons (rev. C.K. Haun & Dave Lyons)... points out some things things you need to watch out for when using QuickDraw II, especially with FastPort-aware and Shadowing modes.
1989#73: Using User Tool SetsDave Lyons... explains how to write a user tool set and why writing a user tool set is better than stealing a system tool set number.
1990#74: A Faster List Manager Draw RoutineJim Mensch... presents a method for speeding up custom List Draw routines, with sample source code for the APW assembler.
1990#75: BeginUpdate AnomalyEric Soldan... discusses a Window Manager anomaly with the handling of the visRgn and the updateRgn between BeginUpdate and EndUpdate calls.
1990#76: Miscellaneous Resource FormatsMatt Deatherage, C.K. Haun, Llew Roberts & Dave Lyons... describes resource structure formats for previously-unpublished types.
1990#77: Print Manager & AppleTalk Configuration FilesJim Luther... describes the Print Manager user configuration file Printer.Setup and the AppleTalk user configuration file ATInit.
1990#78: Bank Alignment and Memory ManagementMatt Deatherage... discusses the way the Memory Manager deals with requests for memory that is already in use.
1990#79: Integer Math Data TypesDan Strnad (rev. Jim Luther)... describes the format of Fixed and Frac data types and operations performed on numerical data types in the Integer Math Toolset.
1986#8: Elems Functions in IIGS SANEGuillermo Ortiz... discusses a problem which existed with the Elems functions in the IIGS SANE Tool Set 1.0.
1989#8: Filenames With More Than CAPS and NumeralsMatt Deatherage... discusses the problems some applications may have when dealing with filenames containing lowercase letters for the first time.
1990#80: QuickDraw II ClippingEric Soldan... explains a lot about QuickDraw II operation, specifically clipping.
1990#81: Extended Control EcstasyC.K. Haun (rev. Dave Lyons)... discusses special features and concerns that should be considered when using extended controls introduced in System Software 5.0.
1990#82: Controlling the Control ManagerDave Lyons (rev. Matt Deatherage)... describes an anomaly in the NewControl2 call in System Software 5.0.2 that was fixed in 5.0.3.
1990#83: Resource Manager StuffDave Lyons... answers miscellaneous Resource Manager questions.
1990#84: TaskMaster MadnessC.K. Haun... discusses the enhancements made to TaskMaster in System Software 5.0.
1990#85: Moving the MouseMatt Deatherage... discusses moving the cursor on the screen without touching the mouse.
1990#86: Risking Resourceful CodeC.K. Haun (rev. Matt Deatherage)... covers considerations you need to keep in mind when using code resources.
1990#87: Patching the Tool DispatcherMike Lagae and Dave Lyons... presents the Apple standard way to patch into the Apple IIgs Tool Dispatcher vectors.
1990#88: The Page One Stack in a 16-Bit WorldDave Lyons... clarifies the protocol for moving the stack pointer in and out of page one.
1990#89: MessageByName--Catchy MessagesDan Strnad & Dave Lyons... clarifies MessageByName and provides examples of creating and retrieving a named message.
1986#9: IIGS Sound Expansion Connector:Jim Merritt... discusses the impedances of the analog signal pins on the IIGS sound expansion connector since an interface to this connector must take the impedance of the pins into account to function properly.
1990#9: Interrupt Handling AnomaliesMatt Deatherage... discusses anomalies in the way GS/OS handles interrupts.
1990#90: 65816 Tips and PitfallsDave "Dave" Lyons (rev. Matt "Matt" Deatherage)... presents short 65816 assembly language examples illustrating pitfalls and clever techniques.
1990#91: The Wonderful World of Universal AccessDon J. Brady & Matt Deatherage (rev. Ron Lichty and Dave Lyons)... discusses how your applications can be compatible with Universal Access software.
1990#92: Twisted Tales of TextEditC.K. Haun and Dave Lyons.. discusses some undocumented features and some bugs in the TextEdit tool set through System Software 5.0.3.
1990#93: Compatible PrintingMatt Deatherage... discusses printing on the Apple IIgs and how you can make your printing code more compatible.
1990#94: Packing It In (and Out)C.K. Haun... discusses a potential problem with the Miscellaneous Tools routine UnPackBytes.
1990#95: ROM Diagnostic ErrorsDan Strnad... describes errors returned by the ROM Diagnostics on Apple IIgs systems.
1990#96: Standard File CustomizationDan Strnad... discusses particulars of using custom dialog boxes for the Open and Save File dialog boxes and custom drawing routines to display the files and folders listed.
1990#97: Picture Comments and PrintingMatt Deatherage, Suki Lee & Ben Koning... discusses QuickDraw Auxiliary picture comments and how they can be used to help control the printing process.
1991#98: Aren't Windows a Pane?Dave Lyons... describes things in the Window Manager that we have to tell you even though we shouldn't.
1991#99: Supplemental Scrap TypesMatt Deatherage & Matthew Reimer... describes public scrap types.