68
. ASSEMBLY AND OPERATIONS . MANUAL ........ -------------------

Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

  • Upload
    others

  • View
    16

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

.

P~OTcC

ASSEMBLY

AND

OPERATIONS .

MANUAL

........-------------------

Page 2: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

NQlr E;

PROTEC reserves the right to make changes at anytime without notice to this pUblication and/or tothe PRO-80 microcomputer. The information contai­ned herein is believed to be accurate. However,PROTEC assures no responsibility for its user;norany infrigements of patents or other rights ofthird parties which would result.

Copyright ~ 1981 by PROTEC. World rights reserved.

No part of this work may be reproduced, recorded ordistributed in any form or by any means without thewritten permission of PROTEC.

On deposit at the National Library Jrd trimister, 1981.

Page 3: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

'I' ABLE OF CONrr ENrl' S

INTRODUC'}'ION. t •• ;. •••• It •• '" I .. 1

/I' , ...

·.

·.. ... ~567

• .. ... 7.. t • • .. • •• 8

. . .. • . •. 8• · . • ... 9

9. . . .. 9

• ... Ii- ... 10

..

·.... .....

..

, ..

Display ..

...

.....

..

'I'HL~ Pl~O-80 AHCHIT EC'l'URE1.1 Introduction.1.2 The Z-80.1.3 Memories

1.3.1 Memory Mapping ...1.4 Fort Decoding...•....1 . .5 The Z80-PIO .•...•...1.6 Keyboard Scanning and HEX1.7 Cassette Tape Interface •.1.8 Single Step .....•.1.9 Oscillator ..•.1.10 Power Supply ..1.11 3-100 BUS •••...••.

I .

II. ASSEMBLY

1111121::;14­141520

..

...

• •II ......

·....

.. • 'I- •• " " ...·....·..·.

.....·..

..Mounting....

·... .

Circuit

.. . ..Introduction. ,ResistancesCapaci tors ...

2.4 Integrated circuits.2.4.1 Integrated

2.5 Soldering ..... , ... , ,.2.6 Assembly t •••••••••••••

2.? Preliminary Checking •..

2.12.22.3

212121222)2)21J,252526262626'Z1'2727293031

·31

..

...

... ., • III

·....

.. 011 •• 4 ••••

...

· .

·.....

." ...

Introduction .The RES Push Button Key .. ,

Examine ... ,

3.1J.23.3 Memory

3.3.1 Application ...3.4 Register Examine •.

3.4.1 8-bit Registers ..J.4.2 Application .....J.4.) 16-bit Registers ..3.4.4 Application •.

3.5 Next Mode ••...J . 5 . 1 ;,:.;;X Mode.3.5. 2 E!~X Mode.

3.5.2.1 8-bit Registers.3.5.2.2 16-bit Registers •.

3.6 Execution •.......3.6.1 Application ••.

J.? Single Step .3.7.1 Application.

3.8 Cassette Recording.3.9 Cassette Read .

III. THE MONITOR

Page 4: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

IV APPLICATION PROGRAMS

lLl4.24.)

ANNEX 11

ANNEX 2:

ANNEX )1

Chaser Lights." 01 » ••• 4 • iii III .. ~ • 4' •• .. ,. 3'Traffic Li{~hts I •••• III + • II ... " ~ ••• I •• , •• ol ~ 35Digi tal, Clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 38

PRo-BO DIAc;HAM ••.••••..•...•.••.....• ·.·••••·••• 44

PRO-80 rilONITOli. •...............................• 48

RST .tR2START'· INSTRUCTION. 01 ••••••• ~ .. 01 ••• ~ 01'· ~ ~. 6)

Page 5: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-1­

INTRODUCTION

The 2-80 microprocessor has had a successful existan­ce for 5 years. During this time the z-80 has exceeded allhopes and expectations of the industry.

The powerful setOf 158 basic instructions, (696 withthe different addressing modes), the indexing capability and16 bit arithmetic operation gives the Z-80 features that arefound only in a minicdmputer. The 8 addressing modes and 3interupt modes combined with the block transfer instructionsmake the 2-80 a hard to beat 8-bit microprocessor.Furthermore,the 8080-A instruction set 'Is a" subset of 2-80 instructions ~ Thispermits programs written for 8080-A to be used directly with theZ80, allowing the user to choose from among the thousands of pro­grams already available.

Manufacturers have lost no time in putting this power­ful worker to the test. The microcomputers built around the2-80 and oriented toward the small and medium sized businessare multiplying with profusion, leaving a rat.her embarrassingamount of choice to eventual users of this type of computer.Meanwhile, there doesn't exist a truly economical and educa­tional system that meets the needs of students, teachers,experimenters or anyone who wishes to know or evaluate at areasonable price the performance of this wonderful machine~

the 2-80.

It is precisely this void that we wish to fill in offe­ring the PRO-80, we have designed it with care for maximum ver­satility, we have given it a S-100 bus allowing the user toexpand his system at will by choosing from various modules al­ready available on the market. We have provided wire wrapspace for experimentation and building process control cir­cuits on the same prime circuit board. The PRo-Bo also has

two parrallel input/output ports (Z80 -PIO ) permit tine accessto external peripheral equipment. These two ports possess'3 bits each, and each bit can be controlled by software.'Phese assure the user control of 16 individual lines for par­ticular applications. The Z8o-PIO also has an internal in­terupt control and two pairs of lines for external exchanfT,es(handshake). An interface for an audio cassette recorder pro­fides the user with an economical means of recording prog~ams

and data directly on minicassette tapes.

The PRO-BO memory is made of 1 Kbyte of RAM expanda­ble on the board to 2 Kbytes. A third Kbyte of EPROM con­tains the menitor which performs several powerful functionssuch as memory examine and change, register examine and chan­ge, next memory location,next alternate register and a single

Page 6: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-2-

step operation mode p that provides you with the capability toexecute and debug your program one instruction at a time.Other functions such as reset, program execute and cassetteread-write are also featured on the PRO-BO monitor.

A hex keyboard, with 8 additional keys is used to loaddata and programs and to initiate the different functions ofthe monitor. Six "seven segment tl digits are used to displaythe memory addresses, the 2-80 registers, the alternate regis~

ters and their contents.

The PRO-eO requires only a 5 volt, 1 ampere power sup­ply. We have incorporated a 5V/1A voltage regulator GO thatonly an 8 volt. 1 ampere transformer-rectifier is required tocomplete the PRO-BO power supply;this power pack is availablEthrough PROTEC.

Chapter 1 of this manual introduces the PRO-80 archi­tecture. The basic components of the system are briefly des­cribed. Readers should however. have some background in mi­crocomputers to fully understand the whole system design andoperation. For beginners. this technical manual will be in­sufficient. Therefore, we refer them to a more detailed book,specially written for the 2-80, "Proe;ramming the 2-80" byRodnay Zaks, Sybex.

Chapter I "1 describes components such as resi stOY"s. c::::··pacitors and intergrated circuits. The beginner will learn toidentify every component of the PRO-BO. We have given allthe instructions required for the assembly and testing of thePRO-80 microcomputer.

Chapter III describes the operation of the monitor.Every function of this program has been described, and seve­ral examples are given so as to better understand their modeof operation.

Chapter IV deals with three simulations I a light chaser,a traffic light and a digital clock.

Page 7: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-3-

I The PRO-80 Architecture

1.1 Introduction

The complete electronic diagram of the PRO-Bo is shownin Annex 1. A simplified version of this diagram is given infigure 1.1 which explains the functions carried out by the maincomponents of the system.

S 100-/

Ul ADDRESS BUS ")

{7 -{) V ./-....

ZU6 U7

8 mem.&U2&3 U4&5 U8

0 ports lK lK lK

- decod. EPROM RAM RAM r-;) PIa c--:>C - -........ cs ,... cs .... csp

I Ju( ·1

I IV If-.

v Iti+ 5V JA fA R

lC~I I I Ir;O NMi.

Nllot gl <.; C::=>:\) I I I U9

~seg.

ControlDf' S p! L!A{YlC ~Port

Oscil. logic TT- -I- I 11 Ul0 ~- (>

- J- Writ.

POW SSt Port- -+J

SUp. Logic --- KEYBOARD Casso Tinterf. '.l:-1A r---- Ul1

II Read."> I.... Port

Figure 1.la The PRO-SO Architecture

Page 8: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

1.2 The 2-80

'this microprocessor ].3 mtide up Cd nearly 8000 trans­istors and is the brain of the PRO-BOo It iH almost a micro­computer in itself', consisting of three rr,ain units: thearithmetic and logic unit (ALU)~ the con~rol unit and the in­ternal memory unit,

Dependinp, on the instruct] c:n. be:i reg processed, the ALUcan execute logic operations such as and. or~ exclusive or,shift left, shift right and so on •.. It can also execute arith­meti C operati ons such as increment~;~ addi tions p etc •••

'rhe control unltis the system ~ s management cent er ~ 1 tcontrols the various steps of the process, Depending on thesystem's status and the ins~ructions sequenc0 i this unit ge­nerates the right signals to access ex-ternal memories, to rou­te all necessary information to tb.€ Al.U, to the various regis­ters, or to manage exchanges with the peripherals.

lJ.'he 2-80 internal memory unit is the only one thatfeatures 22 registers for a total memory capacity of 207bi ts. 'These registers are used to store in:formation gene­rated by the CPU or by any external component. This memoryfeatures (*) I

- Two sets of identica18~bit registers, each setconsisting of an accumulator (A), a flag·register (F) andthree pairs of registers (B C, D E, H L) that can be usedseparatily or in pairs as 16-bit registers,

- An 8-bi t interrupt register (I) which allows aminimal access time to 2. service r'outine in any memory lo­cation. In the interrupt model' the I-register holds thehigh byte of the routine address. The low byte is generatedby the peripheral requesting th,~ interrupt,

- 7-blt register (R) is used to refresh the dynamicmemories.

- Two 16-bit registers :IX and IY) are used for in­dexed addressing. In this addressing mode, the register(either IX or IY) contains a reference m.emory location.An additional byte inclu.ded in ·the indexed instructions givesthe offset relative to the reference address

- A stack pointer (SP)9 which holdS a l6-bit addressof the top stack located i.n an external system RAMnemory.The stack operates in a "last in, first out" manner which al­lows the last information added to the stack (PUSH~~;D) to bethe first removed (POPED).

(*) t See cover of the "lVli croreference N.Hnual", Mostek.

Page 9: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

..

-5-

- At last, the program counter (PC) which holdsthe Ih-bit address of the current instruction beine fetchedfrom the memory.

Further information can be found in the "Z-80 CjJUTechnical Manual" by Mostek or Zilog.

1.3. MEMORIES

Memories are made up of individual cells, capableof storing information. The memory capacity is expressedin binary digits called bits, or more often in bytes con­sisting of 8 bits. A 1 Kbyte memory consists ·of 2!Q(i.e.1024) bytes of 8 bits each.

There are two basic categories of memory. The firstone is the read only memories (ROM) which stores informationpermanently I its content remaining always unaltered evenwhen the electric power supply is shut off. The ROM contentis wired in by the manufacturer. However, different kindsof ROM such as PROM and EPRON allow the user to pattern hisown ROM. The PROM can be programmed by the user while theEPROM are erasable and reprogrammable, provided a specialprocedure is followed.

rfhe second category of memory is the RAt"; (Random. Ac-·cess Memory) in which reading and wri ting operations aresoftware controllable and information is randomly accessed.In this type of memory, information is lost when the elec­tric power is shut off.

The PRO-SO has 1 Kbyte EPROM (U7) that holds the moni-­tor program even when the power is shut off. A user 1 KbyteRAM (U2 and U3) has been provided and allowance has been madefor an extra Kbyte of RAM (U4 and US) .

The more experienced reader can easily obtain anextra Kbyte of EPROM for his own personal uses Instead ofgrounding pin #19 of the 2716 chip (2 Kbyte EPROM), this pinshould be connected to A-I0 .1'he following change would :henbe necessary to allow access to the second Kbyte of EPRO:,;:

CS3 (6 de U6) ~ 0 ~ ( 20 de U7)(4 de U6)eso ( ~)~J .i..J

.b. 74LS oS (not supplied)4

Page 10: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-(1-

1.).1 MEMORY MAPPING

