Bold every 8 scanline address

This commit is contained in:
michaelangel007 2016-01-12 07:27:45 -08:00
parent a87851cc74
commit f92091b3aa

142
README.md
View File

@ -1,6 +1,6 @@
#Apple ]\[ HGR Font Tutorial
Revision: 26, Jan 11, 2016.
Revision: 27, Jan 11, 2016.
# Table of Contents
@ -145,78 +145,82 @@ With all the decimal cruft removed:
Table 1: HGR Y Address for every scanline
| Y |Address| | Y |Address| | Y |Address| | Screen Hole |
|----:|:-----:|---|----:|-------|---|----:|:-----:|---|:------------:|
|**0 | $2000 | | 64 | $2028 | | 128 | $2050 | | $2078..$207F** |
| 1 | $2400 | | 65 | $2428 | | 129 | $2450 | | $2478..$247F |
| 2 | $2800 | | 66 | $2828 | | 130 | $2850 | | $2878..$287F |
| 3 | $2C00 | | 67 | $2C28 | | 131 | $2C50 | | $2C78..$2C7F |
| 4 | $3000 | | 68 | $3028 | | 132 | $3050 | | $3078..$307F |
| 5 | $3400 | | 69 | $3428 | | 133 | $3450 | | $3478..$347F |
| 6 | $3800 | | 70 | $3828 | | 134 | $3850 | | $3878..$387F |
| 7 | $3C00 | | 71 | $3C28 | | 135 | $3C50 | | $3C78..$3C7F |
|**8 | $2080 | | 72 | $20A8 | | 136 | $20D0 | | $20F8..$20FF**|
| 9 | $2480 | | 73 | $24A8 | | 137 | $24D0 | | $24F8..$24FF |
| 10 | $2880 | | 74 | $28A8 | | 138 | $28D0 | | $28F8..$28FF |
| 11 | $2C80 | | 75 | $2CA8 | | 139 | $2CD0 | | $2CF8..$2CFF |
| 12 | $3080 | | 76 | $30A8 | | 140 | $30D0 | | $30F8..$30FF |
| 13 | $3480 | | 77 | $34A8 | | 141 | $34D0 | | $34F8..$34FF |
| 14 | $3880 | | 78 | $38A8 | | 142 | $38D0 | | $38F8..$38FF |
| 15 | $3C80 | | 79 | $3CA8 | | 143 | $3CD0 | | $3CF8..$3CFF |
|**16 | $2100 | | 80 | $2128 | | 144 | $2150 | | $2178..$217F**|
| 17 | $2500 | | 81 | $2528 | | 145 | $2550 | | $2578..$257F |
| 18 | $2900 | | 82 | $2928 | | 146 | $2950 | | $2978..$297F |
| 19 | $2D00 | | 83 | $2D28 | | 147 | $2D50 | | $2D78..$2D7F |
| 20 | $3100 | | 84 | $3128 | | 148 | $3150 | | $3178..$317F |
| 21 | $3500 | | 85 | $3528 | | 149 | $3550 | | $3578..$357F |
| 22 | $3900 | | 86 | $3928 | | 150 | $3950 | | $3978..$397F |
| 23 | $3D00 | | 87 | $3D28 | | 151 | $3D50 | | $3D78..$3D7F |
|**24 | $2180 | | 88 | $21A8 | | 152 | $21D0 | | $21F8..$21FF**|
| 25 | $2580 | | 89 | $25A8 | | 153 | $25D0 | | $25F8..$25FF |
| 26 | $2980 | | 90 | $29A8 | | 154 | $29D0 | | $29F8..$29FF |
| 27 | $2D80 | | 91 | $2DA8 | | 155 | $2DD0 | | $2DF8..$2DFF |
| 28 | $3180 | | 92 | $31A8 | | 156 | $31D0 | | $31F8..$31FF |
| 29 | $3580 | | 93 | $35A8 | | 157 | $35D0 | | $35F8..$35FF |
| 30 | $3980 | | 94 | $39A8 | | 158 | $39D0 | | $39F8..$39FF |
| 31 | $3D80 | | 95 | $3DA8 | | 159 | $3DD0 | | $3DF8..$3DFF |
| 32 | $2200 | | 96 | $2228 | | 160 | $2250 | | $2278..$227F |
| 33 | $2600 | | 97 | $2628 | | 161 | $2650 | | $2678..$267F |
| 34 | $2A00 | | 98 | $2A28 | | 162 | $2A50 | | $2A78..$2A7F |
| 35 | $2E00 | | 99 | $2E28 | | 163 | $2E50 | | $2E78..$2E7F |
| 36 | $3200 | | 100 | $3228 | | 164 | $3250 | | $3278..$327F |
| 37 | $3600 | | 101 | $3628 | | 165 | $3650 | | $3678..$367F |
| 38 | $3A00 | | 102 | $3A28 | | 166 | $3A50 | | $3A78..$3A7F |
| 39 | $3E00 | | 103 | $3E28 | | 167 | $3E50 | | $3E78..$3E7F |
| 40 | $2280 | | 104 | $22A8 | | 168 | $22D0 | | $22F8..$22FF |
| 41 | $2680 | | 105 | $26A8 | | 169 | $26D0 | | $26F8..$26FF |
| 42 | $2A80 | | 106 | $2AA8 | | 170 | $2AD0 | | $2AF8..$2AFF |
| 43 | $2E80 | | 107 | $2EA8 | | 171 | $2ED0 | | $2EF8..$2EFF |
| 44 | $3280 | | 108 | $32A8 | | 172 | $32D0 | | $32F8..$32FF |
| 45 | $3680 | | 109 | $36A8 | | 173 | $36D0 | | $36F8..$36FF |
| 46 | $3A80 | | 110 | $3AA8 | | 174 | $3AD0 | | $3AF8..$3AFF |
| 47 | $3E80 | | 111 | $3EA8 | | 175 | $3ED0 | | $3EF8..$3EFF |
| 48 | $2300 | | 112 | $2328 | | 176 | $2350 | | $2378..$237F |
| 49 | $2700 | | 113 | $2728 | | 177 | $2750 | | $2778..$277F |
| 50 | $2B00 | | 114 | $2B28 | | 178 | $2B50 | | $2B78..$2B7F |
| 51 | $2F00 | | 115 | $2F28 | | 179 | $2F50 | | $2F78..$2F7F |
| 52 | $3300 | | 116 | $3328 | | 180 | $3350 | | $3378..$337F |
| 53 | $3700 | | 117 | $3728 | | 181 | $3750 | | $3778..$377F |
| 54 | $3B00 | | 118 | $3B28 | | 182 | $3B50 | | $3B78..$3B7F |
| 55 | $3F00 | | 119 | $3F28 | | 183 | $3F50 | | $3F78..$3F7F |
| 56 | $2380 | | 120 | $23A8 | | 184 | $23D0 | | $23F8..$23FF |
| 57 | $2780 | | 121 | $27A8 | | 185 | $27D0 | | $27F8..$27FF |
| 58 | $2B80 | | 122 | $2BA8 | | 186 | $2BD0 | | $2BF8..$2BFF |
| 59 | $2F80 | | 123 | $2FA8 | | 187 | $2FD0 | | $2FF8..$2FFF |
| 60 | $3380 | | 124 | $33A8 | | 188 | $33D0 | | $33F8..$33FF |
| 61 | $3780 | | 125 | $37A8 | | 189 | $37D0 | | $37F8..$37FF |
| 62 | $3B80 | | 126 | $3BA8 | | 190 | $3BD0 | | $3BF8..$3BFF |
| 63 | $3F80 | | 127 | $3FA8 | | 191 | $3FD0 | | $3FF8..$3FFF |
| Y |Address| | Y |Address| | Y |Address| | Screen Hole |
|-----:|:-----:|---|----:|-------|---|----:|:-----:|---|:------------:|
| **0**| $2000 | | **64**| $2028 | |**128**| $2050 | | $2078..$207F |
| 1 | $2400 | | 65 | $2428 | | 129 | $2450 | | $2478..$247F |
| 2 | $2800 | | 66 | $2828 | | 130 | $2850 | | $2878..$287F |
| 3 | $2C00 | | 67 | $2C28 | | 131 | $2C50 | | $2C78..$2C7F |
| 4 | $3000 | | 68 | $3028 | | 132 | $3050 | | $3078..$307F |
| 5 | $3400 | | 69 | $3428 | | 133 | $3450 | | $3478..$347F |
| 6 | $3800 | | 70 | $3828 | | 134 | $3850 | | $3878..$387F |
| 7 | $3C00 | | 71 | $3C28 | | 135 | $3C50 | | $3C78..$3C7F |
| **8**| $2080 | | **72**| $20A8 | |**136**| $20D0 | | $20F8..$20FF |
| 9 | $2480 | | 73 | $24A8 | | 137 | $24D0 | | $24F8..$24FF |
| 10 | $2880 | | 74 | $28A8 | | 138 | $28D0 | | $28F8..$28FF |
| 11 | $2C80 | | 75 | $2CA8 | | 139 | $2CD0 | | $2CF8..$2CFF |
| 12 | $3080 | | 76 | $30A8 | | 140 | $30D0 | | $30F8..$30FF |
| 13 | $3480 | | 77 | $34A8 | | 141 | $34D0 | | $34F8..$34FF |
| 14 | $3880 | | 78 | $38A8 | | 142 | $38D0 | | $38F8..$38FF |
| 15 | $3C80 | | 79 | $3CA8 | | 143 | $3CD0 | | $3CF8..$3CFF |
|**16**| $2100 | | **80**| $2128 | |**144**| $2150 | | $2178..$217F |
| 17 | $2500 | | 81 | $2528 | | 145 | $2550 | | $2578..$257F |
| 18 | $2900 | | 82 | $2928 | | 146 | $2950 | | $2978..$297F |
| 19 | $2D00 | | 83 | $2D28 | | 147 | $2D50 | | $2D78..$2D7F |
| 20 | $3100 | | 84 | $3128 | | 148 | $3150 | | $3178..$317F |
| 21 | $3500 | | 85 | $3528 | | 149 | $3550 | | $3578..$357F |
| 22 | $3900 | | 86 | $3928 | | 150 | $3950 | | $3978..$397F |
| 23 | $3D00 | | 87 | $3D28 | | 151 | $3D50 | | $3D78..$3D7F |
|**24**| $2180 | | **88**| $21A8 | |**152**| $21D0 | | $21F8..$21FF |
| 25 | $2580 | | 89 | $25A8 | | 153 | $25D0 | | $25F8..$25FF |
| 26 | $2980 | | 90 | $29A8 | | 154 | $29D0 | | $29F8..$29FF |
| 27 | $2D80 | | 91 | $2DA8 | | 155 | $2DD0 | | $2DF8..$2DFF |
| 28 | $3180 | | 92 | $31A8 | | 156 | $31D0 | | $31F8..$31FF |
| 29 | $3580 | | 93 | $35A8 | | 157 | $35D0 | | $35F8..$35FF |
| 30 | $3980 | | 94 | $39A8 | | 158 | $39D0 | | $39F8..$39FF |
| 31 | $3D80 | | 95 | $3DA8 | | 159 | $3DD0 | | $3DF8..$3DFF |
|**32**| $2200 | | **96**| $2228 | |**160**| $2250 | | $2278..$227F |
| 33 | $2600 | | 97 | $2628 | | 161 | $2650 | | $2678..$267F |
| 34 | $2A00 | | 98 | $2A28 | | 162 | $2A50 | | $2A78..$2A7F |
| 35 | $2E00 | | 99 | $2E28 | | 163 | $2E50 | | $2E78..$2E7F |
| 36 | $3200 | | 100 | $3228 | | 164 | $3250 | | $3278..$327F |
| 37 | $3600 | | 101 | $3628 | | 165 | $3650 | | $3678..$367F |
| 38 | $3A00 | | 102 | $3A28 | | 166 | $3A50 | | $3A78..$3A7F |
| 39 | $3E00 | | 103 | $3E28 | | 167 | $3E50 | | $3E78..$3E7F |
|**40**| $2280 | | 104 | $22A8 | |**168**| $22D0 | | $22F8..$22FF |
| 41 | $2680 | | 105 | $26A8 | | 169 | $26D0 | | $26F8..$26FF |
| 42 | $2A80 | | 106 | $2AA8 | | 170 | $2AD0 | | $2AF8..$2AFF |
| 43 | $2E80 | | 107 | $2EA8 | | 171 | $2ED0 | | $2EF8..$2EFF |
| 44 | $3280 | | 108 | $32A8 | | 172 | $32D0 | | $32F8..$32FF |
| 45 | $3680 | | 109 | $36A8 | | 173 | $36D0 | | $36F8..$36FF |
| 46 | $3A80 | | 110 | $3AA8 | | 174 | $3AD0 | | $3AF8..$3AFF |
| 47 | $3E80 | | 111 | $3EA8 | | 175 | $3ED0 | | $3EF8..$3EFF |
|**48**| $2300 | |**112**| $2328 | |**176**| $2350 | | $2378..$237F |
| 49 | $2700 | | 113 | $2728 | | 177 | $2750 | | $2778..$277F |
| 50 | $2B00 | | 114 | $2B28 | | 178 | $2B50 | | $2B78..$2B7F |
| 51 | $2F00 | | 115 | $2F28 | | 179 | $2F50 | | $2F78..$2F7F |
| 52 | $3300 | | 116 | $3328 | | 180 | $3350 | | $3378..$337F |
| 53 | $3700 | | 117 | $3728 | | 181 | $3750 | | $3778..$377F |
| 54 | $3B00 | | 118 | $3B28 | | 182 | $3B50 | | $3B78..$3B7F |
| 55 | $3F00 | | 119 | $3F28 | | 183 | $3F50 | | $3F78..$3F7F |
|**56**| $2380 | |**120**| $23A8 | |**184**| $23D0 | | $23F8..$23FF |
| 57 | $2780 | | 121 | $27A8 | | 185 | $27D0 | | $27F8..$27FF |
| 58 | $2B80 | | 122 | $2BA8 | | 186 | $2BD0 | | $2BF8..$2BFF |
| 59 | $2F80 | | 123 | $2FA8 | | 187 | $2FD0 | | $2FF8..$2FFF |
| 60 | $3380 | | 124 | $33A8 | | 188 | $33D0 | | $33F8..$33FF |
| 61 | $3780 | | 125 | $37A8 | | 189 | $37D0 | | $37F8..$37FF |
| 62 | $3B80 | | 126 | $3BA8 | | 190 | $3BD0 | | $3BF8..$3BFF |
| 63 | $3F80 | | 127 | $3FA8 | | 191 | $3FD0 | | $3FF8..$3FFF |
<hr>
Don't worry if the address pattern makes no sense right now -- we'll reveal that later.
Don't worry if the address pattern makes no sense right now -- we'll reveal that later -- but if you're curiuous it is this line using integer math:
Here's the [Javascript source code](list_hgr_table.html) to generate this table:
```Javascript
hgr[ y ] = 0x2000 + (y/64)*0x28 + (y%8)*0x400 + ((y/8)&7)*0x80;
```
Here's the [Javascript source code](list_hgr_table.html) to generate a bare-bones table:
```Javascript
function int2pad( n, pad )