• MacTech Network:
  • Tech Support
  • |
  • MacForge.net
  • |
  • Apple News
  • |
  • Register Domains
  • |
  • SSL Certificates
  • |
  • iPod Deals
  • |
  • Mac Deals
  • |
  • Mac Book Shelf

MAC TECH

  • Home
  • Magazine
    • About MacTech in Print
    • Issue Table of Contents
    • Subscribe
    • Risk Free Sample
    • Back Issues
    • MacTech DVD
  • Archives
    • MacTech Print Archives
    • MacMod
    • MacTutor
    • FrameWorks
    • develop
  • Forums
  • News
    • MacTech News
    • MacTech Blog
    • MacTech Reviews and KoolTools
    • Whitepapers, Screencasts, Videos and Books
    • News Scanner
    • Rumors Scanner
    • Documentation Scanner
    • Submit News or PR
    • MacTech News List
  • Store
  • Apple Expo
    • by Category
    • by Company
    • by Product
  • Job Board
  • Editorial
    • Submit News or PR
    • Writer's Kit
    • Editorial Staff
    • Editorial Calendar
  • Advertising
    • Benefits of MacTech
    • Mechanicals and Submission
    • Dates and Deadlines
    • Submit Apple Expo Entry
  • User
    • Register for Ongoing Raffles
    • Register new user
    • Edit User Settings
    • Logout
  • Contact
    • Customer Service
    • Webmaster Feedback
    • Submit News or PR
    • Suggest an article
  • Connect Tools
    • MacTech Live Podcast
    • RSS Feeds
    • Twitter

ADVERTISEMENT
Volume Number:1
Issue Number:8
Column Tag:Mousehole Report

Mousehole Report

Printing and the Tecmar

MacoWaco

Nothing will get my Tecmar to let my Imagewriter print. Then on top of that, I tried Finder 4.1 on it and I can't copy a file onto it!

Tecmar and Finder 4.1

Rusty Hodge

I have heard from some people that the "new" imagewriter driver and Finder 4.1 cause the Tecmar's print spooling to go out to lunch. It may be that reformatting is the only solution. Finders 3.3x and above need to be patched to have the "verify" routine no-opped.

Finder Patch for Tecmar

Macowaco

The patch for the Tecmar Finder is the following: change A002 57CA FFE2 to 4E71 4E71 4E71 using FEDIT. The second A002 fround using the Hex Search is it. Eliminates the "Verify" routine used in 4.1, but not used on earlier Finder's before 3.3x.

Rom Bug for I/O Traps

(name withheld to protect the guilty)

The effect of this bug is that if you perform an I/O trap call within an SCC interrupt routine or within a VBL task, your Macintosh may bomb. Assume A0 contains the pointer to the I/O parameter block:

403924:       LEA    $360,A1        ; pointer to file system queue header
403928:       JSR      *-$2E08      ; Enqueue pb (A0) on file system 
queque (A1)
40392C:       MOVE SR, -(SP)        ; save status 
40392E        ORI      #$300,SR     ; disable SCC and VBL interrupts
403932:       BSET       #0,$360    ;set file system busy bit

Suppose an SCC or VBL interrupt occurs during execution of the instruction at 40392C. At this time, the parameter block had been enqued on the file system queue, but the busy bit has not been set. If the interrupt handler performs an I/O trap, then that I/O as well as the one in the queue will be completed before the interrupt handler returns. When it does return, the file system queue is empty, and the instruction at 403932 sets the busy bit. Code following 403932 then attempts to dequeue a parameter block and execute it's command code, causing a bomb.

A similar sequence of code for device drivers begins at 40118E. This code exhibits the same problem except that the timing hole is two instructions wdie. Thus, if the file system or a device driver queue is not empty and the busy bit is not set, you MUST NOT perform the I/O trap.

What is the solution? Simple. If the queue is not empty and the busy bit is not set, set the busy bit yourself, perform your async I/O trap, and reset the busy bit. Hence, your I/O is simply enqueued, and when you return, the interrupted ROM code precesses the queued I/O calls correctly. This bug is known at Apple and will be fixed in the next ROM.

Finder 4.1 Bug

Dave Kelly

While trying to do a disk copy using the Finder, the destination disk's ICON disappeared and the startup disk commenced to copy itself onto ITSELF! I restarted everything by hitting reset but the Finder was missing from the system folder. Something is kind of fishy here. Anyone else see any weird things like this?

