Sita aN OOOO The Boston Computer Society SINCLAIR-TIMEX USER GROUP NEWSLETTER

Volume 2, Issue 1 January 1983

This newsletter is produced to inform group members of the agenda and logistics for future meetings, as well as to recap and amplify the information provided at the last meeting. It also provides a forum for members and interested parties to communicate what they have Learned or developed relating to Sinclair and Timex computer products. Meetings are open to the public; however, attendees are encouraged to join the Boston Computer Society (BCS).

NEXT USER GROUP MEETING

: = = Date: Wednesday, January 12, 1983 LL Time: 7:00 p.m. bon

Place: Large Science Auditorium *. UMass, Harbor Campus . (Directions on last page) gl a

-_"

ACTIVITIES FOR THE JANUARY MEETING

The main event for the January meeting will be a report from the Winter Consumer Electronics Show (CES) by Sue Mahoney. Timex Computer Corporation, Sinclair Research, Ltd., Mindware, and perhaps other Sinclair-Timex related manufacturers will be at the show. The show is an annual affair, held in Las Vegas, Nevada. It is at the CES that many manufacturers introduce new products. This year the show runs from 6 January till 9 January, so Sue’s

report will be timely. Also, Sue plans to demonstrate the Timex printer.

As in past meetings, we plan to break up into groups to discuss topics of special interest following the formal presentations. Tentatively, we will break into an advanced group and a beginner’s group.

PLANS FOR FUTURE MEETINGS The February meeting will be held on the 16th, the third Wednesday of the

month. This is the normal day for our meetings. If you have items to discuss at the meeting or suggestions for presentations, contact Sue or Cliff.

MIKE LEVY ON BOARD OF DIRECTORS

At the General Meeting in December, Michael Levy was voted to the Board of Directors of the BCS. Mike is President of Mindware Inc., a company marketing hardware and software for the Sinclair and Timex computers, and has been very active in our user group. Mike has long been active in the BCS and last summer accepted responsibilities for coordinating activities of all user/special interest groups in the BCS, an activity he is retaining as a member of the Board of Directors. Congratulations Mike!

HIGHLIGHTS FROM THE DECEMBER MEETING

Sue Mahoney opened the meeting with a discussion of the benefits of BCS membership, which is only $20. The BCS is the largest nonprofit personal computer association in the United States. BCS members receive Computer Update, a well written magazine with nontechnical computer-related articles, and the Calender, a monthly guide to BCS meetings and events. Members are entitled to attend General Meetings (see back page) and user/special interest group meetings, such as the Sinclair-Timex User Group. They can also receive any publications the groups produce. Other benefits include use of the Computer Resource Center, and participation in special discounts and events. Readers of this newsletter are encouraged to join and become active in the BCS.

As announced, Mike Levy demonstrated Mindware’s "Quickload” feature. “Quickload" allows rapid and accurate loading of programs. All new Mindware software comes with this feature. The demonstration was impressive! Mike loaded a large program on_the first try after having stopped the tape recorder halfway through the loading process. Loading with "Quickload" is a two step process, but to the user it appears as one. First, a small program is loaded in the normal way. This program loads running and puts a couple hundred bytes of machine code at the top of RAM. Then, the main program is loaded by this code. "“Quickload" is approximately 4-times faster than the normal loading technique. Data on a “Quickload" tape is partitioned into blocks. The TV display blinks each time a block is read successfully. When an error is detected, the display goes blank. To recover, all the user must do is rewind the tape to somewhere ahead of the block where the error was detected and restart the recorder. Unfortunately, the Mindware "Quickload" capability only works with original program tapes. That is, after the program is loaded, you cannot save the program and reload it using "Quickload." Tapes written by your recorder can generally be read by your recorder, so this may not be too serious a limitation. Mike says that Mindware is considering marketing the “Quickload" save capability, but he doesn’t envision a large market for it.