Table 1.1 is a summary of' a memory map. We can see withit that the monitor is located in the first Kbyte o:f memory(address locations OOOOH(I)to03pp Ii. It also uses the last 122bytes of the RAM (locations 1:J86H to 13F'F F,). Theref'ore. the pro­grammer is not allowed access to these loca:l;ions. The 0400H to OFFFaddresses are not used by the system except when a second Kbyte ofEPROM is made available. The userts RfuYi is located between lOOOHand l385H. Locations 1386 to IJBA are used for both user and monitorstack pointers. Locations l)BBH to 13G:F'H are used to route theRST instructions (see annex)). The optional Kbyte of RAM is lo­cated between l400H and 17FFH.

I._-

Locations Functions Comments

OOOOH to 03FFH Monitor CU?) Executes the PRO-80 functions

o400H to OFFFH Unused Except when the second Kb~e ofEPROM is made available(O 0 to

07FFH) .lOOOH to 1385H RAM(U2-UJ) User's memory area

1386H to IJAOH User's stack HAM locations for user~s stackpointer

t

13AIH to l]BAH Monitor's stack i RAM loca'tions for monitor'spointer I stack

l)BBH to 13CFH Monitor varia- For more detail. refer to Armex 2bles

1400H to 17FFH RAM(U4-U5) 1 optional Kbyte of RAM

1800H ... Unused

Table 1.1a Memory Map List

(l).H. Hexadecimal.

Page 11: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-7-

This memory mapping requires an address decoder. Thisis carried out by the 74L8139 chip (U6) which also decodesthe PRO-80 input/output ports.

1.4. PORT DECODING

In microcomputers, the information exchange betweenthe CPU and its peripherals is handled by the input/outputports. Port addressing ~n the 2-80 requires 8 bits. 'I'hi sgives a possibility of 2 or 256 addressable ports. ThePRO-Bo uses 4 blocks consistinG of 4 ports each detailed asbelows

Addresses r/o Ports

40B to 43H PIO

44H to 47H Hexadecimal keyboard

48H to 4BH Display digits

4CH to 4FH Display segments

Table 1.21 Input/output ports organization.

Keyboard reading, digit display and segment settingfunctions actually require only one port each. However, tosimplify our design, we have dedicated 4 ports to each func­tion p ports 44H to 47H therefore have exactly the same func­tion p and either one can be used to initiate unit 11. Thesame applies to ports 48H to 4BH (Ul0) and to ports 4CH to4FH (U9).

The PIO (Parallel Input/Output) however requires 4separate ports. Their locations are given in the followingparagraph.

1.5. The 280-PIO

The PIO has two input/output par~~lel ports (A&B)~these ports are TTL compatible and can interface the PRO-80with an ASCII keyboard, video monitor, card reader, printerand with a wide range of other peripherals. Each port has acontrol register that allows it to operate as an B-bit inputport or an 8-bit output port. Port A can also operateas an 8-bit bidirectional bus. Programming of such control re­gisters is summarized on page 25 of the "Micro-Reference Manuel'~Further infonnation can be found in the"Z-80-PIO Technical

Manual" by Mostek/Zilog .

Page 12: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

The PRO~80 input/output ports and control registersare decoded as shown below,

-=1 -

-ADDRESS LOCNrrON POR'l';)

--40H I A Data Register

41H I Ii Data l't-!gi f::ter

42H I A Control Register

43H I B Control Register

Figure 1.3t PIC port addressing

For more conveni ence, the data line~J and "handshake"control signals have been connected to the S--100 bus on theFRO-80.

1.6. KEYBOARD SCANNING AND HEX DISPLAY

'I'he PRO-80 monitor executes these 2 functions simul­taneously. When the "RES" key is depressed, the.1 monitorresets the RAM variables and starts the hex keyboard anddisplay scanning.

Data is sent to the di splay via unit 9 (port 4c:I) .The common cathode of the digit to be lighted is reset viauni t 10 (port 48H). The logical "0" received :from this portis also applied to a keyboard row. The Qigi t is held onfor a while and the monitor takes a reading of port 44H(unit 11) to check if a key in tha't row is depressed. Newdata is sent to the next digit, the monitor takes anotherreading of port 44H and the keyboard/display scanning con­tinu.es.

1.7- CASSETTE TAPE INT~RFACE

The audio frequencies recorded by a cassette tape aremuch lower than those used in ",i crocomputers . To be recordedthe information must be made audible before it can be appliedto the microphone or auxiliary input of a cassette recorder.The PRO-BO uses a format similar to the Kansas City Standardfor program recordings "l"s are coded by a 2400Hz signal, If Olf sby a 1200Hz signal and the data rate is approximately 300 bauds.Each recorded byte contains one start bit and one stop bit (bothare zeroes). A recording of null bytes serves as a program deli­miter(a 10 second pause as leader and a 5 second pause as trailer).Pr?grams are recorded serially via data line D6 of port 48H(pln #20 of UIO). The s~gnal is applied to low pass filter forhlgh frequen.cy suppresslng. ). voltage di vi der ~.'_llows the cas­sette r~corcli1!gthrough the mic or auxiliary inpt;t. 'l'he PRO-SOcomes wlred wlth an output which must be connected to th~auxiliary input of the cassette recorder. .-

Page 13: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-9-

In order to use a mic input, the following changes must bedone to the traces located under R411

Connect these two points Cut this trace

The cassette RAM transfer is done through the recorder'searphone output. The signal is squared by an amplifier inverter andthen decoded by U20 and U19.

A second signal applied to pin #14 of Ul1 is used by themonitor for synchronization purposes during its serial to parrallelconversion.

1.8 SINGLE STEP

This fonction is carried out by a special logic under the mo­nitor control. It provides a powerful debugging tool, allowing theprogrammer to execute the program under development one instructionat a time. Depressing the uSST lt key causes output II 3" of U22 to golow. The falling edge of' this signal is used to transfer a 110" tothe output Q of U21 (input 9 of' U23). As soon as the execution ofan instruction contained in the RAM begins, "(211 of the PROM becomeshigh. It is inverted by u24, and a "0" is applied to the second in­put of U23 (pin #10). The output of this gate then becomes low. Atthe falling edge of Ml generated by the Z-80 during the fetch cyclepthe "0" is transfered to the input A of the U20 flip-nop. ThisFF generatesa pulse on the non-maskable interrupt of the 2-80 (NMl).As soon as the instruction has been executed, control returns to themonitor, the address of the next instruction and the accumulator con­tent are displayed.

1.9 OSCILLATOR

The clock Signal that runs the Z-80 is generated by an oscilla­tor using two inverters of u24. This oscillator is controlled by a4MHz crystal. The output signal is divided by 2(U19) and applied tothe 2-80 input clock.

1.10 POWER SUPPLY

The 7805 (U18) built into the PRO-80, generates a regu-lat ai 5 Volts at 1 Amp. It needs only 7.5 to 8.5 Volts, 1 Amp. trans­former rectifier and a 2200 pF/16V electrolytic capacitor, to comple­te the Pro-80'S power supply. Capacitors C4, C5?& c6 are used tomaintain a more stable output voltage •

Page 14: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-10-

1.11 S-lOO BUS

Standardization has been sacrificed to increase flexibilityso that almost all control signals used by the PRO-SO have been con­nected to the S-100 bus and are properlYidentified by a legend.The user can cut traces of unnecessary signals. He also can modifythese signals in the wire wrap areag create other signals, connectthem to the S-100 bUs, etc... The Pro-,SO offers maximum flexibi­lity. The only limit is your imagination.

Page 15: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-11-

II ASSEMBLY

2.1. INTRODUCTION

Readers with some prior experience in the field of electro­nics may want to glance at the contents of the next four paragraphs.Othersp however p should pay paticular attention to every detail gi­ven below. They can start to assemble the circuit only when each

component has been identified.

2.2. RESISTANCES

Resistances are defined by their value in ohms (St )JOr in kiloohms ( 1K!l = lOOO~ ) and by the tolerance relative tothis value. Each resistance has different color bands to identifyits value and tolerance (See figu~2.1)

First significant digitSecond significant digitMUltiplier or power of 10

~)I I Ir I ""I

Tolerance

Figure 2.1. Resistance value and tolerance code.

The first and second bands at the end of a resistance repre­sent the first and second significant digits respectively, the thirdband indicates the mUltiplier factor(or power of 10), the fourthcan be gold or silver and identifies the tolerance given to the resis­tance value. The following table lists the color code of resis­tances I

Page 16: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-12-

COLOR SIGNIFICANT DIGIT MULTIPLIER TOLERANCE

black 0 1 --brown 1 10 --red 2 100 --orange 3 1,.000 --yellow 4 10,000 --green 5 100,000 --blue 6 1,000,000 --purple 7 10,000,000 -gray 8 10~000 ,000 -white 9 1,000,000,000 --gold -- -- 5%

silver -- 10%--

Examples The value of a resistance with yellow, violet, red andgold bands is t 47xl00n.~ 5% = 47xl0~.! 5% or

4.7 krL + 5%

2.3 CAPACITORS

There are different types of capacitors. 'l'he PRO-80 kit inclu­des a tantalum capacitor and several disc capacitors. (See figure2.2for proper identification.)

Disc Tantalum

Figure 2.2 .• Capacitors used in the PRO-BO kit.

Page 17: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

The value of disc capacitors is generally given with i·(8 maxin-::lffiallowable voltage. This value can be expressed directly in ~icro

Farads (pF)

0.068 p.F' capacitor, maximumJO volts

I

ij

It can alSo be expressed in pica Farads (pF), with two signifi­cant digits followed by a multiplier

Example

Capaci ty valup or ''+7xlO):JF=47000pF ~.047 yF, 25 volt-3maximum.

..

..

Notel IpF = 1,000,000 pF

2.1.;. INTE GRATED CIRCU~TS

Integrated circui~s do not all look alike. The most common t;peis called a DIP or ~Dual In Line Package" • DIP Ie pins are numbered,so #e must first identify pin #1 and by travelling counterclockwisedetermine pin numbers 2,J,etc... Several standards are used to ioen ­ti1y pin #1. The following figure indicates most of these s~andards•

Page 18: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

1 U

o o

1 0 '-'

-14-

10

oFigure 2.3.1 Orientation of intergrated circuits

Note that it is essential to determine the correct position of in-tegrated circuits before inserting them in their sockets. In the

Pro-SO, all lCts are placed so that pin #1 (identified by a whitedot on the printed board) is at the upper left hand corner when thehex keyboard is at the lower right hand corner •..

2.4.1 INTE]RATED CIRCUIT MOUNTING

Integrated circuits usually come packaged with their rows ofleads spread apart so that the space between the leads is slightlylarger than the space between the socket holes in which the leadsare to be inserted. Straighten the leads at 90 0 before insertingthem into their socket holes. This must be done on a flat surfacecovered with a piece of aluminum foil (preferably grounded). IC pinssuch as those of the 2716, 2114 • z-80 CPU or Z-BO-PIO should neverbe touched, otherwise these IC's would be damaged.

2.5. SOLDERING

Up to 90% of the defects are due to a bad soldering joint. Thejob must be done perfectly. We suggest that beginners practicewith pieces of wire before trying their skills on the PRO-SOcomponents.

Use a lead and tin solder (60/40 ratio), 20 or 22 guage.NEVERuse an acid solder, it will corrode and rapidly damage printedcircuits rendering the system inoperative.

trhe soldering iron must not be a heavy duty type 1 a 30 to 40watt iron is enough for electronic soldering. The iron must bekept clean by wiping its tip with a damp sponge or cloth.

Components must be rid of all foreign matter before soldering.Place the tip of the iron on the spot where the wire and printedcircuit meet. The tip must rest firmly on both elements. Applythe solder and watch carefully 1 the iron must be removed as soon asthe compound starts to spread around the connection. Too muchsoldering can bridge two traces of printed circuits. Remove theiron and check the connection. It must be shaped like a funnel, ~

be smooth and shiny. A "cold solder" looks rather dull and isoften due to insufficient heat.

Page 19: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-1.5-

On the other hand, too much heat may damage the com­ponents and the board. 'Pry to find a happy medium. The ironshould be applied no more than two or three seconds. Aftereach soldering, cut the excess wire as close as possible tothe connection and start over for the next connection.

2.6. ASSEMBLY

Consult your layout and parts list to identify eachPRO-BO component. Get your iron and follow these directionsl

