• Keine Ergebnisse gefunden

USER GROUP '

N/A
N/A
Protected

Academic year: 2022

Aktie "USER GROUP ' "

Copied!
85
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

TE K

MICROCOMPUTER

DEVELOPMENT PRODUCTS

USER GROUP '

NEWS

USER NEWSLETTER VOLUME II, ISSUE NO.3, DECEMBER, 1983

ffo, 1 1994

Tektronoo

COMMITTED ro EXCELLENCE

(2)

CONTENTS

PRODUCT INFORMATION SECTION ...

1

TEK INTRODUCES THE 6140 DEVELOPMENT SYSTEM ... 1

HIGH-LEVEL LANGUAGE FOR 6140 ... 3

RATIONAL PROGRAMMING LANGUAGE ... 3

P A'S CAL LANDS NOW SUPPORTS 68010 ... 10

68000/68010 C-LANDS'PACKAGE IS AVAILABLE FOR THE VAX ... 10

NEW M.-\NUALS ORDERABLE ... 11

KITS FOR VAX MANUALS ... 12

Z8000 ASSEMBLER VERSION 2.0 ... 13

8086 P ASCAL/PDB MOD ... 13

MUGL - VOLUME II DISK RELEASED! ... 13

APPLICATIONS SECTION ...

15

4105 TER~fINAL RS-232 PINOUTS ... 15

8086 PASCAL LIf\fIT ATIONS ... 16

8087 MACRO CORRECTION ... 16

INCLUDING MATH LIBRARIES IN NATIVE C PROGRAMS ... 17

TN IX COf\1MENT LINES ARE NOT IGNORED ... 17

ED AND ACE AND CHARACTERS> 177 OCTAL ... 18

ICOf\.140 SHELL SCRIPTS FOR VAX ... 18

8560 INITIALIZATION PROCESS EXPLAINED ... 19

DELAYED EXECUTION OF COMMANDS ... 20

LDE HELP SCREEN FIX ... 21

NULL TERf\.UNAL FOR REMOTE 8540/PDB USE ... 22

8086 PASCAL NEW/DISPOSE P ATCH ... 22

USING TEK PLOTTERS WITH 8560 ... 22

SET USER ID ON EXEClJTION ... 24

CREATING A BLACK 4105 SCREEN BACKGROUND ... 25

UUCP PATCH FOR SYSTEM NAME ... 25

CU - VMS FILE TRANSFERS ... 26

ACE AND LDE SUPPORT FOR VT100 TERMINALS ... 27

MDP USER GROUP SOFTWARE LIBRARY/ARTICLE SUBMITTAL FORM ... 30

THIRD PARTY SOFTWARE ...

33

INTEL COMPATIBLE PL/M 8085 DEVELOPMENT SYSTEM ... 33

REFERRAL SERVICE HIGHLIGHTS ... 34

PRODUCT UPDATE ... 35

VENDOR UPDATE ... 38

NEW PRODUCTS ... 38

NE\V VENDORS ... 39

VENDOR CONTACTS: NEW AND CHANGES ... 40

NEW INTERNATIONAL DISTRIBUTORS ... 42

COMPATIBILITY HINTS ... 44

EVALUATING 3RD PARTY SW ... 46

PRODUCT PERFORMANCE SECTION ...

49

SOFTW ARE ERRATA SIIEET ... 49

TAR COMMAND WITH GPIB REQUIRES BLOCK SIZE ... 50

ACE AND LDE PROBLEMS WHEN USED IN TERM MODE (8540) ... 50

4105 VERSION 3 FIRMWARE AND KEYSHELL ... 50

MDP BUG BASE ... 51

8540 ROMP A TCH FAILURE ... 51

NATIVE PROGRAMMIMG TOOLS INSTALLATION ... 51

DIRECTORY PERMISSIONS OF /USR/INCLUDE/SYS ... 51

68000 MOVEM INST ERROR IN ASSEMBLER ... 52

NON-CODE GENERATING SECTIONS ... 52

FIND EXAMPLE DANGEROUS ... 52

- i -

(3)

6801 STATUS LINE PULSES IN MODE 1 ... 53

8085 PASCAL AND LPT ... 53

6801 MODE STATUS IN EMULATION ... 54

MAKE DEPENDENCY LIST LIMITATIONS ... 54

8085 PASCAL FILE WRITE ... 54

Z80 LONG DISPLAY TRACE OF REGISTERS ... 54

Z80 E~1ULATION BREAKS AT NON-SELECTED ADDRESSES ... 55