Mike stated that he and others at Mindware spent a lot of time trying to determine the cause of tape loading problems. Previously, he reported that azimuth adjustment was the most important parameter. Azimuth is adjusted, on many tape recorders, by turning a screw located near the read/write head.

It is not recommended that you change the azimuth setting! However, Mindware has found that tape height is a more critical parameter. Mike stated that many cassettes are banana-shaped (bent?). As a result, if the tape is turned over, a different effective read height is presented to the read head. This causes problens.

Mike stated that Mindware is delivering the dot matrix printer. The printer is currently the only FCC certified printer for the computer. There was discussion about the difficulties in getting FCC certification and some of the fixes which were required, such as ferrite chokes on the power cables.

Rod Haden, Mindware’s Vice President of Marketing, commented about software. Mindware is no longer in the catalog-sales business. They are in the mass-merchandizing business. Their software will start appearing in computer stores in the Boston area this month. Currently, Mindware has over 20 software titles.

We were very lucky to have Tim Hartnell in attendance. Tim is the head of the National 2X (pronounced zed eks) User Club in the U.K., an organization with 10,700 members. He is also the author and publisher of many books on 2X-80/81 computers. Three of his more popular books in this country are Making the Most of Your ZX~81 and 49 Explosive Games for the ZX-81, both by

HIGHLIGHTS ~- Continued

Reston Publishing Company, and Getting Acquaiated with your ZX-81, by Creative Computing. Tim was in this country arranging for the publication of books and magazines with which he is associated. Tim described his experiences with the ZX-80, ZX-81, and Spectrum computers and answered questions.

According to Tim, the Spectrum, which will be known as the TS 2000 in this country, has many good points but is not yet completely debugged. One example of a bug 1s that the printer can cause the machine to hang up. Tim stated that, by the time that the Spectrum gets to this country, the British will have found most of the bugs. Nobody knows when the Spectrum will arrive; Tim suggested between April and August. In Britain, they are anxiously awaiting the availability of the Microdrive (stringy-floppy) mass-storage capability for the Spectrum. Tim alsq discussed the problem with the RAM pack connection. He referred to the problem as “RAM~Pack Wobble." In fact, Tim authors a column in his newsletter with that title. Tim said that Uncle Clive’s brother was responsible for the RAM pack’s mechanical design. Tim’s solution is a C-clamp to secure the keyboard and RAM pack to a shelf, and the use of an external keyboard. “This way, the computer never moves. He said that every serious British programmer has a separate keyboard.

John Kemeny gave a description of a TS 1000 video monitor interface which he purchased from Random Access. Two versions are available. He bought the deluxe version for $20.45, which allows inverse video. It appears well . designed; the documentation is well written and complete. The only problem is that after he made the modifications and installed the board, his computer wouldn’t work. As he had only installed the mod the day before, he hadn’t gotten any of his "electrical engineer friends" to help him debug it. He’11L tell us how he likes the interface when he finds the problem.

In addition, the following announcements were made during the meeting:

. Henry April displayed the production version of the keyboard he designed and is marketing through his company E-Z Key. Henry first told us of the keyboard last July and kept us informed throughout its development process. The keyboard is larger than the TS 1000 membrane keyboard. It gives tactile feedback, and sells for $70. Henry says he is now going to develop another keyboard and market a number of TS 1000-related products.

. Dave Wood described the software products he has developed and is selling through his company SiriusWare. He has developed programs to read and write data onto tapes, merge BASIC programs, and (for a 64 K RAM) move BASIC code from above 32 K into an area where it can be executed. Dave provided a brief tutorial about the memory utilization in the computer.

. Mort Rosenstein offered club members discounts on Softsync and Timex software and Harrison books during the meeting. Mort’s company is Atlantic Northeast Marketing, Inc.

. Dan Roy has put together a 25 chip color enhancement to his computer and is looking for person or persons interested in assembly language programming to join him in the project.

» Will Stackman described Boston’s New Year Eve celebration, First Night, and recommended that we catch the laser/multimedia.

BINARY ON TWO HANDS