1. Each north-south end of the printed board has threeholes in which to insert the feet o'f the PRO-BO Jtighten the screws finger tight.

2. Mount and solder the following resistances~

a- 10K, i\iJ, 5% (Brown-Black-Orange).H14, H15, R16, Ri), [\12, Ri1, RlO, R9, R7, Ra, R6, Rl, R2,R). R4, R5, RlB, R19, R22, R20, Rl?, R21

b- R28, R29, RJO, RJ1~ R25. R26, R39

c- 10 t i\i1J. 5% ( Brown-Black-Black).R32, RJ), R34. RJ8, RJ6, R35. RJ7.

d- lK, iW, 5% (Brown-Black-Red).R2J, R24, R40

l %' ( )e- 2K, 4W, 50 Red-Black-Red.R27. R45

f- 24K, iljlJ~ 5% (Red-Yellow-·Orange).R46

g- 27K, iW, 5% (Red-Purple-Orange).R44

h- lOOK, i\'IJ , 5'fo (Brown-Black-Yellow).R41

i- 4.7K, i:iI1. Sic (Yellow-Purple-Red).RJ..j-2

j - 120. fv'i, 5% (Brown-F'ed-Brown).R43

Page 20: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

.'~

Onnn·· -...to LJ LJ E3 ""

, I uuuOO '9'? '" ,,, U 8i:':.:;; .. t ...0

& •• a V C"lo

loa 50Q

GNO

Cien.rw

D ,

o )o 2·".U

AU

A •·,• •• •• I

• aIi"iJ"Si"fl;;

RESEt

iN!

W1!

ARC V

I EO."'.1.'"', I 7

"IT"lrrn•• 0

P••PA •

P.S

+8'" 'I

ii

'" II'

-Eft

aND

O.06O.

.'0DOD 1.,.,..U0)

••••"0~

C51

ti'1TI

iililti~

row

iOii

a.ADV

maHOPIS...'" 1'"0'H......••••••

U1

ua

(;11 <::>Z 10 - "10...--.... ~

:PI\O~80

'" .o po « == - i:

"'J :~[o"e> o"e> -- S· -. "'"• » ell _ ""':0 ""0 "D ",~r-rl::

Figure 2.5 : PRO-SO LAYOUT

-$

~

DDoD

I.....0-.I

Page 21: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

PAR'I'S LIS'f

t watt I !. 5%.,

CeramicCeramicCeramicTantalumCeramic(or 0.0047)CeramicJCerami c (0 r 0.05)Ceramic4MhzLight emitting d':.odeSwitching diode

-L.A [\1-';1, QUANTITY

Ul 1,

U2, U3 2u6 1U7 1U8 1U9,U1O 2U11 1U12-U1? 6U18 1U19 g U21 2U20 1U22,U2J 2u24 1Q1 1Rl-22r 25,26. 2928-]1;39R23t 24 9 4Ot JR2?t R4§ 2R32-R3 ?R41 1R42 1R44 1R4 1R46 1Cl 1C2 1C3 1C5 1C7. Ci0 2C8 1C9 1C4 g C6.C11-C19 11XTAL 1Dl 1D2 1

2:34:351426

ResistanceslKResistances2K

" 10" lOOK,~ 4. 7Ku 120.. 27KII 24K

Capacitor 220pFII O.47uF.. a.001upt' 22 uf'tI O.005uFtI 0.02uF.. o.o47uF.. O.luF

CrystalTIL 220lN91440 pins socket24 pins socket18 pins socket16 pins socket14 pins socketkeyboard with legendPush buttonsPhono jacksnuts & screws

to

II

II.."

Page 22: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-18-

). Mount and solder the following IC chip sockets s

a- 14 pins * U21-U22-U2)-UZ4-U19b- 16 pins * U6-U11-U20c- 18 pins • U2-U)-U4-U5d- 24 pins • U7-U9-U10e- 40 pins • V1-U8

4. Mount and solder the? segment digitsas followsUP

the red dot must be placed downwards .Cla

a- o .1p.F • C4,b- 220pF • C1c- O.4?JlF • C2d- O.OOlpF I CJe- 22 pF I C5pf- 0 .005}lF • C7.g- a .02JlF • C8h- o.047}lF . I C9

LD~

KEYBOARD

- U12 - U1) - U14 - D15 - u16 - U1?

5. Mount and solder the D? diode (band on left hand side) and theDl LED the groove must be oriented towards the white dot onthe printed circuit

6. Mount and solder the following capacitors.

C6, Cll, C12, C1). C14 p C15, C16. C17. C18, C19

7. Mount and solder the XTAL crystal and Q1 transistor.The transistor should be placed as indicated below I

Base ----

~~ Collector

~ Emitter

8. Mount and solder the u18 regulator.

9. Mount and solder the four push outton keys.

Page 23: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-19-

10. Before mounting the keyboard, carefully straighten its pinsplacinr; them so that they appear on the flip side of the' board.then apply enough solder to secure the connection.

Identify each key as in figure 2.6.

EJBEJ

Figure 2.6 l Keyboard Layout

11. Mount and solder the audio connectors as illustrated in thefigure below.

Cfl.SS+

GRD@

BOTTOM VIEVI/

AUX•GRU@

Figure 2.7 • Audio Connectors Mounting.

I 12. If the second Kbyte ~f EPROM is not used~ ground pin #19 of U7.(Solder bridge pins #19 & 20 of U7)

Page 24: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-20-

2.'1. Pf<ELIIV1INARY CHECKINC

Connect an 8 volt p 1 ampere D. r;. supply to the two feedingpoints in the upper right hand corner of the PHo-80. Please checkthe polarity (the + is up and the - is down). If you use thePROTEC power supply pack p the white wire must be connected to the+8 volts. When the power supply is connected, the third pin ofU18 (display digit side) must be at +5V relative to its middle pin(ground). If that is not the case, check the solder joints andmake sure there is no short circuits. DO NOT proceed to the nextstep before obtaining the required voltage.

Shut off the power supply and mount the integrated circuitsobserving the proper orientation (pin #1 on the same side as thewhite dot on the board).

- U2-U) 2114- U6 I- I- 11Io .. I- ,. I- .. I- ••• 74LS139- U19-U21 .. I- ,. I- I- • I- I- • " I- <II I .. t I- ••• •• 74LS74- U22-U23. 1- 1- 1-" 1- •• I 1-. I- I- I- I- 11 1-. 1- 74LS32- u24 "" , e ' " iii"" Ii t; 11I". 1II f 74LS04- U20 I • " • I III " , • " " •••• I iii " i ,,74LS221- Ul1 ,. to I " .74L8367- U10-U9 " " ,." , t _74s412

U7 I I I " .. I " .. " .. I iii" I " Ii- 12716 (or 2516)

- U1 .. .. • .. .. • " " " • .. • .. • "" .. I • .. 'lJ • .. III • • .. .. .. • " II • lip • .. .. • • .. .. .. .. • .. • Z - 80 CPU- u8 , " II .. , II Ii .. III , .. III " t , • "Z -80 PIO

Double check the orientation of the integrated circuits andmake sure all pins fit securely in their holes.

'Io' IJ

The PRO-80 is now ready. Turn it on and depress the Res Pushbutton. The II r-l It prompt symbol must appear in the first leftmostdigit position.

Everything is in order. Perfect ~ Proceed to the next chapter.

If' the tt r-l tt prompt symbol does not appear. shut off the powerand double check the connections. Unwanted bridges, cold solderjoints and overlooked connections are often to blame.

If you can't find any fault in the connections and if you don'thave the proper troubleshooting equipment. contact your dealer orwrite to PROTEC at.

B.O. 271St-Laurent Branch,Montreal (Quebec)Canada.H4L 4V6

Page 25: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

0'

-21-

III 'rHE N10NI'l'OH

3.1. INTRODUCTION

If the microprocessor is the brain of any micro­computer, the monitor program is its heart. \iJithout a heart,the brain cannot f'unct Lon on its own. 'l'he lDoni tor compi exi tymay vary, but this program is always there to decode and mana­ge the input/output transfer, and to help the programmer tolo~d and debug his program. The PRO-80 monitor is stored ina. non-volatile 1 kilobyte memory and allows the progr~~mer

to have a complete control over every function as ftL ;)rdiscussed below.

).2. THE RES PUSH BUTTON Kh~

~vhen this key is depressed, the processor is reset ar:dthe program execution begins at the first starting address OOOOH.The PRo-80 monitor is located in the first kilobyte of thesystem's memory, so the OOOOH address contains its firstexecutable instruction. Depressing the RES key will causethe execution of the monitor program. The monitor initiatesthe user's stack pointer to address location IJAOH, resetsthe RAM variables and enters the MEMORY EXAMINE MODE. Thesystem displays the II r'"1 " prompt symbol and starts scanningthe keyboard for any new user entry.

3.3 MEMORY EXAMINE

rEhis function is used to enter a new program or' toexamine and change the content of a memory location. Thememory examine mode is used as below •

. Depress the ~EX key. The monitor responds bydisplaying the" ,.., II prompt symbol.

Key in the four hex digit memory address (high digi t fir::ct) .

. Depress the NEX key. The content of that memory loca-tion is displayed in the two data digit positions.

If the NiX key is depressed before the four addressdigits have been entered, no data is displayed and the monitor\'Iai ts for the remaining address digits.

Displayed data can be changed simply by keying in newdata and depressing the HEX key. This key causes the monitorto update the content o~ the memory location. The address isincremented by one and the content of this new location isdisplayed.

IMPORTAN'f.---- When the PRO-SO has a one kilobyte PAM, the user'smemory is located between lOCOl{ and 1385H. (Consult the memorymap ll.st)

Page 26: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-22-

).).1. APPLICATION

Connect the PRO-SO to an .8 Volt, 1 ampere power supply anddepress the following keysl

- RES

-110

-1~EX

- 0

- NFX.

- 1

- 2

- Ni':X

- MEX

- 1100

[Jll]DJGHIJCDGEGIJCD

EIJJJDJ~rn

Incomplete address.nothing happens.the monitor waits for thefourth digit.

The two digitsXX represent thecontent of memory address loca­tion 1100H. Change by keying ina new data. EX. 12H

12H is displayed but the loca­tion 1100H is updated by themonitor only when the NEX key isdepressed. In case of error,new data can be keyed in as manytimes as necessary. Depressingthe NEX key validates the data.

12H data is transferred to 1100Hlocation. The memory address isincremented and the content ofnew address is displayed •.

Return to memory examine mode.

Page 27: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

NEX

-2)-

The new content of the memorylocation is displayed.

The procedure is simple and will be easily remembered if you tryit out two or ~hree times with your own data.

).4. REGISTER EXAMINE

The PRO-80 uses an image register for each 2-80 regis·:;e.c ac­cessed by this function. The monitor transfers the cant",; t of theimage registers to the microprocessor corresponding regis el'S be­fore each program executiong or single step execution. Conversely.the content of the 2-80 registers is retransmitted by the monitor tothe image registers after each instruction is executed in theSINGLE STEP mode. This enables the user to s

1. Load a register before a program execute.

2. Examine or change during an execution in the single step mode,the content of the 8-bit registers A,BpC,D.EpF p and theircorresponding alternate registers; the content of the l6-bitregisters IX and IY, as well as those the program counterPC and the stack pointer SPa The procedure is describedin the following paragraphsl

).4,1. 8-BIT REGISTERS

Depressing REX key initiates the register examine mode.The letter" r It appears in the high address digit display.

Key in the desired register.

Depress the NEX key. The content of the register is dis­played in the two data digit positions.

To modify the content, key in the new data and depress theNEX key.

The monitor updates the content, displays the alternate re­gisters and its content with the letter A (alternate) inthe Low address position.

The same basic steps apply to change the alternate registercontent~

The NEX key initiates a new cycle which begins with the start­ing register.

Repeat by depressing the REX key to examine or change thecontent of other reGisters or alternate registers.

Page 28: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-24-

J.4.2 APPLICATION

'['he purpose of this exercise is to examine and changethe contents of registers A and alternate A, and to checktheir new contents which will be lAR and JEH respectively.

REX

A

NEX

lA

- NEX

- 3£

- NEX

- NEX

- REX

NOTES I

Hegister examine mode

Selected register

The new content of A isdisplayed but is not yetrecorded in the image re­gister.

The content of A is nowlAH; the alternate A re­gister is automaticallydisplayed with its con­tent.

