Sep 99 Tips
Volume Number: 15 (1999)
Issue Number: 9
Column Tag: Tips & Tidbits
Tips and Tidbits
by Jeff Clites <tips@mactech.com>
Easy-to-Read MacsBug
If you spend very much time in MacsBug on a color screen, you know what the color dot/bar pitch does to small fonts, and you might really yearn for a better font in which you can easily distinguish fuzzy hex digits by their overall shapes. Whoever did the font in MacsBug obviously did not do any time-and-motion studies on character recognition. The worst offender is the gratuitously slashed zero, which is very hard to tell from both the eight and the (cap) letter "B". There are a (very) few times when you need to distinguish a zero from the letter Oh, but most of the time it's in a strictly hexadecimal setting.
I have been using a modified Monaco font for many years now, in which the hex digits are carefully crafted to be easily distinguished. It saves eyestrain and substantially increases productivity. However, until recently I had to muddle along with the illegible blur that MacsBug puts up. Here is how to fix your copy too.
Only three characters need work, zero, and the letters "B" and "D". I also improved the letter "A", but the benefit is less marked. These are the pixels you need to be concerned with:
Old, illegible:
x x x x x x x x x x x x x x
x x x x x x x x
x x x x x x x x x
x x x x x x x x x x x x x x
x x x x x x x x x
x x x x x x x x
x x x x x x x x x x x x x
New, improved:
x x x x x x x x x
x x x x x x x
x x x x x x x x
x x x x x x x x x
x x x x x x x x x x x
x x x x x x x x
x x x x x x x x x x
By narrowing top and bottom of the zero, we make it easily distinguished from the more rounded letter "O"; removing the slash makes it visibly different from eight and "B". The letter "B" is further distinguished from eight by extending the serifs out to the left; the same change on "D" distinguishes it clearly from both zero and the letter "O". The more pointy top of the "A" helps distinguish it from eight. The letter "C" opens to the right, while "D" appears to open to the left.
How To Do It
Start with a copy of MacsBug. You will need a hex file editor that works on the data fork.
MacsBug has its own font, which has grown over the years, but the bits in memory are still relatively recognizable. Each character is the leftmost five bits of a byte, with ten pixel rows, seven for the main character cell, two descender rows, and one ascender for parentheses and a few others which rise above the regular character height. Since this is not drawn with QuickDraw, there is no need for RowBytes to be even-and in some versions of MacsBug it's not. The pixels are pretty easy to find in a hex file editor: just search for "8888 8888". In different versions of MacsBug, the font gets linked into different parts of the file, so you just have to look for it.
After you find the pixels, you need to determine the RowBytes. The top row is mostly zeros, but the font begins with space, "!", quote, and "#" (in ASCII order), so the beginning of the second row is pretty recognizable as "0020 5050". Now look for the third row to begin with "0020 50F8" anywhere from 99 to 186 bytes later (more or less). The exact distance is RowBytes, but you should check it on the characters you are changing.
Sixteen bytes after the space, the digits start with zero, and 17 bytes after that the letters start with "A". You will look for patterns like these and make the noted changes (don't forget, words may align differently if RowBytes is odd):
0 1 2 3 4 5 6 7 8 9 A B C D E
7020 7070 10F8 70F8 7070 0000 0000 0070 7070 F070 F0F8
20 20 E0
8860 8888 3080 8008 8888 0000 1000 4088 8888 8888 8880
50 20 48 50
9820 0808 50F0 F008 8888 2020 20F8 2008 E888 8880 8880
88 50 48 48
A820 1030 9008 8810 7088 0000 4000 1010 A8F8 F080 88F0
88 50 70 48
C820 2008 F808 8820 8878 2000 20F8 2020 F088 8880 8880
88 F8 48 48
8820 4088 1088 8820 8808 0000 1000 4000 8088 8888 8880
50 48 50
7020 F870 1070 7020 7070 0020 0000 0020 7088 F070 F0F8
20 E0
Save the changes, and after removing the original MacsBug to a safe place, drop your new improved version into the System Folder and reboot! If you made a serious mistake, you can hold the shift key down and reboot again to remove it. Small mistakes will just look funny on screen. But if all goes well, you should immediately notice improved productivity while reading MacsBug screen displays. It also looks brighter!
Tom Pittman
<72457.2237@compuserve.com>