Everyone seems to know that, internally, computers use binary numbers. Actually, computers don’t have to use binary -- the old IBM 1620 didn’t, It is not necessary to know binary numbers (or numbers at all) to use or even program a computer. Therefore, this article is for those curious about some computer terminology and binary arithmetic.

Binary numbers are, if anything, simpler than the common decimal numbers. Decimal numbers use ten symbols, 0 through 9. Some think this came about because people have ten fingers. Binary numbers only use two symbols, 0 and 1.

In both number systems, the "value" of a digit is determined by its place in che numeric string. Moving left increases the value by a factor. For decimal numbers, this factor is 10. Thus, .in decimal, "10" represents ten because it equals the quantity 1 times the place factor, 10, plus 0. Indeed, the one’s place, ten’s place, hundred’s place, and so on, are so familiar that the place holders are taken for granted.

Binary numbers behave just like the decimals, except that moving left increases the value by a factor of 2. Thus, in binary, "10" represents two, because it equals the quantity 1 times the place factor, 2, plus 0. The new place holders are one’s, two’s, four’s, eight’s, and so on. The first ten binary numbers are 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, and 1010.

In decimal, the value of the placeholder is reduced by the factor as you move right from the decimal point. The "binary" point works the same way. Remembering that the factor is 2: in binary .1 is one-half; .01 is one-quarter. (One famous mathematician called the binary point, the "binary decimal" point. Another said that this was “philologically incorrect.")

There is nothing special about binary arithmetic, either. The tables are quite small. Addition goes: 0O+0=0, 140=1, O+1=1, 141=0 (carry 1), and l+l+(carry 1)=] (carry 1). For example, 1101+111=10100.

On the One Hand

After learning the binary system, you might be surprised to learn that computers don’t have numbers in them at all! Specifically, the Sinclair-Timex computer has chips in it. One of these chips is called a Z80. It is the central processing unit or CPU. It contains registers and circuitry to carry out instructions. The computer also has memory chips, ROM and RAM. ROM is read-only memory. It can’t be changed. It contains the p programs ms to run the system. RAM, unlike ROM, is volatile memory. That is, its contents are lost when the computer is disconnected from electricity (1.e., unplugged).

Registers and memory, alike, are divided up into compartments each capable of holding eight binary digits (or bits}. This 8-bit collection is referred to as a byte. Every byte in memory has a unique name, called its address. An address is represented by a consecutive pair of bytes, sometimes called a word. Thus, the 16-bit collection of binary digits, 0000000000000000, is the address of the first byte in memory.

The computer executes machine language instructions, which are operations that cause the bits in the registers and memory to change. For example, there is a machine instruction to add two registers together (as if they were two 8-digit binary numbers) and place the result in one of them. The point is this: the computer doesn’t know, or care, about what the bytes in the registers and storage areas represent. The bytes may represent binary

numbers, or codes for characters, or an address, or even part of a program. Note that any finite amount of bits can only represent a finite amount of numbers. An 8-bit byte allows 256 different representations, while a 16-bit word allows 65,536.

On the Other Hand

To use numbers in a computer requires some convention as to the representation. At the machine language level, the 280 hardware creates this convention. The Z80 adds and substracts 8- and 16-bit integer numbers (no fractions). Negative numbers are represented by a convention called two’s complement, which has two features. First, the leftmost (also known as most-significant) bit of all positive numbers is 0, while for all negative numbers, it is 1. Second, to subtract two’s-complement numbers, you need only take the two’s complement of the subtrahend and add. Taking the two’s complement of a number requires two steps:

1. Change all Os to ls, and 1s to Os. 2. Add 1 to the result of the first step. For example, the two’s complement of QOO01010 is 112110110.