The content of AI is notyet updated. new data canbe keyed in to correctany error.

Uptade of (AI),(A)=lA

(A • ) =]E

Return to the REX to exa­mine or change the contentof another register.

1. The prime mark "I" indicates the alternate register.

2. It is important to remember that the monitor makeschanges on the image registers, and a program exe­cute or single step execute is required for effec­tive changes in the microprocessor registers.

(1) the brackets denote the content of register(or memory location).

Page 29: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-?~-

3.4.3 16-BIT REGISTERS

'llhe same basi c st eps apply. 'l'he only (1] 1'Cerenc<~ i. i; t.hatthe content of' these registers 1.8 expressed Ly 4 hexade':imaldigits. Use the following procedures,

Depress the REX key.

Key in the desired register.

Depress the NEX key. The monitor displays the higL. 'cyteof' the register's content. This byte can be change&singthe procedure described above for the 8-bit register.

Depressing the NEX key again causes the monitor to up­date the high byte and to display the low by~e with the" .. identification symbol.

Data is modified following the same procedure.

Depressing the NEX key a third time causes the low byteto be updated and the high byte to be displayed. Thecycle is repeated.

Depress the REX key and repeat the same procedure to ex­amine or change the content of other registers.

3.4.4. APPLICATION

Examine register

Selected register

The high byte in thePC is XX.

The high byte has been up­ctatep and the low byte if'displayed

The new byte is displayedbut is still not recorded.

The new value of the lowbyte is now displayed.

The purpose of the exercise is to examine and chanL€content of the program counter (PC) and to check itscontent. lde will be changing the content to 100011.

8IJJ[IJGIIIJCIJ[]I[][T]0IIJrn[ll]JGE]

[ll]J~

NEX

REX

PC (5)

10

NEX

thenew

- 00

Page 30: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

NEX

NEX

EXF

-26-

~he low byte is updatedand the high byte is dis­played with its new content.

'1'l1e new value of the lowbyte is OOIL

Return to the REX mode toexamine and change anotherregister.

3 . 5 NEXT MODE

This function is used in the REX mode and the MEX mode.The basic steps have already been explained in paragraphsJ and 4 and are summarized below.

3.5.1. MiX MODE

· Depressing the NEX key causes the content of a memoryaddress to be displayed

• When the NEX key is depressed a second time, the moni­to r executes the following operations ,

- It updates the content of the addressed memorylOcation.

- It increments the address.

- It displays the incremented address.vith itscontent

3.5.2 REX MODE

3.5.2.1. 8-BIT REGISTERS I

• Depressing the NEX key causes the conten~ of the registerto be displayed.

· When the NEX key is depressed a second time, the COfi­

tent displayed in the two data digitsis recorded inthe image register. The alternate register is thendisplayed with its content and the letter A (Alternate).

· When the N~X key is depressed a third timep the moni­tor updates the alternate image register and displaysthe content of the starting register. The cycle isrepeated.

Page 31: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-27-

3.5.2.2. l6-BIT REGISTERS

Depressing the Nex key causes the high byte 0::' -eheregister content to be displayed.

When the key is depressed a second tim~~ the highbyte is updated and the low byte is displayed withthe It_It symbol.

When the key is depressed a third time v the low byteis upda"ted and "the new value of th~ high byte L~ dis­played as in the beginning of a new cycle.

Practice using your own data to get the feeling ofthe NEX mode.

3.6. EXECUTION

All programs are merely a set of instructions to be exe­cuted sequentially. Sequencing is done by the program counte~

(PC) which contains at any given time the address cf the nextprogram instruction to be executed. Before the EXe key is ac­tivated; the PC must be loaded with the address of first pro­gram instruction. Once the EXe key i~ d~pressed, control re­mains in the userts program right to the end of the executeoperation or until the RES key is depressed.

3.6.1. APPLICNrION

The purpose of this exercise is to load 40H in~o A regis­ter, to add OEH to the A content and to store the resultintcthe 110QH memory location~ These operations are to be 8XeCll.­

ted by the following program

ADDRESS ro/IACHINE MNEMONIC COMMENTSCODE

1000 )" LDA, 40H Load 40B into the£,

1001 40 A-register1002 C6 ADDA o OEH Add OEH to the con-1003 OT;' tent of A and record~~

the result in A.1004 32 LD( 1100) pA Transfer the A con-1005 00 tent to the li00R

• 1006 11 memory location •1007 76 HAL'l' STOP

...

Page 32: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-28-

'rhe IVIEX and NhX modes are used to load thi s program asdescribed in para~raph 3.).

- MEX

- 1000

- NEX

- )E

- NEX

- 40

- NEX, c6

- NEX, OE

- NEX. 32

- HEX, 00

- NEX p 11

- i{:~!: p -'6

- i~.r::X

Memory examine mode

Address of the first ins­truction

Content of this address=XX

Change this content

Update and and automaticaddress increment

Next byte

The low address byte is al­ways loaded before the highbyte in an instruction.

Al\3.;/S ::iepre;s tLe NEX keytOlpd~te the last entry.

Thi s prog:-:=.::" is no",,' stoY'-t:d in "the HAl"1 and is loca::ed be-:-­ween memory addr""sses 1000H. d. d 100?h'. let' s now check if 1:: e1100:-r memory loc"'.i::on contai:": 'the resul-: of the addition.

- MEX

- 1100. NEX

EIIIJCD

Page 33: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-29-

rrhe content of the 1100H memory location is not ':'qualto 4EH (40H+OEH=4r~H). That's because the progra.m has not yetbeen executed. ~lso, it is a good practice to check ~he pro­gram before executing it. After the program has been checked,set the PC to the address of the first instruction (1100B)then depress EXe :

- 00, NEX

- PC(5), NEX

..

- REX

- 10

- NEX

- EXe

~~e

program

- RES

should check the content ofhas been properly executed.

EIIJJCD

Register examine

Set the high byte

Update and display thelow byte

Update the low byte anddisplay the high byte.

Execution: the userts pro­gram takes the con~rolothe

display goes dark .

1100H to make sure that the

- 1100. HEX

"

We find that the content of the 1100H memory location i,the sum of 40H and OEH.

3.7. SINGLE STEP

This function is initiated by the SST key. When singlestepping. the contents of the image registers are first reloa­ded into the 2-80 registers. The instruction is then execu­ted and the monitor regains control enabling the contents ofthe z-80 registers to be stored away once again in their imageregisters. The next address in the program, and the contentof the accumulator are then displayed. Single stepping pro­vides the user with an efficient method to debug the programunder development.

Page 34: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-30-

3.7.1. APPLICATION

Using the same program, we will now proceed step by step.The purpose of this exercise is to change 40H to 35H~

- REX EOJJCIJ- PC, NEX ITITJ[T]- 10 ~ NEX ITIIJrn- 00, NEX ITITJ~- SST 8±E]~

- R~X, A

NEX~ J5

- NEX

- SST

- SST

Examine register mode

Initialization of the pro­gram counter.

The first instruction i 3

executed; the monitor dLs­plays the address of ttenext instruction and tf; g

content of the accumulator(A-register)

Change 40Hto 35H

Acquisition; (A)=J5

The second instruction isexecuted; the content of theaccumulator is displayed( result of the additionlJ5H + OEH = 43H); the };points to the add:"ess ofth8 next executable ins­truction.

The content of the accu­mulator is transfered tothe 1100Hmemory locati­on; the program counterpoints to the address ofthe last executable ins­truction (HALT).

Page 35: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

- MEX

- 1100, NEX

- SST

-)1-

EIIIJCD Return to the MEX mode tocheck ~he content of 1100Mmemory location,

(1100H)=43H

The accumulator has not axecuted any operatioh and itscontent remains ~'.,. .. J same :the PC content .i. s ~:~--:;cremen­

ted by 1 to poirt "'·0 the nextmemory address (o~~side ofprogram) .

J.8. CASSETTE RECORDING

The PRO-BO offers a simple and inexpensive way to recordon a cassette tape the volatile information stored in the RAM.Most audio cassette recorders can be used. however if yeu areplanning to buy one for this purpose~ we. suggest you considerthe 26-1206 model eTR-3o from Radio Shack. The trcmsfer se­que~ce is the followincs

- Connect the "AUX" jack on the PRO-80 to the auxiliaryinput of the cassette recorder.

- Fully rewind the cassette

- Using the MEX mode enter the address of the last byte inthe program to be recorded into the following memory locationsa

. 13DCHs Low address byte

• l)DDHt High address byte

- Remember to depress the NEX key to validate the last entry.

- Turn the volume control to a half way setting.

- Initiate the cassette writefunction by depressing the C~ key.

- Set the recorder in the record mode; the display unitwill go dark.

The" n II prompt sign reappears when the recording is comple-:;e.

3.9 CASSETTE READ

To transfer a program from a cassette to a RANi. simplyfollow these stepsl

Page 36: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-)2-

Plug the CASS connector on your PRO-80 into the ear­phone (or monitor) jack on your recorder.

Rewind the cassette and set the recorder in the play mode.

- Adjust the volume control so that the LED becomes verybright. (the volume control will most likely have tobe set to maximum.)

- Depress the RES key on your PRO-BO.

- Initiate the read function by depressing the CR pushbutton. the display unit will go dark during the trans~er.

- If the transfer is successful, the monitor ~eturns tothe MEX mode and di splays the II ,.., .. prompt 'iign.

- If an error is detected during the transfer. the monitordisplays the letter " r " in the first leftmost digitposition. Check the volume and repeat the same pro­cedure or check the program being read using the MEX

mode and correct any error.

NOTE.1. The more experiencedreader will soon realize that it

is not easy tc carry out all PRO-SO functions with on­ly a 1 Kbyte monitor. Because of such spa'e Ii ita­tions, the PRO-80 monitor can not record 8. pro€, .'am ai.just any RAM address. '1'0 be recorded all p.'ogra ns mustbe located at starting address lOaOH.

2. The user can easily record and locate several pro­grams on a single cassette thanks to the L~D whichis lit when data is present and off between recordings.

Page 37: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-33-

IV APPLICATION PROGRAMS

'l'he reader must be familiar with the 2-80 set of instruc­tions to understand the programs discussed in this chapter.Those who have had prior experience with machine language pro­gramming can refer directly to the "Micro-Reference Manual"Which summarizes the 2-80 set of instructions. If you haveno such experience consult , "Programming the 2-80" by F;o(;nayZaks. Sybex. or any book dealing with the 2-80 instructions.

4.1. CHASER LIGHTS

The purpose of this simulation is to help the readerunderstand how the PRO-BO display unit works and how towrite a program for a chaser light display.

Annex 1display unit.figure 4.1.

represents the electronic diagram of the PRO-80The functional illustration of the unit is in

PORT (4ci)

D2

D7Active High

D)e

'----4D4

'---_....f D.5

"---.....;g~D6

° ...- 0.... DO

fl-:-Ibt-----~e[lct----

d •

Active Low

••

PORT (48H)

Figure 4.11 Functional diagram of the PRO-BO display unit.

Page 38: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-)4- .

~'his figure shows that PClch di{':it i~; made up or fj(~V(~n ~;el~­

ment.s; a, b, c, d, e, f, a.nd r,. Each ncgrnenl LL{~ht:; up whenits corresponding bi t at port ItCH is set to "110. TIlt: contentof port 48H selects the active digit. For instance the firstrightmost digit is active when the least significant bit isat locical "0". the second digit is active when the first or­der bit is at logical "0" and so on. If we wanted the firstrightmost digit to be a 9, the content of the two ports wouldhave to bea

Port 4CH =(6FH)

Port 48H =(3EH)

Exercise: We want the second rightmost digit to be a 3.Give the content of each port.

Answer: (Port 4CH) = 4FH(Port 48H) :::: 3DH

'['a simulate chaser lights, we will be using segments c,d, e and g of each digit. If we want the "square" to move fromright to left, the program sequence is the following:

1. Load the segment select word into the accumulator.

2. Transfer the content of the accumulator to port 4CBto activate the segments.

3. Load the digit select word into the accumulator.

4. 'rransfer the cont'ent 0 f the accunll1ator.

5. Create a display delay.

6. Shift the content of the accumulator one position tothe left to activate the next digit.

7. Loop to step 4 so the shift is repeated indefinitely.

X: This digit is not used by the display unit and can thereforebe either "0" or "1". 'rhe "0" value has arbitrarily beengiven.

Page 39: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-)5-

The display delay allows the operator- to see the dir;i t~:;

moving. Without it, the microcomputer operates at suerl speedthat the all digits will appear to be always lit.

To create a delay we can for instance tell the processorto decrement a register already loaded with a value which de­termines the waiting time. When the content of the registerbecomes null, the processor continues to execute the re~ainin~

program instructions. If this delay is not long enough (asis presently the case), two or more registers may be uSio·d>

PROGRAM SEQUENCE.

1000 3EDC

1002 D)4e

1004 )EFE