AT CO~{~{AND USAGE ... 55

MISSING FUNCTION IN LDE BACKPLANE ... 55

SEARCH PARAMETER -A ERROR ... ~ ... 56

LAS LINKER AND RELINK OPTION ... 56

680 1 ASM BANNER ... 56

68000 PASCAL PUBLIC PROCEDURES ... 57

6800 ASSE~,fBLER & BLOCK STATEMENTS ... 57

MISSING ~fAN INFORMATION ... 57

8086/88 PASCAL POINTERS ... 58

68000 ASSE~fBLER SIIORT BRANCH ... 58

68000 and Z8000 PASCAL TYPE EXPRESSION ... 58

PASCAL LDE AND PASTE AND CUT FUNCTION ... 59

PASCAL LDE AND LINEFEEDS ... 59

8086 PASCAL & PORT ASSIGN~fENTS ... 60

8086 PASCAL & GLOBAL NAMES ... 59

DISP COMMAND AND THE 8540 ... 80

LAS ASSEMBLER LO DIRECTIVE ... 60

EXAM REPEAT OF THE CURRENT LQCATION ... 80

PDB ERROR #22 ... 61

DISP OUTPUT DURING 68000 PDB ... 61

CRASH ,\\-'IIEN IU

=

NONEXISTENT PORT ... 62

LIBRARY CALLS WITHIN LIBRARY CALLS ... 82

STRING I/O LI~f1TATION IN 68000 PASCAL ... 62

NATI\rE PROG. TOOLS AND TRAP-l ... 63

68000 ~fOVEC INSTRUCTION ERROR ... 63

ACE EDIT OF READ ONLY FaES ... 63

USER GROUP LIBRARY ABSTRACTS ...

65

3D &, 3Dl - 4105 GRAPlDCS DEMO DISPLAY ... 65

4105DEFINES.l1 - C DEFINE LmRAAY ... 65

BOX - DISPLAYS GRAPlDCS CHECKERBOARD ON 4105 ... 65

COMI - NEC TO TEK ASSE~mLER CONVERSION SCRIPT ... 66

DEBUG.HELP - DISPLAY DEBUG HELP SCREEN ... 66

DNLD - TEKHEX DOWNLOADER PROGRAM ... 66

ENCODE - 4105 PROGRAMJ\flNG UTII.ITY ... 66

FRACTION - CONVERT FLOATING POINT TO FRACTION ... 67

GCAT - CAT TO 4105 GRAPHICS SCREEN ... 67

HILBERT - 4105 COLOR TER~nNAL GRAPmCS ... 67

HP - HE\VLETT PACKARD CALCULATOR SIMULATOR ... 67

IDM -FOR~fAT DISK READER ... 68

IGE - INTERACTIVE GRAPlDCS EDITOR ... 68

INTEL~f - CON\'ERT INTEL.OBJ TO TEKIIEX ... 68

LINES - 4105 GRAPIIICS DEMO ... 69

LIST· LISTING HEADER FORMATTER ... 69

LPIR • MODIFIED PRINTER SPOOLER ... 69

MAINT - MAIL LIST MAINTENANCE PROGRAM ... 69

MVUL - RENAME UPPER TO LO\\'ER CASE FILE NAMES ... 69

PICTURES.DIR - DIRECTORY OF 4105 GRAPmCS PICTURES ... 70

REFORM· CORRECT NL • CR/LF SEQlJENCES ... 70

R~fD - MODIFIED RE~fOVE CO~NAND ... 70

UNIX

<->

RT-l1 FILE I/0 PACKAGE ... 70

SETCOLOR - MODIFY 4105 CHARACTER/BACKGROUND COLORS ... 71

• ii •

(4)

SIERPINSKI -4105 COLOR TERMINAL GRAPllCS DEMO ... 71

TELEX -SPECL~ CllARACTER F'ILTER ... 71

THEX -"'1IlTES~:nTH'S OBJECT TO TEKHEX CONVERTER ... 71

TREE - PRINT TREE STRUCTURE OF A DIRECTORY ... 72

TTAllliLP - DISPLA)' TTA lIELP SCREEN ... 72

UMODEM -UNIX

< - >

OP

/r..f

MODEM CO~fMUNICATIONS ... 72

XT AB - E.."'\J> AND 1'ABS FIL TER ... 73

- III -

(5)

USER GROUP NEWS Issue 3 - Vol 2 PRODUCT INFORMATION

PRODUCT INFORMATION SECTION

TEK INTRODUCES THE 6140 DEVELOPMENT SYSTEM

The 6140 from Tektronix is a complete software and hardware Microprocessor Development System for one or two users. The 6140 consists of the 8561 (two-user s/w development station), the 8540 Integration Unit, the new Tek 4105M Color Graphics Terminal and a complete support package for the microprocessor of your choice. Also, this quality system comes standard with Tek's ColorKey+ User Interface which makes designing with the 6140 an enjoyable and productive experience.

The 6140 is offered for the Z80, 8085, 6800, 6802, 6809 and NSC800 microprocessors.

NOT JUST AN 8 BIT SYSTEM

The 6140 can support all of Tek's s/w and emulation packages. These support packages include the 8086/88, 80186/188, 68000/008/010, Z8001/2, 9989/9900 and more.

COLORKEY

+

USER INTERFACE

ColorKey+ is a special color user interface for the 8560 and 8561 Multi-User Microcomputer Development Sys- tems. Its advanced use of color coding and other graphics features provide you with an exceptionally fast learning curve and a valuable reference tool. ColorKey+ is a standard part of the 6140 TNIX V2.0 operating system, and is designed primarily for use with the Tektronix 4105M Color Terminal, although many of its features are oper- able on other terminals.

COLORKEY+

Color has a strong and proven track record for bringing increased productivity to computer-based user interfaces.

The benefits of coding displayed information in color fall into three main groups. First, color allows quick discrimination between different types of displayed data. Second, color reduces the chances of error due to misin- terpretation. Third, color reduces user fatigue.

December 1983 TEKTRONIX

(6)

MDP PRODUCT INFORMATION Issue 3 - Vol 2 USER GROUP NEWS

ColorKey+ takes advantage of the intensive ergonomic research conducted at Tektronix and other research sites to determine the optimum application of color to man/machine interraces. The overall ColorKey+ display is sub- divided into specific runctional areas, each with color coding geared to optimize user interaction. For instance, the user's work area is coded with white characters on a blue background to clarify the text, minimize glare prob- lems and reduce eyestrain. The soft key labels use black characters on a yellow background for quick reference and easy readability. TNIX messages use red since this color demands immediate attention.

COLORKEY+

ColorKey+ uses a "programmed key" format that simplifies command entry and keeps the number of required keystrokes to an absolute minimum. The user is presented with a set of" current key labels" across the bottom of the display that are associated with eight "soft" keys on the keyboard. Further, the soft key system is arranged in a hierarchical manner for simple and systematic access to all the 856X's soCtware development and debug tools.

For instance, the top layer of the hierarchy presents current key labels to select the major tools within the syfr tern. Once a tool has been selected, the next layer presents key labels naming the major functions oC the tool.

The next layer might define specific operations within a selected function. In this manner, each user has a simple, self-explanatory path through the entire system.

Also, ColorKey+ adds an extra level of intelligence to the soft keys which makes user interaction faster than ever.

\Vhenever you are prompted for a command parameter, ColorKey+ retains your input. The next time you use the command, your last parameter entry will appear as one of the function keys. You now have the option of using the function key or typing in a new parameter, if needed.

COLORKEY+

A good user interface lets you start work on a design project with no advance knowledge of the microcomputer design system. A better interface teaches you the specifics or the system while you interact with it. The best interface allows you to freely intermix interface commands with actual system commands. This way, you benefit from the tutorial aspects or the user interface, but can opt for the efficiency of system commands at any time you wish.

ColorKey+ gives you all these ca.pabilities. For instance, ir you are entering commands via the user interrace keys, ColorKey+ will display the actual TNIX commands that would perform the same operations. AB you become more familiar with the command set, you can enter TNIX commands at any time to interact directly with the system, and also use ColorKey+ when you need to.

8561 Software Development Station

The Tektronix 8561 Software Development Unit provides a powerful and complete set of microcomputer design tools to the smaller design team while accommodating ruture expansion through a simple, cost-effective upgrade path. The basic 8561 fully supports two workstations, which may be either standard CRT terminals or Tektronix 8540 Integration Units designed specifically to handle hardware/software integration tasks through real-time emu- lation. Through a series of upgrade options, this basic package can be expanded to accommodate up to eight wor kstations.

The basic version of the 8561 includes an LSI 11/23 IS-bit processor, 256Kb oC RAM, 13.6 Mb hard disk storage, 1 Mb of flexible disk storage, two user ports and two line printer ports. This basic system can be easily upgraded within the same mainframe to up to eight user ports and 35.6 Mb oC hard disk storage and 1 Megabyte oC main memory.

All versions of the 8561 run under TNIX*, an exceptionally powerful operating system derived by Tektronix Crom Bell Laboratories' UNIX··. TNIX is dedicated specifically to supporting the microcomputer design process.

8540 INTEGRATION UNIT

The 8561 is designed for easy interCacing with the Tektronix 8540 Integration Unit, which provides real-time emu- lation for the entire range of Tektronix 8-bit and IS-bit chip support. The 8540 comes standard with 641( of user memory when ordered as part of the 6140 system. Code developed on the 8561 is downloaded to the 8540's pro- gram memory, up to 256K, Cor execution on the emulator processor. Execution takes place under control of powerful debug software, and the resulting data can bepassed to other TNIX commands Cor additional processing.

For in-depth analysis of real-time code execution, an optional Trigger Trace Analyzer includes sophisticated triggering to capture program flow in a high-speed memory buffer .

• TNIX is a. registered tradem&rk of Tektronix

**

UNIX is a. registered tradema.rk of Bell Laboratories

2 TEKTRONIX December 1983

(7)

USER GROUP NEWS Issue 3 - Vol 2 MDP PRODUCT INFORMATION

Bob Ferguson, Product Marketing Manager

HIGH-LEVEL LANGUAGE FOR 6140

To further support the 6140 Development System, ~IDL/u, Modular Development Language for Micros, is now available on the 8560 for 8-bit microprocessors, 8080, 8085, and Z80/NSC800. MDL/u, based on the BASIC language, has been expanded specifically to support microprocessor-based product development.

The extensions include:

" • Direct access to I/O ports and addresses

• Interrupt handling

• Modularity Features - Separate compilation of modules and combination with assembly language modules

• Procedure definition to execute an algorithm as well as function definition to return a value

• Extensive support for manipulation of strings

• Logical operations on integers as well as shift and rotate operations for bit manipulation

• Descriptive variable names

We are offering two products on the 8560/61 development systems: MDL8085 for 8080/8085 and MDLZ80 for Z80/NSC800.

Included with the ~'IDL/u product is a Class C program, Rational, which provides program execution constructs for MDL/u. It runs as a preprocessor to the MDL/u compiler. See the following article, RATIONAL PROGRAM- MING LANGUAGE.

Marilyn Hanson, MDP Product Marketing

RATIONAL PROGRAMMING LANGUAGE

A NEW

8

BIT DEVELOPMENT LANGUAGE FOR THE 8560(1)

Tektronix is announcing the availability of the Rational preprocessor for the Modular Development Language compiler (MDL/u). The preprocessor and the compiler are available for the 8560 and 8561 develop- ment systems. The source for the libraries will be provided to allow the user to tailor the language implementa- tion to the needs of the design. \Vhile floating point capability is not provided, extensive support is provided for:

• the manipulation of strings (up to 255 characters long) including string arrays,

• 8 bit and 16 bit integers and integer arrays including boolean operations,

• interrupt handling,

• and direct access to I/O and memory.

Separation of code, constants, and variables provides prototype configuration capability. Code generated may be easily combined with code generated from assembly source.

Since the control constructs of MDL/u are somewhat limited, we have developed a preprocessor called Rational.

Rational provides complete set of execution control constructs as well as other enhancements that will be described later. Rational produces MDL/u source which subsequently can be used with the 8080, 8085, Z80, and future versions of MDL/u.

De cern ber 1 g83 TEKTRONIX 3

(8)

MDP PRODUCT INFORMATION Issue 3 - Vol 2 USER GROUP NEWS

Why another High Level Language!

What makes a high level language suitable or desirable as a code generating tool for a microprocessor design? The following is an outline of some of the more important features that make a high level language useful as a code generation tool.

FITS TEAM DESIGN METHODOLOGY 1. Modularity

2. Self Documenting

o Obvious language - Not Convoluted 3. Support Structured methodology

ADAPTS TO A \VIDE RANGE OF APPLICATION ENVIRONMENTS 1. Robust Environment Support

2. Prototype I/O Does Not Require Extensive Coding Support 3. Development System I/O supported

4. Easy to configure to prototype memory configuration 5. Easy to configure to prototype i/o configuration 6. Interrupt structure support

ADAPTS TO ~lIXED METHODS OF CODE GENERATION 1. Easy to combine with assembly language generated code 2. Easy to combine with custom libraries

3. High level language generated code can call asm. level generated code 4. Assembler generated code can call high level language generated code

EASY LANGUAGE IMPLE~1ENTATION

1. Fundamentals of the language are well understood 2. Extensions are easy to learn

3. Dual Language programming interface 4. Recursion supported

5. Function and procedure calls 6. Effective code execution control

o For

o While do and do while o repeat until

o case

o If then else

EFFECTIVE USE OF CHIP RESOURCES 1. Optimization

2. Only required library elements loaded

3. Library Source supplied for implementation optimization

4 TEKTROI'UX December IQS3

(9)

USER GROUP NEWS Issue 3 -Vol 2 MDP PRODUCT INFORMATION

BROAD BUT NOT A LHvIITING LIBRARY SET

LIBRARY ELEMENTS MAY BE EASILY REPLACED WITH ELEMENTS ~10RE FOCUSED ON THE NEEDS OF THE PROJECT.

The following text describes the Rational language interface to the Modular Development Language.

RATIONAL LANGUAGE DESCRIPTION

Rational is MDL/u except for one aspect. Since control flow is central to any program, regardless of the specific application, the primary task for Rational is to conceal this part of MDL/u from the user, by producing decent control flow structure.

THE IF STATEMENT

The standard construct. if a condition is true, do a group or things for example if

(x >

100)

{print" error: x

>

100" ; err= I}

can't be implemented directly in MDL/u. Instead a programmer must translate this relatively clean thought into MDL/u as follows:

10 IF (NOT (x

>

100)) THEN 40 20 PRINT" ERROR: x

>

100"

30 err = 1 40

When a program doesn't work, or when it must be modified, this must be translated back into a clearer form before one can be sure what it does.

RATIONAL eliminates this error-prone back-and-forth translation. A group of statements can be treated as a unit by enclosing them in braces" {" and"}" in Rational. This is true throughout Rational: wherever a single statement may be used, there can be several enclosed braces.

Rational is a tree tormat language: statements may appear anywhere on a line, and several may appear on one line if they are separated by a semicolon.

THE ELS E CLAUSE

Rational provides an else statement to handle the construct ir a condition is true, do this thing, otherwise do that thing.

if (a<b)

{sw=O; print a, b}

else

{sw=l; print b,a}

This writes out the smaller of a and b, then the larger, and sets sw appropriately. The syntax

ot

the if statement

IS

if (legal MDL/u condition) Rational statement else

Rational statement where the else part is optional.

December 1983 TEKTRONIX 5

(10)

MDP PRODUCT INFORMATION Issue 3 - Vol 2 USER GROUP NEWS

NESTED IFS

Since the statement rollowing an ir or and else can be any Rational statement, this leads immediately to the possibility or another ir or else As a userul example, consider this problem: The variable"

r

is to be set to -1 ir

"x" is less than zero; to

+

1 ir "x" is greater than 100, and to 0 otherwise. Then in Rational, we write:

ir (x

<

0)

r=-1

else if (x

>

100)

r=+1

else

r=o

In general, the structure ir ( ... ) else if ( ... ) else if ( ... ) else

provides a way to specify the choice of exactly one of several alternatives.

THE SWITCH STATKMENT

The switch statement provides a clean way to express multi-way branches which branch on the value of some integer-valued expression. The syntax is:

switch (expression) { case exprl:

statements case expr2, expr3:

statements

deCault statements

Each case is Collowed by a list oC comma-separated integer expressions. The expression inside switch is compared against the case expression exprl, expr2, and so on until one matches, at which time the statements following the case are executed. If no cases match the expression, and there is a derault section, the statements with it are done; if there is no derault nothing is done. (Those familiar with C should beware since the behavior is not the same as the C switch).

THE WHILE STATEMENT

RATFOR provides a while statement; which is simply a loop: while some condition is true, repeat this group or statements. For example:

i

=

1

while (i

< =

100) {

i=i+l

}

6 TEKTRONIX December lQS3

(11)

USER GROUP NEWS Issue 3 - Vol 2

This routine will function similarly to the MDL/u statements FORI = 1 TO 100

NEXT I

The syntax of the while statement is while (legal MDL/u conditional)

Rational statement

THE FOR STATEMENT

MPP PRODUCT INFORMATION

The for statement is another Rational loop, which attempts to carry the separation of loop - body from reason for looping a step further the the while. A for statement allows explicit initialization, extent, and increment steps as part of the statement. For example:

for (1=1; 1<=100; 1=1+2) ...

Is equivalent to i=O

while (i<=100) { ...

i=i+2

}

or the MDL/u source

FOR 1= 0 to 100 STEP 2

NEXT I

However the Rational for statement is not a MDL/u FOR statement. The MDL/u FOR is not supported in Rational.

The syntax of the for statement is for (init; condition; increment)

Rational statement

The init, condition, and increment parameter may be omitted but the semicolons";" must be present. A non- existent conditional is always true, so for (;;) is a loop forever.

THE REPEAT - UNTIL STATE:MENT

There are times when it is necessary to have a loop that tests at the bottom after one pass through. This is done by the repeat - until statement.

repeat {

RATIONAL statement } until (conditional)

December 1983 TEKTRONIX 7

(12)

MDP PRODUCT INFORMATION Issue 3 - Vol 2 USER GROUP NEWS

THE RETURN STATEMENT

The standard MDL/u mechanism for returning from a. function or procedure is to branch to either prend or frend. If a value is returnable by a function it must first be assigned to the function name and the branch to frend. The Rational return statement provides these runctions. For example

deffn fact (arg) if (arg<=l)

return (1) else

return (fact(arg-l)*arg) fnend

produces the MDL/u source 10 DEFFN FACT (ARG)

20 IF (NOT (ARG<=l)) THEN 50

30 FACT=1

40 GOTO 70

50 FACT = FACT(ARG-l)*ARG

60 GOTO 70

70 FNEND

In the case of a procedure a return does the following:

defpr proc( arg)

return pread

generates this MDL/u source 10 DEFPR PROC(ARG) 20

xx GO TO xx+l xx+l PREND

The last statement in either a function or procedure must be a return.

DEFINE STATEMENTS

Any string of alphanumerics can be defined as a name; thereafter, whenever that name occurs in the input it is replaced with rest of the line. define is usually used to create symbolic parameters:

define MAXLEN 256

INCLUDE STATEMENT The Statement

include test.r

inserts the contents of the file test.r into the Rational inpllt in place of the include statement.

8 TEKTRONIX December 1983

(13)

USER GROUP NEWS Issue 3 - Vol 2 MDP PRODUCT INFORMATION

BREAK AND NEXT STATEMENT

RATIONAL provides a statement for leaving a loop early, and one for beginning the next iteration. break causes an immediate exit from the loop; in effect it is a branch to the statement after loop. next is a branch to the bot- tom of the loop, so it causes the next iteration to be done. For example this code will exit the loop if "j" is equal to HI.

define TRUE 1== 1 while (TRUE) { if (j==111)

break;

break and next also work in other Rational looping constructions.

break and next can be followed by an integer to indicate breaking or iterating that level of enclosing loop; thus break 2

exits from two levels of enclosing loops, and break 1 is equivalent to break. Next 2 iterates the second enclosing loop. (Realistically, multi-level break's and next's are not likely to be much used because they lead to code that is hard to understand and somewhat risky to change.)

TRANSLATION SERVICES

Any line beginning with"

%"

is passed through Rational unaltered. Otherwise the following translation occurs -

" -> " -"

" &&"

->

" and"

"

I I" ->

" 0 r"

" !="

-> "<>"

Anything preceded by a "@" is a comment and is ignored by Rational.

THOU SHALT NOTS

1. Imbed a ";" in a print statement and expect it to act like a MDL/u PRINT statement unless it is pre- ceded with a "%".

2. Use labels or any sort (especially line numbers).

3. Pass a character or string in a switch expression.

John Owens, Systems Applications Manager

December Hl83 TEKTRONIX g

(14)

MDP PRODUCT INFORMATION Issue 3 - Vol 2 USER GROUP NEWS

PASCAL LANDS NOW SUPPORTS 68010

TEKTRONIX PASCAL LANDS now supports the 68010 microprocessor. Version 2 or the 8560 Pascal Compiler Cor the 68000 (PAS68K opt lA) and Version 2 oC Pascal Debug Cor the 68000 (PDB68K opt lA) will be available to interCace to the 68XXX Emulator which supports 68000, 68008 and 68010. The VAX versions or Pascal 68000 and PDB 68000 will include this support at the time oC release.

The Integration Control System, included with the compiler, now accepts 68010 parameters as well as 68000 and 68008. ICS supports the relocatable vector table oC the 68010, allowing you to choose the location Cor the 68010's vector table.

Version 2 oC PDB68K will interCace to the new 68XXX emulator, (8300E36), with the 68000, 68008, or 68010 probe, as well as the 68000 emulator (8300E26), which was previously available. Version 1 oC PDB68K does not work with the 68XXX emulator, only with the 68000 emulator. Customers purchasing the 68XXX emulator or the 68000 to 68XXX conversion package should be sure to use Version 2 oC PDB68K.

Version 2 oC the Compiler also has improvements in the floating point run-time libraries to dramatically increase the execution speed oC the floating point operations.

CUSTOMER UPDATES

All U.S. and International customers under warranty (purchased since September 12, 1983) will receive the new version if they returned the Warranty Registration card, which identifies who is to receive it.

U.S. customers currently under Software Subscription Service for 8560 P AS68K, PDB68K or PLAN68K will receive the new versions automatically. U.S. customers not covered by warranty or SSS may obtain the new ver- sions by ordering the Software Subscription Service. International customers should contact the local distributor or subsidiary for information on software updates.

Marilyn Hanson, MDP Product Marketing

68000/68010 C-LANDS PACKAGE IS AVAILABLE FOR THE VAX

The Tektronix 68000/68010 C Language Development System (C-LANDS) is a software package which supports you throughout the entire software design cycle. 68000/68010 C-LANDS basically consists of four products:

• C Language Directed Editor (LDE)

• 68000/68010 C Compiler and the Integrated Control System (ICS)

• 68000/68010 C Debug

• 68000/68010 Assembler

A linker, library generator, lister, and cross reference lister are also included in the 68000/68010 C-LANDS pack- age.

Language Directed Editor

LDE combines the text manipulation functions of a general purpose editor with the syntax checking function of a compiler. LDE can check the syntax of your C program, thus saving you repeated compiler passes to remove syn- tax errors.

10 TEKTRONIX December 1983

(15)

USER GROUP NEWS Issue 3 - Vol 2 MDP PRODUCT INFORMATION

68000/68010 C Compiler and ICS Support

The Tektronix 68000/68010 C Compiler translates statements written in the C Programming Language into object code for the 68000, 68008 and 68010 processors. The Tektronix C Compiler implements the C Program- ming Language as described by Kernighan and Ritchie

*.

The C Oompiler package also includes a runtime library, standard I/0 library, IEEE floating point support, 68000 assembler subset, linker, library generator, and ICS the Integration Control System. The ICS system is specifically designed to automate the integration of the software written in C to the hardware configuration of the prototype. The ICS program uses a list of hardware and software configuration parameters contained in a prototype description ( ICS source file ) which is provided by the user. lOS generates the interface code and linker command file to provide memory configuration, interrupt han- dling, and interrupt and program initialization. An interactive ICSPrompter is also included to create the lOS source file.

68000/68010 C Debug

Tektronix C Debug is a real-time symbolic debugging tool for programs written in C. C Debug (CDB) allows the programmer to use C constructs to:

• Display and modify variables

• Control program execution

• Record and display debug information

The 68000/68010 C-LANDS package is available for VAX" 730/750/780/782 mainframes running VMS" 3.1+

or UNIX"· 4.1bsd. Each component of the C-LANDS package is also available separately.

Diane Wortsmann, MDP Product Ma.rketing

NEW MANUALS ORDERABLE

8086/80186 Assembler Specifics Users B Series _____________________ 070-3853-01 C 68000 Compiler Users for VAX/VMffi Host (PRELIM! ) _________________ 061-2892-00 C 68000 Compiler Users for VAX/UNIX Host (PRELIM! ) ________________ 061-2866-00 8560 Series System Ref Manual TNIX Version 2 ______________________ 070-4729-00 Pascal LDE Users Manual for VAX/VMffi _______________________________ 070-4854-00 Pascal LDE Users Manual for VAX/UNIX Host _________________________ 070-4855-00 8500 Series 68XXX Emulator Processor with _________________________ 070-4691-00

68000-A/68008/68010 Prototype Control

Probes Users

&

Installation Instruction Manual

8560 GPIB Interrace Service Manual ________________________________ 070-4475-00 Charlene Eason, MDP Customer Support

*

The C Progra.mming L~e by Bri.&n W. Kernighan a.nd Dennis M Ritchie

**

VAX a.nd YrvfS a.re tDdema.rlcs

or

Digital Equipment Corp.

*** UNIX is a. tra.denu.rk or Bell La.bora.tories

December 1983 TEKTRONIX 11

(16)

MDP PRODUCT INFORMATION Issue 3 - Vol 2 USER GROUP NEWS

KITS FOR VAX MANUALS

Following is a list of kits that are set up for VAX software manuals. The difference between these kits and just ordering the manuals separately is that the kits include all the manuals for the product. For example, the kit for VAX VMS Pascal 68000/08 compiler will get you the Pascal Language Reference Manual, the VAX VMS 68000/

08 Users Manual and the Pascal Users Manual and Report (Jensen and Wirth).

ICOM40 UNIX 020-1152-00 VMS 020-1186-00 PAS68K UNIX 020-1187 -00 VMS 020-1188-00 PDB68K UNIX 020-1189-00 VMS 020-1190-00 PLDEDIT UNIX 020-1191-00 VMS 020-11 92- 00 CCC68K UNIX 020-1157-00 VMS 020-1185- 00 ASM68K UNIX 020-1150-00 VMS 020-1183-00 ASMZ80 UNIX 020-1147-00 VMS 020-1180-00 ASM8086 UNIX 020-1149-00 VMS 020-1182-00 ASM8085 UNIX 020-1148-00 VM:S 020-1181-00 ASM6809 UNIX 020-1151-00 VMS 020-1184-00

Diane Wortsmann, MDP Product Marketing

12 TEKTRONIX December 1983

(17)

USER GROUP NEWS Issue 3 - Vol 2 MDP PRODUCT INFORMATION

Z8000 ASSE~fBLER VERSION 2.0

Version 2.03-09 of the Z8000 Assembler for the 8560 (ASMZ8K opt lA) was released August 17, 1983. Version 2.03-09 includes a virtual symbol table for user-defined symbols. To assemble code with large number of symbols, add a -b to the invocation line.

Customers under warranty (purchased the product gO days prior to revision release date) or who are subscribed to the Software Subscription Service will receive the revisions automatically.

Marilyn Hanson, MDP Product Marketing

8086 P ASCAL/PDB MOD

The Pascal Compiler (PAS8086 opt lA) and PDB (PDB8086 opt lA) for 8086/8088 have been revised to correct reported problems. These mods do not reflect any enhancements to support the full addressing of the processor.

Those enhancements will be included in the Version 2 release of the product scheduled for second quarter of 1984.

Customers under warranty (purchased product gO days prior to revision release date) or subscribed to the Software Subscription Service, will receive the revisions automatically.

The current version numbers are:

Product Version Release Date P AS8086 1.10-05 6-7 -83 PDB8086 1.11-00 8-16-83

Marilyn Hanson, MDP Product Marketing

MUGL - VOLUME II DISK RELEASED!

The second MDP User Group Library (MUGL) disk has just been released and copies may be obtained at no charge from your local sales office. This volume contains over 40 new application programs to run on your 8550/

61. There are lots of graphics pictures and utilities for the new 4105 color terminal, including an "interactive graphics editor" which allows you to easily create nice" color slides" on your terminal. A new disk reader utility allows porting IBM disk files to your 8560. A handy calculator simulator implements a powerful calculator for complex mathematic and business oriented problems. There is a complete mailing list database manager package which we use in MDP for handling the User Group News mailings. For additional information on these and many other new submissions, see the abstracts section of this issue.

MUGL is provided as a service to MDP users for collecting and distributing user contributed software for all Tek- tronix Microprocessor Development Products. The program works like this:

• All users are encouraged to submit their creations to MUGL, MDP Marketing, PO Box 4600 MS g2-635, Beaverton, OR 97075. All submissions will be considered and are made with the understanding that the software may be placed in the public domain. Please don't send your only copy, as we are unable to return any submissions, whether accepted or not. For your convenience, a software submission form is included in this issue and on each MUGL disk volume. We must have the author's name to consider a submission, but we will withhold it if you prefer not to be contacted by anyone .

• We will generally check out the programs, but no guarantees of any kind will be made. We prefer to have the object, source, documentation, and manual page (as applicable) submitted on a floppy disk, but we'll take whatever you have. If the program warrants it, we can add the documentation.

December 1983 TEKTRONIX 13

(18)

rvIDP PRODUCT INFORMATION Issue 3 - Vol 2 USER GROUP NEWS

• All accepted programs will be archived in MDP Marketing and as soon as we have enough to reasonably fill a disk, a new volume will be released. Copies of these disks will be available from your local field offices .

• Annually, we will provide a master listing and index of all MUGL software. Each volume will also include a catalog listing and summary of all software included on that disk.

Here's your chance to obtain lots of neat applications software, for free! However, we need your contributions to keep the program rolling, so send your programs in!

Greg Saville, Software Applications Manager

14 TEKTRONIX December 1 Q83

(19)

USER GROUP NEWS Issue 3 - Vol 2 MDP APPLICATIONS

APPLICATIONS SECTION

4105 TERMINAL RS-232 PINOUTS

The RS-232 pinout ror the 4105 Terminal is not in the user manuals, however it is in the service manuals (in very short supply right now). In the interim, here is the pinout:

- GND 2 - TXDATA 3 - RX DATA 4 - rts 5 - cts 6 - dsr 7 - GND 8 - DCD

11 -jumper selectable ror secondary rts (rs232a vs -c) 12 - secondary carrier detect

15 -t elk 17 - r elk

19 - secondary rts 20 - DTR

Only the pins listed in ALL CAPS are or concern ror connecting a. 4105 directly to an 8560. For 4105 to 8540, use pins 1 through 8, and 20 bussed straight across.

Greg Saville, Sort ware Applications Manager

December 1983 TEKTRONIX 15

(20)

MDP APPLICATIONS Issue 3 - Vol 2 USER GROUP NEWS

8086 PASCAL LIMITATIONS

The current version of 8086 Pascal, V 1.1, is being shipped with the 8500 Pascal Language Reference Manual rather than the 8086 Pascal Language Reference Manual that was shipped with V 1.0. A Technical Note was omitted from this manual stating the limitations of V 1 of 8086 as compared to 68000 Pascal and Z8000 Pascal.

The note should read:

Version LX of the 8086 Pascal has the following limitations:

• Constants of type ARRAY and RECORD are not available.

• Procedural and functional parameters are not available.

• The standard procedures PACK and UI\jP ACK are not available.

Version LX of 8086 Pascal also only supports 64K of code and 64K of data. Version 2, available second quarter of 1984, will support all the features as stated in the 8500 Pascal Language Reference Manual, as well as full memory support.

The 8086 Pascal Data Sheet is correct and a change notice sheet has been added to the manual.

Marilyn Hanson, MDP Product Marketing

8081 MACRO CORRECTION

In the current 8087 macro package, the opcode values for FDIVP and FDIVRP and for FSUBP and FSUBRP are reversed. To correct these bugs, the following lines must be changed:

Line Number New Line

--- ---

124 F.

-

STACK ' ST ( 1 ) , , 111 11

145 F.

-

STACK "'1"',11111

165 F.

-

STACK ' ST ( 1 ) , , 11 1 10

186 F.

-

STACK '''1''',11110

279 F. -STACK ' ST ( 1 ) , , 11101

300 F.

-

STACK '''1''',11101

320 F.

-

STACK '''1''',11100

341 F.

-

STACK '''1''',11100

Greg Saville, Software Applications Manager

16 TEKTRONIX December lQ83

(21)

USER GROUP NEWS Issue 3 - Vol 2 MDP APPLICATIONS

INCLUDING MATH LIBRARIES IN NATIVE C PROGRAMS

Including math libraries in C programs with the optional native C package is not automatic with the normal cc invocation. To gain access to the math functions, use the -1m option on the command line. The following exam- ple shows how t.o compile and run a short example using a square root function.

C program 'sqrt.c'

#include <math.h>

mainO { float i=2.0;

printf(" sqrt(2.0) =

%I\n"

,sqrt(i));

}

Compilation:

cc sqrt.c -1m Execution:

$ sqrt

sqrt(2.0)

=

1.414214 $

The -1m option is not documented under" cc" because it is a loader flag. Use" man Id" or see" Id" in section 6 of the TNIX System Reference Manual. When used with" cc" the -1m option must be at the end of the command line.

Greg Saville, Software Applications Manager

TNIX COMMENT LINES ARE NOT IGNORED

In a TNIX command file, a line may become a comment by preceding the text on the line with a ": " (a colon and a space). The content of a commented line however is still evaluated by the shell and then ignored. If the evalua- tion uncovers a problem, the execution of the command file will be terminated.

I don't want this line executed.

The above line in a command file will fail due to the" ,,, character in the line.

This feature is quite useful as the following example shows.

A command file that requires three parameters be passed to it

${1?} ${2?} ${3?}

MDL $1 $2 $3

If the command is invoked without all parameters being defined, the command file will fail and exit prior to exe- cuting the" mdl" command and will state which parameter was missing.

The TI\T]X manual section "Shell Programming" has a good description of other uses of the "S{variable - function - variable} capability.

The comment line "I don't want this line executed" can be used as a comment if it is enclosed in quotes as shown here. Thus;

: "I don't want this line executed"

will not create a problem in a command file.

John Owens, Systems Applications Manager

December 1983 TEKTRONIX 17

(22)

MDP APPLICATIONS Issue 3 - Vol 2 USER GROUP NEWS

ED AND ACE AND CHARACTERS> 177 OCTAL

Characters in a text file with the eighth bit set will conruse both the" ACE" and "ED" editors. Text transferred from other equipment sometimes has the eighth bit set.

To correct the file so that it may be edited use the following filter.

tr

I'

\201' -' \377']

I'

\001' -' \177'

I

<source >destination

All occurrences of characters with the eighth bit set will be replaced with characters in the normal ascii range.

John Owens, Systems Applications Manager

ICOM40 SHELL SCRIPTS FOR VAX

The following shell scripts may be or help to users running ICOM40 with VAX under UNIX with the Bourne or Cshell.

*** CSH scripts ***

enter:

set prompt = EM:

set tmppath = $PATH setenv ICOMSPEED g600 setenv ICOMPORT /dev/ttyib setenv ICOMRETRY 4

setenv PATH /e/cbase/tek/bin:/bin/icom40:$PATH exit:

portcu portcu

setenv PATH $tmppath unsetenv ICOMPORT unsetenv ICOMRETRY unsetenv ICOMSPEED unset tmppath

set prompt = : alias:

alias enter 'source - /lib/enter' alias exit 'source - /lib/exit'

*** SH scripts ***

enter:

tmppath=$PATH ICOMSPEED=g600 ICOMPORT= / dey /ttyib ICOMRETRY=4

PATH=/e/cbase/tek/bin:/bin/icom40:$PATH PS1=EM:

export ICOMSPEED ICOMRETRY ICOMPORT PATH exit:

portcu portcu

18 TEKTRONIX December 1983

(23)

USER GROUP NEWS

PATH=$tmppath

ICO~IPORT=

ICOMRETRY=

ICOMSPEED=

tmppath=

PS1=$

Issue 3 - Vol 2

export ICOMPORT ICOMRETRY ICOMSPEED PATH

MDP APPLICATIONS

Only one set would be needed ror anyone user. The only side effect that the sh script does is that once an environment variable is set, there is no way to unset it except to set it null, so ICOMPORT, ICOMSPEED, ICOMRETRY are all set but set null.

As you should know, the speed ror the ICOMSPEED, the port ror the ICOMPORT, the retry value ror ICOMRE- TRY, and the path names ror the icom40 package and the tek bin package are dependent on the specific users setup. The prompt characters may be anything the user wishes, this just lets them know they are in "emulator mode".

A similar setup could also be made ror the setup you are running on your system.

Victor Riley, MDP Engineering

8560 INITIALIZATION PROCESS EXPLAINED This explains how to startup the 8560 and what happens during the procedure.

1) With the HALT IRUN switch in the HALT position, turn both the AC power switch on the rear or the 8560 and the DC switch on the rront or the 8560 "on". The AC switch causes the AC ON light to be illuminated. The DC switch causes the green ON light to be illuminated. In a short while, the red led on the hard disk will be lit. This means the hard disk is up to operational speed.

2) Now move the HALT/RUN switch to the RUN position and push the RESTART switch up then release.

This action causes the LSI 11/23 processor to "jump" to address 773000 and start executing a program there. This ROM does the Initial Program Load (IPL). The ROM checks the system. If there are prob- lems discovered, an interactive portion or the ROM takes over and allows one to check the system rurther.

See the 8560/61 Installation manual ror more information about this process.

3) When the 8560 ROM gets through the system checkout, it then looks ror a floppy diskette in the drive to see ir it should load rrom it. If there is no floppy disk, the hard disk is checked. What the ROM is looking ror is a block zero "boot" block. This 512 byte program on either the floppy disk or hard disk is loaded into 8560/61 memory at address O. At which point the ROM" jumps" to address 0 and that program is executed.

4) Should block zero not exist on either the floppy disk or hard disk, the ROM takes this as an error and again goes into an interactive mode so the user can take some action (like calling service). When block zero is loaded correctly, it will take one

