30.12.2013 Views

May June 1980 - Commodore Computers

May June 1980 - Commodore Computers

May June 1980 - Commodore Computers

SHOW MORE
SHOW LESS

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 />

©

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!