Skip to main content

Full text of "TRS-80 Newsletter (1982-03)(South Bay TRS-80 Users Group)(US)"

See other formats


FEBRUARY 1S82 




TRS-80" 
NEWSLETTER 



SOUTH BAY - USERS GROUP 
Page - Contents 

2. Bulletin Board System Review 

3. Hardware Modifications 
5. Assembly Language Corner 
10. Classified Section 



? 




SBUG ■••tings are held the 3rd Tuesday of each Month in the north 
••at corner of Dyaana' building att 

5461 Patrick Henry Drive 

Tiae - 7 il5 to If i 31 PM Santa Clara, Ca 

■arch 16, April 2i, May 18 

Features: 1) Local programmers will apeak about their product 

aa advertised in 81 Microcomputing. MX-8I/INCOME TAX 
2) Open discussion. 

Editor's note i 

I think that the article by Eric Brewer ia an excellent one, 
especially if you're just beginning to get into Assembly Code like 
I am. Tell Brie at the meeting that you would love to aee more 
articles. Welcome to the club Ericlll 

** Bow many would like to aee the return ** 
•* of Brian 'a Bargain basics?? *• 

If you aee Brian at the aeeting tell hia you would love to aee hia 
column again. 

*•** Tour 8teering Committee follows ••** 

Diacuasion Leader at 



Phil Coffman (488) 997-8247 

Nike McBenry (418) 245-4714 

Gerry McKee (418) 926-4163 

Sabri Kawash (498) 732-5464 

Bill Richerson (468) 257-8267 

Treaeurer: 

Larry Gunderaon (468) 259-5349 

Newsletter Editor i 



Robert Byrd (468) 732-6775 

Librarians i 

Pete Buntsinger (disc) (468) 227-7125 

Bob Brown (tape) (468) 379-2774 

Ron Carpenter (doc.) (415) 726-3487 

If the need arises feel free to give one of ua a call. 

Bend Bevaletter articles tot 

Editor, South Bay TRS-86 User Group 

Robert Byrd 