ot

two actions. If a floppy disk is used (must be the STANDALONE diskette) the message "rbr filename to boot>" is printed .. The user would then enter a valid STAN- DALONE command (see the 8560 Reference Manual, section 8, STANDALONE). If one is trying to IPL off or the hard disk, the block zero program will load the" /tnix" file. If this file cannot be round on the hard disk, the block zero program will print the message "filename to boot>". Note the lack or "fur". The block zero program is giving the user a chance to enter a filename other than "/tnix" in which to load. If this occurs, the file "/tnix" cannot be round and this is considered a good time to restore the 8560/61.

Should this be the case, see the 8560 System Users Manual, section 8.

5) Now that" /tnix" is loaded, control is passed to it. TNIX will start off the "swapper" routine as process 0 and" /etc/init" as process 1. "/etc/init" then does many housekeeping chores, one or which is to execute

"/bin/sh" with the command file" /etc/rc". What is nice about this is, "/etc/rc" can be modified by the system manager to customize the system to specific needs. "/etc/rc" allows the user to run" syschk", but to NOT make changes (only STANDALONE "syschk" will permit changes). The programs" /etc/update"

and ir on the 8560/61, "/etc/cron" are also started at this time. That is why the user MUST not skip through" /etc/rc"; this process might not be started (see the 8560 System Rererence Manual, section 8,

December Hl83 TEKTRONIX 19

(24)

MDP APPLICATIONS Issue 3 - Vol 2 USER GROUP NEWS

about "/ete/update" and" /etc/cron"). "/ete/rc" will also "mount" any additional hard disks for you (something like - "/ete/mount /dev/hdl /usrl"). "/etc/init" will make multiple copies of itself; one" /etc/

