May June 1980 - Commodore Computers
May June 1980 - Commodore Computers
May June 1980 - Commodore Computers
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
54 SA COMPUTE. MAY/JUNE. MAYIJUNE.<strong>1980</strong> 198O ISSUE 4. .4<br />
The ASCII Output<br />
Table 1 shows the ASCII data that is output for<br />
The ASCII Output<br />
Table 1 shows the ASCII data that is output for<br />
each of the special characters. Notice alice the Spinwriter<br />
requires a three code sequence ence for two of the characters<br />
on the print thimble. Also given in in the table are the<br />
characters printed for two of the thimbles. One is is<br />
the Courier 10, which has a standard ASCII character<br />
set. The other is the Courier Legal lOB, which<br />
has some legal symbols substituted for some of the<br />
standard ASCII characters.<br />
the Courier 10, which has a standard ASCII charac<br />
ter set. The other is the Courier Legal 10B, which<br />
has some legal symbols substituted for some of the<br />
standard ASCII characters.<br />
Modifying The Patches<br />
Though T the machine code patches are different, , the<br />
enhancements for WordPro II and III operate almost<br />
identically. y. To cover modification of both enhancements,<br />
I will reference WordPro III modifications<br />
directly and put the corresponding reference for<br />
WordPro II in brackets.<br />
WordPro II in brackets.<br />
First let's 's look at what needs to be changed to<br />
use the enhancement with a graphics keyboard. At<br />
one point in the patch code the last keystroke in<br />
the keyboard input buffer is checked to see if it<br />
is SIB $IB [S7F for WP2), which is the code for the<br />
ESC [REPEAT] [REPEAT) key. To T o change the key just change<br />
the byte used in the comparison. This byte is the<br />
first byte in the line e that begins at address<br />
$0610 [third byte of the line that begins at address<br />
S028A) $028A]. . Changing this byte to $DE SOE will allow you to<br />
use a shifted uparrow instead.<br />
use a shifted uparrow instead.<br />
Next, let's look at changingg the ASCII data output<br />
for the special characters. This will allow you to use<br />
a different printer and possibl y change the fun ct ion<br />
a different printer and possibly change the function<br />
of the enhancement. The patch code that handles the<br />
output checks each character to be printed if it is in<br />
the range $71 to $79. Only the special characters<br />
used by the enhancement wi ll be in this ra nge. If a<br />
used by the enhancement will be in this range. If a<br />
special character is found, the most significant four<br />
bits are discarded, and the least significant four bits<br />
used as an index to a table. The table begins with<br />
used as an index to a table. The table begins with<br />
the sixth byte of thee line with address $4420 [first byte<br />
of the line with address S3FOD). The first byte<br />
of the line with address $3FDD]. The first byte<br />
would be output for a special character with the value<br />
$70. Currently thiss value isn't used so the byte is<br />
SOO . The next byte would be output for a character<br />
$00. The next byte would be output for a character<br />
with the value $71, and so forth up to S79. $79. The<br />
data in this table may be changed to whatever you<br />
data in this table may be changed to whatever you<br />
require.<br />
It may be necessary to also change which special<br />
characters output the three code sequence. Once a<br />
special character has been n detected and its index<br />
obtained, that index is co compared with the th third byte<br />
of the line with address i43F8 $43F8 [second byte of the<br />
line with address S3FBO) $3FBD]. . If the index is equal to<br />
or greater than this s byte, the three code sequence<br />
is used. Changing this byte to SOA $0A would cause all<br />
the special characters to output only the data byte<br />
in in the table. To cha change the first and third characters<br />
used in in the sequence, set the first byte of the liline<br />
with address $4410 0 [seventh byte of line with address<br />
S3FC5] S3FC5J to to the First first character of your sequence, and a nd<br />
the fourth byte of the line with address $4418<br />
[second character of line with address $3FD5] S3FD5)to the<br />
e<br />
third character of your sequence.<br />
One other modification is to add a special character<br />
for the e 0 key. To do this, change the sixth<br />
byte of the line with address $0618 [last byte of<br />
the line e with address $0292] S0292) to $30, and the first<br />
byte of the line with address $43e8 [seventh byte of<br />
the line e with address $3fad] S3fadJ to $70. S70. Then put the<br />
byte you want to be output in the first byte of the<br />
table.<br />
The above extension was prompted by feedback<br />
from readers wanting to adapt the WordPro II<br />
enhancement ancemcnl for use with a different printer.<br />
Hopefully y the discussion will be sufficient for most<br />
situations. . If you do make mods for another printer,<br />
please send them to COMPUTE, COMPUTE. so we can pass<br />
along to other readers.<br />
TABLE 1<br />
ASCIIA ·C ll<br />
ThimbleT CharacterC Printed<br />
Characters<br />
Courier<br />
Special (Hex)( Legal<br />
Character Output Courier 10 10B lOB<br />
1I 5E oc<br />
2 5C<br />
0®<br />
\<br />
3 60 O0<br />
4 7C<br />
1 11<br />
5 7D '1<br />
{ §<br />
6 713 7B<br />
} t<br />
7 7E '"<br />
8 OE 0E,58,0F ,58,OF<br />
9 OE 0E,5A,0F<br />
A,OF<br />
•<br />
£ T<br />
Reproduce and Attach Above Numeric Pad<br />
7= - 8=. 9=£<br />
4=1 5={ 6= }<br />
1=' 2= \ 3='<br />
7= '" 8= 9=[<br />
4= '1 5=§ 6=t<br />
1= c 2= 3=0<br />
©