P.O. Box 66116 (Thia is SBUG's new address) 

Sunnyvale, Ca 94688 

(468) 732-6775 

Deadline for the April newsletter 16 April 82. 

If at all possible send articles via modem or aaved on diac/tap. 

will aee that your disc or tape ia returned to you. Thanks . . 

- 1 - 



BOLLSm BOARD STSTBI (B.B.S) RtVIRW 

This column will occasionally be in the newsletter concerning 
features of the your B.B.S. . If lack of knowledge in 
telecoaaunlcatlons is the reason that you're not using or planning 
on using the B.B.S.. Then that eicuse will not work anymore, 
because I plan on keeping you informed, via newsletter, all about 
the featurea of your B.B.S.. Believe me, this systea as a tool 
available to us, can be just the link we need to sake coaputing 
slot more interesting and sake information gathering a SNAP. 

- An e* ample of the systems uae - 

Just for funzies lets use two of our officers as an esaaple, Larry 
Gunderaon and Bill Richardson. Bill is working on a project to 
have a public swsp aeet for SBUG. But Bill would like to send s 
letter to sll the SBUG aeabers froa the past, (thoae aeabers who 
dropped froa the club), to tell thea about the swsp aeet. Bill 
sita back in his chair an decides it would be better to get in 
touch with the treasurer, Larry Gunderson, and get a copy of the 
Bailing list used for the last couple of years. With this Bailing 
list he could simply print out soae labels and stick thee on copies 
of the letter. But Bill doesn't have the stalling list. There are 
two ways the problea could be solved. Keaeaber we all belong to 
SBUG and supposedly own TRS-SB compatible equipment. 

First way: 

Bill, who lives near Cupertino, calls Larry, who lives nesr 
Nilpitas, only to find thst Larry isn't boae. Bill finely gets In 
touch with Larry, two days later, and after a 2$ ainute drive, each 
way, gets a copy of the sailing list. Bill says to himself, "There 
has got to be s better waylll" 

At last there is... 
Second way: 

Bill calls the B.B.S. systea and leaves a message on Larry's board 
explaining to him his situation, I might add that this message 
could be private and not available to all users only Larry t Bill. 
Later that evening Larry calls up the B.B.S. and receives his 
message froa Bill. Larry then uploads the mail 1st on the B.B.S. 
and leaves s message on Bill's board telling hia the naae of the 
prograa and possibly the access password (ex. NAIL/OAT. PASS2, 
NAIL/OAT — > t ILESPEC, PASS2 — > PASSWORD) . 

The nest day, Bill calls the B.B.S. and receives bis aessage froa 
Larry then downloads the file to his systea. That evening he puts 
the letters, to the users, in the mailbox. Bill says to 
himself , "Thank goodness for technology! I" 

Reainder x 

Many active members who are accessing the B.B.S. will be updated, 
alaost to the hour, of the lstest activities that SBUG is working 
on. 

Robert Byrd 

- 2 - 



This program gives a printout of all the video display locations. I 
find it easier to use for graphics or PRINT* statements. 
39 FOR I - 96f TO lf23 
Mi 



4f 


B • I - 


51 


lprint 


6i 


FOR J ■ 


78 




88 


NEXT J 


91 


NEXT I 



I TO E STEP -64 

LPRINTUSING'IIM' j J ; 



Sandy Phelps 



1ARDWABB MODIFICATIONS 

tjUUBM BMMlblUJim 

I have been bothered by the "shrinking" screen and flickering of 
the display whenever the refrigerator coses on or ay wife pushes 
the button on the microwave oven. In addition, a slowly moving 
ripple in the display would move froa bottoa to top. This was 
particularly noticeable when using the coaputer during the evening. 

I had tried the modification in 8i Microcomputing in which a 
regulator transistor was added and 1 used RCA SK components since I 
hsdn't found the specified SylvanU ECG parts. It worked after a 
fashion, but the voltage was too low and the screen size was 
aarginal aa a result. After s couple of months, there was a sizzle 
and a sap and the regulating transistor blew out so I had taken the 
modification out of the circuit. 

I decided to try the job again with the correct Sylvania ECG parts 
this tiae AMD higher voltage. I found that shad's on Bascoa Avenue 
in San Joae opposite Quement's csrries the full Sylvania ECG line. 

1 bought a transformer at Haltcks for $3.11 that was for a "dry 
disc rectifier" and put out 128-168 volts output depending on the 
primary taps used and good for Iff or aore volt amperes. By using 
this transformer aounted with bolts through the floor of the 
aonitor in the area behind the brightness and contrast controls I 
was able to get a reasonably good mechanical arrangement. I added 
a bridge rectifier to increase the ripple frequency by a factor of 

2 and to help the filter a do a better job and pretty well followed 
the arrangement in the original March 1981, 8t Microcomputing page 
113 article. Regulate It J , by William Klungle. However, there is 
one part of hia article that seeas to be incorrect if you refer to 
it. The 181 kOhs) resistor should be 18 kOhms to allow sufficient 
sener current for proper regulstion. I recommend buying the ECG 
one half or one watt sener that is closest to 128 volts. I 
actually used the recommended one and another in series to give ae 
about 128 volts after regulation. You should be warned that your 
aonitor aay not esactly match the schematic given. I have both the 
Radio Shack aonitor schematic and the Sam's Photofact schematic and 
not only do the two not agree, ay monitor is slightly different 
froa both. This is not of major importance since the circuitry is 
very straightforward, but you should be forewarned. I recommend 
that you examine the article referenced, to see the diagrams on 
mounting the transistor aocket and parts. I aounted four separate 
diodes on a terainal strip and used a metal screw to fasten it to 
the back of the aonitor front panel below the "Radio Shack cover-up 
plate" which goes where the tuner should be. 

- 3 - 