1006 D)48

1008 OE40

100A 06FF

100e 10FE

100E OD

lOOF 20F9

1011 07

1012 lSF2

Loop )1

Loop 2.

Loop 11

LDA,Del{

OUT (4CH) ,A

LDA, FEH

OUT (48H) ,A

LOC, 40H

LOB, FFH

DJNZ, Loopl.

DEC C

JRNZ,Loop 21

RLCA

JR Loop }&

Content of A=DCH

Activate segments C,n,E,G.

(A}=FE

Select the 1st digi~

Initialize the first dela,,'register.Initialize the second delayregister.Decrement 'P to QH

Decrement C by 1.

Jump to loop 2 except if C=OH

Next digit.

Jump to loop ).

After studying this program, load it using the MEX mode.Find a simple way tOI

1. Slow down the speed at which the square moves.·

2. Replace the tt 0 tl sign by another sign of your choi ce.

4.2. TRAFFIC LIGHTS

It would again be possible to use the display unit to si­mulate traffic lights but why not take this opportunity to tryout your PRO-SO PIO. For this,exercise. get two red, two yel-

Page 40: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-36-

low and two green UWs(l)and six 220..0. II ~ W resistances tobe assembled as follows.

PAOr--------.....J\f\Af\AI\r---1 PA1

~----¥VWWv--1 PA2

~--.I\I\IV\"f"--f PA3

'----""'rvvV\r--I PA4

l----I\I\jr+,.IV\f\J-----t PA5

GROUND

Here is the instruction sequence:

a- Initialization: Rand G1 are lit

b- Long delay

c- Rand Y1 are lit

d- Short delay

e- Rl and G are lit

f- Long delay

g- Ri and Yare lit

h- Short delay

i- Loop to (a)

a- Initialization

Before the initialization begins, the PIOA-register mustbe set as an output port. Its control register (port 42H) shouldhave the following content. (Consult your Micro-Reference Manual D

page 25)

'.

Port (42H) (A control register)...

(1) LEDa Light-emitting diode. •

Page 41: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-J7-

The A-register is configured as an output port w~en

DO to DJ are at "1" and D6-D7 are at "0". Select eithero or 1 for D4 and D5. 'i'he control word is 0000 1111 (OF:l).

The A-register can now be initialized. Rand G1must be lit; DO and D.5 are therefore at "1". All other linesare at "0" except for D6 and Df' which are ignored. tI'he A-re­gister (port 40H) will contain the following value!

Port A (40H)

b- LONG DELAY

(21H)

Since a delay will often be used, we suggest you towrite a delay routine that could be called once for a shortdelay and n times for a long delay .

. c- RAND Y! ARE LIT

Data lines DO and D4 must be set to "1", and allothers must be at "0". The new control word transferedto port A iSI r--....-...,...-..-....-__.........-....-....Port (40H )

~he word OCH is sent to port A to light Rl and G andthe word OAH is sent to light Rl and Y.

PROGRAM

Confieuration of the A re­gister as an output port.

Long Delay

Rand 11 light up

Short delay

D.JNZ, BRl

CALL DELAY

LDB, OAH

IJDA, OCH

LDA, l1H

OU'L' (40H) ,A

CALL DELAY

LDA, OFH

ou'r (4ZH), A

BR)I LDA, 21H

OUT (40H), A Rand Gl light up

BRlI

1000 3E OF

1002 D342

1004 3E 21

1006 DJ 40

1008 06 OA

100A CD 2A10

100D 10 FE

100F 311; 11

1011 DJ 40

1013 CD ZA10

1016 )E OC

Page 42: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-38-

1018 D3 40 OUT (40H),A R1 and G light up

lOlA 06 OA LDB. OAH

101C CD 2A10 BR2 • CALL DELAY LONe:: DELAY

101F 10 FE DJNZ, BR2

1021 JE OA LDA, OAH

1023 D3 40 OUT(40H) ,A

1025 CD 2A10 CALL DELAY Short delay

1028 18 D9 JR,BR3 Loop

DELAY ROUTINE

102A CS PUSH B Save Band C

102B OE OB LDC, OB Initialize the first counter

102D 06 FF BRS I LDB, FF Ini tialize the second counter

102F 10 FE BR4 I DJNZ, BR4 Decrement B to no"

1031 OD DEC C Decrement C

1032 20 F9 JRNZ, BR5 Test C=O

1034 C1 POP B Restore B and C

1035 C9 RET Return

4.3. DIGITAL CLOCK

We have seen in paragraph 4.1. how to activate a sin­gle digit of the display unit. Now, for several digits toappear lit at the same time, we must use the multiplexingtechnique. This technique consists in displaying sequential­ly one digit at a time and repeating the sequence fast enoughso that the human eye cannot tell when the digits are not lit.Remember that in North America, alternating voltage shut off120 times per second. For instance, the common neon tube isin fact shut off 120 times per second. It appears to be al­ways lit because it is on for a longer time than it is off andat this frequency the retina is unable to tell when it is off

Page 43: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-39-

and only senses the mean intensi ty of the light beingemitted.

The digital clock simulation program is written intwo steps ; in the first. a disIllay routine is created whichfetches the content of a buffer and converts it in order togenerate and display the required number.

The second step consistsin writing a program which willuse the display routine to simulate a digital clock.

DISPLAY ROUTINE s

We must first of all define a look up table which wil:generate the control character required to light up each de­cimal digit (0 to 9). If for instance the starting address 131200H, we would have the following table I

ADDRESS CONTROL DIGITCHARACTER

1200H JFH 0

1201H 06H 1

1202H 5BH 2

1203H 4FH :3

1204H 66H 4

1205H 6DH 5

1206H 7DH 6

1207H 07H 7

1208H 71'-'H 8

1209H 6FH 9

The next step would be to define six memory loca­tions containing at any given moment a time value. especiallythe setting time •

Page 44: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-40-

( 12 10H) = seconds (units) Sl

(1211H) = seconds (tens) S10

(1212H) = minutes (units) Ml

(1213H) = minutes (tens) MiO

(1214H) = hours (units) H1

(1215H) = hours (tens) HiO

Now, we must follow the sequence below.

Load the content of 1210H (51) into a register.

Find the control character in the look up table.

Display it in the first rightmost digit position.

Create a delay so that the digit remains displayed for a while.

Clear this digit.

Increment the starting address to select SiD.

Repeat the procedure until the six digits have been displayed....

Page 45: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-41-

CLOCK SIMULATION PROGRAM

The algorithm found on page 52 is a summary of thefollowing program.

1000 OD211012 LDIX, 1210B

1004 0610 LDB, 10H

1006 CD7310 BR1 l CALL DISPLAY

1009 10FB DJNZ, BRl

100B DD;4oo INC (IX +0)

Pointer initialization

1 second initialization

Call display

is delay loop

SEC1 increment

JRNZ,BR1 Loop to display

LD (IX + 3),OOH Ml0=0

SEC 11.=0

SEC10 increment

TEST SEC 1= 10.

Loop to display

Test MiO = 06

LDA, OAH

CP (IX + 0) f

JRNZ&BR1

LD(IX + O),OOH

INC (IX+1)

LDA,06H

CP (IX + 1) Test sec 10=06

CP (IX ... 3)

JRNZ,BRl Loop to display

LD (IX + 1),OOH SEC 10=0

INC (IX ... 2) Ml increment

LDA,OAH

CP (IX + 2) 'rEST Ml=lO

JRNZ,BR1 Loop to display

LD (IX + 2),OOH Ml=O

INC (IX +3) Mia increment

. LDA, 06H

100E 3EOA

1010 DOBEOO

1013 20Fl

1015 00360000

1019 DD)401

101C 3E06

101E DDBEOl

1021 20E)

1023 DD)60100

1027 DD3402

l02A 3EOA

102e DDBE02

102F 20D5

1031 OD360200

1035 OD)403

1038 3E06

10JA DOBEO)

1030 2007

103F DD360 )00

Page 46: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

1043 DD3404

1046 JE02

1048 DDBEOS

104B 2003

104D C36110

10S0 JEOA BR21

1052 DDBE04

1055 20AF

1057 DD360400

105B DD)405

lOSE C30610

1061 3E04 BRjl

1063 DDBE04

1066 209E

1068 DD360400

106c DD360S00

1070 CJ0610

-42-

INC (IX + 4)

LDA,02H

CP (IX + 5)

JRNZ, BR2

JP, BRJ

LDA, OA

GP (IX + 4)

JRNZ,BRl

LD (IX + 4), OOH

INC (IX + 5)

JP,BRl

LDA,04H

CP (IX + 4)

JRNZ,BRl

LD (IX + 4)oOOH

LD (IX + 5),OOH

JP p BRl

DISPLAY ROUTINE

Hi increment

1'EST Hl=02

Hi = 02

TEST Hi = 10

Loop to display

Hi == 0

HiO increment

Loop to display

TEST HiD = 04

LOOP to display

Hi = 0

HiO = 0

1073 OEPE

1075 211012

1078 SE

1079 1612

107B 79

107C D348

107E 1A

107F D34C

LDG,FER

LDHL, 1210H

BRS. LDE, (HL)

LDD, 12

LDA, (G)

OUT (48B) p A

LDA,(DE)

aU'll (4CH) pA

Pointer initialization

(DE) = CONTROL CARACT'll:

Active digit

Active segments•

Page 47: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-4)-

1081 31~4B LDA, 4BH Display delay

1083 )D BR41 DECA

1084 20FD JRNZ p BR4

1086 D34C OUT (4CH) ,A Reset all segments

1088 2) INC HL Next digit

1089 CE01 RLC, C

10BB CB71 BIT6, C Test end of display

1080 20E9 , JRNZ,BR5

108F C9 REr Return to program

BUFFER MEMORY

1200 )F 7 segment digit controlbytes (0-9)

1201 06

1202 5B..120) 4F

1204 66

1205 60

1206 7D

1207 07

1208 ·7F

1209 6F

1210 SEC 1

1211 SEC 10

1212 MIN 1

121) MIN 10

1214 H1

1215 Hl0..

Page 48: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

..

Hl0=Hl0-.1Hl=O

Hl=OHl0=O

lVllO=OHl=Hl+1

Sl=OMl=Ml·~l

M1==0Ml0=M10+l

no

no

no

no

no

Dec B

81=81+1

CALL

Ini-tializ a­tion IX

Sl-OSlO-S10+1

InitialiZ a­tion I B

Page 49: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

..

-44-

ANNEX 1 1

PRO-Bo DIAGRAM

WORLD RICHTS RESERVED

Copyright G) 1981, PRO'IIEC •

Page 50: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

.$V " •• lat_"c••t ""."12to KOtt_ , ..W<C ~ ~

"12 "21 4 'UO fit" II.~ ""4

~:"if!

!!AM

I • .,3I ~ WA.rl

A12

I 1A11

g • AIO;rn,

A'

n te 3"'1

i'nH • A 7~ 21 n0 A I

.,"Y-11 .. A 5....

U1 JotA:J

GNO -H .'Z

12 A 2

Niil • 31 !I. 1

I1-7_ "'0

0 -, .U.p-

I

c~ .. ~CLJIl:

• ~ I 10 U2

ti1u 1t

27 Im14

01 I~~

-f "~DL.. 01

0 ~DI

104

U OJ

"l~~l' 10201

, sn 1'6 00I Itl

,.I

I.

1 I

11 I j..J., •• a 2 , 17 110111

f• 'I " 3 • 111M"~ ~.

