TweetFollow Us on Twitter

Volume Number:2
Issue Number:8
Column Tag:Assembly Language Lab

CMD-Shift-3 Patch for the New ROMS

By Harvey Grosser, Oakland, CA

Menu Snapshots with the new ROMs

As was described in the July MacTutor, attempting to take a screen dump with a menu pullled down on a machine with the 128K ROM results in the menu snapping up before the dump is taken. Also, on both old and new ROMs, pulling down a menu results in the Alarm clock (and any other desk accessories which require periodic updates) freezing, because no call is made to SystemTask by the Menu Manager. This short patch fixes both of these problems.

First, we need to patch the menu definition 0 resource in the system file. To do that, start up ResEdit and open the system file. Select MDEF 0 resource. Double-click on it and insert the following code at the beginning of the resource:

9EFC 0012 3F3C 0008
486F 0004 A970 DEFC
0012 A9B4

You may want to set the system heap flag as well to improve performance. This will cause it to be loaded once by the Finder and then remain on the system heap for subsequent applications.

Fig. 1 It Works Again on a Mac Plus!

Now close and save the system file. Assemble and link the INIT resource at the end of this article, and paste it into your system file. (Note: Make sure that the ID of this INIT, (17), does not duplicate that of an existing one-change if if necessary.) When you run an application, you will find that pressing Command-Shift-3 with a menu pulled down results in a screen dump being taken immediately, without waiting for the mouse to be released. This permits multiple snapshots to be taken from the same menu without having to pull it down each time, a boon when documenting a long menu. Also, desk accessories will no longer freeze when a menu is down, although they will still freeze when the cursor is in an unused part of the menu bar.

How it Works

This is the source code for this patch above:

SUBA.W  #18,SP ;stack space for evt record, result
MOVE.W  #8,-(SP) ;keydown event mask
PEA4(SP);address of evt record VAR param
ADDA.W  #18,SP ;discard function result & event rec
_SystemTask ;allow DAs to work