Binary numbers with many digits are cumbersome to write. To make things easier, a notation is used which groups four bits together. The unit is sometimes called a nibble. Thus, a byte is made up of two nibbles. No joke. In fact, although not generally accepted, in some hungry circles, a group of 32 bits is called a chomp and a group of 64 bits is called a gulp. The Z80, however, can’t work with chomps and gulps. There are 16 different 4-bit units, 0000 to 1111, and each is represented by a single symbol, namely, 0, 1, ser, 9, A, B, C, D, B, and F. Thus, the unit 1010 becomes A, and the byte 11010101 becomes D5. This is hexadecimal notation. For conversion from decimal notation to hexadecimal, hex for short, use the following:

PRINT CHRS$ (INT (X/16)+28)+CHRS (X-INT (K/16)*16+28)

where X is a decimal number, less that 256. Conversion in the other direction can be done using a string variable for input of the hex number:

TO LEN x R16 + CODE X$(I) = 28

10 A very important binary number is 10000000000, a 1 followed by ten Os, or 2°“. It is better known by its abbreviation, K. Its decimal value is 1024, and it is the "binary thousand."

The TS 1000 comes with 2 K of memory. This means it has 2048 8-bit bytes for RAM. Each Sinclair-Timex character and token uses up (is represented by) l byte of storage, so it is customary to think of 2 K of memory as having the capacity to hold slightly more than 2000 characters. The 16 K RAM pack has 16,384 bytes. Since the 280 CPU uses 3 16-bit word for the name of a memory location (i.e., address), there are 2°” or 64 K or 65,536 addresses available. Thus, the computer can directly address a maximum of 64 K bytes memory.

BUG #2 (8 K ROM)

Last month we began a column talking about ROM bugs. We defined a bug to be any unwanted characteristic of the computer. The bug described last issue was such that it would probably not really bother anyone -- except your editor. The bug described below at first appears to be equally unimportant. But, as explained, it could be of great importance. Thanks goes to Dave’ Wood for pointing out this bug.

There are several characteristics of the display which are interesting to note. If a statement, specifically a REM statement, contains the newline (enter) character, the display of the statement will be broken at the newline character. The newline character is a byte of value 118 (76 hex). To observe this, enter the following:

1 REM ROM BUG 2 REM_NUMBER 2

Now insert a newline character into the first REM using POKE 16517,118. What happens is the computer sees the newline character and creates a new line. If you try to edit Line 1, you cannot move past the newline character with the cursor control (arrow) keys. Now enter POKE 16518,118. Two adjacent newline characters make the rest of the line unlistable. You cannot move past this line using the cusor down key. However, you can still list statement 2 to see the remainder of the program. This is interesting and could be annoying in some cases, but there are reasons for these anomalies so we do not classify them as bugs.

The bug occurs with long REM statements containing a newline character. If you have lots of time and are really interested, then enter a REM statement containing at least 701 characters. Enter a few extra in case we miscounted. This is a REM that takes the entire display. When you poke a newline character anywhere into one of the first 700 bytes of this statement, the machine goes off into Never-Never land. The first part of the REM, the part before the newline you inserted, will flash (if you are in slow mode, else the screen will just go blank) and you can never regain control of the machine, without pulling the plug and starting over. Exactly what the computer is doing is hard to tell, but to hang up in this way is definitely a bug!

Now why is this important? If you’re writing machine language programs and you store the code iti a REM, you could encounter this condition. Even if you never want to create a REM statement that is over 700 characters in length, let alone one with a newline character in it, this bug could still affect you. It could (we don’t know if it is) be used to protect software. By putting one or more large REM statements within a program, the bug could effectively prevent listing a program.

HYPOTROCHOID, COULDN’T YOU TELL

The design on the first page was produced by Dave Wood using a program from "Meditations on a Hypotrochoid" by Bradley Rogers in the November/ December 1982 issue of Sync. By varying the numbers in lines 30 and 40, a number of interesting graghs can be generated.

TELECOMMUNICATING

The Source is a commercial computer information/data base service which is accessed via telephone lines using a modem attached to your personal computer. It provides the capability to send messages to other users of the Source across the country and access to various data files. There are monthly and usage fees for the Source. Both the Source and CompuServe, a competing service, are a concern of the Telecommunications User Group of the BCS.

