[comp.sys.mac.programmer] Bug in Viewer 1.05 on System 7.0a9 CD-ROM

ccc_ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) (07/08/90)

I hit a problem with the Viewer 1.05 program on the System 7.0a9 CD-ROM;
on some of the Inside Mac Volume VI chapters, the vertical scroll bar
was inactive, regardless of the window size, so I could only see
the top part of the first page.

The chapters were fairly large, so I knew there was more than
one page to see. The funny thing was, there were other chapters,
both larger and smaller, that would display properly.

I tracked down the problem to some 32-bit arithmetic that
was sign-extending 16-bit values instead of padding them out
with zeroes. I came up with the following patch, that seems
to work fine.

In CODE resource number 1, look for the following sequence:

	302C 0024	; move.w  $0024(a4), d0
	D06B FFF8	; add.w   -8(a3), d0
	5340		; subq.w  #1, d0
	48C0		; ext.l   d0

and replace it with:

	7000		; moveq   #0, d0
	302C 0024	; move.w  $0024(a4), d0
	D06B FFF8	; add.w   -8(a3), d0
	5340		; subq.w  #1, d0

That is, just delete the sign-extension instruction at the end,
and put a zero-extension instruction at the front. You can do
this patch quite easily with ResEdit.

Lawrence D'Oliveiro                       fone: +64-71-562-889
Computer Services Dept                     fax: +64-71-384-066
University of Waikato            electric mail: ldo@waikato.ac.nz
Hamilton, New Zealand    37^ 47' 29" S, 175^ 19' 16" E, GMT+12:00
"...so she tried to break into the father bear's computer, but it was
too hard. Then she tried to break into the mother bear's computer, but
that was too easy..."