init" for every tty device. This is done by reading the" /etc/ttys". The first column contains either a 1 or

o.

The 1 means the tty device is a "login" port. The 0 means the tty device is not a "login" port and therefore do not spawn an "/ete/init" for that tty device. The" /etc/init" is what controls eaeh port on the 8560/61. The second column in "/etc/ttys" will be used by "/etc/getty" for the default terminal speed (see: 8560 System Reference Manual, section 8, on the" getty" process).

6) "/etc/getty" sets the default terminal speed used and sends the "Login: " message to the terminal. At this point, the user enters a correct user name (or incorrect if you like) and if there is one, will prompt for the password. Should there exist a Message Of The Day (MOTD), the file" /etc/motd" is sent to the terminal.

MOTD is good for broadcasting messages of general interest to all users. The login process will invoke the program" /bin/sh". This is the program that allows TNIX the machine to work with YOU the human. The

"shell" program can do many things for the user and I suggest one read the 8560 System User Manual, sec- tion 5 for more inCormation. Next the file" /etc/profile" is executed. This file, should it exist, is good for issuing commands to every user who logs in to the 8560. It might, for example, print the" date" for every one who logs into the 8560. Once the" /etc/profile" has completed, the" /usr/usernamej.profile" is exe- cuted. Every user may have their own profile command file to customize the system to their needs.