.., 4 :) .,""" rill ., J1"T....~

21t4 I U~ 2"14 10 ..,.. ., JU. 'l 'to UI 21'4

12" 13 14 11 fl 11 •• 11 12 '3 ,. 11 12 '. ,.I iI !

III

100K

(

- ~ --... ..-- ,.-- ,.-

~ ~ ~ I--- ~

Uti ~ ..- - ~ - w

- - - - -'''0 - U'G l""- V" ~ ".. - uti - ,M:1 I-- !-- ~ - ~ •~ I--- ~ --- /'-

~ ~ ~ - p....-

...--,....... ~~ ~- =--~ ~-L

I I~

+.v,

~yt'Y

~~¥y

__'et_ftC••

'112,11113110 KOt".

'- .~U)~'""""'o--+--+------------------------

nswQ 1).. 11

I)

"

'-------..d:......... -+--+---....-.....jt-- l'._., _

Page 51: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any
Page 52: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-48-

ANNEX II

PRO-80 MONITOR

ALL RIGHTS RESERVED

Copyri ght @ 1981 by PROTEC

Page 53: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-49-

PRO-80 MONITOR ,ALL RIGHTS RESERVED G) 1981 PROTEC

RAM MEMORV MAP 1..1 ST •

138'1

BAO13Al

l3BAl3BB RST813BE RST1613Cl RST2413C4 RST3213C7 RST4013CA RST4813CD RST5613DO RTDI13D1 RTD213D2 RTD313D3 RTD413D4 RTD')13D5 R1'06130C OC.o\R.IN13DD OCASU13DE TOUCOU13DF REGRANG13EO POnmIG13El M'nll1382 MTD213E3 MTD31314 HI'D413'£5 M1'D513:16 Mn:J613£7 POINREG

USER. STACK POINTER

MONITOR STACK POINTER

VECTOR ADDRESSES FOR. "RESTAR,!"t INSTRUCTIONS RST 8 TO RST 51;

BUFFER REGISTERS: HEX VALUE OF DIGITS TO BE DISPLAYED

LAST o\DDRESS OF PROGRAM TO BE RECORDED (LOW BYTE)LAST ADDRESS OF PROGRAM TO BE RECORDED (HIGH BYTE)CURRENT KEYROW REGISTERDIGIT POINTER

BUFFERS FOR DISPLAY DIGITS.CONTAIN 7 SEGMENT CONTROL BYTES.

PLAG REGI STER

Page 54: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-50-

PRO-80 MONITOR tALL RIGHTS RESERVED G) 1981 PRO'I'!C

13E8 an-WPM13&9 RIM~OH

13E~ RIMIXH IX13EB RIMIYH tv13EC RIML L13ED RIMH H13£E RIMA A13EF RIMB Bl)'FO RTMC C13F1 RtMD D13F2 RIME E13F3 RIMF F13F4 RIMPPB13F5 RIM~OB

13Fr, RIMIXB IX13F7 RIMIYB IV13F8 RIML' L'13F9 RIMH' H'13FA RIMA' A'13F8 RIMB' B'13BC RIMe' c'13FD Rum' D'13FE RIME' E':3FF RIMF' F'

IMAGE REGISTER STACK POINTER "HIGH BVTElI

IM.o\GE REGI STER PROGRAM COUNTER "HIGH BYTE"IMAGE REGl STER "HIGH BYTE"IMAGE REGI STER "HIGH BVTE"IMAGE REGISTERIMAGE REGt STERIMAGE REGISTERIMAGE REGISTERIMAGE REGISTERIMAGE REGISTERIMAGE REG! STERIMAGE REGISTERIMAGE REG! STER STl\CK POINTER nLOW BYTE"IMAGE REG I STER PROGRAM COUNTER "LOti BYTEII

IMAGE REGISTER "LOW BYTE"IMAGE REGI STIR "LOW BYTEII

IMAGB B.EGISTERIMAGE REGISTERIMAGE REGI STEllIMAGE R.EGI STEllIMAGE REGISTERIMAGE REGl STIRIMAGE UGISTERIMAGE REGISTER

Page 55: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-51-

PRO-80 MONITOR .ALL RIGHTS RRSERVED (0 1981 PROTEC

** INITI4LIZATION **0000 31BI\13 LD SP,1 '3BA MONITOR STAr.K POINTER : 13BA0003 21DOl3 LD HL,Rn)} HL POINTS TO FIRST DIGIT BUFFER REGISTER0006 1803 JR BRO0008 C3BB13 JP RST8 JUMP TO RST 8 Ro\M ADDRESSOOOB 0630 BRO: LD B,30OOOD 00 NOPOODE 1803 .lit BRI0010 C3BB13 JP R8T16 JUMP TO RST 16 RAM ADDRESS0013 3EOO BRl; LD A.OO(l01') 77 BR2; LD(HL) ,A RESET tOCATTOO POINTED BY HL0016 1803 JIl BR30018 C3C1l3 JP RST24 JUMP TO RST 24 RAM LOCATIONOOlB 23 BR3: INC HL NEXT ADDRESSOOIC 10F7 DJNZ.BIl2 LOOP

. ODIE 1803 lR BR40020 C3C413 JP RST 32 JUMP TO RST 32 RAM LOCATION0023 3E13 BR4: LDI\. 130025 00 NOP0026 1803 lR BRS0028 C3C713 JP RST 40 JUMP TO RST 40 RAM LOCATI~

002B 32!813 BRS: tD (RIMPPH) • A IMAGE REGI STER PPH: 13002B 1803 JR BR60030 C3CA13 lP RST48 JUMP TO RST48 RAM LOCATION0033 3EAO BR6: LD A,AO0035 00 NOP «U036 1803 JR BR700]8 C3CD13 lP RSTS6 JUMP TO RST 56 RAM LOCATION003B 32F413 BR7: LD(RIMPPB) ,A PPB:::AO; END OF INtTIALtzATIOt:

** MEX **EXAMINE AND CHANGE TIll CON'rJ.:NT OF MEMORY LOCATICMS

003E CD7600 MEX: C<\LL MTBL RE SET SIX MEMORY DIGIT BUFFERS0041 3ES4 LD ~,54 MTD5:0043 32E613 LD(MTD6) ,A0046 06DF LD B.DF DIGIT POINTER =60048 0100 LD C,OO ADRiSS MODE : 001J04A 51 LD D,C ADDRESS FLA.G = 00)04B 59 LD E,C NEXT MODE = 00)04C CD8700 MlXl: CALL LECDEC READ AND DECODE KEYIWARD

l'04F 79 LD A,CCOSO C(,OO CP A.OO TEST ADDRESS MODE: 000052 200E JRNZ,BR8 JUMP TO ADDRESS MODE : 010054 CB50 BIT 2.~ TEST DIGIT POIN!Ea : DIG.](05S 2002 JRl1Z, 02('058 1 ',01 LD D.01 FLAf~ ADDRESS: 01('OSA r:~48 BIT l.B TEST DIGIT POINTER: DIG.2(osc 2 )02 JRNz',02LOSE (,DF LD B,DF DIGr! POINTER: DIG.60060 1 lOB JR. BR90062 ca7S BR8: BIT 7,B TEST TWO DIGITS DISPLAYED t0064 1803 JR BRIO

Page 56: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-52-

no-80 !lJNITOB. •ALL RIGHTS RESlJ.VID G> 1981 Pl.0TIC

0066 C3A202 3P SST JUMP ro SIlfGLI niP R.OU11N10069 2002 BIlI0: JINZ.B1l.9006H 06FD LD I.FD DIGIt POINTER. =DIG.20060 3100 81.9: LD A,OO006F CD 3001 CALL CHART ACTIVE KEY IN BUFFER REGI STEll AND lurFlll MKMORY0072 CI08 ne I NBXT DIGIT0074 18»6 JR MlX1 JUMP TO ~AN AND DleODE

** Hl'BL **BUFFllR DIGIT CONTENT IS RlSKT

0076 F5 MDL: PUSH A SAVE RlGI STIRS0071 15 PUSH H0078 0606 LD 1,06007A 3100 LD A,OO007C 211613 LD HI. , M'l'D6 INITIALIZATlON-IUFFIR POINTlll007F 77 Btlll: LD (HL) ,A ISUF'Pb. MlMOilY : 000080 2D HC L NEXT BUF'FBlt.

.0081 05 DBe IS0082 20FI JRNZ,BR11 TEST BND OF USET0084 11 POP H RlSTOltB IBGISTBR.S0085 F1 POP A0086 C9 UT

** LBe»IC **READ, ANl' DICODE KEYBOAlU>

0087 C5 LlCDEC: PO sa B SAVE llBGISTBR.S USED0088 85 PUSHH0089 21E613 IltU: LD tU..MTD6 INITIALIZATION-IUPFEB. POIN1.'IJ.008C 3EDF LD A,DFOOSE 321013 I1U3: LD(POINDIG).A tNITIALIZATION-DIGIT POINTER0091 0100 LD C.OO FLAG KEY ;r. 0 (NON ACTIVE)0093 D348 OUT (DIG) ,A ACTIVB DIGIT0095 DJS44 BR14: IN(CLAV).A IlEA]) COLUMN0097 00 NOP0098 E60r AND OF BITS 4 TO 7 MASlCBD009A CB41 BIT O,C TE ST FLAG KEY = 100ge 2003 JItNZ,Blt15009E 32DF13 LD (RBGllANG) ,A nANSP'II. 'to a~ DGISTEllOOAl FlOP I1l15: CP A,OP TlST ICIY DBPRBSSEDOOA) 280B JU,11.1600A5 0101 LD e,ol FLAG BY = 1DOA7 0620 LD B,1000A9 CD3301 B1.18: CALL BIL DEBOUNCE DELAYOOAC 10 PI DJNZ, Blt18OOAB 18BS JR. BR.14 JUMP TO mST IF KEY STILL ACTIVE0010 CB41 1116: BIT o,e00B2 2015 JINZ.BR.17 JUMP TO DICODE

~ 0084 7B LD A. (HI.) CURRENT DIGIT DISPLAYOOBS D34C OUT(SKG)t A

Page 57: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-53-

PRO-80 MONITOR ,ALL !lIGHTS RESIRVED G> 1981 PIlO'1'lC

00B7 CD3301 CALL DEL CALL Dl SPLAY DIUYOOM 3100 LD A.OO CLlAIl DISPLAYOOBC »34C OUT (SBG) .AOOB'I 2D DIC L NEXT BUlI'FEROOBF 3AE013 LD A, (POINDIG)OOC2 CB47 BIT O,A TE ST Btm OF D1SPl..A.Y00C4 28C3 JRZ,BR120006 OF DCA NEXT DIGIT00C7 18C5 JR Ba.13 JUMP TO KB SCAN0009 11 B1l17: POP R IE STOR.B RlGI S'l'ZllSOOCA C1 POP BOoeB 33 INC SPOOCC 33 INC SPOoeD )AB013 LD A, (POINDIG)OODO CB47 BIT O,A TB ST DIGIT POINTER =DIG.l00D2 2012 JIlNZ , BR.2 a0004 3ADF13 LD A, (UGIANG)OOD7 CB47 BIT O,A TBST ROW POINTER • ROW.1OOD9 2003 JRNZ,IR19OODD C38303 JP CAn JUMP TO CASSBTrE 'fAN BADOODE CB4., BIU9: BIT 1,A TBST SECOND ROW0010 C25402 JPNZ,EXBC JUMP TO SINGLE S'l'1£P0013 C31303 JP CAW JUMP TO CASSBTrE WRITE0016 CD4F BR20: BIT LA TB ST SEC(IQ) COWMNOOB8 2019 JRNZ , BR2 3OOBA 3ADFI) LD A, (RBGRANG)OOED CD47 BIT O,A TEST FIRST lOWOOIF 2003 JRNZ, BR.21OOFI C35402 JP EXEC JUMP TO lXECtJ1'E ROUTINE00P4 CB4F BU1: lIT 1,A 1'EST SECORD Raw(JOP6 2003 JRNZ,BR22 .. 1/oo,a C3740l JP NEXT JUMP TO NEXT ROUTINEOOFB CB57 BR22: lIT 2,A TEST BIRD a.owoom C23100 JPNZ,'MEX JUMP 'to MIMOa"f UAMlm0100 C3DOOl JP RBX JUMP TO DGIsma IXAM1N10103 3B BR23: DIC SP0104 3D DEC SP0105 C5 PUSH 80106 CD2401 CALL CONY A: PLACI OF ZBR.O IN DIG POIN0109 e807 I.LC A0108 CI07 ILeA MULTIPLY IY 4010D F5 PUSH AOlOE 3ADF!) LD A, (IlEGRANG)0111 CD2401 CALL CONV A. PLACI OF ZIRO IN R.OWUG0114 47 LD B,A0115 F1 POP A0116 80 ADDA,B GBNERATB NEW POINTER0117 C6»8 ADD A,D80119 E5 PUSHROllA 6F LD L,A011B 2603 LD R,03OllD 71 LD A, (BL) TRAN~ODING •