This Modification has been in for a month now and the display is 
rock solid. Not a trace of jumping when the refrigerator comes on 
and only an almost unnotlceable remnant of the "squiggle" running 
up the screen at certain times of the day depending on what 
appliances are on the AC line - you have to study the display 
carefully to see it. Someday I'll fix that tool 

The transformer does introduce a magnetic field and you will have 
to do some realignment of the display, but it does remove one of 
the major hazards of the monitor, its chassis that is connected 
directly to the AC line. When the modification is completed, 
re-center the display with the centering magnets controlled by the 
aluminum tabs at the neck of the tube. Natch for the best 
linearity you can get while you do this. Then open the keyboard 
unit and adjust the two pots at the right hand edge to put the 
display borders where they belong. Nrite a simple program to draw 
lines or just fill the screen with test by a simple program: 

11 PRINT M"» 

20 GOTO II 
The above modification combined with the Radio Shack anti-glare 
screen really makes a big difference in the monitor. Now, if only 
we could make it into 80 columns.... 

Parts required for modification 

Tl - Transformer, 110-130 v primary, 121-151 V secondary about St 

VA or greater capacity (slight step-up and isolation) 

C 1,2 - .11 uP, 6lf V disk capacitors 

C 3 - 111 uP, 25f V electrolytic capacitor 