".profile" might contain commands to program a terminal for special uses. Others might have it print all the current users on the system.

Doug Roberts, Washington, D.C. Field Office

DELAYED EXECUTION OF COMMANDS

One of the 856x's more useful features is the ability to do tasks at some later time, usually in the middle of the night. This is generally accomplished by the use of the 'at' command (part of the Auxiliary Utilities Package).

Users may find it difficult to keep track of all the different jobs. Use a command file (/usr/byronl/.later) to put all "later" tasks into a single place:

20

: this file executes every day at 5 AM under control of at set 'date'

: the following commands are executed every day cp SHOME/calendar $HOME/cal.backup case $1 in

Sat) Sun}

uucp /usr /byronl/logfile red!/public/logfile;;

cd /usr /spool/uucp cp LOGFILE .LOGFILE cp SYSLOG .SYSLOG

>LOGFILE

>SYSLOG;;

Mon) echo "S~nd Status Report Today" Imail byronl;;

esac sleep 360

Tue};;

Wed};;

Thu);;

Fri};;

TEKTRONIX December Ig83

(25)

USER GROUP NE\VS Issue 3 - Vol 2 MOP APPLICATIONS

at 500 /usr/byronlf.later

Arter the file is created, just start it with the command 'at 500 .later'. Thereafter, the command file will execute each day at 5 AM, execute the commands specified for that day, and re-install itself to run again the next day.

