Star Micronics SG-10 manual

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128

Go to page of

A good user manual

The rules should oblige the seller to give the purchaser an operating instrucion of Star Micronics SG-10, along with an item. The lack of an instruction or false information given to customer shall constitute grounds to apply for a complaint because of nonconformity of goods with the contract. In accordance with the law, a customer can receive an instruction in non-paper form; lately graphic and electronic forms of the manuals, as well as instructional videos have been majorly used. A necessary precondition for this is the unmistakable, legible character of an instruction.

What is an instruction?

The term originates from the Latin word „instructio”, which means organizing. Therefore, in an instruction of Star Micronics SG-10 one could find a process description. An instruction's purpose is to teach, to ease the start-up and an item's use or performance of certain activities. An instruction is a compilation of information about an item/a service, it is a clue.

Unfortunately, only a few customers devote their time to read an instruction of Star Micronics SG-10. A good user manual introduces us to a number of additional functionalities of the purchased item, and also helps us to avoid the formation of most of the defects.

What should a perfect user manual contain?

First and foremost, an user manual of Star Micronics SG-10 should contain:
- informations concerning technical data of Star Micronics SG-10
- name of the manufacturer and a year of construction of the Star Micronics SG-10 item
- rules of operation, control and maintenance of the Star Micronics SG-10 item
- safety signs and mark certificates which confirm compatibility with appropriate standards

Why don't we read the manuals?

Usually it results from the lack of time and certainty about functionalities of purchased items. Unfortunately, networking and start-up of Star Micronics SG-10 alone are not enough. An instruction contains a number of clues concerning respective functionalities, safety rules, maintenance methods (what means should be used), eventual defects of Star Micronics SG-10, and methods of problem resolution. Eventually, when one still can't find the answer to his problems, he will be directed to the Star Micronics service. Lately animated manuals and instructional videos are quite popular among customers. These kinds of user manuals are effective; they assure that a customer will familiarize himself with the whole material, and won't skip complicated, technical information of Star Micronics SG-10.

Why one should read the manuals?

It is mostly in the manuals where we will find the details concerning construction and possibility of the Star Micronics SG-10 item, and its use of respective accessory, as well as information concerning all the functions and facilities.

After a successful purchase of an item one should find a moment and get to know with every part of an instruction. Currently the manuals are carefully prearranged and translated, so they could be fully understood by its users. The manuals will serve as an informational aid.