2 - long 8-32 screws (approx 2") and nuts for mounting transformer 

D 1,2,3,4 - 1N4007 or other 1A, 411 V or more diodes OR equivalent 

bridge rectifier 

Terminal strip, 4 lugs or more for mounting diodes 

Sylvania ECG 421 TO-66 socket and washer or equivalent 

01 - Sylvania ECG 124 transistor 

D5 - Sylvania ECG 1/2 or 1 watt zener diode about 121 volts 

Rl - 18 kOhm, 1 Watt resistor 

Dab of silicon heat sink compound 

"DESTR EARING" THE DISPLAY 

In the Pebruary issue of 88 Microcomputing, Dennis Ritsz shows how 
to remove the streaking from the display. Even though I don't play 
a lot of games on the TRS-80, I found the black streaks which 
appear across white areas to be annoying. The article looked 
simple and only involved a couple of dollars at moat in parts, so I 
decided to try it. 

I can say that the results are worth the slight effort and work 
very well. As far as I can tell, there is no noticeable difference 
in time for the display to change or a program to run and it DOES 
remove the streaks that are so annoying. The modification is an 
easy one and only takes an hour or so at most. I have had the 
modification in since the day after the magazine arrived, which was 
early last month, and have experienced no problems. I recommend it 
to everyone. 

Ian Webb 

- 4 - 




I3CW 



ORIGINAL CIRCUIT 




NEW 
CIRCUIT 



SI2DV 



rv 



MONITOR MODIFICATION SCHEMATICS 



*• n— My Language Corner *• 

Bere it is what many people have been waiting for 1 1 I will try and 
write this column once a month as a I promised Brian Devendorf 
about s year ago. But anyway, back to the matter at hand. Thi6 
month I will just present a few major subroutines that will be used 
in articles in the future, (1 hopel). 

The first routine is INPUT. The primary function of this is to 
accept a line of commands or data from the keyboard and to put it 
into a buffer. The buffer is pointed to by the register pair HL. 
The length of the input line is in register B. Then we do a "CALL 
INPUT" and wind up with some data in our "BUPPER". The actual 
input routine is s BOH call so the subroutine is very small. It 
conaiats of XBBOing out 2 locations in the LEVEL II BASIC'S 
temporary atorage area (4MIH to 42MB) . 

The aecond routine is to PRINT a message to the acreen. The 
r.2"* 9 ? terminated with a "BOP" mnemonic. The "NOP" generates a 
■■B value at the location. So, the message block can be terminated 

- 5 - 



with a "depb §• command, also. It is juat aaaiar and faatac to 
use a "NOP". Upon entry to the subroutine, HL points to the 
message block to be printed to the screen. When control is 
returned to the MAIN program, HL points to the location where the 
terminator is. (Yes, I aa aware that there is s ROM call that does 
the same thing. But, I like uaing this routine since it gives the 
programmer the option to make the terminator whatever the 
programmer wants it to be.) 

The third routine SEARCHes a table for an entry that is the same as 
what is in a buffer. Upon entry, DB points to the begining of the 
table to* be aearched. Hi points to the "BUPPER" where the item 
being searched for is. Bach entry in the lookup table has s set 
length. This length has to be stored at location ENTRYL. The 
format for table entries is ss follows: 

1 to 255 bytes - Entry 

2 bytes - 2 byte number thst can be a pointer to 

a subroutine address or just be s value 
for the entry. 

An example of what a table would look like is with the listings st 
the end of this article. The table's name is original enough, 
TABLE. 

To finish things off, I am furnishing a list of easy to use ROM 
call addresses. They are as follows: 

I1C9H : Clear the screen 

M33H : Print the vslue in the 'A* register 

on the screen. 
M2BH : waits until a key on the keyboard is 

pressed. The value of the key is returned 

in register 'A'. 
M49H : Does the same ss above EXCEPT it does 

not wait. So if no key is being pressed, 

then register 'A' is equal to xero. 

Next month, I will discuss using ROM routines for doing math. Only 
♦ , -, *, and / will be discussed. But, sll the different forms of 
numbers will be discussed (meaning single, double, and Integer 
precision will be discussed). As ususl, listings and examples will 
follow the article. Until next time... Happy programing... 



UfiTIHCS 



Eric Brewer 



I INPUT ROUTINE 

;HL • POINTS TO BUPPER WHERE THE RESULT IS TO BE STORED 

I 

INPUT XOR A I SET A-f 

LD (4f99H),A 

LD (4BA6H) ,A 

CALL 95D9H ;ROH INPUT ROUTINE CALL 

RET I RETURN TO CALLER 



- 6 - 



I PRINT SUBROUTINE 

|HL - POINTS TO MESSAGE TO BE PRINTED 



» 
> 

; 
PRINT 



MESSAGE MUST BE TERMINATED BY A VALUE OP 
MB (THIS CAN BE CHANGED BY THE PROGRAMMER) 



LD 

CP 

RET 

CALL 

INC 

JR 



A,(HL) 

ffB 

I 

•I33H 

HL 

PRINT 



>GET VALUE POR DISPLAY 

i TERMINATE? 

I YES... IP COMPARE-Y 

» DISPLAY VALUE IN 'A' 

;NEXT CHARACTER 

I SAME AS JUMP BUT 2 BYTE 



SEARCH ROUTINE 

ENTRY I 

DE - TABLE POINTER (BEGINING OP TABLE) 
BL - ENTRY BEING SEARCBED POR POINTER 
(ENTRYL) - EACB ENTRY'S LENGTH IN TBE TABLE 



RESULT: 



SEARCB 



SRCHL1 



SRCHL2 



SRCH1 



(SRCBR) - 2 BYTE • RELATING TO ENTRY IN TABLE 
(IE. COULD BE ADDRESS OP SUBROUTINE) 
(THIS IS TBE RESULT OP TBE SEARCH) 
(IP XERO, THEN NOTHING HAS POUND) 



; NOTHING START W/SPACE 

;B- LENGTH OP TABLE ENTRY 
fSAVE BOTH POINTERS 

I SEE IP END OP TABLE 

INCREMENT POINTERS 
;HL-WHERE TO PUT RESULT 
»SAVE RESULT (1ST BYTE) 

;SAVE RESULT (2ND BYTE) 
/RESTORE STACK 



LD 


A,(HL) 


CP 


32 


RET 


Z 


LD 


A, (ENTRYL) 


LD 


B,A 


PUSH 


HL 


PUSH 


DE 


LD 


A, (DE) 


CP 


• PPH 


CALL 


Z,SCHEND 


CP 


(HL) 


JR 


NZ,SRCH1 


INC 


HL 


INC 


DE 


DJNZ 


SRCHL2 


LD 


HL,SRCHR 


LD 


A,(DE) 


LD 


(HL) ,A 


INC 


HL 


INC 


DE 


LD 


A,(DE) 


LD 


(HL) ,A 


POP 


DE 


POP 


HL 


RET 




POP 


DE 


EX 


PE,HL 


LD 


A, (ENTRYL) 


LD 


E,A 


LD 


D,« 


ADD 


HL,DE 


EX 


DE,HL 


INC 


DE 


INC 


DE 



- 7 - 



SRCH2 



see END 



SRCHE1 



ENTRYL 
SRCHR 



EXAMPLES 



POP 

JR 

LD 

XOR 

LD 

INC 

LD 

RET 

PUSH 

INC 

LD 

CP 

JR 

POP 

LD 

RET 

POP 

POP 

POP 

JR 

DEPS 

DEFS 



RL 

SRCHL1 
BL, SRCHR 
A 

(BL) ,A 
HL 

(HL),A 

DE 

DE 

A, (DE) 

IPPH 

Z,SRCHE1 

DE 

A,(DE) 

DE 

DE 

HL 

SRCH2 

2 

2 



( STORE RESULT 

(TELL CALLER NO SUCH 

I ENTRY 



I SAVE POINTER 



I CHECK NEXT LOC POR END 
/END? YES...SRCHE1 
; NO... RESTORE DE 
( RESTORE A fc RETURN 

( RESTORE STACK 



j TELL USER NO SUCH ENTRY 



/EXAMPLE TO USE PRINT ROUTINE 
I 

START 
INTRO 



ORG 


8IMH 


LD 


HL, INTRO jHL-MNTRO" MESSAGE 


CALL 


PRINT i PRINT IT 


JP 


•A9AH ;BACK TO BASIC 


DEFM 


'THIS IS AN EXAMPLE' 


DEPB 


13 (CARRIAGE RETURN 


DEFH 


'OF ROW TO USE THE PRINT SUBROUTINE' 


DEPB 


13 


DEPB 


13 


NOP 


(END OP MESSAGE BLOCK 


END 


START 



(EXAMPLE TO USE INPUT ROUTINE 

; 



START 



ORG 


BfllH 




LD 


HL, INTRO 


;HL- ADDRESS OP MESSAGE 


CALL 


PRINT 


; PRINT IT... 


LD 


RL, BUFFER 


(HL-ADDRESS OP BUFFER 


LD 


B.62 


( LENGTH - 62 CHARS 


CALL 


INPUT 


I GET INPUT 


LD 


HL,MES1 


»HL- ADDRESS OP MESSAGE 1 


CALL 


PRINT 


(PRINT IT... 


LD 


HL, BUFFER 


(HL-BUFPER ADDRESS 


CALL 


PRINT 




JP 


•A9AH 


(BACK TO BASIC 


END 


START 





- 8 - 



/EXAMPLE TO USE SEARCH ROUTINE 





ORG 


eiMH 




START 


LD 


DE, TABLE ;DE= POINTS TO TABLE 




LD 


HL,WORD 


|HL- POINTS TO WORD 




LD 


A,6 


/LOOKING FOR 




LD 


(ENTRYL 


,A j ENTRY LENGTH «6 




CALL 


SEARCH 


/SEARCH POR "WORD" 




LD 


HL.SRCHR ;HL-SEARCH RESULT 




JP 


(BL) 


jJUHP TO ROUTINE 


RETURN 


JP 


■A9AH 


}BAK TO BASIC 


POUND 


LD 


RL,NES1 


IHL-HESSAGE 1 




CALL 


PRINT 


; PRINT IT... 




JR 


RETURN 


>END OP SUBROUTINE 


MES1 


DEPH 


'I POUND ITI I POUND ITI ' 




DEFB 


13 


; CARRIAGE RETURN 




DEPH 


'IT WAS 


THERE ALL THE TINEI ' 




DEPB 


13 






DEFB 


13 






NOP 




I END OP HESS AGE 


WORD 


DEPH 


'LICK 




TABLE 


DEPH 


•LOOK 






DEPW 


•A9AM 






DEPH 


'LISTEN 






DEPH 


IA9AH 






DEPH 


•TASTE 






DEPW 


•A9AH 






DEPH 


'OPEN 






DEPW 


•At AH 






DEPH 


•LICK 






DEPW 


POUND 






DEPM 


'CLOSE 






DEPW 


•A9AH 






DEPH 


'DROP 






DEPW 


IA9AH 






DEPW 


•PPPPH 


/END OP TABLE MARKER 




END 


START 




J 

I EXAMPLES 


TO USE 


MISCELLANEC 


XIS ROUTINES 


J 


ORG 


etffH 




START 


CALL 


• 1C9H 


;CLEAR SCREEN 




LD 


A, ••• 


; A- VALUE FOR '•* 




LD 


B,1B 


j LOOP If TINES 


LOOP 


CALL 


••33H 


{DISPLAY REGISTER 'A' 




DJNZ 


LOOP 


IDECREHENT B 


{JUMP TO 


LOOP IP 


BOB 






LD 


B,5 


j LOOP 5 TIHES 


LOOP1 


CALL 


N2BB 


;GET CHAR PROH KEYBOARD 




CALL 


BB33H 


/DISPLAY IT 




DJNZ 


LOOP1 


;LOOP... 




LD 


A, 13 


.•CARRIAGE RETURN 




CALL 


M33B 


{DISPLAY IT... 




JP 


•A9AH 


{BACK TO BASIC 




END 


START 





- 9 - 



CLASSIFIED SRCTIOM 

For Sale — new BASF 41 track drivea. Bare (no case/power aupply) . 
$175 fira. Can demonstrate or bring to Meeting If you call ae in 
advance. Ron Carpenter (415) 726-3487 late eve or weekends. 

Needed deaperately — 2732 ROM chips to be uaed aa Level 2 BASIC. 
Ron Carpenter 

Also WANTED — old Percoa doubler I (1791 reaoved when upgraded to 
doubler II) for about $15. Ron Carpenter 

HELP wanted with adapting odd 8" drivea (CDC and Calcoap 148) to be 
uaed like SA888 with Oaikron Mapper 2 and LNDoubler5/8. See Ron 
Carpenter at aeetlng (documentation librarian) or Ted Lester. We 
need aoaeone who baa done this before and can explain the obscure 
difficultiea we've run into. Thanks auchl 



WANTED for librariea and our bulletin board system (download 
section): TAX and Business programs. Contact Robert Byrd (488) 
732-6775. 



Anyone intereated in helping fix an LNW E/I with an extreaely 
obscure disk I/O problem? It drops the same certain bits when 
reading large aaounta of disk; different keyboards, drivea, and 
diakettea atill produce the exact aaae error. Saa Brown (468) 
734-8896 eves. 



Ticketa to the 7th Weatcoaat Computer fair $7.56. This is half the 

price of adaiaaion at the door. 

Where t 

Civic Center Brooks Ball, San Francisco, March 19-21 (Fri - Sun). 

See Eric Brewer at the club aeetlng for ticketa. 

Note: Arrocoap Doubler, regular price $156, we can obtain 16 for 
$126. If you are intereated call Ian Webb (468) 867-9533 or Robert 
Byrd (468) 732-6775. 



For sale — Model I level II 16k, E/I 32k, 2 disc drivea, 761 
Centronica printer. Contact Sberal Suttiet Daya - (468) 988-4755, 
Eves - (468) 292-6486. 



- 18 - 



CO *v co 



c 

3 
3 
»< 
< 
0) 



O 

o c 



o 

X 



03 

ca ^ 

M CO 

00 
IS 



so 

•u 

00 

oo 



l-t 

o 

n 
O 

c