Byron Lunz, MDP Customer Support

LDE HELP SCREEN FIX

The Ide help graphics screen neglects to display the function key f5 for the UNDO command. The following sequence will correct this omission.

Login as root:

Make a temporary copy of the file:

cp /usr /lib/lde/lde.4105.init /usr/lib/lde/temp Run Ide on this temp file:

Ide /usr /lib/lde/temp

[line feed key] - (parameter entry mode) F5 - (search string)

[f4 key] - (find it)

Now edit the string: Sparam A]h to: 8param f5 A]h

(Notice the space in the new string, it is important. Also, Ide will respond much slower than you are used to since you are editing very long lines!)

[f2 key] - (write out the new file) [F2 key]- (exit Ide)

Test new file:

cat /usr /lib /Ide/temp (press dialog key and verify help screen is correct) Rename original file and keep for backup:

mv /usr /lib/lde/lde.4105.init /usr/lib/lde/4105.init.old Put new version in place:

mv /usr/lib/lde/temp /usr/lib/lde/lde.4105.init Greg Saville, Software Applications Manager Jim Willey, Santa Clara Field Office

December Ig83 TEKTRONIX 21

(26)

MDP APPLICATIONS Issue 3 - Vol 2 USER GROUP NEWS

NULL TER~lINAL FOR REMOTE 8540/PDB USE