Page 58: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-54-

PRO-80 M<mITOR ,ALL RIGHTS RBSERVID G) 1981 PRO'rIC

0111 1101U' 32D1130122 Cl0123 C90124 C50125 470126 31000128 CB40012A 2002012C Cl012D 090128 CB080130 300131 18P5

'POP HLD(TOUCOU),APOP BRET

cow: PUSH BLD BtALD A,OO

B124: BIT 0,8JRNZ,BIl25POP BRET

BR25: nc BINCAJIl B124

DAN SFBR TO TOUCOU

UPON RETURN.THE A-REGISTER CONTAINSA BIT R.!PRESBNTING THE PLACBOF ZERO IN THE BYTE IN DIG POIN

0133 C50134 06F80136 IOn0138 050139 Ion013B Cl013C c9

** DIL **DIUY llOUTINJ:

DBL: PUSH BLd 8 t F8

DJNZ,FBDEC BDJNZ,FIPOP BllBT

** CRAllT **'l'HI CONTENT OF THI CURRENT KEY IS TRAN~ODIJ)

AND 'l'RAHSFERID TO TRB CORUSPClIDING BUFFER MBMOllY

013D D5 CHAllT: PUSB D SAVB DGISTIll0131 E5 PUSH 11013F F5 PUSH A0140 21D013 B1t26 : Ll> RL,llTDl INITIALIZATION-BUFFEk RlGI STIR POINTER0143 78 LD A,D0144 CD2401 C~LL CONY0147 85 ADD A,L0148 6F LD L,A GENERATE NEW POtNTBR.0149 3ADSl3 LD A, (TOUCOU)014C E60F AND OF MASK 111GB BYTE014B 77 LD(BL),A TRANSFBR CUlUtENT ICIY TO BUFFEI REGIS'l'IR014F C6FO ADD A,FO CREATE SBGMlRT CODE POINTER0151 SF LD I,A0152 1603 LD D,030154 3111 LD A,l1 GENERATE BUFFER POINTER0156 85 ADD A,L0157 61 LD L,A0158 lA . LD A, (DE).. 0159 77 . LD(HL),A TRAN SFBR SEGMENT CODE TO BUFFEI MBHOR.Y015A 11 pop A015B FEOO CP A,OO TEST 1 01 2 DIGIT DISPLAY

- 0151> 2812 JR.Z,Bll270151 3D DBC A0160 15 PUSH A0161 3ADEl3 LD A, (TOUCOU)

Page 59: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-55-

PltO-80 MmITOI. ,ALL RIGHTS RESERVED @) 1981 PR01SC

0164 E6FO AND FO MA SI{ HIGH BY"I.'B0166 OF lUlC A0161 OF llRC A0168 OP DCA0169 OF DCA016A 32DI13 L1>(l'OUCOU) ,A TRANSFER TO CURRENT teE V016D CBOO RLe B NEXT DIGIT016F 18cP JR BR260171 11 BR27: POP B I.E STOltE DGtSTIRS0172 D1 POP D0173 C9 RET

** NEXT **DISPLAY AND CHANGE MEMORV LOCATION CONTENT

a174 eB43 NEXT: BIT O.E TE ST REX MODEOUr, C20202 JPNZ,NEXT 10179 CB42 BIT 0,0 TEST ALL ADDRESS DIGITS DISPLAYED017B CA4COO JPZ:MEXl0In DD21D413 LD IX,R1D5 RTD POINTER INITIALIZAnm0182 COO10t CALL L'ECDON READ RTI> 5, RTD 60185 67 LD U,A TRANSFER TO H0186 DD21»213 LD IX,RTD3018A CDel01 CALL LBCDON READ RTD 3, RTD 4 •0180 6F tD L,A TR--\N SP'ER TO LOl8E 06F1 LD B,FE DIGIT POINTER INITIALIZATION0190 CB41 BIT o,e TE ST AnDUS' MODE0192 281F JIll,BR300194 00210013 L1> IX,RTD10198 COOl01 CALL LlCDON READ RTD 1, RTD 2019B 77 tD(HL),A TRANSFER. DATA TO CURRENT LOCATION01ge 23 INC HI. NEXT ADDUSS019D 06FB LD B,FB DIGIT POINTER: DIG.3019F 70 LD A,LDIAD 320113 B1.28: tD(TotJCOU) ,A TRANSFER ADORE SS BY1.'E TO TOUCOU01A3 3B01 LD A,OlOlAS CD3DOl CALL CHAllT ADDRE SS BYTE IN BUFFER RIG! STER AND BUFFER MEMORYOlA8 CBOO RLC BOIM CB70 BIT 6,B TEST END OF ADDRESS DI SPLAYOIAC 2803 JRZ,BR29OIAE 1C LD A,B TRAN SPEll HIGH BY'lBOlAF 18!F JR BR2801Bl 06F1 BR29: LD IS.FE DIGIT POINTER : DIG. tOlB3 7E BR30: LD A, (RL)01B4 32DI13 LD(TOUCOU) tA TRANSFER MEMORY LOCATION CONTENT TO01B7 3E01 LD A,Ol TIt! DATA REGISTER01B9 CD3D01 CALL CHARTOlBe OEOl LD C,Ol DATA MODE INITlALIZA.TICIfOlB! C34COO JP Mlx1

Page 60: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-.JV~

PRO-80 ,ALL RIGHTS RESERVED tV 1981 PR.O'1'EC

** LECDON **GENERA'l'! A SINGLE BYTE TRANSFERID TO 'l'RE ACCUMULATOR

01Cl £5 L£CDON: PUSH 1101C2 DD7EOl LD A, (IXfOl) READ FIRST NIBLE01C5 OF lUtCA01C6 OF RIlC A RIGHT SHIFT01C7 OF RRCA01C8 OF RRC A01C9 67 LD a,AOlCA DD7EOO LD A, (IX/OO) ltEAD SECOND NUL! 'OlCD B4 OR a GENERATB Bi:"'l'EolCE 11 POPKalCF C9 RET

** REX *It

UAD AND CHANGE CONTENT OF REGI S'l'ERS

01DO CD7600 REX: CALL Ml'BL RESET ALL SIX MEMORY BUFFERS8103 3E50 LD A,SO01D5 32E613 LD(MT06),A BUFFER MEMORY 6 II r01D8 06DF LD B,DF DIGIT POINTER : DIG.~

011)4- 1!01 1.1> !"Ol Rxt MOO!. : 1aIDe OEOO LD C,OO RESET REGI STER MODEaIDE 1655 LD D,55 ALTBRNA'1'E POINTER INITIALIZAtION

fc OlEO CD8700 BR31: CALL LECDEC READ DECODE01E3 CB41 BIT O,C TEST REGl STER MOOr:alES 280A JRZ,BR32OlE7 CB08 nCB NEXT REGI STEll01£9 CB78 BIT7,B TEST 2 DATA DIGITS DISPLAYED01ED 2002 JRNZ,02OlED 06FD LD B, FD DIGIT POINTER REINITtALIZATION01EF 180A JR DR33OIFl 3ADF13 BR32: LD A, (REGltANG)01F4 PEO! CP A,O£ TEST ACTIVE REGISTEROIF6 28E8 JRZ, BR31 NON EXISTANT REGISTER: ltETURN TO SCAN01F8 32£713 LD (POINREG) ,A ACTIVE REGISTER IN REGISTER POINTER01FB 3EOO Btl33: LD A,OOalF» CD3D01 eALL CHART ACTIVE REGISTER IN BUFFER REGISTER AND0200 18DE JR BR31 BUFFER MEMORY.

** NEXT 1 *'It

D1 SPLAY AND CBANGE REGI STER CONTENTS

0202 3AE613 NBXT1:LD A, (MTD6)0205 FE50 CP A,SO TE ST DI SPLAYED REGI STER

;- 0207 CABOOl JPZ,BR31020A CB41 BIT O,C TE ST REGI STER MODE020C 2827 JRZ,BR36

.. 020£ OO21D013 LD 1X,RTDl POINTER REGISTER INITtALIZATICIt0212 CDC101 CALL LECDON DATA READ

Page 61: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-57-

PRO-80 l«1NI'1'OR _ALL RIGHTS RESERVED (£) 1981 PllOTlC

0215 77 LD(llL) ,A T1lAN SFER DATA TO IMAGE UGI STEll

0216 CB02 RLe D0218 CB42 BIT O,D021A 2806 JRZ ,8'R34 TEST AL'l'BBNATE REGISTER

one 7D LD A,L021D D60C SUB A, OC GENERATE BEGI STBR POINTlIl

621F 6F LD L_A0220 1818 JR 8R370222 3EOC B8.34: LD A,oe GENERATE ALTERNA'l'B REGISTER POINTElt0224 85 ADD A,L0225 6F LD L, A0226 3AE713 LD A, (POINRBG) TEST 16 BIT REGISTER.0229 CB4F BIT 1,A022B 2804 JRZ,BR35022D 3177 L1) A,77 TRANSFER "AU TO 1RIltD DIGIT022F 180E JIt BR380231 3140 BR.35 : LD A_40 TRAN SFER n..:., TO mIRD DIGIT0233 180A JR BR380235 3ADE13 BR.35 : LD A, (TOUCOO) GENERATE IM\GE REGISTER POINTER0238 C6£4 ADD A,14023A 6F LD L,A023B 2613 LD H,13023D 3EOO Bll37 : I.D A,ao TRANSFER "BLANK" TO mIlD DIGIT023F 321313 B1.38: LD (M'J.1)3 ) ,A0242 06FE LD B,FE DIGIT POINTEll : DIG.l0244 71 LD A, (BL)0245 32DI13 LD(TOUCOU) ,A IMAGE ltBGIS'l'ER IN CUllRENT KEY0248 3101 LD A,01 •024A CD3DOl CALL CHART TRANSFER IMAGE RlGISTBR TO BtJ'FP'l1t024D CB08 RRCB 'NEXT DIGIT024F 0101 L1) e,Ol REGISTBll MODE INITIALIZATIOO0251 C3EOOl JP BR31

*'It EXEC *'It

PROGRAM EXECUTE

0254 0604 lXEC: LD B,040256 OO21E813 LD Ix,RIMPPH IX INITIALIZATION025A DD6600 B1.39: LD H, (lxfOO) IMAGE RlGIS'l'BRS IN HL025D DD610C LD L,(IXfOC)0260 CI50 BIT 2,B0262 2803 JilZ,B1l400264 F9 LD SP,BL TRAN SFBR USER. STACK POINTER0265 1801 JI. :BB.410267 15 B:R40: PUsa H SAVE 16 BIT IMAGE REGISTBll0268 DD23 8R41: INC IX NEXT IMAGE RlGImR026A tOEB DJNZ,BR39 LOOP026C DD6601 BR42: LD a, (IXfOl) HIGH IYTB IM.UG IN H062F 006100 LD L t (IXfOO) LOW BYTI IM.REG IN L0272 15 PUSH H SAVE m.0273 DD6602 LD H, (Ixf02) IHRA IN R0276 DD6107 LD L, (Ixf07) IMRF IN L -•0279 ES PUSH R SAVE APi)27A DD6S03 LD a, (IXf03)

.. _ ..._------ ...._--------_..._------ ----_._------------

Page 62: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-58-PM-80 lOtlTOR ,ALL RIGHTS RBSJRVID G.) 1981 nOTlC

027» D»6I04 LD L, (IXf04)0280 15 PUSHH SAVE BC0181 006605 Ln K~ (IXI05)0284 DD6I06 Ll) L, (IXf06)0287 15 PUSH H i SAVE 'DE0288 04 INC 1\0289 CI48 ItT 1.B mST END OP SAVE UGI STIllS

028D 2006 JRNZ,IR43028D D02l!'813 L1> IX,llIML i

0291 18D9 Jlt BR420293 01 BR43: POP D USTOlUl ALTBltNA'l'E UGISTBllS