[Yes, I have had icons disappear or move erratically under Finder 4.1. I assume it is a warning the Finder or desktop has been trashed and it's best to shut down at once. Version 4.1 definitely has a bug related to tracking icons on the desktop. -Ed.]

More Finder 4.1 Icon Bugs

Macin Stosh

Finder 4.1 seemed to be working great until I got a "Disk needs minor repairs..." alert. When I checked the desktop, I noticed half the files had lost their icon pictures. Here's an interesting way to make your write 4.5 bomb: go to the search and replace window and hit "Command-Enter"...

Paste into the Calculator

Ant Killer

Did you know that you can paste what's in the clipboard to the calculator and it will work just like you had typed it in? (Well, it does.)

New Software Releases

Video Whiz

Just got the new "Official" update stuff from Apple; Write 4.5, Paint 1.5, Finder 4.1 and a new combo Font/Desk accessory Mover. The new paint allows "smoothing" with the Laser to increase resolution.

Thunderscan / Appletalk bug

Brett

Thunderscan uses the battery-backed up RAM and in fact looks at a location used by Appletalk. Removing the battery for 30 seconds after turning off the computer will clear memory and allow the thunderscan to work (until you use Appletalk again).

Product description on the 20 meg disk using the external drive connector is expected shortly. [What about recent announcements that Apple was shutting down the disk project in favor of buying the technology on the outside? -Ed.]

Building Drivers

Bob Denny

To build a driver, start your assembly with a RESOURCE directive:

RESOURCE    'DRVR'     id     '.XXX'      atr

where "id" is the resource ID, "atr" are the resource attributes (usually at least system heap). The above example will give a driver names ".XXX". Following the RESOURCE directive, code the driver flags words, then the driver dispatch table. Note that the dispatch table does not need to be coded using offset. Just do this:

DC.W    Open
DC.W    Prime
... etc.

The link'll do the rest. (Note the linker will not resolve references across mutiple .REL files in the /RESOURCES section. Your driver must end up as a single .REL file.) The key to understanding how the MDS assembler and linker handle code resources is that the linker will resolve all relocatable references against a base "address" of zero. Therefore the use of the driver routine lables as shown above will automatically translate to offsets to the repective entry points. Neat, eh? Just keep the rest of the driver "position independent".

Next link the driver with a control file like this:

/OUTPUT XXX.DRVR
/TYPE 'ZSYS' 'MACS'
/RESOURCES
XXX.REL

$

The /type directive makes the driver image file have the "little Mac" icon like the finder and sytem. It's optional.

Greyed-Out Text

Bob Denny

Someone asked how to gray out text. Text is grayed out by painting it's enclosing rectangle with "GRAY" pattern and the pen in BIC mode. Apparently you can't just write gray text. Here is the code from the defProc for buttons, with my comments:

MOVE.L   A4, -(SP)    ; (SP) -> button rect
MOVE.L   #$00010003, -(SP) ; shrink amt.
_InsetRect                                 ;shrink rect.

MOVE.L   A4, -(SP)      ; (sp)=shrunken rect
MOVE.L   (A5), A0       ;A0=>QD globals
PEA   Gray(A0)      ; (sp)=gray pat
_PenPat                   ;make pen gray
MOVE    #patBIC, -(SP)  ;bit-clear BIC mode
_PenMOde          ; make bit-bashing pen
 
_PaintRect           ; BIC-out text rectangle

_PenNormal
MOVE.L     A4, -(SP)          ; (sp)-> shrunk rect
MOVE.L    #$FFFFFFFD, -(SP)  ; expand
_InsetRect      ; expand button rect.
 
MacTech Only Search:
Community Search:

 
 
 

 
 
 
 
 
  • SPREAD THE WORD:
  • Slashdot
  • Digg
  • Del.icio.us
  • Reddit
  • Newsvine
  • Generate a short URL for this page:



MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797
MacTech is a registered trademark of Xplain Corporation. Xplain, "The journal of Apple technology", Apple Expo, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, Apple Expo, MacTech Central, MacTech Domains, MacNews, MacForge, 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.
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.
 
Nov. 20: Take Control of Syncing Data in Sow Leopard' released
Nov. 19: Cocktail 4.5 (Leopard Edition) released
Nov. 19: macProVideo offers new Cubase tutorials
Nov. 18: S Stardom anounces Safe Capsule, a companion piece for Apple's
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live