An earlier issue of User Group News mentioned the fact that when running PDB on a remotely accessed 8540, (i.e terminal-8560-8540) a terminal or null-terminal connector was still required on the 8540 terminal port. This is required whenever the application program uses 8540 SVC calls to communicat.e with the console CONI and CONO devices. The following null terminal connector can take the place of the extra terminal.

• Obtain a 25-pin male RS-232 type plug and connect the following jumpers:

• pin 2 to pin 7

• pin 4 to pin 6

• pin 8 to pin 20

This setup, although not official, has been found to work in MDP Marketing. Feedback on field use would be appreciated.

Greg Saville, Software Applications Manager

8086 PASCAL NE\V /DISPOSE PATCH

There is a problem with the new/dispose command in 8086 Pa.scal V01.10-05. Until the next revision, the follow- ing patch will correct the problem.

• Using lstr or symbolic debug on the final load file, exa.mine location" smalldynqq+OE4" and change it from 72H to 76H.

Greg Saville, Software Applications Manager

USING TEK PLOTTERS \VITH 8560

Tek 4662 plotters may be attached to an 8560 to draw 4010-style pictures. User Group Library Abstracts contain a list of pictures for a 4105, many of which are in 4010 format.

The plotter, in our configuration, is assigned a dedicated RS-232 line (tty7 in this case). The file / etC/ttYB is configured to disable logins by changing the first digit for the respective tty entry to a zero. The tty line should also be publicly accessible and configured for 1200 baud. The following steps illustrate the above procedure (assumes user is root):

