--- title: "Letters" type: "article" slug: "letters-20" url: "http://localhost/article/letters-20/" markdown_url: "http://localhost/article/letters-20.md" published_at: "2020-10-27T17:19:15+00:00" modified_at: "2026-06-21T23:22:59+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "Updates on adding a joystick; making backups of machine language tapes; hardware problems." category: - name: "SYNC" slug: "sync" taxonomy: "category" url: "http://localhost/category/periodicals/sync/" post_tag: - name: "1983" slug: "year-1983" taxonomy: "post_tag" url: "http://localhost/tag/year-1983/" - name: "Full Text" slug: "fulltext" taxonomy: "post_tag" url: "http://localhost/tag/fulltext/" indiv: - name: "Ed Hostetler" slug: "ed-hostetler" taxonomy: "indiv" url: "http://localhost/indiv/ed-hostetler/" - name: "Ed Shaughnessy" slug: "ed-shaughnessy" taxonomy: "indiv" url: "http://localhost/indiv/ed-shaughnessy/" - name: "Michael Miller" slug: "michael-miller" taxonomy: "indiv" url: "http://localhost/indiv/michael-miller/" - name: "Mike Lagodmos" slug: "mike-lagodmos" taxonomy: "indiv" url: "http://localhost/indiv/mike-lagodmos/" - name: "Paul Beatty" slug: "beatty-paul" taxonomy: "indiv" url: "http://localhost/indiv/beatty-paul/" - name: "Raymond Townsend" slug: "raymond-townsend" taxonomy: "indiv" url: "http://localhost/indiv/raymond-townsend/" publication: "Sync" publication_r: id: 10243 title: "SYNC" type: "periodical" url: "http://localhost/periodical/sync-magazine/" authors: "Mike Lagodmos; Paul Beatty; Robert Townsend; Michael Miller" authors_r: - name: "Ed Shaughnessy" slug: "ed-shaughnessy" taxonomy: "indiv" url: "http://localhost/indiv/ed-shaughnessy/" - name: "Michael Miller" slug: "michael-miller" taxonomy: "indiv" url: "http://localhost/indiv/michael-miller/" - name: "Mike Lagodmos" slug: "mike-lagodmos" taxonomy: "indiv" url: "http://localhost/indiv/mike-lagodmos/" - name: "Paul Beatty" slug: "beatty-paul" taxonomy: "indiv" url: "http://localhost/indiv/beatty-paul/" - name: "Raymond Townsend" slug: "raymond-townsend" taxonomy: "indiv" url: "http://localhost/indiv/raymond-townsend/" - name: "Ed Hostetler" slug: "ed-hostetler" taxonomy: "indiv" url: "http://localhost/indiv/ed-hostetler/" volume: "3" issue: "6" issues_articles: - id: 26652 title: "SYNC v3 n6" type: "issue" url: "http://localhost/issue/sync-v3-n6/" pages: "4" pubdate: "November/December 1983" archive_link: false volumeissue: "v3n6" --- # Letters ### Adding a Joystick Dear Editor: [James Stephens](http://localhost/indiv/james-stephens/)‘ “[Adding a Joystick](http://localhost/article/adding-a-joystick-to-the-zx81/)” (SYNC 3:4) begs an additional hardware improvement for greater versatility by making it operable in both normal (Atari VCS) and modified (TS1000) modes. Simply add an SPDT toggle switch. Instead of soldering the center lead to KB4 directly as indicated in Figure 1, route it to the middle contact of the toggle switch. Then connect the remaining two switch contacts to the joystick edge traces KB4 and D3. Mount the switch assembly in a desirable location, e.g., ream a hole in the case (be careful not to damage the computer insides). You now have a switch selectable joystick. [Mike Lagodmos](http://localhost/indiv/mike-lagodmos/) 7035 Grovespring Dr. R.P.V., CA 90274 Dear Editor: To get 8 directions on the Atari joystick {SYNC 3:4), enter these lines: 10 LET A = (INT SQR (PEEK 16421* PEEK 16422)) 20 PRINT A 30 PAUSE 120 40 GOTO 10 Then move the joystick to each of the 8 positions plus the fire button. Write down each code that is printed and use it in the new cursor control code. The variable Last K located at 16421 is a two byte variable, and line 10 will produce a one byte value for each position of the joystick. It is an arbitrary value that simulates half a decode of the keyboard and will work well. The Basic program in Listing 1 in the article will produce an unexpected reverse motion of the cursor in the X axis as lines 70 and 76, 145 and 150 have the + and values reversed. [Ed Hostetler](http://localhost/indiv/ed-hostetler/) 30224 Westlawn Dr. Bay Village, OH 44140 ### Making Backups for ML Tapes Dear Editor: [Jack Ryan’s](http://localhost/indiv/jack-ryan/) article “[Making Backups for Machine Language Tapes](http://localhost/article/making-backups-for-machine-language-tapes-2/)” (SYNC 3:1) tells how to PEEK into the code of ML programs stored above RAMTOP and store that code into the array of a Basic program which is then SAVEd to tape. To reload the ML program, you must lower RAMTOP to its required location, and then LOAD and run the Basic program. This reverses the process by POKEing the code back into its original location. Readers who have trouble LOADing some ML programs backed up this way may have one of these problems: 1) You may have to set the GOSUB stack as well as RAMTOP to a lower location. In this case, press NEW after POKEing in the required lower value of RAMTOP. This executes the ZX/TS initialization routine which relocates the GOSUB stack and the machine stack to just below the current (lower) value of RAMTOP. Then LOAD and RUN the Basic program. 2) You may have a shortage of memory (report code 4). The program in the article will back up ML programs up to about 2.3K long when using a 16K RAM. If you run out of storage, try making these changes in the Basic program: 270 DIM E$(C) 290 LET E$(N)=CHR$ PEEK (D+N) 340 POKE (D+N),CODE E$(N) Storing the code in a character array instead of a numeric array allows you to back up ML programs three times as long. [Ed Shaughnessy](http://localhost/indiv/ed-shaughnessy/) 151 Daniel Low Terr. Staten Island, NY 10301 ### Hardware Problems Dear Editor: I purchased my ZX81 when it first came out and, after installing a new power plug and a flexible cable to the RAM, I finally decided to stop playing with it. I rubbed mercury on the edge connector. Since mercury does not sustain corrosion, I have not had any trouble since. My ZX81 stays on 24 hours a day, 7 days a week when I am working on it. I have not had any LOADing problems since I realized that new tape recorders could come with dirty heads. [Paul J. Beatty](http://localhost/indiv/beatty-paul/) 7634 N. Greenview Chicago, IL 60626 Dear Editor: After adding a keyboard and a 32K RAM to my TS1000, 1 have had problems with my keyboard dumping out my programs. I solved this problem by replacing the keyboard diodes with a buffer amp (74LS244). I used a 20 pin wirewrap socket with the legs bent to fit. Enable lines, pins 1 and 19, are tied to ground and the outputs of the buffer amp go to the keyboard. My solution for RAM pack wobble was a 48 conductor ribbon cable soldered directly to the motherboard. [Raymond E. Townsend](http://localhost/indiv/raymond-townsend/) 2233 E. 8th St., Sp 294 Pueblo. CO 81001 ### Help Dear Editor: I am searching for a program which will find the inverse of a matrix. As an engineering student, I have many occasions to use such a program. Is there anyone who sells such a program? [Michael L. Miller](http://localhost/indiv/michael-miller/) 721 E. Buerkin Peoria, IL 61603