Since the menu definition function is executed repeatedly while a menu is pulled down, this results in calls to GetNextEvent with an event mask which permits it to take key down events from the system event queue. When it sees one of these, it executes the appropriate FKEY routine if a Command-Shift-number key combination was pressed. The call to SystemTask permits desk accessories to run. The INIT routine is necessary because the new resource manager uses the MDEF 0 in ROM rather than the one in the System File. (See the Aug. '85 issue of MacTutor for info on the INIT resources.) The patch functions by setting ROMmapInsert to 0 before every call to GetResource when the type asked for is MDEF or FONT. (This permits editing the Chicago font, some characters of which I consider really bad.) It is necessary to patch GetResource directly like this because the Menu Manager always sets ROMmapInsert to TRUE before making the call. I would really appreciate it if someone out there could give the exact meaning of the individual bytes at $B9E (ROMmapInsert) and $B9F (TempResLoad); Apple's Tech Note #57 is rather vague on this.

; place this INIT in system file
; to fix cmd-shift-3 bug

;Place this patch in MDEF 0
;resource (at beginning), in
;your system file:
;9EFC 0012 3F3C 0008
;486F 0004 A970 DEFC
;0012 A9B4
;Patch meaning:
;SUBA.W #18,SP
;MOVE.W #8, -(SP)
;PEA  4(SP)
;ADDA.W #18,SP


GetResource equ  $A9A0  ;trap address
ROM85   equ $28E ;new ROM= $7FFF 
RomMapInsert   equ   $B9E 

RESOURCE'INIT' 17'MDEF Init' $50 ;SysHeap+locked

 BRA.W  after
 CMPI.L #'MDEF', 6(SP)  ;check type
 BEQ.S  @1;for MDEF or FONT;
 CMPI.L #'FONT', 6(SP)  ;if not,
 BNE.S  jump;don't change map
 CLR.W  ROMmapInsert
 JMP  $12345678  ;filled in by init routine

 LEA  start,A0 
 _RecoverHandle  ;handle to proc
 TST.W  ROM85  ;new roms? (7FFF)
 BPL.S  newROM ;yes, go for it
 _DisposHandle   ;no, forget it
 RTS    ;and exit
 MOVE.L #after-start,D0 ;get our size
 _SetHandleSize  ;chop off init routine
 MOVE.W #GetResource,D0 
 _GetTrapAddress ;addr of GetResource
 LEA  jump+2,A1  ;paste it into patch
 MOVE.L A0, (A1) ;patch it
 LEA  patch, A0  
 MOVE.W #GetResource,D0 
 _SetTrapAddress ;install patch

Community Search:
MacTech Search:

Software Updates via MacUpdate

Art Text 3.1 - $49.99
Art Text is graphic design software to create stunning illustrations, such as badges, flyers, logos, social headers and icons, text mockups, website graphics and buttons, picture captions, word art,... Read more
AirRadar 3.1.9 - $9.95
With AirRadar, scanning for wireless networks is now easier and more personalized! It allows you to scan for open networks and tag them as favourites or filter them out. View detailed network... Read more
Alarm Clock Pro 10.2.5 - $19.95
Alarm Clock Pro isn't just an ordinary alarm clock. Use it to wake you up in the morning, send and compose e-mails, remind you of appointments, randomize the iTunes selection, control an internet... Read more
MacCleanse 5.1.6 - $29.95
MacCleanse is the product of thousands of hours of intense research and development. It meticulously scans all of the nooks and crannies of a computer for unnecessary junk that can take up huge... Read more
Apple macOS Sierra 10.12.1 - The latest...
With Apple macOS Sierra, Siri makes its debut on Mac, with new features designed just for the desktop. Your Mac works with iCloud and your Apple devices in smart new ways, and intelligent... Read more
Backblaze - Online backup serv...
Backblaze is an online backup service designed from the ground-up for the Mac. With unlimited storage available for $5 per month, as well as a free 15-day trial, peace of mind is within reach with... Read more
Apple Safari 10.0.1 - Apple's Web b...
Note: The direct download link is currently unavailable. It is available in the OS X 10.11.6 release, as well as in the Apple Security Updates. Apple Safari is Apple's web browser that comes with OS... Read more
Postbox 5.0.5 - Powerful and flexible em...
Postbox is a new email application that helps you organize your work life and get stuff done. It has all the elegance and simplicity of Apple Mail, but with more power and flexibility to manage even... Read more
Opera 40.0.2308.90 - High-performance We...
Opera is a fast and secure browser trusted by millions of users. With the intuitive interface, Speed Dial and visual bookmarks for organizing favorite sites, news feature with fresh, relevant content... Read more
Hazel 4.0.7 - Create rules for organizin...
Hazel is your personal housekeeper, organizing and cleaning folders based on rules you define. Hazel can also manage your trash and uninstall your applications. Organize your files using a familiar... Read more

Latest Forum Discussions

See All

WitchSpring2 (Games)
WitchSpring2 1.27 Device: iOS Universal Category: Games Price: $3.99, Version: 1.27 (iTunes) Description: This is the story of Luna, the Moonlight Witch as she sets out into the world. This is a sequel to Witch Spring. Witch Spring 2... | Read more »
4 popular apps getting a Halloween makeo...
'Tis the season for all things spooky. So much, so, in fact, that even apps are getting into the spirt of things, dressing up in costume and spreading jack o' lanterns all about the place. These updates bring frightening new character skins, scary... | Read more »
Pokémon GO celebrates Halloween with can...
The folks behind Pokémon GO have some exciting things planned for their Halloween celebration, the first in-game event since it launched back in July. Starting October 26 and ending on November 1, trainers will be running into large numbers of... | Read more »
Best Fiends Forever Guide: How to collec...
The fiendship in Seriously's hit Best Fiends has been upgraded this time around in Best Fiends Forever. It’s a fast-paced clicker with lots of color and style--kind of reminiscent of a ‘90s animal mascot game like Crash Bandicoot. The game... | Read more »
5 apps for the budding mixologist
Creating your own cocktails is something of an art form, requiring a knack for unique tastes and devising interesting combinations. It's easy to get started right in your own kitchen, though, even if you're a complete beginner. Try using one of... | Read more »
5 mobile strategy games to try when you...
Strategy enthusiasts everywhere are celebrating the release of Civilization VI this week, and so far everyone seems pretty satisfied with the first full release in the series since 2010. The series has always been about ultra-addictive gameplay... | Read more »
Popclaire talk to us about why The Virus...
Humanity has succumbed to a virus that’s spread throughout the world. Now the dead have risen with a hunger for human flesh, and all that remain are a few survivors. One of those survivors has just called you for help. That’s the plot in POPCLAIRE’... | Read more »
Oceans & Empires preview build sets...
Hugely ambitious sea battler Oceans & Empires is available to play in preview form now on Google Play - but download it quickly, as it’s setting sail away in just a few days. [Read more] | Read more »
Rusty Lake: Roots (Games)
Rusty Lake: Roots 1.1.4 Device: iOS Universal Category: Games Price: $2.99, Version: 1.1.4 (iTunes) Description: James Vanderboom's life drastically changes when he plants a special seed in the garden of the house he has inherited.... | Read more »
Flippy Bottle Extreme! and 3 other physi...
Flippy Bottle Extreme! takes on the bottle flipping craze with a bunch of increasingly tricky physics platforming puzzles. It's difficult and highly frustrating, but also addictive. When you begin to master the game, the sense of achievement is... | Read more »

Price Scanner via

11-inch MacBook Airs on sale for up to $120 o...
Newegg has 11″ MacBook Airs on sale for up to $120 off MSRP. Shipping is free: - 11″ 1.6GHz/128GB MacBook Air: $799.99 $100 off MSRP - 11″ 1.6GHz/256GB MacBook Air: $979 $120 off MSRP Read more
Up to $300 off Macs, $20 off iPads with Apple...
Purchase a new Mac or iPad using Apple’s Education Store and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free, and... Read more
Apple’s Thursday “Hello Again” Event A Largel...
KGI Securities analyst Ming-Chi Kuo, who has a strong record of Apple hardware prediction accuracy, forecasts in a new note to investors released late last week that a long-overdue redo of the... Read more
12-inch Retina MacBooks on sale for $100 off...
Amazon has 2016 12″ Apple Retina MacBooks on sale for $100 off MSRP. Shipping is free: - 12″ 1.1GHz Silver Retina MacBook: $1199.99 $100 off MSRP - 12″ 1.1GHz Gold Retina MacBook: $1199.99 $100 off... Read more
Save up to $600 with Apple refurbished Mac Pr...
Apple has Certified Refurbished Mac Pros available for up to $600 off the cost of new models. An Apple one-year warranty is included with each Mac Pro, and shipping is free. The following... Read more
PixelStyle Inexpensive Photo Editor For Mac W...
PixelStyle is an all-in-one Mac Photo Editor with a huge range of high-end filters including lighting, blurs, distortions, tilt-shift, shadows, glows and so forth. PixelStyle Photo Editor for Mac... Read more
13-inch MacBook Airs on sale for $100-$140 of...
B&H has 13″ MacBook Airs on sale for $100-$140 off MSRP for a limited time. Shipping is free, and B&H charges NY sales tax only: - 13″ 1.6GHz/128GB MacBook Air (sku MMGF2LL/A): $899 $100 off... Read more
2.8GHz Mac mini available for $988, includes...
Adorama has the 2.8GHz Mac mini available for $988, $11 off MSRP, including a free copy of Apple’s 3-Year AppleCare Protection Plan. Shipping is free, and Adorama charges sales tax in NY & NJ... Read more
21-inch 3.1GHz 4K on sale for $1379, $120 off...
Adorama has the 21″ 3.1GHz 4K iMac on sale $1379.99. Shipping is free, and Adorama charges NY & NJ sales tax only. Their price is $120 off MSRP. To purchase an iMac at this price, you must first... Read more
Check Apple prices on any device with the iTr...
MacPrices is proud to offer readers a free iOS app (iPhones, iPads, & iPod touch) and Android app (Google Play and Amazon App Store) called iTracx, which allows you to glance at today’s lowest... Read more

Jobs Board

*Apple* Retail - Multiple Positions- Towson,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Software Engineering Intern: Integration / QA...
Job Summary Apple is currently seeking enthusiastic interns who can work full-time for a minimum of 12-weeks between Fall 2015 and Summer 2016. Our software Read more
Software Engineering Intern: Frameworks at *...
Job Summary Apple is currently seeking enthusiastic interns who can work full-time for a minimum of 12-weeks between Fall 2015 and Summer 2016. Our software Read more
*Apple* Retail - Multiple Positions- Nashua,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* Retail - Multiple Positions- Napervi...
Job Description:SalesSpecialist - Retail Customer Service and SalesTransform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.