TweetFollow Us on Twitter

CMD-Shift-3
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
_GetNextEvent
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.

; MDEFINIT.ASM
; 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)
;_GETNEXTEVENT
;ADDA.W #18,SP
;_SYSTEMTASK
;

INCLUDE MACTRAPS.D

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

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

start:  
 BRA.W  after
patch:  
 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
@1:
 CLR.W  ROMmapInsert
jump: 
 JMP  $12345678  ;filled in by init routine

after:  
 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
 
newROM: 
 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
 RTS
 END
 
AAPL
$102.13
Apple Inc.
+1.24
MSFT
$44.87
Microsoft Corpora
-0.14
GOOG
$571.00
Google Inc.
-6.86

MacTech Search:
Community Search:

Software Updates via MacUpdate

Viber 4.2.2 - Send messages and make cal...
Viber lets you send free messages and make free calls to other Viber users, on any device and network, in any country! Viber syncs your contacts, messages and call history with your mobile device,... Read more
Cocktail 7.6 - General maintenance and o...
Cocktail is a general purpose utility for OS X that lets you clean, repair and optimize your Mac. It is a powerful digital toolset that helps hundreds of thousands of Mac users around the world get... Read more
LaunchBar 6.1 - Powerful file/URL/email...
LaunchBar is an award-winning productivity utility that offers an amazingly intuitive and efficient way to search and access any kind of information stored on your computer or on the Web. It provides... Read more
Maya 2015 - Professional 3D modeling and...
Maya is an award-winning software and powerful, integrated 3D modeling, animation, visual effects, and rendering solution. Because Maya is based on an open architecture, all your work can be scripted... Read more
BBEdit 10.5.12 - Powerful text and HTML...
BBEdit is the leading professional HTML and text editor for the Mac. Specifically crafted in response to the needs of Web authors and software developers, this award-winning product provides a... Read more
Microsoft Office 2011 14.4.4 - Popular p...
Microsoft Office 2011 helps you create professional documents and presentations. And since Office for Mac 2011 is compatible with Office for Windows, you can work on documents with virtually anyone... Read more
TextWrangler 4.5.10 - Free general purpo...
TextWrangler is the powerful general purpose text editor, and Unix and server administrator's tool. Oh, and also, like the best things in life, it's free. TextWrangler is the "little brother" to... Read more
BitTorrent Sync 1.4.72 - Sync files secu...
BitTorrent Sync allows you to sync unlimited files between your own devices, or share a folder with friends and family to automatically sync anything. File transfers are encrypted. Your information... Read more
Cyberduck 4.5.2 - FTP and SFTP browser....
Cyberduck is a robust FTP/FTP-TLS/SFTP browser for the Mac whose lack of visual clutter and cleverly intuitive features make it easy to use. Support for external editors and system technologies such... Read more
Tinderbox 6.0.3 - Store and organize you...
Tinderbox is a personal content management assistant. It stores your notes, ideas, and plans. It can help you organize and understand them. And Tinderbox helps you share ideas through Web journals... Read more

Latest Forum Discussions

See All