Table of contents for the manual

  • Page 1

    SG -1 O/l 5 USER’S MANUAL NOT INTENDED FOR SALE[...]

  • Page 2

    Federal Communications Commission Radio Frequency Interference Statement The equipment generates and uses radio frequency energy and if not installed and used properly, that is, in strict accordance with the manufacturer’s instructions, may cause in- terference to radio and television reception. It has been type tested and found to comply with th[...]

  • Page 3

    A Special Message to the New Owner Congratulations on your selecting the printer of choice for both the sophisticated as well as the first-time user/owner - the new SG-10/1.5! To complement the SG-10/15, we’ve included this manual. All the information you need to be up and running with your new SG- 10/l 5 is right here! You’ll find using this m[...]

  • Page 4

    Table of Contents Chapter 1 Chapter 2 Setting Up SG-lo/15 1 Where Shall We Put It? What Have We Here? Removing the printer cover Removing packing and shipping screws Installing the platen knob Removing the tractor unit Attaching the paper separator and paper guide Installing the ink ribbon Getting to Know Your SG-lo/15 9 Components and Controls Pap[...]

  • Page 5

    Underlining Superscripts and subscripts Changing the Print Pitch Expanded print Making SG-lo/15 Print Darker Mixing Modes Summary Chapter 6 Line Spacing and Forms Control 49 Starting New Lines Changing Line Spacing Moving down the page without a carriage mturn Forms Controls Form feed Changing the Page Length Top and Bottom Margins Summary Chapter [...]

  • Page 6

    Chapter 10 Chapter 11 Appendix A Appendix B Appendix C Appendix D Appendix E Command Summary in Numeric Order 197 Appendix F ASCII Code Conversion Chart 201 Appendix G Technical Specifications 209 Erasing Download Character Definitions Delining Proportional Characters Connecting characters Summary Printing With Dot Graphics 103 Comparing Dot Grapph[...]

  • Page 7

    Appendix H Appendix I Appendix J The Parallel Interface Functions of the Connector Signals Serial Interface Specifications Configuring the Serial Interface SC- lo/ 15’s Serial Protocols Serial busy protocols XON/XOFF protocol ACK protocol 213 217 Connecting With Computer Connecting with IBM-PC and Compaq BASIC programming Listing programs Connect[...]

  • Page 8

    Table of Tables Table 5-l Near letter quality commands Table 5-2 Italic commands Table 5-3 Underline commands Table 5-4 Superscript and subscript commands Table 5-5 Print pitch commands Table 5-6 Expanded print commands Table 5-7 Print emphasis commands Table 5-8 Master select and the 256 ASCII codes Table 6-l Line feed commands Table 6-2 Line spac[...]

  • Page 9

    CHAPTER 1 SETTING UP SC-lo/l5 In this chapter, we’ll show you how to unpack your new SG-lo/15 printer, set it up in the right location, and get it ready for you to load it with paper and start printing. But first . . . WHERE SHALL WE PUT IT? Before you do anything else, give some thought to where you’ll be using your printer. Obviously, it will[...]

  • Page 10

    Figure l-l. Inside the carton you should have received: 1) SG-lo/15 printer, 2) paper separator, 3) paper guide, 4) platen knob, 5) spare fuse, 6) ink ribbon, and 7) this user’s manual. . -_ Let’s move on the next step . . . -- H Removing the printer cover What is cover for, really? Primarily, for two reasons: one, to keep dust and dirt away fr[...]

  • Page 11

    Figure 1-2. Remove the printer cover by lifting carefully. n Removing packing and shipping screws There are two (on an SG- 10) or three (on an SG- 15) shipping screws on the bottom of the printer, used to hold the internal chassis securely to the external frame during shipping. To get at these, carefully place the printer upside down on a soft surf[...]

  • Page 12

    :.” .’ Shipping screw -. _-^-_^_ Figure l-3. SC;-10 has two screws which secure the chassis during shipping; SG-15 has three. They should be removed before use. WY. *. - . . . . rlgure l-4. Kemove the spiral tube on the carriage stay that protects SG-10/15’s print head. - - 4[...]

  • Page 13

    the knob a few turns to see that it’s turning the platen easily and smoothly. n Removing the tractor unit The tractor unit, shown in Figure 1-5, comes mounted on the printer during shipment. It is used only with sprocket-feed paper. When other papers are used, such as single sheets, the unit should be removed, in the following manner: Remove the [...]

  • Page 14

    and guide, which are designed expressly to guide continuous paper (sprocket-feed) through the printer. n Attaching the paper separator and paper guide First, identify the paper separator (the large metal rack), shown in Figure l-6. Insert one protruding end into the hole shown in the diagram, then gently bend the other protruding end until it snaps[...]

  • Page 15

    several figures shown here; they’ll tell you all you really need to know. Nevertheless, if you feel better following written instructions, read on . . . After looking carefully at the Figure 1-7, begin by turning the power c$L and removing the printer cover. Then slide the print head gently to the center of the printer. Next, set one of the ribbo[...]

  • Page 16

    -‘-, - _ _. . - - - - - - - Figure 1-8. The eyelet should be between the ribbon spool and the changeover lever. - Prin; head Figure l-9. You may want to use a ballpoint pen to press the ribbon guide towards the platen and work the ribbon down beside it. Finally, se’ the other spool snugly on the opposite spool holder; then turn tile spools by h[...]

  • Page 17

    CHAPTER 2 GETTING TO KNOW YOUR SG-lo/15 The more you learn about SG-lo/15 and its sophisticated features, old and new, the better SG-lo/15 is going to perform for you. Remember, it’s not just what you know - it’s what you know how zo use ! So, let’s start getting acquainted! Subjects we’ll cover in this chapter include: l Components and con[...]

  • Page 18

    Interface connector Ground terminal ‘Power cord Figure 2-l. Front and rear views of SG-10. -. - - - - - - TRACTOR - This unit feeds sprocket-feed paper with its drive gear and sprocket units. It is very easy to remove or to install the tractor unit onto the printer. PLATEN - This is the rubber cylinder that carries paper to the print head. - - 10[...]

  • Page 19

    switch Control lpanel erface connectc Ground terminal Powe; cord Figure 2-2. Front and rear views of SG-15. INTERFACE CONNECTOR - Around on the back, this is the place where you connect your computer to SG- lo/ 15, so that they are able to communicate with each other. Now let’s take a tour around the controls, starting with the control panel boar[...]

  • Page 20

    I READY I PAPER I OUT I I ON LINE I FF I I LF I Figure 2-3. SG- lo/ 15’s controls. POWER LAMP - Glows green when the power is on. READY LAMP - Glows green when the printer is ready to ac- cept data. This light flickers during transmission. Don’t worry about the flicker; it’s normal! ON LINE LAMP - Glows green when the communication lines to y[...]

  • Page 21

    RELEASE LEVER - On top, near the left rear corner. You’ll be using this particular control often. What it does is control the pressure of the paper against the platen. Its position is crucial to feeding the different paper types - sprocket and single sheets. It has two settings: “Friction,” and “Tractor.” The Friction position is used for[...]

  • Page 22

    Release lever Figure 24. The paper release lever has two settings: “F” for friction feed and “T” for tractor feed. H Loading single sheets Paper width must always be between 8 and 10 inches (8 and 15 inches for the SG-15), and paper thickness between .07 mm and .lO mm. Now, instead of rolling the paper in manually by turning the platen knob[...]

  • Page 23

    6. Press the ON LINE button until the ON LINE light goes off. 7. Press the L.F. button to roll the paper in until it appears on the front side of the platen, about where you want the first line to start printing. NOTE: To straighten paper (if it’s in crooked): l Move the release lever to “T” position. l Position the sheet where you want it, m[...]

  • Page 24

    To use this kind of paper, you’ll need to install the tractor unit, with its two “sprocket” wheels to carry the paper along. To install the tractor, identify the two “snap levers” shown in Figure 2-6. At the same time, identify the two “stoppers,” nickel-plated bars over which the hoooked or cut-out bottom edge of the tractor frame fi[...]

  • Page 25

    Tractor cover Figure 2-7. Open the tractor covers to expose the sprocket teeth. 4. Place the stack of fan-fold paper behind the printer. 5. Open the tractor covers, atop the right and left sprocket units, as shown in Figure 2-7. 6. Flip the clamp levers forward. This allows the two sprocket units to move freely right and left, so you can align them[...]

  • Page 26

    L Figure 2-8. SG-lo/15 ready to run with sprocket-feed paper. W Bottom feeding SG-15 The SG- 15 can be loaded with sprocket paper in two different ways-either from the back, as with SG-10,or through a slot in the bottom. To load SG- 15 from the back, follow the steps shown in the previous section. But for loading through the bottom slot, you positi[...]

  • Page 27

    5. Open the tractor covers, right and left (Figure 2-7). 6. Flip the clamp levers forward. This allows the two sprocket units to move freely right and left, so you can align them with the holes in the paper. 7. Pick up the first “sheet” and lift it up and through the slot in the bottom of the SG-15. 8. Push the paper up to the front of the plat[...]

  • Page 28

    ADJUSTING THE GAP The gap is the space between the print head and the platen. Adjusting the gap is simply adjusting the printer to accommodate different thicknesses of paper. To make this adjustment, move the adjustment lever which is under the printer cover, immediately in front of the release lever shown in Figure 2-10. Pulling the adjustment lev[...]

  • Page 29

    (STAR mode; DIP switch 2-2 on) “warm-up” that permits you to check your installation of ribbon and paper, and the adjustment of the print head gap. Best of all, you don’t have to wait another minute - you can print the self-test without hooking up the SC&IO/15 to your computer! It’s as simple as 1, 2, 3... 1. Plug the printer’s power [...]

  • Page 30

    i ,(. -. - - - -- - - - - - - - -[...]

  • Page 31

    Figure 3-1. SG-lo/15 has parallel interface as standard. CHAPTER 3 GETTING STARTED WITH SG-lo/15 You have assembled and tested your printer, and seen a quick sample of SG-10/15’s capabilities in the self-test. Now it’s time to do what you bought SG-IO/15 to do: print information from your computer. But first you need to connect SG-IO/I5 to your[...]

  • Page 32

    USING COMMERCIAL SOFTWARE Many of you purchased SG-lo/15 to use with commercial software. You made a good choice because SG- lo/15 is com- patible with most commercial programs, from word processing programs to spreadsheet programs to accounting programs. Many of these programs have a routine for describing your printer. These routines are often in[...]

  • Page 33

    ask-key ). There are ASCII codes for all the letters of the alphabet, both lower case and capital, the numbers from 0 to 9, most punctuation marks, and some (but not all) of SG-10/15’s func- tions. ASCII codes are referred to in several different ways, depending on the way they are used. Some times these codes are treated as regular numbers. For [...]

  • Page 34

    <LF> - the abbreviation of its name ASCII 10 - its decimal value ASCII OAH - its hexadecimal value (the H signifies hex) CHR$( 10) - the way it’s used in BASIC control-J - the way you send it from a keyboard. There’s a chart in Appendix F that shows these side-by-side so that you can convert back and forth. The reason that we are telling [...]

  • Page 35

    that we want to use condensed print. The code to switch SG-lo/15 into condensed print is ASCII 15, or control-O. So to switch on condensed type, use the /Output command and, after selecting D(isplay) and entering the range to print, select the S(etup) option, and the S(etup)-“Manual setup codes” sub option. Then, at the prompt that says “Ente[...]

  • Page 36

    Entering the 4 is no problem; it’s a printing character so Easy- Writer won’t object (although in this case it’s not going to print). The Escape, however, is a non-printing character so it requires special handling. To enter the Escape code first enter control-O (hold the Ctrl key while you press the letter 0). Then press the Esc key. The Esc[...]

  • Page 37

    CHAPTER 4 CONTROLLING SG- 1 O/ 15 WITH BASIC Throughout the rest of this book we will be teaching you how to use SG-lo/15 ‘s features using the BASIC programming lan- guage in our examples. It is easy to communicate with SG-IO/l5 from BASIC and, though it has its detractors, BASIC is the nearest thing to a universal language among users of person[...]

  • Page 38

    ways, and hope that between this and your computer’s BASIC manual you will be able to stay with us. First on our list is Microsoft BASIC’s way of communicating with the printer. They just add an “L” to the beginning of the LIST and PRINT commands, making them LLIST and LPRINT. This method is used by more computers than any other and so we w[...]

  • Page 39

    LLIST it (or however your computer does it). We’ve crossed the first major hurdle-learning how to list programs on SC-10/l% Now we are ready to jump into the world of programming with SG-10/15. But first, there are a few fundamentals that we need to cover. W Establishing communications We’ve learned something about communicating with our printe[...]

  • Page 40

    n Control codes SG-lo/15 uses many of the non-printing ASCII codes for control codes. These codes perform a function rather than printing a character. Let’s try an easy one right now: . . NEW 10 LPRINT CHR$(7) RUN Where did that noise come from? That’s SG-10/15’s bell. We will learn more about it in Chapter 8. We just wanted to illustrate a c[...]

  • Page 41

    1 1 Some of you fast students may have noticed that CHR$(69) is the same as “E”. That’s right, the program will work just as 1 1 f well if line 10 is changed like this: 10 LPRINT CHR$(27) "E"; That’s just another form of the same ASCII code, and it’s all the same to SG-10/15. ” Here’s another shortcut for BASIC programmers: [...]

  • Page 42

    This is the command to turn on expanded print < ESC > , as we mentioned earlier, is the way we will indicate the escape code, which is ASCII code 27. A letter or number enclosed in quote marks (such as the “W” above) means that character should be sent to the printer (without the quote marks). In our example, you should send a capital W f[...]

  • Page 43

    That’s it for the basics. You are ready to learn how to use the many features of SG-10/15. in STAR mode. There are some cases where you would use IBM mode with your computer, if you wish. Chapters 5 through 10 discuss the control codes you send to SG- 10/l 5 to control printing style, horizontal and vertical for- matting, graphics, and other feat[...]

  • Page 44

    i ,(. -. - - - -- - - - - - - - -[...]

  • Page 45

    CHAPTER 5 PRINTING TEXT WITH SG-lo/15 Beginning with this chapter we will be exploring all the features of SG-10/15. In this chapter we’ll cover: l Near letter quality characters l Italics l Underlining l Superscript and subscripts l Print pitch l Print emphasis All our examples will be given in Microsoft BASIC as used by the IBM Personal Compute[...]

  • Page 46

    10 'Demo near letter quality character set. 20 LPRINT CHR$(27) "B" CHR$(4) ; 'Select NLQ. 34) LPRINT "This line shows NEAR LETTER QUALITY!" 40 LPRINT CHRS(27) "B" CHR$(5) ; 'Select draft. 50 LPRINT "This line shows standard print." In this program, line 20 selects NLQ characters with the < E[...]

  • Page 47

    . . . - L I l@ 'Demo italic and roman. 20 LPRINT CHR$(27) "4" ; 'Italic on. 39) LPRINT "This line is in ITALIC characters." 4@ LPRINT CHR$(27) "5" ; 'Italic off. 50 LPRINT "This line is in ROMAN (normal) characters." Here is what you should get: This program is easy; line 20 turns italic on wit[...]

  • Page 48

    ued.Therefore, BASIC didn’t send a carriage return and line feed at the end of those lines. We just did this to illustrate that all these control codes can be used in the middle of a line. It’s easy to underline or italicize only part of a line. n Superscripts and subscripts SG-lo/15 can print in two different heights of characters. The smaller[...]

  • Page 49

    “S” CHR$( l), and finally off in line 90. Again, everything prints on one line because of the semicolons. CHANGING THE PRINT PITCH In “printer talk,” character width is called pitch. Normally, SG-lo/15 prints 10 characters per inch. This is called pica pitch because it’s the same spacing as a standard pica typewriter. SG- lo/ 15 can also [...]

  • Page 50

    .--_ 30 LPRINT "This line is CONDENSED pitch." 48 LPRINT CHR$(27) "B" CHR$(2) ; 'Select elite pitch. 50 LPRINT "This line is ELITE pitch." 60 LPRINT CHR$(27) "p" CHR$(l) ; 'Select proportional. 717~ LPRINT "This line is PROPORTIONAL spacing." 80 LPRINT CHR$(27) "p" CHR$(@) ; &apo[...]

  • Page 51

    Expanded print set with CHR$(14) is automatically canceled at the end of the line. This is convenient in many applications, such as for one line titles. Note that you don’t need to put an < ESC > in front of the CHR$( 14), although < ESC > CHR$( 14) works just the same. You can also cancel one line expanded print before a carriage ret[...]

  • Page 52

    By combining expanded print with the four pitches, SG-lo/15 has eight different character widths available. Enter this program to see how the print pitches and expanded print can be combined: 18 'Demo pitches in combination with expanded mode. 241 LPRINT CHR$(27) "W" CHR$(l) ; 'Permanent expanded mode on. 39) LPRINT CHR$(27) &qu[...]

  • Page 53

    Function Double-strike ON Mode Control code STAR <ESC> “G” IBM <ESC> “G” the characters twice, but they use slightly different methods to darken the characters. Let’s try them and see what the difference is. The following table shows the control codes for getting into and out of double-strike and emphasized modes. Table 5-7 Pr[...]

  • Page 54

    80 turns emphasized off, so that SG-lo/15 is set for normal printing. Look closely at the different lines of printing. In the line of double-strike printing each character has been printed twice, and they are moved down just slightly the second time they are printed. In emphasized printing, they are moved slightly to the right the second time SG- l[...]

  • Page 55

    Table 5-8 Master Select and the 256 ASCII Codes Pitch Normal Emphasized Double-strike Double-strike & Emphasized Pica 0, 2, 6% 8, 10, 12, 16, 18, 80, 24, 26, 28 66, 128, 130, 14, 72, 74, 82, 144, 146, 30, 88, 90 192, 194 76, 78, 136, 208, 210 92, 94, 152 138, 140, 142, 154, 156, 158 200, 202, 204, 216, 218, 220 206 222 Elite 1, 3, 5, Elite take[...]

  • Page 56

    SUMMARY Control code < ESC > “B” CHR$(4) < ESC > “B” CHR$(S) < ESC > “4” < ESC > “5” < ESC > “4” < ESC > “5” < ESC > “I” 1 < ESC > “I” 0 <ESC> “-” 1 <ESC> “-“() < ESC > “S” 0 < ESC > “S” 1 < ESC > “T” < ESC > “B?[...]

  • Page 57

    L. LI . CHAPTER 6 LINE SPACING AND FORMS CONTROL We have learned how to print in many different ways, but so far we haven’t looked at how to position the printing on the page. In this chapter we will learn how to: l Change the vertical spacing l Change the length of the page l Set top and bottom margins STARTING NEW LINES Up until now the only ti[...]

  • Page 58

    will add the line feed for you. When you have DIP switch 2-3 off the printer will do the same thing when it receives a carriage return as it does when it receives a line feed. If you find that your printer double spaces when it should single space, then you probably need to turn DIP switch 2-3 on. Table 6-1 Line feed commands Function Mode Control [...]

  • Page 59

    This is what you will get: This line +aciniJ is set to 10 This line spacing ic, s.et to 11 This line spacing is set to 12 This 1 ine spacing is set to 14 This 1inEt spacing is set to 15 Thic line spacing is E-et tc1 lb This line spacing is set to 17 This line spacing is set to 18 This 1 ine spat i ng i .z Set to 19 This. line E.pacing is set to 29 [...]

  • Page 60

    You may wonder why they picked l/72 of an inch as the in- crement for the line spacing command. There’s a good reason: the dots that the printer makes are l/72 inch apart. So this means that you can vary the line spacing in increments as tine as one dot-unless you want finer spacing, like one half dot spacing (STAR mode) or one third dot spacing [...]

  • Page 61

    The program works just the same as before, but the line spacing are just half (STAR mode) or one-third (IBM mode) what they were. This is because < ESC > “3” CHR$(n) sets the line spacing to n/144 inch in the STAR mode, or n/216 inch in the IBM mode. Table 6-2 shows all the line spacing commands, including several “shortcut” commands [...]

  • Page 62

    without moving the printhead back to the left margin. The fol- lowing commands do just that. The < ESC > “J” CHR$(n) command causes the printer to make one line feed of n/144 inch (STAR mode), or n/216 inch (IBM mode), but does not change the setting of the line spacing. Try this program to see how it works: 10 'Demo one-time line fe[...]

  • Page 63

    :..., ./, ii 3::: _. i ., / / ,,.,!, / j: ,..! t:: : i :: i._.. :i. r-: E i-. i”) i,,!. iyl i-j c+i: ij .L Y The new line 50 moves the paper up 3 lines, but the printhead doesn’t move. Therefore, line 60 prints its message starting in the column that the printhead was left in at the end of line 30. FORMS CONTROLS We have seen how to control the[...]

  • Page 64

    The form feed (CHR$(J2)) in line 50 caused the printer to move to the top of a new page before printing the last two lines. A note to TRS-80 users: CHR$(12) is a problem code for the TRS-80. To send a form feed command to SG-lo/15 you must add 128 to it making it CHR$(140). Use CHR$(140) where we use CHR$(12) in these programs. CHANGING THE PAGE LE[...]

  • Page 65

    TOP AND BOTTOM MARGINS Many programs that use a printer don’t keep track of where they are printing on the page. This causes a problem when you get to the bottom of a page because these programs just keep on printing, right over the perforation. This makes it very hard to read, especially if a line happens to fall right on the perforation. And if[...]

  • Page 66

    When you run this program it will print 150 lines right down the page and across the perforations. When it’s done line 60 sends a form feed to advance the paper to the top of the next page. Look at the lines that have printed near the perforations. Separate the sheets and see if any of the lines have been torn in half. These are the problems that[...]

  • Page 67

    Always send a form feed after setting the top margin, or it will not work on the first page printed. That’s because the top margin only takes effect after a form feed. Line 14 sets the top margin, line 12 sets the bottom margin, and line 55 clears both margins when we are done. I SUMMARY Control code Function CHR$( 10) Line feed CHRS(13) Carriage[...]

  • Page 68

    -.. -- -. - -. - - - - - - - -[...]

  • Page 69

    CHAPTER 7 I FORMATTING YOUR OUTPUT You have probably used the tab and margin features on a typewriter. They make it easier to format the text on a page. SG-lo/15 also has tabs and margins that you can set. But it goes beyond the capabilities of a typewriter because besides having tabs that go across the page, called horizontal tabs, SG-lo/15 has ve[...]

  • Page 70

    CHR$(9) is a problem with some computers. Some BASICS convert CHR$(9) to a group of spaces that act like a sort of pseudo-tab. This is fine if the computer and the printer have the same tab settings, but it doesn’t allow us to use our own tab settings on SG-10/15. We can “outsmart” these computer by adding 128 to the ASCII value that we use. [...]

  • Page 71

    Table 7-1 Horizontal tab commands 1 Function 1 Mode 1 Control code I Advance to next tab position STAR 1 CHR$(9) IBM I CHRS(9) Set tabs at nl, n2, etc. 111 One-time tab of n spaces STAR <ESC > “b” CHR!$(n) IBM <ESC> “b” CHRS(n) Note: If your computer does not support lowercase characters, use CHR$(98) for “b.” SETTING LEFT A[...]

  • Page 72

    110 RETURN The first thing that this program does is to branch to the subroutine that starts in line 70. This subroutine prints 80 X’s in a row. The first time that the subroutine is used, all the X’s fit in one line. Then line 30 sets the left margin to 10, and line 40 sets the right margin to 70. Once again the subroutine is used, but this ti[...]

  • Page 73

    Now, let’s set some vertical tabs of our own. Add these lines to the program: 12 LPRINT CHR$(27) "P" CHR$(lfl) ; 14 LPRINT CHR$(2@) CHR$(4@) CHR$(@) CHR$('d) ; < ESC > “P” is the command to set vertical tabs for the STAR mode. Like the horizontal tab setting command, tab positions must be defined in ascending order. Our e[...]

  • Page 74

    I This doesn’t confuse SG- lo/ 15-it advances the paper to the next tab position which happens to be the first tab position on the next page. That’s nice, isn’t it? n A one-shot vertical tab command There’s a one-time vertical tab command that works just like the one-time horizontal tab command. It is < ESC > “a” CHR$(n), and it c[...]

  • Page 75

    CHAPTER 8 SPECIAL FEATURES OF THE SG-lo/15 In the previous chapters we have learned about several groups of control codes. In this chapter we will look at more control codes. These codes don’t lit neatly into any of the groupings that we have studied, but they add a lot of capability to SG-10/15. So here goes. Commands covered in this chapter inc[...]

  • Page 76

    to remind an operator to change the paper or to make another adjustment to the printer. Note to Apple users: Entering a CHR$(7) will sound Apple’s bell; the code will not be sent to SG-10/15. You can try this by typing: LPRINT CHR$(7); - There are two other codes that affect the bell. One disables the bell, so that SG-IO/l5 will ignore a CHR$(7),[...]

  • Page 77

    for the code to go on-line again. CHR$(19) is the code to turn SG- 10/l 5 off-line; CHR$( 17) returns SG- lo/ 15 to on-line status. n Printing to the bottom of the sheet Sometimes when you are using individual sheets of paper you may want to print near the bottom of a sheet. The paper-out detector usually stops SG-lo/15 when you are about 2 % inche[...]

  • Page 78

    - 1 Backspace, delete, and cancel text Backspace (CHR$(8)) “backs up” the printhead so that you can print two characters right on top of each other. Each time SG- 10/l 5 receives a backspace it moves the printhead one character to the left, instead of to the right. You can strike over multiple letters by sending more than one backspace code. De[...]

  • Page 79

    H Unidirectional printing Unidirectional printing is a big word that means printing in one direction only. SG- lo/ 15 normally prints when the printhead is moving in both directions. But once in a while you may have an application where you are more concerned about how the vertical lines align than with how fast it prints. SG-lo/15 lets you make th[...]

  • Page 80

    again. Finally line 110 sends a form feed to advance the paper to the top of a new page, and then uses the master reset to restore SG-lo/15 to the power-on condition. You can also set SG-IO/l5 to print in one direction for one line only by using the command < ESC > “ < “. This command immediately moves the printhead to the left margin [...]

  • Page 81

    H Block graphics characters and special symbols Besides the upper and lower case letters and symbols that we are by now familiar with, SC-lo/15 has a whole different set of characters that are for special uses. These characters include block graphics characters for drawing forms and graphs, and special symbols for mathematical, engineering and prof[...]

  • Page 82

    4 + 129 Ct 139 i: 14? tr 159 f 169 I- 179 1 189 J 199 t 2c39 T 219 ; mI .--,q Li .9 u 239 n 249 - b . ’ A 131 $ 141 i 151 h 161 i 171 !f 181 1 191 , “it:1 1 r 211 L I221 I 231 q- 241 c!I 251 d Figure 8-2. - 74[...]

  • Page 83

    134 2. 144 lk i54 ii 164 E 1 7 4 .+: 134 , 194 -/- 2r:,4 t 214 r 224 ,x 234 5-2 244 r 25 4 m 137 6 147 G 157 ?I! 167 I! 177 3 :;::: 187 , 197 -f- 2<:,7 L 217 J 227 * 237 Qj 247 z 75[...]

  • Page 84

    NEW 18 LPRINT CHR$(27) "@" 20 LPRINT CHR$(27) "6" 30 FOR J = 3 TO 6 4Q LPRINT " " J CHR$(J) " "; 50 NEXT 60 LPRINT " 21 " CHR$(21) 70 LPRINT 80 FOR J = 128 TO 254 STEP 10 90 FOR I = J TO J + 9 95 IF I > 254 THEN 118 100 LPRINT I CHR$(I) " 'I; 110 NEXT I : LPRINT : LPRINT : NEXT J Figure[...]

  • Page 85

    L -. ._- I,._.. L SG-IO/l5 is a multi-lingual printer for it can speak in eight languages! SG- lo/ 15 changes languages by changing 11 char- acters that are different for the different languages. These sets of characters are called international character sets. The control codes to select the international character sets are given in Table 8-5. The[...]

  • Page 86

    Function Define macro Use macro Table 8-7 Macro instruction commands Mode Control code STAR < ESC > “ +“....codes you zhclude...CHR$(30) IBM <ESC> “+“....codes you include...CHR%(30) STAR < ESC > “!” IBM <ESC> “?,’ 18 LPRINT CHRS(27) "+'I; ' START DEFINITION OF MACRO 20 LPRINT CHR$(18); ' [...]

  • Page 87

    In this chapter we have learned many different commands that have many different uses. In the next chapter we will make up for this diversity-the whole chapter only covers three commands! But they are some of the most powerful that SG-lo/15 offers. They give you the ability to create your own characters. SUMMARY Control code CHRS(7) < ESC > ?[...]

  • Page 88

    -[...]

  • Page 89

    CHAPTER 9 CREATING YOUR OWN CHARACTERS In this chapter we’ll cover: l Designing and printing your own characters l Designing proportional characters In the previous four chapters of this manual you’ve learned how to control the SG-lo/15 printer to give you dozens of dif- ferent typefaces. By using various combinations of pitches, character weig[...]

  • Page 90

    Figure 9-1. The letter “C” is created by printing 15 dots. descenders (such as the lower case “p” shown) use the bottom seven pins. As the printhead moves across the page (in either direction-that’s what is meant by bi-directional printing) it prints one column of dots at a time. Each time a dot is supposed to print an electromagnet insid[...]

  • Page 91

    But there is another area of memory in the SG-lo/15 reserved for user-defined characters. These are characters that you design and download into SG-10/15. When download characters are defined they are stored in RAM (random access memory), which allows you to define or modify them at any time. Each of these characters, whether it is from the standar[...]

  • Page 92

    Figure 9-5. Later in this chapter we’ll use this character to create a small graph.) You’ll notice that Figure 9-4 includes a lot of information around the grid. Don’t be intimidated; we’ll explain each item as we come to it in our discussion of defining and actually printing download characters. You may have noticed another difference betw[...]

  • Page 93

    character uses the top eight dots, write in a one next to the word “Descender” on the layout grid; if it uses the bottom eight dots, write in a zero. In our example, we’ll want the bottom of the flask to line up with the baseline of the other characters, so it will not be a descender. As shown in Figure 9-5, we’ve written in a “1” on ou[...]

  • Page 94

    64 32 16 btal m, m, m, m. m, m6 m, m, m, m,, m,, ASCII Code WRONG! Descender Start column End column M, = Descender l 128 + (Start l 16) + End -- Figure 9-6. Dots cannot overlap; those in immediately adjacent “half columns” will be ignored when the character is printed. W Add up each column of dots Now it’s time to give our creative side a br[...]

  • Page 95

    value. Some examples will make this clearer. As shown in Figure 9-7, if we add the numbers for the dots that print in a column, the sum will be a number in the range of 0 to 255. Each number from O-255 represents a unique combination of dots. So add up the values of the dots in each column using this system. In Figure 9-8 we’ve shown our grid wit[...]

  • Page 96

    can define any positions except the defined control code positions. This means that once a character is defined and assigned a value (and the download character set is selected), you can use that character on the printer the same way you would any standard character. You can send the character with the same ASCII value (for instance, if you had ass[...]

  • Page 97

    Our chart would hardly be complete with just a picture of a chemist’s flask, so in Figure 9-9 we’ve made completed grids for some other symbols: an automobile and a gun (quite a strange mix of characters!). The information on the grids is now complete (except for proportional width data-a more advanced topic we’ll take up shortly). n Download[...]

  • Page 98

    We’ll be discussing proportional character widths in detail later in this chapter; for now, we’ll leave it at 11. The descender data was discussed earlier: to use the top eight pins, this bit should be 1; to use the bottom eight pins this bit should be 0. Figure 9-10 shows the bits of the attribute byte as we’ll use them for our flask charact[...]

  • Page 99

    10 LPRINT CHR$(27) "*" CHR$(l) CHR$(160) CHR$(162); 20 FOR N = 160 TO 162 30 FOR M = 0 TO 11 40 READ MM 50 LPRINT CHR$(MM); 60 NEXT M 70 NEXT N 80 LPRINT 90 DATA 139,2,5,8,241,0,0,241,8,5,2,0 100 DATA 139,124,0,66,4,64,36,16,2,16,12,0 110 DATA 139,46,16,2,60,0,48,8,48,0,48,0 When you run this program, it looks like nothing happens. That?[...]

  • Page 100

    Voila! It should have printed out the three characters we de- fined. Your printout should look like this: (If it doesn’t, check the last program we ran for errors, then rerun it.) Let’s find out if there are any other characters in the download RAM. Try this program: 10 LPRINT CHR$(27) "$1" 20 FOR I=33 TO 126 : LPRINT CHR$(I); : NEXT [...]

  • Page 101

    149) LPRINT ESC$ "$1"; 150 LPRINT "Autos" TB$; 160 FOR I=.4 TO 9.3 STEP .4 : LPRINT CHR$(lGl); : NEXT 170 LPRINT 180 LPRINT "Chemicals" TBS; 190 FOR I=.4 TO 8.7 STEP .4 : LPRINT CHR$(16@); : NEXT 200 LPRINT 214) LPRINT "Guns" TB$; 220 FOR I=.4 TO 1.4 STEP .4 : LPRINT CHR$(162); : NEXT 230 LPRINT 240 LPRINT ES[...]

  • Page 102

    ERASING DOWNLOAD CHARACTER DEFINITIONS After you have defined a set of characters (a whole new al- phabet, perhaps) you may want to go back to using mostly standard characters with a few new user-defined characters mixed in. Rather than turning SG-lo/15 off (which erases all of the current settings, including download characters), you can send a co[...]

  • Page 103

    616 &4@9 mmmm.mmmm.mm m Figure 9-12. These download characters are defined as proportional characters. attribute byte, m0. As you know, the first bit of m0 is used to specify whether the character is a descender or ‘not. The next three bits are used to specify the starting print column (acceptable values are 0 to 7). The last four bits specif[...]

  • Page 104

    10 FOR N=l TO 4 24) READ Nl 34) LPRINT CHR$(27) "+c" CHR$(l) CHR$(Nl) CHR$(Nl); 40 FOR M=0 TO 11 54) READ MM 60 LPRINT CHR$(MM); 70 NEXT M 84) NEXT N 90 LPRINT " Mississippi" 100 LPRINT 110 LPRINT "Standard characters without proportional spacing" 120 LPRINT 130 LPRINT 144) LPRINT CHR$(27) "$1" " Mississ[...]

  • Page 105

    One thing to remember about defining proportional characters: a character cannot be wider than the specified width. That seems obvious enough! For example, if you specify a width of 6 for a character (starting in column 1 and ending in column 6), the seventh through eleventh columns of dots (if you specified any) will not print. You must, however, [...]

  • Page 106

    In the program that follows, we’ve used this technique to create some large numbers. Each digit is actually made up of four characters-two horizontally by two vertically. This means, of course, that you must define and print four characters for each finished digit. We assigned the upper left quadrant of each digit to ASCII codes from 160 to 169, [...]

  • Page 107

    130 READ MS 140 PRINT 111, CHR$(MS); 150 NEXT S 160 NEXT I 170 ' 180 ASCII = 160 'START OF DOWNLOAD CHARACTERS 190 FOR NUM = 0 TO 9 'NUMERALS 0 TO 9 200 NUMERAL.TOP$(NLJM) = CHR$(ASCII + 0) + CHR$(ASCII + 1) 210 NUMERAL.BOT$(NUM) = CHR$(ASCII + 2) + CHR$(ASCII + 3) 220 ASCII = ASCII + 4 230 NEXT NUM 240 BLANKS = CHR$(200) 250 PRINT i[...]

  • Page 108

    500 DATA 11, 0, 0, 0, 0, 0, 0, 32, 64, 32, 64, 32 510 DATA 11, 68, 42, 68, 58, 68, 50, 68, 34, 64, 2, 0 520 DATA 11, 8, 0, 12, 0, 28, 2, 12, 2, 4, 2, 4 530 DATA 11, 2, 4, 2, 12, 144, 108, 144, 104, 144, 96, 128 540 'FOUR 550 DATA 11, 0, 0, 0, 0, 0, 0, 2, 36, 30, 4, 8 560 DATA 11, 0, 0, 2, 4, 2, 28, 2, 60, 64, 48, 8 570 DATA 11, 0, 16, 32, 80; [...]

  • Page 109

    810 DATA 11, 192, 0, 192, 0, 194, 32, 222, 32, 94, 32, 30 820 DATA 11, 12, 0, 28, 0, 142, 0, 198, 0, 198, 0, 198 830 DATA 11, 0, 206, 0, 156, 0, 248, 0, 240, 0, 224, 0 840 'SPACE 850 DATA 11, 8, 0, 0, 0, 8, 8, 0, 8, 8, 8, 8 SUMMARY Control code Function <ESC> “*” 1 nl n2 mO ml . ..mlZ Defines download character into RAM (for STAR mod[...]

  • Page 110

    -[...]

  • Page 111

    i b. c. . . I L. c, CHAPTER 10 PRINTING WITH DOT GRAPHICS Subjects covered in this chapter include: l SG-10/15’s bit image graphics capabilities l Printing a pre-defined shape l Plotting a calculated shape l High resolution graphics In Chapter 9 you were introduced to a form of computer graphics; you were able to actually define characters dot by[...]

  • Page 112

    (if you’re not sure which type of interface your computer has, check the appendix for your computer). So when do you use graphics and when do you use download characters? Practically anything you can do with graphics you can do with download characters, and vice versa. A clever pro- grammer could actually plot a mathematical curve using down- loa[...]

  • Page 113

    it’s possible to have a graphics image as wide as 480 dots on SG-10 or 816 dots on SG-15. So to figure out how many columns of graphics data to expect, SG- lo/15 multiplies n2 by 256 and adds the value of nl. If you divide the number of columns by 256, then n2 is the quotient and nl is the remainder (why not let your computer figure it out for yo[...]

  • Page 114

    0 1 U 0 (not used) Figure 10-l. Starting with the most significant bit at the top, each pin of the print head is assigned a value which is a power of two. Note that for 7-bit computers, the top pin cannot be used. - - A short program should demonstrate how to implement the graphics command. The program below gave us this printout: 10 ‘Demo dot gr[...]

  • Page 115

    n Combining text and graphics It’s also possible to mix text and graphics in one line. This can be useful for labeling charts or graphs, or even inserting fancy graphics in text. Try adding these lines to our program: 45 PRINT #l,"WOW!" ; 85 PRINT #l,"This is great!" ; Now if you run the program you should get a printout that [...]

  • Page 116

    paper. And it may be helpful to write the dot values (128, 64, 32, etc.) down the left side of each row. Then after you’ve filled in the “dots” that you want to print, it’s time to get out the old calculator again! Just as you did with download characters, add up the values of each column of dots; this makes up one byte. In the program belo[...]

  • Page 117

    60 GRAPHICS = CHR$(27)+CHR$(75) 70 DIM LOG0$(4) 80 WIDTH "LPTl:",255 90 ' READ DATA 100 FOR ROW = 1 TO 4 110 FOR COLUMN = 1 TO 100 120 READ P 130 LOGO$(ROW) = LOGO$(ROW) + CHR$(P) 140 NEXT COLUMN 150 NEXT ROW 160 ' PRINT LOGO 170 LPRINT LINE.8$; 180 FOR ROW = 1 TO 4 190 LPRINT GRAPHIC$;CHR$(l00);CHR$(0); 200 LPRINT LOGO$(ROW) 21[...]

  • Page 118

    500 DATA 252,255,255,255,127,63,31,7,7,31 510 DATA 254,252,248,224,128,0,@,3,7,7 520 DATA 7,3,0,0,0,0,0,0,0,0 530 DATA Q,31,31,3,129,128,192,192,192,192 540 DATA 192,224,224,224,224,240,255,255,255,255 550 DATA 255,~27,0,0,0,0,0,0,0,0 560 'ROW4 570 DATA 0,248,248,240,224,224,112,112,56,56 580 DATA 56,56,56,120,12@,24(iI,240,224,224,192 590 DAT[...]

  • Page 119

    and SG-IO/15 plotting the output, you can come up with some terrific business graphs, charts, and mathematical function plots. The best way to do this is to set up an array in memory. This is your “graph paper.” The first thing to do is to determine how big you want your output to be; this will determine the size of your array. (If you have gra[...]

  • Page 120

    270 ' 280 'Subrout 290 ' :ine to draw a line from Xl,Yl tt 0 X2,Y2. 300 XL = X2 - Xl : YL = Y2 - Yl 310 NX = ABS(XL*LXFAC) : NY = ABS(YL*LYFAC) 320 IF NX < NY THEN NX = NY 330 NS% = INT(NX+l) 340 DX = XL/NS% : DY = YL/NS% 350 FOR 1% = 1 TO NS% 360 Xl = Xl + DX :Yl=Y + DY 370 GOSUB 400 380 NEXT 1% 390 RETURN 408 ’ 410 'Subro[...]

  • Page 121

    you need to change are the values in line 40. The array MASK% contains the values of the dots. (In order to make this program run on the most computers, we’re using only six pins for graphics. With many computers, you can use all eight available pins.) In lines 90 and 100 we’ve defined some other variables you’ll be interested in: LX, LXFAC, [...]

  • Page 122

    at a time. The variable A$ is used to build a string of all the columns of BIT% in a given row. As you can see, by taking the program in small pieces and analyzing it, graphics programming does not have to be difficult. If you want to try some other plots, try these (replace lines after 600 with the lines below). The printouts from each program are[...]

  • Page 123

    HIGH RESOLUTION GRAPHICS Up until now all of the dot graphics printing we have done has been with SG-10/15’s normal density mode. This can give you some pretty sharp images at great speed. Sometimes though, you may want to create an image with even higher resolution. SC-lo/l 5 has seven graphics modes you can use; they’re sum- marized in Table [...]

  • Page 124

    Table 10-2 Dot graphics commands - - Note: If your computer CHR$(103), CHR$(121), spectively. does not support lowercase characters, use and CHR$(122) for “g”, “y”, and “z”, re- 116[...]

  • Page 125

    i -1 Double density graphics ( .I . . /...‘I : :. . ..- ., ,, ‘. “. : ..;.“:c..~:. ‘.. .,.. ,,... ..: $8 ‘1.:; ,. . .i ..:.. ,.i” ” .i ..,.,.../” :. ‘,., ., 1 .:. : i ,,._ . . . . . :,. .p&.~:“” ‘. _ ‘%,. ,z. .*‘... . . ). ,.:,. .’ ‘.. !,a. . . ,.:. /,. i. 2’ .,t,:, . . /: >, .:.. ,!~., ).. . . . ,.. L>[...]

  • Page 126

    So if quadruple density looks so great, why not use it all the time? Let’s try an experiment on your printer which will show just how the different density modes work. Using the “logo” program in this chapter, change line 60 to try each of the different modes. Just change the “CHR$(75)” to “g” + CHR$(l), “g” + CHR$(2), “g” + C[...]

  • Page 127

    Star’s engineers have given programmers a unique shortcut for program development though-double density double speed graphics. Although this mode requires just as much memory and computing time as double density, it prints at the same speed as normal density graphics. Amazing, you say? Well, it is-until you know the secret. Every other column of [...]

  • Page 128

    < ESC > “Z” nl n2 ml m2... Print quadruple density graphics (for IBM mode) < ESC > “g” n0 nl n2 ml m2... Master graphics selection (for STAR mode) < ESC > “*” n0 nl n2 ml m2... Master graphics selection (for IBM mode) - -- - 120[...]