ed /etc/ttys /tty7/p s(./O/

w q

chmod a+rw /dev/tty7 stty 1200 >/dev/tty7

The plotter's switches are set to the following settings: A = 3, B = 3, C

=

2, and D

=

3. Arter the plotter has been turned on, drawing a 4010-style picture is as simple as:

$ cat pict.ure > /dev /tty7

22 TEKTRONIX December 1983

(27)

USER GROUP NEWS Issue 3 - Vol 2

MDP APPLICATIONS

which results in the rollowing display:

Example of Tektronix Plotter Display

Mon Li Tang, Rainer Wieland, MDP Engineering

December 1983

TEKTRONIX

23

(28)

MDP APPLICATIONS Issue 3 - Vol 2 USER GROUP NEWS

SET USER ID ON EXECUTION

There has been some confusion about the file protection attributes and the use of set user id on execution. This apnote should help clear up any confusion and provides an example to work from which can be adapted for your applications.

There are times when you would like to allow users to execute an application program, but not let them read the actual file. There may be sensitive information in the program that you don't want them to see, but you still want them to be able to execute the file. Your first thought might be to chmod the file to 711 (-rwx--x--x) and chown to root. This appears to permit execution by anyone, but only the owner (root in this case) to read or write the file. If you set up a shell script in this fashion, "others" will get a -sh error message stating: cannot open. This is because they don't have read access to the file. A second attempt might be to chmod the file to 4711 (-rws--x--x) to set the user id to root privileges upon execution (documented under "man chmod"). Again, you will find this doesn't work. \Vhat is not clear in the documentation is that the set user id bit applies only on executable binary files, not shell scripts. Fortunately, there is an easy way to allow protection of a shell script application. All you need to do is create a short C program which calls the shell script for execution. Consider the following example:

Our shell script application program will be called" script" and consists of the following:

: script - sensitive info

: We may have some sensitive data in here that we don't : want anyone to see, either in comments or in the actual : commands. For this example, just a simple command string:

Is jusrjbin

I

wc -I

To try this example, create (as superuser) the "script" file in jusrjbin and "chmod 700 script". Next, "chown root script" . This makes the file unreadable by anyone except the owner, root.

Now we need to create a C program which will execute this program with root privileges. Edit the following file in jusr jbin and call it "countem.c":

main() {countem. c}

{

system{" jusr/bin/script");

}

Compile this program with: cc countem.c -0 countem. Now set the file attributes with" chmod 4711 countem"

and "chown root countem". This allows all users "execute" status for the "countem" command with root privileges upon execution. Test by entering" countem". This will be executable by anyone, however no one (except root) can look at the "script" file to see what it contains.

To summarize, you cannot simply set execute (--x) privileges on a shell script, the user must also be able to ~ead the file in order to execute it. The setuserid (chmod 4XXX) is not meant to work on shell scripts, only executable binary files. Lastly, it is possible to setuserid on a shell script by calling the script from a C program which has the appropriate permission attributes setup as outlined above.

Greg Saville, Software Applications Manager

24 TEKTRONIX December 1983

(29)

USER GROUP NEWS Issue 3 - Vol 2 MDP APPLICATIONS

CREATING A BLACK 4105 SCREEN BACKGROUND

There may be some of you with 4105s and 4695 color copiers that get tired of waiting for the copier to print the blue background of the screen. What follows is a quick fix that will set the default background color to black, which will be transparent when copied. It is possible that there are programs that will reset the screen color to blue; however, this does work with ACE and LDE.

Login as root cd /usr /lib/tabset cp 4105 410.5.0Id ed 4105

Make a backup of 4105.

DO NOT use the editor" p"

command! This file contains 4105 commands and will reset your terminal if you use "p". Use "1"

instead of "p" if you have to display the contents.

s/TF430B3F4/TF43000/ Set dialog color 3 to black.

w q

Anyone who logs in after this will get a black background instead of blue. This is a global change; that is, every- one on the system must have either a black or blue screen.

Barbara Zanzig, MDP Training

UUCP PATCH FOR SYSTEM NAME

Those of you who have been using uucp to send mail to remote systems may have noticed that the sending syfr tern is always called "sneezy", rather than the system name defined in whoami.h. The name "sneezy" was hardwired in the compilation of mail. The fix is easy, simply use the patch utility program (available on TNIX MUGL Disk Volume I) and patch in your own system name using the following procedure:

Login as root and make a backup copy of mail:

cp /bin/mail /bin/mail.orig Run the patch utility:

patch -w /bin/mail

Using the prompts in the patch program, display buffer 105 and determine the address of the string "sneezy" fol- lowed by an ascii null (hex 00). Patch your own system name on top of sneezy and be sure to end it with a null.

Make sure you don't patch over anything other than" sneezy", ie. don't use a system name longer than the six bytes already allocated. If you choose a shorter name, make sure you end it with a null (hex 00) byte. Write the patch out using the write option of patch and exit.

The uucp installation makes a link from /bin/mail to /bin/rmail. Using" Is -Ii /bin/*mail*", verify that mail and rmail are indeed the same file with the same inode number.

Login as a regular user and test by sending some remote mail. If all is well, your system will now be known by its proper name.

Greg Saville, Software Applications Manager

December 1983 TEKTRONIX 25

(30)

MDP APPLICATIONS Issue 3 - Vol 2 USER GROUP NEWS

CU -V~1S FILE TRANSFERS

The cu command as supplied with the" unicorn" communications option can be used to transfer files to or from a VA.X/VMS system.

Three files are required; two on the TNIX system and one on the VAXfVMS system. The first file on the 8560 is called "sendit" and it in turn calls the second file called" transmit" which uses the 8560 source file as standard input.

Command file Description

The" sendit" command file echos the command to create a file and accept input to the file. "transmit" is then called to read t.he source file line by line and output the lines ( to the host ). When the file has been transferred, the command file sends a control D to complete its function.

The TNIX file" sendit" contains:

echo " CREATE $2"

transmit <$1 echo"

The TNIX file" transmit" contains:

while read AA

II

exit

do echo $AA done

The VMS file" SEND.EXE" contains:

$ ! send a file to the 8560

$ ! [@SEND.EXE "VMSsourcemame" "8560destname" ]

$ \VRITE SYS$OUTPUT""

$ WRITE SYS$OUTPUT ,,- >:" 'P2'

$ TYPE 'PI'

$ WRITE SYS$OUTPUT" -

>"

File Transfer Methods

When the above files are created, files can be uploaded or downloaded as in the following commented examples:

• VMS to TNIX while in cu to a VMS host

••

Th e VMS p romp t i s a "$"

.*

Show the current ,~ directory contents:

$ DIR

SRCFILE.TXT

$

.*

The current

TNIX

directory contains:

$ - ! I s

.*

This command goes to the 8560

uploadtest

$

$ @SEND.EXE SRCFILE.TXT ~OADTEST

26

TEKTRONIX

De c emb e r 1 9 83

(31)

USER GROUP NEWS Issue 3 - Vol 2 rvIDP APPLICATIONS

->:D~VNLOADTEST.. Sent by ~

> •• Sent by

VM5

•• Text transfer is not visible

•• Note, the rile 8560 name created will be upper case.

$

• TNIX to VMS while in cu to a VMS host

$

$ -Ssendit uploadtest dest.txt

CREATE DEST.TXT.. Sent by TNIX to ~

$ DIR DEST.TXT

$- ! I s

IXMNLOADTEST

$

• • Th e t ext i n t h e f i lew i I I a p pea r her e

•• The ~ file name will be uppercase

•• The ~ directory now contains:

SRCFILE.TXT

•• The TNIX directory now contains:

uploadtest

NOTE, •• <text> is a descriptive comment that does not appear In use.

The file downloaded to the TNIX system will contain a blank line between each text line sent.

John Owens, Systems Applications Manager

ACE AND LDE SUPPORT FOR VT100 TERMINALS

Following are copies of configuration files for ACE and LDE. A keypad layout is attached for LDE on the DEC VT100 family of terminals connected to the 8560. Keep in mind that one of the requirements for ACE is the insert/delete character/line capability on a terminal and that is not supported on all DEC terminals. The follow- ing terminals are in the VT100 family:

• VT100 -- Works with LDE. Requires advanced video option to give the above insert/delete edit capability for ACE. If the terminal has the printer port option then it also has the advanced video option. The printer port is an extra RS-232 connector located in the middle of the back access cover.

• VTI0l -- Works with LDE. The vtl01 has no functional upgrade options. Since you cannot add the advanced video option, ACE will not work.

• VTI02 -- Works with LDE. The a.dvanced video features are built in so ACE will run with no other options required.

There are many VT100 'look-alikes' that mayor may not run with KSH and these editor configuration files. Con- sult the ACE and LDE manuals for a list of the minimum terminal capabilities required to run these editors.

A disk is now available from your Tektronix Application Engineer containing ACE and LDE configuration files for other terminals (" ACE & LDE Configuration Library"). The following terminals are currently on the disk:

Ann Arbor Ambassador ACE

Cybernex XL87 ACE LDE

Dec VT100 ACE LDE

General SWlO ACE

lIP 2465 ACE

December Ig83 TEKTRONIX 27

Referenzen

ÄHNLICHE DOKUMENTE

Ein integrierter Ansatz, der auf der Intelligent Data Platform von Informatica basiert, mit umfassenden Funktionen für Multidomain MDM, PIM, Business Process Management (BPM) und

Series connection of sensors per input as safety switches with 8,2kΩ terminal resistance or as non-monitored normally open contact switch.. Reihenschaltung von Signalgebern je

Eln Verzelchnls der akkredilierten Prülverfahren und unsere geltenden Allgemelnen Geschäffsbedingungen k0nnen auf unserer lntemetselte elngesehen werden und werden lhnen auf

Spent Fuel Pool Modeling Radionuclide Class Modeling MELCOR/MACCS Integration Troubleshooting MELCOR runtime issues. Lower Head Modeling Heat Structure Modeling Cavity

[r]

In keinem Fall haftet CA Technologies für Verluste oder unmittelbare oder mittelbare Schäden, die aus der Verwendung dieses Dokuments entstehen. Dazu gehören insbesondere

höheren Kräften 30 mm Inactive end region with higher forces Leitung (max. 25m) LIY11Y 2x0,34 mm 2 Connection cables Material Leitung PUR matt schwarz/black Cable material..

Output voltage - V External standardised power supply (or suitable one if not included in the product