Mobile Convolution (Music)
Mobile Convolution 1.0.0 Device: iOS Universal Category: Music Price: $9.99, Version: 1.0.0 (iTunes) Description: | Read more »
Invaders! From Outer Space Review
Invaders! From Outer Space Review By Rob Thomas on August 27th, 2014 Our Rating: :: RETRO NOSTALGIAUniversal App - Designed for iPhone and iPad It’s a shame that Invaders! doesn’t offer deeper gameplay, as this retro-inspired... | Read more »
Spooklands Review
Spooklands Review By Jennifer Allen on August 27th, 2014 Our Rating: :: ONE-TOUCH SHOOTERUniversal App - Designed for iPhone and iPad One-touch simultaneously controls your direction and your weapon in this unique arena shooter.   | Read more »
Heroes of Order & Chaos Add Twitch I...
Heroes of Order & Chaos Add Twitch Integration, New Heroes, and More Posted by Ellis Spice on August 27th, 2014 [ permalink ] | Read more »
Foodie Yama Review
Foodie Yama Review By Jennifer Allen on August 27th, 2014 Our Rating: :: BRIEFLY HOOKSUniversal App - Designed for iPhone and iPad Foodie Yama will draw you in for a brief while, and you’ll never be entirely sure why.   | Read more »
Spotify Connect Turns One, Now Supports...
Spotify Connect Turns One, Now Supports New Devices Posted by Ellis Spice on August 27th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
The Rise of PicsaStock and How You Can M...
We all take plenty of photos, right? That’s the joy of having a reasonably powerful camera in your pocket, thanks to your trusty iPhone and a bevy of similarly useful apps. Wouldn’t it be great to make some money out of those snaps? While your... | Read more »
Appointment With F.E.A.R Review
Appointment With F.E.A.R Review By Jennifer Allen on August 27th, 2014 Our Rating: :: CAMP DELIGHTUniversal App - Designed for iPhone and iPad Ever wanted to be a superhero? Appointment With F.E.A.R is a fine way to live that dream... | Read more »
Indie MOBA ÆRENA’s 2.0 Summer Update Bri...
Indie MOBA ÆRENA’s 2.0 Summer Update Brings New Missions, Skins, and a Champion Posted by Jessica Fisher on August 27th, 2014 [ permalink | Read more »
Ultra Drift Review
Ultra Drift Review By Rob Thomas on August 27th, 2014 Our Rating: :: ULTRA DULLUniversal App - Designed for iPhone and iPad Ultra Drift is fine in concept, but the execution runs head-first into the wall. And so will you. Over and... | Read more »

Price Scanner via MacPrices.net

The iPad’s Real Competitive Challenger (Not S...
It’s been my contention for some time that the iPad is suffering from something of an identity crisis, and I suspect that may be a factor in slackening sales this year. Apple can’t seem to decide... Read more
13-inch 2.6GHz/256GB Retina MacBook Pro on sa...
B&H Photo has the 13″ 2.6GHz/256GB Retina MacBook Pro on sale for $1379 including free shipping plus NY sales tax only. Their price is $120 off MSRP. Read more
Life Inventory iOS Apps – Learn to Know Thyse...
James Hollender’s Life Inventory apps s are now on sale with 20% off thru Labor Day, 09/01/2014. This is a great opportunity to get started on that Moral Inventory you’ve been putting off doing for... Read more
Pocket Watch, LLC. Reveals Cloud Server For P...
Beaumont, Texas based Pocket Watch, LLC. has announced the availability of its new ActivePrint Cloud Server Powered by Raspberry Pi. With this small standalone box almost any USB printer or available... Read more
902it Simplifies Area Code Changes For Nova S...
The east coast Canadian provinces of Nova Scotia and Prince Edward Island are phasing in 10 digit telephone dialing, to be fully in place by November, in order to accommodate a second area code to... Read more
Boomerang iPad Stand Mounts Your iPad Anywher...
Boomerang, a Mountable Stand with Multiple Viewing Angles, is now available for iPad Air. Boomerang combines several functions that aim to expand your iPad’s potential in one, elegant product. The... Read more
Retina MacBook Pros available starting at $10...
The Apple Store has Apple Certified Refurbished 13″ and 15″ MacBook Pros available starting at $929. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.5GHz MacBook Pros (4GB RAM/... Read more
Apple 27-inch Thunderbolt Display (refurbishe...
The Apple Store has Apple Certified Refurbished 27″ Thunderbolt Displays available for $799 including free shipping. That’s $200 off the cost of new models. Read more
Apple offers free $25 iTunes gift card with p...
The Apple Store is offering a free $25 iTunes Gift Card with the purchase of a $99 Apple TV for a limited time. Shipping is free. Read more
Apple’s 2014 Back to School promotion: $100 g...
 Apple’s 2014 Back to School promotion includes a free $100 App Store Gift Card with the purchase of any new Mac (Mac mini excluded), or a $50 Gift Card with the purchase of an iPad or iPhone,... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Senior Event Manager, *Apple* Retail Market...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global event strategy. Delivering an overarching brand story; in-store, 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
Project Manager / Business Analyst, WW *Appl...
…a senior project manager / business analyst to work within our Worldwide Apple Fulfillment Operations and the Business Process Re-engineering team. This role will work Read more
Position Opening at *Apple* - Apple (United...
…customers purchase our products, you're the one who helps them get more out of their new Apple technology. Your day in the Apple Store is filled with a range of Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.