The Sinclair-Timex computers can access the Source using a modem. Sinclair Research, Inc. has established an account on the Source. The account number is ST7522. Skip Hammel will be at the Sinclair end of the account.

Skip has been a long time contributor to the group and works part-time for Sinclair, manning the Sinclair Tech Line. Skip currently accesses the Source via his Apple computer and is looking for items of general interest to enter into the Source.

At the December BCS General Meeting, it was announced that the BCS bulletin board was up and running. Unlike the Source, the BCS bulletin board is totally free, except for the price of the telephone call. The number for the bulletin board is (617) 969-9660. Information for each user/special interest group of the BCS will be maintained and, perhaps, we will be able to use this service as a means of communications -- when we all get modems.

NEED A CLOCK? (8 K ROM)

In the ROM Bug #1 article in the last newsletter, we stated that the system variable FRAMES is decremented 60 times a second (in slow mode). Below is a program which uses this fact to provide a time of day clock:

10 PRINT “ENTER HOUR"

20 INPUT H

30 PRINT “ENTER MINUTE"

40 INPUT M

50 PRINT "ENTER SECOND”

60 INPUT Ss

70 LET L=PEEK 16436 + 256*PEEK 16437 80 LET X=PEEK 16436 + 256*PEEK 16437 90 LET D=(L-X#+(L-X<0)*32768)760

100 LET S=S+D

110 LET 1#X

120 IF S<60 THEN GOTO 160

130 TET s=S-60

140 LET MeM+]

150 GOTO 120 160 IF MK60_THEN GOTO 200 170 LET M-M-60

180 LET H=H+1

190 TF H>23 THEN LET H=H-24

200 PRINT AT 10,103(STRS (1004H))(2 TO _)5":";(STR$ (1004M)) PRINT ye

“CZ_TO_);":";(STRS (100.548))(2 TO 3 210 GOTO 80 raaee a

The clock is as accurate as the ceramic filter (in this computer its not a crystal) which clocks the computer. Accuracy can be improved by adding

95 LET D=D*F

where F is a value close to 1 chosen to compensate for the measured error.

GENERAL MEETING EVENTS

The BCS’s January 26 General Meeting will feature the first public showing of two major new personal computers from Apple Computers Inc. The meeting is at 7:30 at the New England Life Hall on Clarendon Street, Boston. There will be a $3.00 charge for nonmembers. Call Mary McCann in the BCS office for more information. In March, Gary Kildall of Digital Research and creator of CP/M will talk at the General Meeting.

FOR MORE INFORMATION

Sue Mahoney, Director of the Sinclair-Timex User Group c/o The Boston Computer Society or call (203) 573~5816.

Cliff Danielson, Newsletter Editor 14 Davis Road, Chelmsford, MA 01824, (617) 256-4638.

John Kemeny, Contributing Editor & Correspondent With Other User Groups 284 Great Road, Apt. D5, Acton, MA 01720.

DIRECTIONS TO THE MEETING

The Sinclair-Timex User Group meets in the Large Science Auditorium (Room 8/2/009) of the University of Massachussets of Boston, Harbor Campus. The Harbor Campus is only 3 miles from downtown Boston and easily accessible by public and private transportation. From the north or west, take the Southeast Expressway to Exit 17. Turn left onto Columbia Road. Enter the rotary and take the first right (Morrissey Boulevard). Bear right on the traffic island, following UMass/Boston sign. Turn left into the Campus. From the south, take Morrissey Boulevard northward to the campus. On the MBTA, take the Red Line (Ashmont Train) to Columbia Station. Transfer to the free University shuttlebus in the T parking lot.

IMPORTANT NOTICE ! ! ! . if the mailing label on this newsletter is handwritten, then you are not on the mailing list of the Sinclair-Timex User Group. You need to either join the BCS or, if you are a BCS member, contact __. Mary McGann_in the BCS office to be added to the Sinclair-Timex mailing list.

8 The Boston. Computer Society Three Center Plaza

Boston, MA 02108 617-367-8080