0294 C1 POPB0295 PI POP A02.96 11 PO?R0291 08 EX AF,AF'0298 ])9 EDt0299 01 POPD USTORB O'l'HBtt UGISTER.S

029A Cl pop I

029B PI pop A

029C El PO! 110290 POE1 pop IY

029F DDB1 pop IX

O2A1 C9 RET RE STORE PROORAM COUNTER

** SST **SINGL! STEP EXECUTE

02A2 22£C13 SST: LD (aIM!.) , HI. R AND L EACH IN THEIR IMAGE DGImR02AS 21EE13 LD HI. , llIMA02A8 17 BIl44: LD(BL) ,A ACCUMULATOR IN ITS IMAGE REGI mil02A9 23 INC RL02AA 70 LD(ltL).B B DI ITS IMAGE RlGt STEll02AB 23 INC HL02AC 71 LD(RL).C C IN ITS IMAGE RlGI STER02AD 23 INC HL02AB. 72 LD(RL),D D IN ITS IMAGE RltGt STER.02AF 23 INC RLO2BO 73 LD(BL) .! E IN ITS IMAGB RBGISTElt02Bl 23 INC HL

. 0212 F5 PUSH A02B3 D1 POP D021\4 73 LD(RL),E l' 1M ITS IMAGE UGISTEll0285 7D LD A,L02B6 FEP3 CP A,P3 TEST BND OF 8 BIT REGISTER TRANSFER02B8 200A JRNZ,Btl45 JUMP TO END OF 8 BIT REGISTlll TR.ARSP'Etl02BA 08 EX AP,AF'02BB 1)9 IXX ALTBI.NAT! REGISTERS02BC 2211'813 LD (1tIML • )HL Ht L t 1M IMAGE R.BGlSTER021F 21FA13 LD HL,ltIMA' 11 t L' POINT TO A' IMAGB MGI STEll02C2 181:4 JR BR44 toop TO ALTERNATE REGI mil TRAtfSFER02C4 rDB5 BR45: PUSH IY SAVE IY

... 02C6 FD21E813 LD IY, tlIMPPB IV POINTS TO PPH IMAGE DGISTER.(}2CA. 1.1 1'01' R T8.ANSRIl lYTO lIL.02CB PD1403 LD(IT/03),L. IV "11" IN ITS IHAGE I.EGISTER- 02CB PD7S0F LD(IY/op).t IV "ttl IN ITS IMAGE IlEGI STER•02Dl 1)D15 PUSH IX02D3 11 POPR TRANSFElt IX TO RL02D4 FD7402 LD (IY/02) ,R IX IN IT S IMAGE REGl ST!a.O2D7 PD7501 LD(IY10E) .t

Page 63: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-59-

PRO-80 MONITOR ,ALL RIGHTS REDRn» <£) 1981PROmC

•02DA El POP H TItANSFER PROGRAM COUNTElt TO HL02DB FD7401 LD(IY;Ol),H02DE FD750D LD(IVfOD) ,L TRANSFER PC TO IMAGE REGI smR.0211 210000 LD HL,OOOO0214 39 ADD HL,SP TRAN SFER SP TO HL0215 FD7400 LD(IyfOO),H STACK POINTER IN ITS IM.\G! UGISTlll0218 PD750C LD (IY;OC), L0218 08 EX AF,AF'02EC 09 IXX AL'l'IltNATI REGISTERS02!D 06FB to B,n DIGIT POIRTBR : DIG.l021F 3ABE13 to A, (llIMA) A IMAGE REGISTER IN A02P2 320113 Bll46 : to (TOUCOU) ,A02'5 3101 tD A,Ol two DIGIT TRANSFIR MODE02F7 CDlDOl CALL CRART TRANSFER A TO BUFFER R.!CtST!R. AN!) BtrrP'lll tIDIORY02lA CBOO RLe B NEXT DIGIT02FC CBSO lIT 2,B TEST PC "L" LOADED02FE 2005 JRNZ,IR470300 3AF513 LD A, (JtI~OB) PC ttL" IN A0303 1810 JR 11.460305 CB60 BR47: BIT 4,10307 2005 JRNZ,1ll48 TEST PC "au LOADID0309 3AJl913 to A, (llI~OR)030C 1814 JR BR.46 PC "Hit IN AG30E CD8700 BR48: CALL LECDEC RBA.D DECODE0311 18FB IR BR48

** CAW **CASSETTE TA.PE tHRIft

0313 lKOO CAW: LD £,00 CHECKSUM REGr STER • 00315 06FF LD B,rF COUNTER INtTIALIZ!\.TION POR TRANSMISSION0317 3EOO BR49: LD A,OO OF ZEROES0319 CD4A03 CALL TllAN SM031C 10F9 DJNZ,BR49 TEST END OF no" TRANSMIT031£ 2ADC1) LD HL,(OCARIN) aECORD LAST LOCATION IN PtlOGRAM0321 7C LD A,R0322 CD4A03 CALL TRANSM0325 7D LD A.L0326 CD4A03 CALL TRANSM0329 23 INC HL032A 010010 LD BC,1000 START ADDllESS INITIALIZATION032D £5 BR.50: PUSH H0321 ED42 SIC n,BC0330 El POPR0331 2807 JIlZ ,B1.51 TE ST END OF PROGRAM0333 OA LD At ('BC) RECORD BYTE0334 CD4AO) CALL TlANSH0337 03 INC Be0338 18F3 JR BR.50033A 7B 11.51: LD A,I RECORD CHECKSUM0331 CD4A03 CALL '1"RA.N 8M0331 0680 LD B,80 -•0340 3100 11.52: LD A,OO0342 CD4A03 CALL TllANSM RECORD ZERO! S FOR. ABOUT 5 SEC.0345 10F9 DJNZ.Ba520347 C33100 JP IXM

Page 64: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

,'v

PRO-80 MOOITOR ,ALL RIGHTS RESERVED ($) 1981 PROTEC

** TRANSM **TES't$'BITS TO BE RECORDED, GENERATES PROTOr,OL : O-BYTE-a

034.0\03!~B

034D034F03"20354035S03')9035A035B03";D03')F03600362036303650366

C505091600C0680310071600CD6803ClC9CB7F2806Ie16010718EA0718£5

PUSH BLD 8,09

BR53: LD D,OOBR54: CALL GENFREQ

OJNZ .BR"i5tD D,OOCALL GENFREQPOP BRET

BRSS: BIT 7,AJRZ,BR5S

INC £1.D D,OlRLC AJR BR54

B156: RLe AJR BRS3

BIT POINTER INITIALIZATIONBIT 1'0 BE REcORDED :: aRECORD START BIT AND ALL SUCCESSIVE BITS

RECORD STOP BIT

RETURNTEST BIT: "0" OR 1t11t

INCREMENT CHECKSUMBIT TO BE RECORDED • 1NEXT BITJUMP TO HeaRD If I"

JUMP TO UCORD" 0"

** GENFREQ **GENERATE 1200 HZ FREQUENCIES FOR "0" AND 2400 HZ FOR "ltl

03f18 FS0369 C5036A CB42036C 2804036E 3EAA0370 18020372 3£990374 06100376 D3480378 OEIB037A on0378 20m0370 07037£ 10F60380 Cl0381 Fl0382 C9

GINFUQ: PUSH APUSH BBIT O,DJRZ,BR57LD A,AAJR BR58

BRS7: 1.0 A.99BRS8: LD B,10BR59: OUT (48) .A

LD C, 18BR60: DEC C

JRNZ,BR60RLC ADJNZ,BR59POP BPOP ARET

SAVE REGISTERS

TEST BIT TO BE RBCORDEDJUMP TO BIT: "0"BIT : "1"

RECORDINGDELAY 1 PERIOD (AT 2400HZ)

NEXT ~ PERIODJUMP TO RECORDIE STORE REGI STEIS

** CA.RE **

CASSETrE READ

0383 1EOO0385 0100100388 1601

CAD: LD E, 00Ln BC.l000LD D,Ol

CHECKsrrM INITIA.LIZATIONSTART ADDRESS INITIALIZATIONTEST REGISTER INITIALIZATION

Page 65: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-61~

PRO-80 MOOITOR ~ALL RIGHTS RESERVED (c) 1981 PROTEC

038\ CDAA03 CALL LECFOR READ L!\ST LOCATlOO IN PROGRAM038D 67 LD H.A038E CDAA03 CALL LEctOR0391 6F LD L~A

0392 23 INC HL0393 CDAA03 BR6!: CALL LECFOR PROGRA"M READ039') 02 LD(BC) ,A0397 03 INC BC0398 E5 PUSH H0399 £D42 SBC HL.BC039B E1 POP H039C 20F5 JRNZ~BR61 TE ST END OF PROGRAM039E CDAA03 CALL LECFOR CJreCKSUM READ03Al BB CP A.E03A2 200) JRNZ.BR62 TEST ERROR03A4 C33EOO IP EXM CORRECT REA.DING03A7 C3DOO1 BR62: JP EXR ERROR

** LECFOR **

BYTE REA.D .~,L"

03AA,. cs LECFOR: PUSH B03AB 0609 LD B,09 BIT POINTER INITIALIZA.TION03AD OEOO LD C.OO BYTE INITIALIZATION03AF DB44 BR6): IN A,(44) READ03B1 CB6F BIT 5.A SYNCHRONIZ~TION TEST03B3 28FA JRZ.BR6303B5 CD3301 CALL DEL DELo\Y03B8 CB67 BIT 4,A TEST Bi t : 1 OR 003B\ 280D JRZ BR6S03BC 1C INC E IN~REMENT CHECKSUM REGISTER03BD CB42 BIT O.D03BF 2804 JRZ.BR6403Cl CB3A SRL D TE ST REGI STEa = 003C3 0605 LD B~05 BIT POINTER REINITIALIU.TION03C5 3E01 BR64; LD A.Ot0)C7 1806 JR BR6603C9 CB42 BR6S: BIT O~D

03CB 20H2 JRNZ ~ BRtl3 LOOP03CD 3EOO LD A~OO

03CF B1 BR65: OR C DEr:ODE BYTE03DO 1005 DJNZ.BR67 TEST END OF DECODING03D2 CD3301 CALL DEL STOP BIT DELAv )

03D5 Cl POP B03D6 C9 RET RETURN03C7 CB27 BR67: SLA A NEXT BIT -...

J

03D9 4F LD C~A

03DA 1803 JR BR63 LOOP

Page 66: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

--­,

-62-

Page 67: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

-6)-

ANNEX III

RST "RESTART" INSTRUCTIONS

The 2-80 has eight RST instruction addres~es and a NMIvector address which is used in the PRO-80 for 81ngle step pur-pose. Upon execution of the PST instructions, the processorsaves the PC content on the stack pointer and generates a jumpto addresses located in the monitor memory area. Other jumpsto RAM addresses have been provided allowing the user to in­clude a second jump to a service routine located anywhere inthe RAM. RST instruction cross-references have been summa­rized in the following table.

INSTRUCTION MONITOR ADDRESS RAM ADDfESS

RS'rO OOOOH -----

RST8 OOORH l)BBH

RST16 OOOlOH 13BEH

;:ST24 0018H 13C1H

R81\32 0020H 13C4H

1\8T40 0028H lJC7H

RST48 OOJOH 13CAH

RST56 OOJ8H 13CDH

Page 68: Protec PRO-80 Assembly and Operations · P~OTcC ASSEMBLY AND OPERATIONS . MANUAL.....-----NQlrE; PROTEC reserves the right to make changes at any

LIMITED WARRANTY

All PROTEC Systems assembled and tested at our facilityhave a 90 day limited warranty for parts and labour providedthe defect is not due to misuse of product.

PROTEC Kits also have a 90 day warranty for PARTSONLY but are subject to a $40~OO minimum service chargefor labour. PROTEC will advise you in writing if the ser­vice charge exceeds this amount.

This limited warranty becomes EFFECTIVE upon re­ceipt by PROTEC of the following WARRANTY form. Fill itout and include the name of your PROTEC Product Distributor.

WARRANTY

NA)\.~E I ,. " •••••• , , •••••••• It oil .

AI)ORESS s I ••••••••• ,. j I , .

MODEL I •• , , . , • It ,.. I ..

SE:RIAL NUMBER I ., ..•. " .

DA'rE OF PURCHASE I .....•..••••••...•......•••.•..

DI STRIBUTOR: ••..•...••. , ..•.•.....••.......•.•••

..