Home
Compcolor 8001 User Manual
Contents
1. SEDGE ce String Temporaries A string expression was too complex Break it into two or more shorter ones Type Mismatch The left hand side of an assignment statement was a numeric variable and the right hand Side was a string or vice versa or a function which expected a string argument was given a numeric one or vice versa 10 Undefined Function Reference was made to a user defined function which had never been defined 11 BASIC 8001 ARITHMETIC I NUMBERS BASIC treats all numbers real and integer as decimal numbers that is it accepts any decimal number and assumes a decimal point after an integer The advantage of treating all numbers as decimal numbers is that any number or symbol can be used in any mathematical expression without regard to its type Numbers used must be in the approximate range 10 38 lt lt 10 38 In addition to integer and real formats third format 15 recognized and accepted by BASIC 8001 This format is called exponential or E type notation and in this format a number is expressed as a decimal number times some power of 10 form is xxEn where E represents times 10 to the power of thus the number is read xx times 10 to the power of n For example 23 48H2 23 4 9104 2340 Data may be input in any one or all three of these forms Results of computations are output as decimals if they are within the range 01 n
2. sTeubts O3 051 Oc OS T VN eubts L OSI Aq qON OSI 03 92 pues ol G ST 4 JT A SACMTY 942 SMOTITPUED os OST pu s P A gt 7EN ala OSI OF Word dd A A amp HOG O3 OSI vg OS L pue STSS U 03 VN VV I u UIUIOO JANIE TOUSUION TeUbTS START UP AND INITIALIZATION Introduction BEFORE ATTEMTPING TO OPERATE YOUR iwTECOLOR 8001 TIS SUGGESTED THAT THIS SECTION BE READ AND UNDERSTOOD The power switch SW1 is located in the lower rear panel portion of the CRT case Also located on this panel are the various input and output port connections These are shown in Appendix A8 Connection diagrams are shown in Appendix A7 Power Plug the line cord into a 120VAC 60HZ outlet 230VAC 50 60 HZ with Option 11 When the power switch is pushed up the terminal is in the operating state After the switch is turned on a 60 second warm up period is required before operating the terminal The unit will come up in th
3. __ DATA Move immediate DATA into REGM ADI DATA Add immediate data to accumulator A DATA carry Add immediate data to accumulator with carry SUI lt DATA Subtract immediate data from accumulator SBT A lt DATA carry Subtract immediate data from accumulator with borrow ANI AND DATA AND accumulator with immediate data A e A XOR DATA EXCLUSIVE OR accumulator with immediate data ORI lt OR DATA accumulator with immediate data CPI Condition bits set by A DATA Compare immediate data with accumulator Condition bits affected LXI MVI None ADI ACI SUL SBI Carry Sign zetro parity aux Garry ANI ORI Zero sign parity Carry is zeroed CPI Carry sign zero parity aux Carry Zero is set if A DATA Carry reset if A lt DATA Carry set if A gt DATA DIRECT ADDRESSING INSTRUCTIONS Format LABEL CODE ADDR CODE DESCRIPTION STA ADDR Store accumulator at location ADDR LDA Load accumulator from location ADDR SHLD ADDR 1 ADDR I e 3 store L and H at ADDR ama ADDRt 1 H ADDR 1 Load L and H from ADDR and ADDR 1 Condition bits affected None 39 JUMP INSTRUCTIONS Format LABEL PCHL LABEL CODE ADDR CODE DESCRIPTION PCHL lt Jump to location specified by register H and L JMP PC
4. adUasajas SJUaWaINSeaW awil Q AaJDAD 214128ds Aue 1u s id ui 1 sdiusuonejea4 smoys 514 SALON 101 1u1 u gt ka 00 101 5 r INI NI _ VQ IH LNO 1 2 04 4 _ P104 h 11002104 M P2u LIVM LNO AQV3U NI 005 4 j L YM 1 0 LNO 1902 04 INAS LNO 00 24 09 4191 19 291 4 2 amp NI LONI q pue e s 1ou aes 0 19 36 TERMINAL ASSIGNMENTS TMS 8080 3 7 MECHANICAL DATA 40 PIN CERAMIC PACKAGE re 0 600 0 010 0 020 0 032 NOM 0 050 0 020 0 018 0 003 0 010 PIN SPACING 0 100 TP See Note A 0 050 0010 NOTES A The true position pin spacing is 0 100 between centerl ines Each pin centerline is located within 0 010 of its true longitudinal position relative to pins 1 and 40 B All dimensions are in inches unless otherwise noted D 20 APPENDIX 6 How to Align the Intecolor 8001 CONTENTS 1 0 SAFETY PRECAUTIONS 1 0 1 HIGE VOLTAGE 1 0 2 X RADIATION PRECAUTIONS 2 0 INSTA
5. Nor A p3 2 1000 000 0G 1000 1100 4 2 00009111 0019101 000 01060112 00 016100 00 IF Ce 2 4 EVEN opp 1100010 111 8000 p 9 1 1412 TAKE C ADD 21 001 2 0440 20 00100 sh 1010 _ 24 pe 000 A ud 01000 22 3 E 5 elm TAKE 0 1 2 34 567 948 1 70 1 2 6 DW 115 29 5 75 2515 we 2 47 2 1 4 245 bw 8 6 20 Sub 4 23 u 5 704 Div t TAKE NO 10011010 01100101 011060012 010 hU s 010 32 5215 8 oyde 4 M 0790000 y ou RY b r B u GO EVERY Z Go ENG every G0 EVERY 676 TA AY 2 ec AT START START GCO Q sth Sc 0090 2 o000 QI 3326 Ic c Wa QGO ubi
6. Exponentiation Raise to the Bth power Unary plus and minus are also allowed e g the in or the in X Y Unary plus is ignored Unary minus is treated as a zero minus the variable e g A B would be handled as O A B VL PRIORITY OF ARITHMETIC OPERATIONS When more than one operation is to be performed in a single formula as is most often the case rules are observed as to the precedence of the Operators 15 In any given mathematical formula BASIC 8001 performs the arithmetic operations in the following order of evaluation 1 Parentheses receive top priority Any expression within parentheses is evaluated before an unparenthesized expression 2 In the absence of parentheses the order of priority is Exponentiation proceeds from left to right b Unary minus C Multiplication and Division equal priority Addition and Subtraction of equal priority e Logical operators in the order NOT AND then OR 3 either 1 or 2 above does not clearly designate the order of priority then the evaluation of expressions proceeds from tefe to right The expression AABAC is evaluated from left to right as follows 1 AAB step 1 2 result of step 1 AC answer The expression A B C is also evaluated from left to right since multi plication and division are of equal priority 1 step 1 2 result of step 1 answer The expression A B CAD is evaluated as 1 CAD
7. RM sign S 4 RZ zero 2 1 Conditional return instructions for talse flags f 3 11 Pass RNC carry C 1 1 5 Fail RPO parity P 1 RP sign 5 1 RNZ zero 2 1 RST 3 11 SPHL 1 1 5 2 2 6 REGISTER GROUP INSTRUCTIONS M CYCLES OPERANDS BYTES STATES DCR M 1 3 10 DCR ra 1 1 5 DCX 1 1 5 INR M 1 3 10 INR 1 1 5 INX rb 1 1 5 LHLD 362 3 5 16 LXI rpgb3b2 3 3 10 MVI M b2 2 3 10 MMVI rab2 2 2 7 MOV 1 2 7 MOV 1 2 7 MOV 4 2 1 1 5 SHLD b3b2 3 5 16 XCHG 1 1 4 XTHL 1 5 18 DESCRIPTION If f 1 SP 1 5 5 2 1f the specified f is 1 execute a RET Otherwise execute the next Instruction If f PC SP SP 1 SP SP 2 11 5 2 PC SP SP 2 lt 0000 0 where is a field in RST RST 3R7g Transfer to the stack address given by SP decrement SP twice and jump to the address specified by R ISP TREE DESCRIPTION 1 decrement the contents of memory location specified by H and L 2 5 1 rg r3 1 decrement the contents of register Z S P C1 rg rp 1 decrement double registers BC DE HL or SP lt 1 increment the contents of memory location specified by and L 2 5 1 ra 1 increment the contents of register iz SP cit rg rg 1 increment double registers DE HL or SP L b3
8. PRINT LEN AS 26 MIDS x 1 J Returns the string of characters in position I through J RIGHTS I Returns right most I characters of string e STRS x Returns the string which represents the numeric value of x as it would be printed by a PRINT statement but without a leading or trailing blank 54 5 Returns the number represented by the string xS does not represent a number then value is returned In the above examples 5 and 5 represent any legal string expressions and I and J represent any legal arithmetic expressions User Defined String Functions Character string functions cannot be written in the same way as numeric functiens BASIC 8001 EDITING COMMANDS BASIC 8001 provides several key commands which can be used to halt program execution erase characters or delete lines The below table provides an explanation of each of the key commands Key Commands Key CTRL J or LINEFEED e CTRL M or RETURN CPRL K ERASE LINE CTRL Z or CURSOR LEFT ee I GTRL L or ERASE PAGE Explanation Interrupts execution of a command or program BASIC 8001 prints the message BREAK IN READY A control command is typed by holding down the CTRL key while typing the letter key Must be typed to end every line typed in or to indicate the end of an INPUT Deletes the entire current line provided the RETURN key has not b
9. This option normally uses the color select pad on the keyboard The pad is arranged as shown below Yellow Color Selection One Pad Character Plot Aray One Plot Block Selected by Green Figure 25 6 1 19 From the above it is easy to see the one to one correspondence between the 2x4 color select pad and the 2x4 character plot blocks Thus this mode is designed especially for use by the keyboard to simplify the drawing of graphs or the correcting of graphs Once in this mode a block at the top right hand corner of the cursor present position can be intensified by pushing the top right hand corner key in the color select pad in this case the blue key or Control T or Code 20 Once that plot block has been intensified any other plot block at that same character location can also be intensified since the cursor does not automatically advance the blue key was to be pushed the second time then the already intensified plot block will be extinguished This effectively allows any one plot block to be erased After all desired plot blocks have been either intensified or extinguished the cursor may be conventionally moved without escaping from this special text and character plot mode In fact all of the control codes are effective while in this mode except the color select control codes and any of the ASCII Text characters can be entered and displayed Any code that requires a two key or more sequence such as cursor X Y CCI and E
10. 4 10 SUMMARY OF CONTROL CODES FOR INTECOLOR 8001 NULL control has no effect PROTECT control A has no effct PLOT control B enters graphic plot mode see plot submodes CURSOR XY control enters cursor address mode for either visible cursor or blind cursor FREE control D not used has no effect FREE control not used has no effect CCI control the next character which follows provides the 8 bit visible status word 7 BELL control provides a 150 ms tone continuous Nese HOME control moves the cursor to top left corner of display TAB control I causes cursor to advance to next column the tab columns are every 8 characters LINE FEED control J causes the cursor to move down one line 1 ERASE LINE control K causes the cursor to return to beginning of line 12 and causes the complete line to be erased ERASE PAGE control L causes the complete screen to be erased and 13 14 15 17 18 19 16 the cursor moves to the home position RETURN control M causes the cursor to move to the beginning of the line it presently is on 7 turns the 47 bit flag on PLOT BIG LETTE es r BLINK A7 OFF control O turns the blink bit and 7 bit off BLACK KEY control P sets either foreground or background to color black RED KEY comtrol Sets either foreground or background to color red GREEN KEY control R sets eith
11. 4 2 13 W COMMAND WRITE MEMORY drive the tr ack numer The format of the W command is W low address high address Low address is a valid 16 bit memory address High address is a valid 16 bit memory address equal to or greater than low address Description The W command is used to output memory locations low address through high address to the system punch device in hexadecimal format series of W commands may be issued in order to punch various non contiguous memory locations onto a continuous strip of tape Any series of W commands should be terminated with an E command in order to punch a termination character so that when the tape is read it will be handled properly Example memory locations 1 through 3 contain 53F8EC the command W0001 0003 Cr produces 1030001005 5 See Appendix D for an explanation of tape format prror Conditions If low address or high address is greater than 16 bits only the last 4 hex digits of the argument will be used as the address Example The command WABOO10 100 Cr 1S equivalent to the command 0010 100 Cr 2 If low address is greater than high address only the one byte at low address will be written 25 Example The command W10 0 Cr is equivalent to the command WI0 IO CL 8 Non existent memory is equivalent to a string of bytes all containing FF H d An invalid character in either address will cause the
12. 40 PRINT FNX A will cause 10 to be printed The function variable need not appear in the function expression as Shown below 10 DEF X 4 2 20 LET 10 1 30 PRINT 40 END RUN 7 53 BASIC 8001 FUNCTIONS STRING FUNCTIONS Like the intrinsic mathematical functions e g SIN LOG BASIC 8001 contains various functions for use with character strings These functions allow the program to concatenate two strings access part of a string determine the number of characters ina string generate a character string corresponding to a given number or vice versa search for a substring within a larger string and perform other useful operations The various functions available are summarized in the following table String Functions Function code Meaning ASC 5 Returns the seven bit internal code for the one character string x as a decimal num ber If the argument contains more than one character then the first character in the string is returned x Generates a one character string having the ASCII value of x where x is a number greater than or equal to O and less than or equal to 255 For example CHRS 65 is equivalent to A Only one character can be generated FRE 5 Returns number of free string BY HEFTE Returns left most I characters of string 5 LEN Returns the number of characters in the string including trailing blanks Bor example
13. 480 ns lt 2000 ns 6 The input should enabled using the DBIN status signal No bus conflict can then occur and the data hold time requirerment is thus assured MIN MAX 480 200 O N N O T 130 150 140 180 120 tPD DBI 3 5 SWITCHING CHARACTERISTICS OVER FULL RANGE OF RECOMMENDED OPERATING CONDITIONS SEE FIGURE 2 tPD ad Propagation delay time clock 2 to address outputs tPD da Propagation delay time clock 2 to data bus tPD cont Propagation delay time clocks to control outputs tPD pBI Propagation delay time clock 2 to DBIN output tPD int Propagation delay time clock 2 to INTE output Time for data bus to enter input mode Disable time to high impedance state 2 during hold address outputs bus PARAMETER TEST CONDITIONS 100 pF 51 39 MIN MAX MI N 25 140 20 U 2 3 3 3 2 nln 3 22 UNIT ns 3 tPD DBI ns 120 The time that the address outputs and output data will remain stable after WR goes high twa and twp gt 14 1 62 The time between address outputs becoming stable and WR going low taw lt 2 1 ta i1H 02 000 120 ns The time between output data becoming stable and WR going low tow 2 1 0 ta 18 2 7t 150 ns The following are relevant when inte
14. 86 iMiEO lEN B3 INCREAS A c Em SAY Wealel ih r 7 i 3 aft d y 4 4 m TP 169 c n kr my 1 Vi p 1 2 i 121 Yu 5 E h 2 F SIG 8001 L Introductr Summary of Er Mess BASIC 8001 BASIC 8001 BASIC 8001 BASIC 8001 BASIC 8001 BASIC 8001 BASIC 8001 BASIC 8001 Using Asse with BAS T A E C O M TaN TS on Commands ages Arithmetic Strings Immediate Mode statements Arithmetic Functions User Define Functions String Functions Editing Commands mbly Language Routines LC PAGE 12 17 18 20 21 23 24 41 42 50 51 55 54 55 36 60 61 r pm p p gt p p p p y gt pt F p gt P 41 92 BASIC 8001 INTRODUCTION BASIC 8001 is a single user conversational programming language which uses simple English type statements and familiar mathematical notations to perform an operation BASIC 8001 is one of the simplest computer languages to learn and once learned has the facility of advanced tech niques to perform more intricate manipulations or express a problem more efficiently BASIC 8001 is in incremental compiler which provides immediate translation and storage of user programs being input This method decreases the response
15. Carry rotate accumulator right RAL 4 carry A4 A g e Garry Rotate accumulator left through the carry Carr Rotate a lato RAR ee ea carry lt Ap 7 CHE y e accumu ig right through carry Condition bits affected Carry REGISTER PAIR INSTRUCTIONS Format LABEL GODEL RP LABEL CODE 2 Note For PUSH POP RP B D H or PSW For DAD INX and DCX RP B D H or SP Du Codel Description Save RP on the stack RP A saves accumulator and condition bits 1 SP 1 2 lt SP Restore RP from SP T2 the stack RP A restores accumulator and condition bits Add RP to the 16 bit number in H and L Increment RP by 1 Decrement RP by 1 Code2 Description XCHG H e SID D lt gt E Exchange the 16 bit number in H and with that D XTHL L e 5 5 lt gt 5 1 Exchange the last values saved in the stack with H and L SPHL H 1 D Load stack pointer from H and L Condition bits affected BUSH GNSS DEX XCHG XIHL POP If RP PSW all condition bits are restored from the stack otherwise none are affected DAD IMMEDIATE INSTRUCTIONS Format LABEL LX1 RP DATA16 _or LABEL MV1 REGM DATA _or LABEL CODE REGM Note RP B D H oF SP 22 CODE DESCRIPTION LXI RP DATA LG Move 16 bit immediate Data into RP MVI
16. Code 28 Gursor Control Moves the cursor up one line without destroying any information This is effectively the opposite of a Line Feed operation Code 29 Flag Off Control When this code is received the Reverse Field flag is set to O Effects the special character codes 96 to 127 and the color codes 16 to 23 Code 30 Flag On ControlA When this code is received the Reverse Field flag is set to one Effects the special character codes 96 to 127 the color codes 16 to 23 and the plot modes Code 31 Blink On Control When this code is received the Blink bit of the composite status 15 set toa 1 This bit is turned off when the Blink Protect Off key is operated see Code 15 Code 32 to 95 Numbers and Letters These provide the standard printing ASCII Upper Case characters punctuations and numbers See Appendix A 2 for code set of the the Intecolor 8001 Code 96 to 127 Special Characters These codes provide either 32 special characters such as lower case ASCII characters or 64 special characters The 64 special characters are actually two groups of 32 special characters group is selected depending upon the condition of the Flag bit the flag bit is off then the codes are not changed when they are placed in the CRT refresh RAM the flag bit is on then these codes have 96 subtracted from them before they are replaced in the CRT refresh RAM Therefore they are
17. Format The first register of register pair RP The second register of register pair RP The sign bit The 16 bit stack pointer register Source register or memory byte The zero bit The value obtained by concatenating the values X and Y An optional field enclosed by ND Contents of register or memory byte enclosed by parentheses Replace value on lefthand side of arrow with value on right hand side of arrow CARRY BIT INSTRUCTIONS LABEL CODE CODE DESCRIPTION STC CMG carry 1 Set carry carry Complement carry Condition bits affected Carry 28 SINGLE REGISTER INSTRUCTIONS Format LABEL INR REGM LABEL DCR REGM LABEL CMA LABEL DAA Code Description INR REGM REGM 1 Increment register REGM DCR REGM 1 Decrement register CMA A A Complement accumulator DAA If Ag A3 gt 9 er aux carry 1 Convert accumulator A A 6 contents to form _ Then if gt or Coarryv s two decimal 1 A 6 24 digits Condition bits affected INR DCR Zero sign parity CMA None DAA Zero sign parity aux Garry NOP INSTRUCTION Format LABEL NOP Code Description mto tec ce No operation Condition bits affected None 29 DATA TRANSFER INSTRUCTIONS Format LABEL MOV DST SRC LABEL CODE RP NOTE SRC and DST not beth M NOTE RP or D Code Des
18. RCY 5 Receiver serial data input line RCV must be held in the inactive high state when not receiving data A transition from high to low will activate the receive circuitry 6 SIGNATURE PIN X10 1 XI 2 3 XI 4 5 7 SENS XO 0 XO 1 XO 2 XO 3 4 5 6 7 XMT DO D1 D2 D3 D4 D5 D6 D7 INT Vss VBB Vcc 91 2 39 38 37 36 85 34 33 32 22 24 25 26 27 28 29 30 i 40 wW N 20 21 TABLE 1 continued TMS 5501 PIN ASSIGNMENTS AND FUNCTIONS DESCRIPTION INPUTS External inputs These eight external inputs are gated to the data bus when the read external inputs function is addressed External input n is gated to data bus bit n without conversion External interrupt sensing A transition from low to high at SENS sets a bit in the interrupt register which if enabled generates an interrupt to the TMS 8080 OUTPUTS External outputs These eight external outputs are driven by the complement of the output register 1 if output register bit n is loaded with a high low from data bus bit n by a load output register command the external output n will be alow high The external outputs change only when a load output register function is addressed Transmitter serial data output line This line remains high when the TMS 5501 is not transmitting DATA BUS INPUT OUTPUT Data bus Data transfers between the TMS
19. b2 lt b3 gt lt b2 gt 1 load registers and L with contents of the two memory locations specified by bytes 3 and 2 rbH lt b3 gt rbL lt lt b2 gt toad double registers BC DE HL or SP immediate with bytes 3 2 respectively lt 2 gt store immediate byte 2 in the address specified by HL lt 6 22 load register immediate with byte 2 of the instruc tion lt store register in the memory location addressed by H and L load register with contents of memory addressed by HL 2 load register with contents of 2 contents remain unchanged lt 63 gt lt 62 gt L lt b3 gt lt 2 gt 11 H store the contents of H and L into two successive memory locations specified by bytes 3 and 2 0 L E exchange double registers HL and DE L 5 H SP 1 5 SP exchange the top of the stack with register HL 23 INSTRUCTION SET OPCODES ALPHABETICALLY LISTED MNEMONIC BYTES ACI 2 ADC 1 ADCr 1 ADD 1 1 ADI 2 ANAM 1 ANAr 1 ANI 2 CALL 3 3 CM 3 CMA 1 CMC 1 1 1 3 3 CP 3 CPE 8 CPI 2 CPO 3 CZ 3 DAA 1 Two possible cycle times 11 17 flags 2 P G1 affected Only carry affected REGISTER DESCRIPTION AFFECTED Add immediate to A with carry Add memory to A with carry Add regi
20. rr 5 inise RP UE D ea _ e ia 30071 P O Box 569 Norcross Telephone 104 449 5879 Corporation I L oni Factory 404 449 5 8 79 v V Puli LAU gt 2 J hs MS QYK Rora r x bs unit C YAY do hie Mats 2 TTE De he Tin P pes ly Pep mee 2 70 Ss that cov d Fer that need a decent 8289 development system There ne doubt thet the 1 has potentia powerful systern with proper teat DESIRABLE ADDITIONS avd e c lt D S S EXTENDED BASIC WITH FILES 2 RELOCATABLE MACRO ASSEMBLERE DISASSEMBLER VARIABLE 5 2 BASE amp TRA CALCULATCR UJ at meen EDITOR Z SELECTRIC I 6 ROUTINE 5 BASIC FORTRAN Vice PROGRAMMER 2 716 PROGRAMMER POWERFUL PLOT SYSTEM INCLUDING 3 1 DIAGRAM CAPABILi TIS MAYBE Hi D2 EN LINE PANES AND SARSTITUTICN RO ELEMENT FROM TABLES 4 AX Cr lt x 1 4 a J wm PAL N IE RAHLE AAR SU WPD rnc d gt H I 49 DC CuY ee Lom j 2 gt 4 phe 1 me CPS
21. 14 N Not Used 15 Re Entry control to the CPU Operating System 16 P Initializing amp Transfers Control to the CPU Operating System 17 Q Allows Operation in Character Insert Mode 18 R Allows Selection of 1 of 7 Baud Rates 19 5 Transfers Control to the 8080 Assembler 20 T Transfers Control to the Text Editor 2 1 U Inserts one line 80 blanks 22 V Deletes one line 80 blanks 5 23 W Transfers Control to BASIC 8001 Software 24 x Sets Unit to Write Left to Right amp Page Mode 25 Y Test Mode Fills Screen with Next Character 26 Z Sets Unit to Write Down on 45 Degrees 27 ESC Not Used 28 b Sets Unit to Write Up on 45 Degrees 29 71 Sets Unit to Block Receive Mode 30 Causes a Jump to Ram Address Transfers Control to the Mode The letters are presented for easy reference 1 full duplex mode requires ESC F sequence It should be noted that the Escape control codes can be any 8 bit value so long as the 5 least siqnificant bits are correct for the operation desired The terminal simply masks off the undesired higher order bits The Keyboard and RS232C input port has separate and independent Flags which determine some of the modes Therefore the Keyboard may be in the character input mode while the RS232 input may be in the Plot mode or vise versa The input port and the Keyboard can operate completely independently of each other See Details of Escape Codes section for more information 17
22. 162 sug 64 2234 83114406 SI NOILdO 31 SYSLOVYVHD 99 30 9 QNOO3S JHL SV 53002 353 380338 135 N338 SVH NO 97135 JAHL 31 140 NI X13A1123d838 O SNWNT0D OL 031915 1 38 TIM 2 ONY 9 5 102 V NI 1019 NVO SHL SAIM JHL LAOHLIM 0311VL8NI 5437 1VNOILdO SS31Nh 390 1014 IHL N3HA 33 OL QJ SN9ISSV3W QHVO9A33 53005 OL 08 514300 TVNINYSL 3Hl LAS 02 008 YOTOOULNI 3LON CV S yio 9911934405 ATISY 242399 pavo hax wos s a MT Me lest js 34V283 1034 613 13 Sid 159 63 4 i 2 y 2 222 96 gt thi 1014 vis vis x 3 4 Ge 168 lee LOW 1410 TE 9 2 022 1014 LNIOd A 213 213 213 612 1014 1Y1N3W3UONI SVH3 d 812 uva ox 014 013 1331 ds uosuno 6 2 WWE 63 63 9 8 uve x ux 93 93 Lv2 lez 6 i A UVEX 13 13
23. 176 ASSEMBLES LANGUAGE PROGRAM NOTE This uas return the contents oi CALL 2544 UA Dt Registe cesser Te The variable A n Mov hag 2 and alse return je BASIC 001 9 OU ee ee eee REC 8 8 XRA Ke value must be w ceo ste coencre then why clear A with gt T ger 3 naf get 2 564K acdec Tid af 227 Then Joe To 2C53agx When Assembly Program E entered at 24 DOPO ux then must place jump to 9906 ey at location es BASIC 8901 wil gamp to whenever it encounters a call de Assembly Language his qum p MUST be POKE IN vic BAS these are inter mal hints the people and they are too accurate it for what itis woe corrected Some 2041045 errors n t all Cannct Sg u verify their plete d ada stry OEL A 15 INCOM alete Co eNofe BASIC Apg through AB 61 VARE ColeNcie 320 7 throug h POKE 92767 X is areg geod 5 calci Addit Comme 475 M test Powe 24575 24574 176 INPux X 30 1000 A CALL x NEXT PENT X FORI To i000 9 NEXT PR rx 5 20 99 END Some prog
24. 19 11 11 12 12 12 12 12 12 14 14 15 16 17 18 18 19 19 21 22 23 24 24 25 26 26 27 38 39 42 43 44 i rm v rt PU r r Ge NE TERMS TERM Address Bit Byte Console Instruction Object Program Program source Program system Program DESCRIPTION A 16 bit number assigned to a memory location corresponding to its sequential position The smallest unit of information which can be represented A bit may be in one of two States 1 A group of 8 contiguous bits occupying Single memory location Refers to the 8001 CRT Display as the output device and the 8001 keyboard as the input device Allows operator interface with the CPU operating system The smallest single operation that the computer can be directed to execute A program which can be loaded directly into the computer s memory and which requires no alteration before execution An object program is usually on paper tape and is produced by assembling or compiling a source program Instructions are re presented by binary machine code in an object program A sequence of instructions which taken as a group allow the computer to accomplish a desired task A progam which is readable by a programmer but which must be transformed into object program format before it can be loaded into the computer and executed Instructions in an a
25. 20 FOR 1 TO 5 38 PRINT I FNS T NEXT I 58 END 51 2 108 DEF FNS X 20 FOR 1 1 5 39 PRINT I FNS I Ag NEXT I 5 END cause the same output RUN 1 1 2 4 3 27 4 256 5 24549 READY The argument in the DEF statement can be seen to have no significance it is strictly a dummy variable A DEF statement with no arguments is illegal function itself be defined in the DEF statement in terms of numbers variables other functions or mathematical expressions For example 10 DEF XA2 3 X 4 20 DEF FNB X FNA X 2 FNA X 30 DEF FNC X SOR X 4 1 The statement in which the user defined function appears can have that function combined with numbers variables other functions or mathe matical expressions For example 40 LET FNA X Y Z YA2 D A user defined function cannot have several arguments as shown below 25 DEF FNL X Y Z SOR XA2 YA2 ZA2 will cause an error SN ERROR IN 25 READY When calling a user defined function the parenthesized arguments can be any legal expressions The value of each expression is substituted for the corresponding function variable For example 18 DEF FNZ X Xa2 20 LET A 2 36 PRINT FNZ 2 A line 30 causes 16 to be printed 52 If the same function name is defined more than once then the last definition will be used The program below 108 DEF FNX X XA2 20 DEF FNX X X X 30 LET A 5
26. Enjoy your self programming in BASIC 8001 f BASIC 8001 SUMMARY OF COMMANDS 1 BASIC 8001 STATEMENTS The following summary of BASIC statements defines the general format for the statement and qives a brief explanation of its use DATA value list DEF function argument expression DIM variable n variable n m variable variable END FOR variable expressionl TO expression2 STEP expression3 GOSUB line number GOTO line number THEN IF expression GOTO line number INPUT list INPUT string list LET variable expression NEXT variable ON X GOSUB line number list ON X GOTO line number list Used in conjunction with READ to input data into an executing program Defines a user function to be used in the program Reserves space for lists and tables according to subscripts specified after variable name Placed at the physical end of the program to terminate program execution Sets up a loop to be executed the specified number of times Used to transfer control to the first line of a subroutine Used to unconditionally transfer control to other than the next sequential line in the program Used to conditionally transfer control to the specified line of the program Used to input data from the terminal keyboard promps with Used to input data without promp character Used to assign a value to the specified variable s Placed at the end of a FOR loop
27. The Character Plot is entered by a 254 after the general Plot Mode 2 or Control Code B is entered From the Keyboard use Control 2 or 14 It may also be entered directly from any of the other plot submodes After entering the Character Plot the next word will be treated as a plot character except for code 255 binary or FF hexadecimal i e all eight bits are l s See Appendix The general Plot Mode and the Character Plot terminate upon receipt of a 255 code The above procedure must be repeated after a 255 code terminates the Plot Mode and the plot submodes Other plot submodes may not be entered from the Character Plot To enter other plot submodes the Character Plot must be terminated the general Plot Mode entered and the plot submode entered with its associated code 26 procedures for entering and exiting the Character Plot are shown below Function Code Plot Mode 2 Character Plot 254 Plot Character l 254 Plot Character to 254 Plot Escape 255 The Character Plot causes the 6 wide by 8 high dot matrix to be divided into 8 blocks organized 2 blocks wide by 4 blocks high Each block consists of a sub dot matrix of 3 dots wide by 2 dots high Each block may be individually intensified by defining the bit one of eight bits associated with the block in the plot character Bits may by together for a combination of blocks a plot character creating a form of graphics for plotti
28. Value for another vector The process is shown below and in Appendix B 7 34 Fumct ron Code Plot Mode 4 or X point Plot Supmode 2953 Vector point 1 Oto 154 Vector point 1 O to 99 191 Vector plot submede 242 Xo Vector point 1 O to 159 Yo Vector point 1 O teo 99 191 peint N 1 Yo Vector point 1 to 99 191 Vector point N 159 Yo Vector point N 191 Plot Escape 255 or Plot Submode 240 to 254 NOTE Send code 242 between vector point and vector point words if necessary for timing considerations See Appendix A 4 for delays Vector Mode Y Value binary 241 The Y vector 1s entered by binary 241 code after the general Plot Mode is entered From the keyboard use Control 1 ls This mode is more commonly entered automatically from the Vector mode After entering the Y Vector mode the next word defines the Y value or the vector being drawn There is no Bestriotionm on Yo With respect to Yj except It must be im the range of to 99 191 Upon receipt of the Y walue a vector Is drawn from Xj Yj to Yor with Ene new mow at the old X Y the next vector has 1 value old then only the new need be sent This would effectively draw a vector Irem ihe present Position to the new point See Appendix B 7 Yo Incremental Vector Mode binary 240 Te increme
29. fala 2 L kawsa Ur iB vic Uva 93 93 93 I 9 A 14 622 63 3 3 0 5 2 5 TTA 922 212 7 1 WA vd 3 t3 J 7 gt Lee MOTNJA 0 le r si 922 84 435 1074 HO123A 24 23 23 yz N3389 0 0 2 2 t 622 602 utr 1014 HO123A 13 id Qia 0 0 EE L Ly aga i v22 E 802 i 2 Lue 13 03 13 03 13 03 4010 0016 0016 13 5 1 02 13 5 30 1 2 1 L4IHS LNOO L3IHS 1 0214 6 1 2 L3IHS o Ili NOILONNS VNOILdO 2888 t 5 9 4 SOLWLS woos 11969 126 N339O E x k K be K K be e be K be dA 21 CHARACTER PLACEMENT GIVES LEFT BorTOM BOARDERS WITHIN THE 6 5 MATRIX C P E 1 PUE mu E T i F na ed 180 M wasa m Bi ue CAC Cae _ ECT i re iri Ed wITX T jar
30. the extremes 4 and 6 are never reached 10 REM RANDOM NUMBER SET IN OPEN RANGE 4 6 20 FOR B 1 15 30 LET A 6 4 RND 1 4 PRINT 50 NEXT 60 END RUN A 29954 59266 5 929624 20985 5 773255 54026 5 272884 76248 5 678045 4 612245 33046 4 571194 26695 5 916445 69965 4 358705 54721 4 994235 4 197085 09034 5 044374 82533 4 492495 61408 5 555604 41632 4 991185 READY 49 25946 2021 21508 NOTE number sequence number IX Sign Function SGN x Negative arguments i e RND x will start a new random While RND will always generate the last random The sign function returns the value l if x is a positive value f if x is O and l if x is negative PRINT SGN 3 42 1 PRINT SGN 42 a PRINT SGN 23 23 2 For example The following example program illustrates the use of the SGN function 18 REM SGN FUNCTION EXAMPLE 20 READ 25 PRINT A B wc 30 PRINT SGN A SGN A SGN B 40 PRINT SGN C SGN C 50 7 32 44 60 END 57 32 B 44 p SGN A 1 SGN B 1 SGN C READY Call Statement SGN B The CALL statement can be inserted anywhere in the BASIC 8001 program and has the form CALL expression Where expression include routine The CALL statement causes a jump to location modified by the user contains a jump to the user must modify these three locations to go 50 i
31. 1014 LNIOd v 14014 5135 8 3005 10 1 09 2 HO Load LO Id 65 O X HdVM9 Ol 11 681 O X 1079 LNIOd Ol 161 ANTWA 6 01 952 3AVS Se 0 H319VHVHO 1019 1079 YALOVYVHO 2 42 3WVS 0114014 01 0 JONVY x la GYOM LX3N TVLN3W3H2NI X NOILONN4 OL 14014 5135 6 LN3W31dWO2 S OML 192 3009 V N z OL 14014 39NVH2 V N OL V N V N 3dV2S3 1014 NOLLONn3 0 01 14014 5135 1 S OML SSZ 3009 f f z w 10 HEX 20 40 80 00001000 Note Each of the above codes may ORed for composite symbols PLOT MODE CHARACTERS AND CODES 12 Yn 1 J X POINT PLOT AND Y POINT PLOT W pe uai d Su WW 7 wm AX AY 3 A Finish AX AY 1010 0 0 Movement and Coding Example 0010 2 t 011000 AX 1 1010 0 AX 1 AX 0 1 y 0100 4 AX 1 1000 _ 9 Av 0 AY 0 AX 1 PET 1001 4 A
32. 150 C Stresses beyond those listed under Absolute Maximum Ratings may cause permanent damage to the device This is a stress rating only and functional operation of the device at these or any other conditions beyond those indicated in the Recommended Operating Conditions section of this specification is not implied Exposure to absolute maximum rated conditions for extended periods may affect device reliability NOTE 1 Under absolute maximum ratings voltage values are with respect to the normally most negative supply voltage substrate Throughout the remainder of this data sheet voltage values are with respect to Vss unless otherwise noted 3 2 RECOMMENDED OPERATING CONDITIONS in High level clock input voltage 6 Low level input voltage all inputs except clocks see Note 3 1 Low level clock input voltage see Note 3 Operating free air temperature 3 3 ELECTRICAL CHARACTERISTICS OVER FULL RANGE OF RECOMMENDED OPERATING CONDITIONS UNLESS OTHERWISE NOTED PARAMETER TEST CONDITIONS Input current any input except E TOME V to Vee clocks and data bus Input current data bus VI DB O V to 100 pA Address or data bus input 07 VI DB I hold A current during hold 100 High level output voltage lOH 100 227 V 1 7 VOL Low level output vo
33. 90 and 10 of All other timing points are the 50 level SENSOR FIGURE 7 WRITE CYCLE TIMING twisens twisens L gt l ke iat 1 INTERRUPT EN RST INSTRUCTION dirst int ON DATA BUS lt See Note 1 NOTES 1 The RST instruction occurs during the output data valid time of read cycle 2 AM timing points are 50 of V IH FIGURE 8 SENSOR INTERRUPT TIMING mu o qp ww n j r lt EF r Appendix TMS 8080 Microprocessor TABLE OF CONTENTS ARCHITECTURE 1 1 Introduction 1 2 The Stack 1 3 Registers 1 4 The Arithmetic Unit 1 5 Status and Control 1 6 Operations 1 7 Instruction Timing TMS 8080 INSTRUCTION SET 2 1 Instruction Formats 2 2 Instruction Set Description 2 2 1 Instruction Symbols 2 2 2 Accumulator Group Instructions 2 2 3 Input Output Instructions 2 2 44 Machine Instructions 2 2 5 Program Counter and Stack Comal 2 2 6 Register Group Instructions 2 3 Instruction Set Opcodes Alphabetically Deed TMS 8080 ELECTRICAL AND MECHANICAL SPECIFICATIONS 3 1 Absolute Maximum Ratings 3 2 Recommended Operating Conditions 3 3 Electrical Characteristics 3 4 Timing Requirements 3 5 Switching Characteristics 3 6 Terminal Assignments 3 7 Mechanical Data LIST OF ILLUSTRATIONS Figure 1 TMS 8080 Functional Block Diagram Figure 2 Voltage Wav
34. ADDR Jump to location ADDR JC If carry 1 ___ ADDR carry 0 pc 3 Jump to ADDR if carry set JNC carey 0 ADDR corr d PC PC 3 Jump to ADDR if carry reset JZ If zero 1 ADDR zero 0 lt PC 3 Jump to ADDR of zero set JNZ If zero O PC lt ADDR If zero 1 PC 3 Jump to ADDR if zero reset JP sign 0 PC ADDR If soon 1 PC 3 Jump to ADDR if plus JM rE sign PC 2 ADDR Sign 9 lt PC 3 Jump to ADDR if minus JPE If parity 1 BC d ADDR IB parity O PC 43 Jump to ADDR if parity even JPO Qparity 0 PC lt ADDR D PC Jump to ADDR is parity odd Condition bits affected None 34 M c Format LABEL CALL INSTRUCTIONS CODE ADDR CODE DESCRIPTION EPE ASP 2 SE SP 2 ADDR CALL ce CNC CA CNZ CP CM CPE IE If j TI T IE IE TI DE IT TE carry Carr Carry Garry zero zero zero zero Sign sign sign sign parity parity parity parity call subroutine and push return address onto stack SP 1 PCH SP 2 PCL SP 5 2 ADDR Call subroutine if ca
35. Direct You cannot use an INPUT or DEF statement as a direct command NEXT without FOR The variable in a NEXT statement corresponds to no previously executed FOR statement Out of Data READ statement was executed but all of the DATA statements in the program have already been read The program tried to read too much data or insufficient data was included in the program Out of Memory Program too large too many variables too many FOR loops too many GOSUB s too complicated an expression or any combination of the above Overflow The result of a calculation was too large to be represented in BASIC s number format If an underflow occurs zero is given as the result and execution continues without any error message being printed Syntax error Missing parenthesis in an expression illegal character in a line incorrect punctuation etc RETURN without GOSUB RETURN statement was encountered without a previous GOSUB statement being executed Undefined Statement An attempt was made to GOTO GOSUB or THEN to a statement which does not exist Division by Zero Continue error Attempt to continue a program when none exists an error occurred or after a new line was typed into the program Long String Attempt was made by use of the concatenation operator to create a string more than 255 characters long Out of String Space Save your program on paper tape or cassette reload BASIC and allocate more string
36. Horizontal Horizontal Pincushion Width 7 R6 Vertical Height Vertical Vertical Position 4 Pincushion R4 5 ANALOG MODULE 100047 PRINTED CIRCUIT BOARD BOTTOM VIEW FIGURE 2 0 3 1 2 4022 0 6 2 0 7 HIGH VOLTAGE ADJUSTMENT Preset High Voltage Adjustment Control R8 Analog Module 100047 to 1 2 clockwise and Brightness Control R17 to maximum counterclockwise minimum brightness Remove the High Voltage Anode Cap from the tube and connect a Pomona 2900A or equivalent to the High Voltage Cap CAUTION BE SURE HV PROBE GROUND IS GROUNDED INSURE THAT ANODE CAP IS ISOLATED FROM ALL PERSONS AND EQUIPMENT Adjust High Voltage Control Re for 25 KV FOCUS ADJUSTMENT Create a full page of white dots on the CRT screen by utilizing the following procedure 1 Select Foreground Color WHITE 2 Select Background Color BLACK 3 Press keyboard period and allow to repeat until screen is full of white dots Adjust the FOCUS pot found on the right side viewing from rear of the Analog Card mounting bracket Remove the external case with 6 screws for optimum focus over the entire screen See Figure 2 0 6 1 PURITY ADJUSTMENT Intecolor 8001 should always be facing either north or south during p rity adjustment This assures that any effect of the earth s normal magnetic field upon beam landing will be negligible when the terminal is placed in its normal viewing loc
37. Name Function ABS x Returns the absolute value of x ATN x Returns the arctangent of x as an angle in radians in range or pi 2 CALL CALL the user machine ti at location A Hex 4001519 _54516 9092 24574 COS x Returns the cosine of x radians EXP x Returns the value of e where e 2 71828 FRE x Returns number of free BYTES not in use INT x Returns the greatest integer less than or equal to x INT 5 1 INP x Returns a BYTE from input port 0 lt lt 255 LOG x Returns the natural logarithm of x PEEK x Returns a BYTE from memory address 0 lt x lt 32767 or if x is negative the memory address is 6553693 POS x Returns a value of current cursor positions between O and 79 x Tee GOOD RE QUSS Returns a random number between O and 1 only 1445 numbers SGN x Returns a value indicating the sign of x Returns the sine of x radians SPC x Causes x spaces to be generated SOR x Returns the square root of x TAB x Causes the 8001 CRT to space over to column number x Valid in PRINT statement only TAN x Returns the tangent of x radians 42 The argument x to the functions can constant variable expression or another function A square bracket cannot be used as the enclosing character for the argument x e g SIN x is illegal Function calls consisting of the function name fo
38. O 0 g t 9 pear o mH 2 gt m 00 m m 2 nE3 m I m m m m Jc m gt gu E I r I gt POSITIVE LOGIC HEX OPCODE 7 04 0 oo O c oo Ol O amp GO Ol ost eS PE HSH Oc wesw ED m QD U p tO D ow gt O O U P OO s tn G N CO Im m SB N CLOCK CYCLES 7 pm POSITIVE LOGIC REGISTER HEX OPCODE CLOCK MNEMONIC BYTES DESCRIPTION AFFECTED D7 D4 03 00 CYCLES MOV 1 Move register register continued L C 9 L D A 6 B L H 6 C WAL 6 D L A 6 7 8 A C 7 9 A D 7 A A E 7 B A H 7 A L 7 D 7 MVIM 2 Move immediate memory 3 6 10 MVI 2 Move immediate register B 0 6 7 C 0 E D 1 6 E 1 E H 2 6 L 2 E A 3 E NOP 1 No operation 4 0 0 1 OR memory with B 6 7 1 register with B B 0 C B 1 D B 2 B 3 H B 4 L B 5 A B 7 ORI 2 OR immediate with F 6 7 OUT 2 Output D 3 10 PCHL 1 H amp L to program counter E 9 5 POP B 1 Pop register pair B amp C off stack 1 10 POP D 1 Pop register pair D amp E off stack D 1 10 POP H 1 Pop register pair H amp L off stack E 1 10 POP PSW 1 Pop A and flags off stack F 1 10 PUSH B 1 Push reg
39. Standard Interface Standard I O Ports The standard Intecolor 8001 has two input ports One port Jl is an asynchronous serial RS 232C I O or if Option O7 is installed a serial 20 ma current loop I O The other port J2 accepts parallel input data from the keyboard and provides an 8 bit parallel output The Intecolor 8001 is furnished with a crystal clock and provides a keyboard selectable baud rate of normal 110 150 300 1200 2400 4800 and 9600 baud or a high speed option of 880 1200 2400 9600 19 200 38 400 and 76 800 baud The serial input port is furnished without parity checking so that when in the Plot Mode or CCI Mode eight data bits can be received The signals for the standard RS 232C I O ports are shown on page 3 and Jl and J2 in Appendix A7 Pin 2 of the Keyboard J2 connector signals the Data communications equipment that the terminal has received a byte and 1S processing the last byte received The Unit s input port has a one byte buffer So for maximum speed the communications equipment can send the next byte as soon as it has detected the high to low transition on pin 2 The wave form is shown below 70 MICRO SECONDS 0 Next byte may be sent after high to low transition JOVAWHLNI 2Ct CSWH gt HOGx 3ON A 4dO Of ST 4 3243
40. T n 4 wg MOTH E U SNLVLS 30 153 034 YJWOLSNJ 5188 3HL 40 NOILINI33Q 3905 NO A01103 19 330 LON SI 303 49 NOILO3S 335 LON 5300 3005 SIHL V 3HL di SI SIHL 02472 NOILO3S 335 3009 34 553 30 5 9 2 341914 335 59 OL 09 leo OL 09 HO 3009 V 3009 380109 A8 1103 ATIVAHON 1103 ATIVAHON SNLVLS NITE 33193 40703 30 S3QON YOSYN 9 40 3NO 333 NO LdO 1019 300 10 1 05 3003 1041 02 3009 NO 330 TOYLNOD 07315 0713135 H3HlO TY oe 3009 IOYLNOD 3009 10 1 254 42 3003 10 1 05 199 9 3009 1041 02 SYSALOVYVHO VIl93dS 7919345 ce 15 3009 53409 53003 H319VHVHO Jl 1 12345 IIOSV 3009 LAdNI 82 15414 53003 1 10 30 3NO 3009 LAdNI 992 30 ANV ps cmm Delay Times are in Milliseconds Mode Normal Blind Cursor 278 Character Store Most Control Codes 46 Erase Line 1 45 Erase Page 16 30 Visible Cursor Character S
41. TU ATA ES 1 T 2 gt WATE dae eV j NY x g M 2 COMMANDS The following key commands halt program execution erase characters or delete lines Key CTRL J or Line Feed CTRL M or RETURN CTRL K or ERASE LINE CTRL L or ERASE PAGE CTRL Z or CURSOR LEFT Explanation Terminates program execution BASIC 8001 prints READY Must be typed to end every line typed in or to indicate the end of an INPUT A colon is used to separate multiple statements per line Deletes the entire current line Erases the CRT screen but does not change or disturb BASIC 8001 statements in any way Deletes the last character entered and echoes a cursor left The following list load save erase and execute the program currently in core Command CLEAR CLEAR X Required STRING dota LIST LIST line number LOAD I LOAD I RUN RUN line number SAVE I SANE LORD T ery Explanation Sets the array and string buffers to nulls and zeroes Sets space for string variable to X characters normally 50 characters Prints the user program currently in core on the list output device Prints the program from the line speci fied to the end Does a NEW and inputs the program on track from the READER input device Does not do a NEW but inputs and compares the program on track I with what is existing in RAM Memory Execut
42. address using two s complement arithmetic The bias may be negative but in this case must be in two s complement form If the tape was produced uSing an E command with a non zero entry point address see section 4 2 11 control will be transferred to that location in memory Other wise the CPU O S will remain in control and request another command Example If a tape was used which began at location O100 H the following command LFFBO Cr will cause the tape to be read and loaded into location 50 H 1000 50 18 error occurs while reading the tape Such checksum error the CPU O S will immediately stop reading the tape display Lf and await the next command The operation may be retried by backing up the tape to any point before the last colon and issuing another L command since each data word specifies the address at which it is to be loaded The CPU O S will read up to the first colon it en counters and then begin loading data Note that this means that if you wish to change data in locations in memory it is not necessary to regenerate an entirely new tape with the change instead you may read in the original tape then read in a patch tape which reloads only the erroneous locations Error Conditions Jj If the bias address is greater than 16 bits only the last 4 hex digits are used as the bias address Example The command 15
43. and C registers to OOH and FFh respectively XASp AA Sp OOSp FFSp DD Cr Note Values set by the X command will become the actual contents of the registers after execution of the next GO command The values displayed by the X command are the contents of the registers prior to the execution of the last breakpoint set by the GO command These displayed values however will reflect any changes of register contents made by the execution of X commands since this last breakpoint Error Conditions 146 If the data to be substituted is greater than 16 pits for registers M P S or 8 bits for the other register identifiers only the last 4 or 2 hex digits respectively are used 2 invalid register identifier or character is encountered the CR Tube will immediately display Cr Lf and await the next command 4 2 12 E COMMAND END FILE The format of the E command is E address Address is a valid 16 bit memory address Description The E command causes end of file mark and Sixty null characters to be written at the end of a hexa decimal output file The end of file mark is hexadecimal record of length 00 See Appendix D address is 0 or absent the L command which loads the file will return control to the CPU O S If address is non zero the L command will transfer control to that memory address immediately after loading the file 24 A 4 merition or haw To Specify the gt
44. array and string buffers are set to zeros and nulls by the CLEAR command to provide more core These buffers will be filled again when the RUN command is executed Example 10 10 20 PRINT A CLEAR READY RUN 1g READY DE CLEAR X COMMAND The CLEAR X performs the same function as CLEAR without the argument but the Argument X reserves X locations for string variables which are required in string calculations Normally this is 50 locations unless changed by CLEAR X command VII CONTINUE COMMAND Continues program execution after a Control J or line feed is typed or a STOP statement is executed You cannot continue after any error after modifying your program or before your program has been run 59 One of the main purposes of CONT is debugging Suppose at some point after running your program nothing is printed This may be because your program is performing some time consuming calculation but it may be because you have fallen into an infinite loop An infinite loop is a series of BASIC 8001 statements from which there is no escape The BASIC 8001 will keep executing a series of statements over and over until you intervene or until power to the unit is cut off If you suspect your program is in an infinite loop type in a Control J or line feed The line number of the statement BASIC 8001 was executing will be typed out After BASIC 8001 has typed out READY you can use PRINT to type out some of the values of your var
45. desired must be included as shown within the quotes above This feature allows BASIC 8001 to be programmed to handle fill in the forms type of applications 31 VIII DATA STATEMENT The DATA statement is used in conjunction with the READ statement to enter data into an executing program One statement is never used without the other The form of the statement is DATA value list where the value list contains the numbers or strings to be assigned to the variables listed in a READ statement Individual items in the value list are separated by commas strings must be enclosed in quotation marks For example 15g DATA 4 7 2 3 170 DATA 1 34E 3 3 17311 The location of DATA statements is arbitrary as long as they appear in the correct order however it 1S good practice to collect all DATA statements near the end of the program When the RUN command is executed BASIC 8001 searches for the first DATA statement and saves a pointer to its location Each time a READ statement is encountered in the program the next value in the data statement is assigned to the designated variable If there are no more values in that DATA statement BASIC 8001 looks for the next DATA statement READ STATEMENT A READ statement is used to assign the values listed in a DATA statement to the specified variables The READ statement is of the form READ variable list The items in the variable list may be simple variable names or st
46. desired to be plotted and causes the block to be intensified in accordance with the Section on binary 253 The Y value in this mode may range from binary O to 99 0 191 and all larger values will cause 100 192 to be subtracted from the new value of Y to be calculated Upon receipt of the Y value the X Point Plot is automatically entered by the terminal The X value of the next block to be plotted may then be sent as explained in the Section on binary 253 The Y Point Plot is terminated by Code 255 which causes the general Plot Mode to be terminated also Any of the other plot submodes may be entered directly from the Y Point Plot by simply entering the appropriate plot submode codes which range from binary 240 to 254 28 Therefore once in the Point Plot mode new points may be defined by simply sending X values and Y values consecutively without the necessity of re entering the X or the Y Point Plot modes The procedures for entering and exiting the Y Point Plot mode are shown below Function Code Plot Mode 2 Plot Submode 252 Yi Value O to 99 Value to 155 Y Value te 99 Value Onto gt Yn Value 9 to 99 Plot Excape 255 Or or Plot Submode 240 254 Plots point using whatever previous Value left in memory NOTE Send Code 253 between X Y data sets if necessary for timing considerations See Appendix 4 for Delays XY Incremental Point Plot binary 251 The XY Incremental Point Plot
47. from See Table 3 C Z S P C1 HL HL rp add the contents of double register rp to double register HL and place in HL C lt 63 gt lt 2 gt take the logical OR of the contents of and register and place A The carry flag will reset leZ SPEI lt 2 5 1 lt 62 gt 2 5 1 Am41 Am Shift the contents of register A to the left one bit through the carry flag 1 carry Ag Ag A7 carry A3 Shift the contents of register A to the left one bit Shift into and into the carry flag C Am Am 1 A7 Ao MNEMONIC OPERANDS BYTES SBB M 1 SBB ra SBI b2 2 STA 6362 3 STAX re 1 STC 1 SUB M 1 SUB 1 SUI b2 2 XRA M 2 2 2 3 INPUT OUTPUT INSTRUCTIONS OPERANDS BYTES IN b2 2 OUT b2 2 2 2 4 MACHINE INSTRUCTIONS MNEMONIC OPERANDS BYTES HLT 1 NOP 1 M CYCLES STATES 2 7 1 4 2 7 4 13 2 7 1 4 2 7 1 4 2 7 2 7 1 4 2 7 CYCLES STATES 3 10 3 10 CYCLES STATES 2 7 1 4 D 9 DESCRIPTION A A M subtract the contents of M and the contents of the carry flag from register A and place in A Two s complement subtraction is used and a true borrow causes the carry
48. illustrated in the following program 19 REM MATRIX CHECK PROGRAM 20 DIM 6 10 30 FOR I TO 40 LET 0 S FOR J D TO 10 60 LET A g J J 70 PRINT A I J 80 NEXT J PRINT NEXT I 99 END RUN OU QQ N lt lt lt amp lt lt lt m lt lt 0 lt lt lt m lt lt lt lt lt lt m m m lt lt lt lt lt lt lt m lt lt READY Notice that a variable has a value of zero until it is assigned another value Whenever an array is dimensioned n m the matrix is allocated m l n l elements Core space can be conserved by using the Oth element of the matrix For example DIM A 5 9 dimensions 6 x 10 matrix which would then be referenced beginning with the 0 0 element The size and number of matrices which can be defined depend upon the amount of storage space available A DIM statement can be placed anywhere in a multiple statement line and can appear anywhere in the program A matrix can only be dimensioned once DIM statements need not appear prior to the first reference to an array although DIM statements are generally among the first statements of a program to allow them to be easily found if any alterations are later required 26 All arrays specified in DIM statements are allocated space when the RUN command 1S executed V PLOT STATEMENT The PLOT Statement
49. is entered by code 251 after the general Plot Mode is entered From the Keyboard use Control or Fll It may also be entered directly from any of the other plot submodes except Character Plot After entering the XY Incremental Point Plot mode the next word defines the next two increments as shown in Figure below This word may have a range from binary 0 to 239 since binary 240 to 255 is used for the plot submode codes Plot Block 1 Block 2 29 nel ZIP 0 Change 1 0 Positive Increment 0 1 Negative Increment 1 1 No Change b through b3 are O s then the plot block will not prine but wall increment one increment according te the coding of b through b7 This allows the user to easily skip a plot increment by plotting with an invisible block It should be noted that the XY Incremental Plot mode does not automatically transfer the terminal to any other plot submode upon receipt of an incremental change word but remains in the XY Incremental Plot mode ready to receive another incremental change word Therefore a series of incremental movements may be made by sending consecutive incremental change words The XY Incremental Plot mode may be terminated by code 255 which causes the general Plot Mode to be terminated also Any of the other plot submodes may be entered directly from the XY Incremental Point Plot by simply entering the appropriate plot submode codes which range from binary 240 to 254 The procedures
50. is less than equal to B gt is greater than 2 gt 7 2 is greater than equal to lt or gt lt lt is not equal to B The symbole lt gt d and lt gt lt are accepted by BASIC 8001 but are converted to are shown in that form in listing 17 string variables pon 50 byte potentia length appears E eannot _clnange trisomy gt pur Change with CLEAR X statement see 5 5 BASIC 8001 STRINGS CLEAR X RESERVES X BYTES FOR STRING DATA STRINGS The previous section described the manipulation of numerical information only however BASIC 8001 also processes information in the form of character strings A string in this context 15 a sequence of characters treated as a unit A string can be composed of alphabetic numeric or al phanumeric characters An alphanumeric string is one which contains letters numbers spaces or any combination of characters A character string can be 255 characters long Strings cannot be typed on more than one terminal line since a carriage return terminates the command Tl STRING VARIABLES Any variable name followed by a dollar sign 5 character indicates string variable For example AS C TS are simple string variables and can be used for example as follows LET AS HELLO PRINT AS Note that the string variable is separate and distinct from the v
51. on the Analog Module 100047 Superimpose a small amount of the video signals with a screen full of WHITE characters by adding a small amount of the trace connect a scope probe to the collector of Q26 or Q27 or Q28 on the oscilloscope CHOP INVERT B ADD to the A trace connected to U7 3 The above may also be accomplished 2 0 10 06 LO 7 2 0 10 5 by simply connecting the channel Scope ground to ground in the vicinity of Q26 Q27 or Q28 The video will be apparent on the parabola as shown in Figure Adjust until the superimposed video is shown in Figure 2 0 10 5 L Monitor the VERTICAL PARABOLA at U8 3 and adjust R2 of the Analog Module 100047 until the end points of the parabola are equal in height The above procedure is shown in Figure 2 0 10 5 2 VACANT CORNER PARABOLA ADJUSTMENTS TUBE AREAS 6 7 8 and 9 See Figure 2 0 12 2 The CORNER PARABOLA ADJUSTMENTS are made by R11 R12 and R13 on the Analog Module 100047 and monitoring the waveform as shown at 3 as in Figure 2 0 10 7 1 OFFSET is adjusted to zero by R13 by adjusting the waveform baseline to ground as shown in Figure 2 0 10 7 1 Waveform A BASELINE SLANT is adjusted by R12 on Analog Module 100047 as shown in B of Figure 2 0 10 7 1 Adjust for equal to 0 volts VERTICAL SYMMETRY is adjusted as shown in C of Figure 2 0 10 7 1 using R11 on Analog Module 100047 Alignment is made by adjus
52. references in immediate mode cause an error unless the program containing the definition was previously executed Thus the following dialogue might result if a function was defined in a user program and then referenced in immediate mode 1 DEF FNA X XA2 2 X REM SAVED STATEMENT PRINT FNA 1 REM IMMEDIATE MODE UF ERROR READY 22 but if the sequence of statements is 10 DEF FNA X XA2 2 X REM SAVED STATEMENT RUN READY PRINT FNA 1 3 READY the immediate mode statement 15 executed 23 BASIC 8001 STATEMENTS A user program is composed of lines of statements containing instructions to BASIC 8001 Each line of the program begins with a line number that identi fies that line as a statement and indicates the order of statement execution Each statement starts with an English word specifying the type of operation to be performed The statement lines are terminated with the RETURN key which is non printing I STATEMENT NUMBERS An integer number is placed at the beginning of each line in a BASIC 8001 program BASIC 8001 executes the statements in a program in numerically consecutive order regardless of the order in which they were typed Statement numbers must be within the range O to 65529 When first writing a program it is advisable to number lines in increments of five or ten to allow insertion of forgotten or additional lines when debugging the program All BASIC 8001 statements and computations must be writ
53. static magnet movements or unless convergence coil or yoke replacements become necessary E 21 CR TUBE CONVERGENCE SECTORS SCREEN VIEW FIGURE 2 0 11 2 e CONVERGENCE BOARD ASSEMBLY SHOWING CONTROLS ASSOCIATED WITH TUBE SECTORS TOP VIEW NOTE Green and Red Pots are interchanged on all 17 Tubes FIGURE 22021222 The CPU Operating System pP A Appendix Appendix Appendix FABLE O B CONT ENTS TERMS AND ABBREVIATIONS CPU O S COMMANDS AND MESSAGES INTECOLOR 8001 CONFIGURATION 1 0 System Su lel Logical and Physical Devices 9 22 I O Subroutines 22052 User Supplied Devices CPU OPERATING SYSTEM 4 1 CPU O S Implementation and Execution 1 1 CPU O S Implementation 4 1 2 Starting CPU us 4 2 CPU O S Operation And Commands 2 B Command Back to CRT O S 4 2 2 D Command Display Data J F Command Fill Memory With Constant 4 2 4 Command Go 4 2 5 H Command Hexadecimal Arithmetic 2 26 Command Reset CRT to State 56 277 L Command Read Hex File 4 2 8 M Command Move Memory 4 2 9 R Command Select Baud Rate 2 4 2 10 5 Command Substitute Memory 4 2 11 Command Examine And Modify Registers 4 2 12 Command End File 4 2 13 W Command Write Memory 4 2 14 N Command Null Punch Instruction Summary Instruction Execution Times and Bit Patterns Hexadecimal Program Tape Format 927 10
54. that the XY Plot Mode is also entered at the same time If a plot mode other than XY Point Plot is desired the next word that follows should then be a binary code from 240 to 255 These codes represent the various plot submodes as shown in the summary of Graphic Plot Submodes An additional feature is available to allow a graphic plot to be erased by simply setting the Flag bit on before entering the plot mode This causes an XOR function to exist when plotting Therefore if you plot the same point bar or vector twice the second time erases the Original Once in the general Plot any of the plot submodes may be entered by sending the corresponding code to the terminal When this code is received a flag internal to the terminal known as PLOFL is set placing the terminal in the appropriate plot submode It should be noted that in many of the plot submodes PLOFL is automatically set to a different value upon completion of the operation of that submode causing the terminal to enter a new submode This is done to make coding and operation of the terminal in the various plot functions easier for the operator The various submodes and their interactions are explained in detail in Appendix B In addition to being able to enter the plot submodes from the general Plot Mode any plot submode may be entered from any other plot submode with the exception of the Character Plot Mode 25 Colors may defined character by charact
55. the CPU For in stance when the console input routine is called it checks to see which physical device is assigned to the console and then branches to the driver appropriate to the device Therefore when the user supplies his own device he must 1 Write a program to perform the data transfer making sure that the program saves and restores any CPU registers it uses that are not specifi cally changed by the I O subroutine 10 2 Store JMP to this driver s address in the appropriate location as defined in the following table MEMORY LOCATION USE 9F91H USER DEFINED CONSOLE INPUT OF 94H USER DEFINED CONSOLE OUTPUT 9F97H USER DEFINED READER 1 9F9AH USER DEFINED WRITE 1 9F9DH USER DEFINED LIST 1 Thus if the user supplied a custom built listing device he would write a driver to transfer data to it in an appropriate manner then store the JMP to the driver s address at location 9F9DH By assigning LIST 3 his device would receive any listing output generated 4 0 CPU OPERATING SYSTEM The Intecolor 8001 CPU O S enables the operator to easily manipulate the contents of memory and execute programs The CPU O S and all Intecolor 8001 system software in general use the last 80 memory locations after the refresh area for storage of temporary data Therefore if the opera tor runs a program beginning in these locations and then uses the CPU 0 5 Text Editor or Assembler he must re load these 80 byt
56. then BASIC 8001 can be recalled without disturbing existing programs by typing the ESC key then the E key BASIC 8001 will then print the message READY If power fails the CPU Reset key is hit or the unit is turned off the unit returns to the CRT operating mode If the CPU Reset key or ESC delete keys are hit the unit leaves BASIC 8001 and returns to the CRT operating mode Any BASIC 8001 statement program is saved and can later be recalled if BASIC 8001 is re entered by typing ESC E BASIC 8001 has twenty four 24 key word program statements thirteen 13 editing and command statements eighteen 18 mathematical functions nine 9 string functions and eighteen 18 two letter error messages With these command and statement capabilities BASIC 8001 is extremely Simple to use and yet very versatile and powerful The next section provides an easy reference to BASIC 8001 capabilities If the user is unfamiliar with BASIC 8001 language then the remaining portion of this manual should be studied in sequence while having a terminal at your fingertips to run the example given This manual should enable the user to become very proficient in BASIC 8001 when finished Intelligent Systems Corporation and Compucolor Corporation have a number of BASIC 8001 programs on Floppy Tapes and are available at nominal prices In addition both companies will pay for BASIC 8001 programs that are provided on floppy tape when properly documented and accepted
57. used with subscripted variables to define the maximum number of elements in a matrix Matrix is the subscripted variable The DIM statement is discussed in a later paragraph If subscripted variable is used without appearing in DIM statement it 15 assumed to be dimensioned to length 10 in each dimension that is having eleven elements in each dimension through 10 However all matrices should be correctly dimensioned in a program LV EXPRESSIONS An expression is a group of symbols which can be evaluated by BASIC 8001 Expressions are composed of numbers variables functions or a combination of the preceding separated by arithmetic or relationai operators The following are examples of expressions acceptable to BASIC 8001 Arithmetic Expressions String Expressions 4 5 5 A7 BA2 1 Not all kinds of expressions can be used in all statements as is explained in the sections describing the individual statements V ARITHMETIC OPERATIONS BASIC 800l performs addition subtraction multiplication division and exponentiation Formulas to be evaluated are represented in a format similar to standard mathematical notation The five operators used in writing most formulas are Symbol Operator Example Meaning OR Logical and bitwise OR AND Logical and witwise AND NOT Logical and bitwise NOT A B Add B to A Subtract from Multiply 1 1
58. 0 2 2 8 Load Rate Register Load Transmitter Buffer Load Output Port 2 2 9 Load Mask Register 221 TMS 5501 3 1 Abso 3 2 Reco Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Load Timer ELECTRICAL AND MECHANICAL SPECIFICATIONS lute Maximum Ratings mmended Operating Conditions LIST OF ILLUSTRATIONS TMS 5501 Block Diagram Data Bus Assignments for TMS 5501 Status Discrete Command Format Data Bus Assignments for Rate Commands Read Cycle Timing Write Cycle Timing Sensor Interrupt Timing Information contained in this publication is believed to be accurate and reliable However responsibility is assumed neither for its use nor for any infringement of patents or rights of others that may result from its use No license is granted by implication or otherwise under any patent or patent right of Texas Instruments or others Copyright 1975 Texas Instruments Incorporated 1 O O O O 11 12 12 12 12 12 12 10 11 14 15 15 1 1 TMS 5501 MULTIFUNCTION INPUT OUTPUT CONTROLLER INTRODUCTION DESCRIPTION TMS 5501 is a multifunction input output circuit for use with 5 TMS 8080 CPU It is fabricated with the same N channel silicon gate process as the TMS 8080 and has compatible timing signal levels and power supply requirements The TMS 5501 provides a TMS 8080 microprocessor system with an asynchronous communications interface data 1 buf
59. 05 5 0193 ttOO009 OSI 6 06506 dWV ond 303 9 0 Nd OSI 88921 N30138 03035 H3AOd OV 2S0009 551 LNAIVAINOSA I 802SO2dWV Nid S2 ObOOO9 Nd OSI HO I LOZSOZdWV 1 0 SHOLO3NNOO SISSVHD HV3M 303 537197143939 8 SONId ONILVW 2 LNNOW SISSWHO 92 2 SH 15 804 SYSEWNN 318V AISNOSNVLINWIS LON 38V 9001 VIJ 2262 55 1 35 1 5310 TVNOILdO 4001 LNSYYND VWOC VIA 9220620 5 8 TVlH3S YAMOd V If O I ANZ er 1 1 10 IN OA Key o LN OC 2 BA 2 BA 9 IN Data 9 IN 1C 3 BB 3 BB 21 IN 2A Bits 21 IN 2 AACE 4 470 ohms to 12 8 IN 1 4 8 IN 3C 5 20 IN 4 Control 20 IN 4 6 6 7 IN 5A Shirt 25 IN 5 7 7 19 IN 6A Key Data B5 19 IN 6C B 6 IN 7A Key Data B6 6 IN 7 9 RX Response Control 9 RX Response Control 12 IN 4B Not 2 OUT 10 RX Responce Control lO RX Response Control 23 IN 5B Used 14 OUT 11 CLR 11 IN 6B 3 OUT 26 L2 TAX los TIL TX 22 IN 7B Key Trigger 15 135 13 TX Isolator input 2 OUT OA RX ACK 4 OUT 4C 14 T4 14 OUT 16 5 15 15 3
60. 10 4 2 0 0 5 CONVERGENCE ADJUSTMENT PRELIMINARIES The CONVERGENCE ADJUSTMENT PRELIMINARIES are necessary only if convergence cannot be obtained as outlined under FINAL CONVERGENCE ADJUSTMENTS Section 2 0 12 or if these areas have required service or parts replacements or the adjustment pots have been tampered with An oscilloscope such as the Tektronix 454 or equivalent will be necessary for these adjustments PRELIMINARY HORIZONTAL RAMP ADJUSTMENT The Horizontal Ramp U11 6 amplitude is adjusted by Rl on the Analog Module 100047 The ramp is adjusted so that the positive peak is equal in height to the negative peak symmetrical about ground W V See Figure 2 0 10 1 1 PRELIMINARY VERTICAL RAMP ADJUSTMENT The VERTICAL RAMP U10 6 amplitude is adjusted by R2 on the Analog Module 100047 in the same manner as the HORIZONTAL RAMP ADJUSTMENT See Figure 2 0 10 1 1 PRELIMINARY HORIZONTAL PARABOLA ADJUSTMENT U7 3 RIGHT amp LEFT CENTER TUBE AREAS 4 amp 5 See Figure 2 0 12 2 Adjust R9 on the Analog Module 100047 until the bottom of the Parabola is at Ground level See Figure 2 0 10 3 1 PRELIMINARY VERTICAL PARABOLA ADJUSTMENT U8 3 TOP amp BOTTOM CENTER TUBE AREAS 2 amp 3 See Figure 2 0 12 2 Adjust R10 on the Analog Module 100047 until the bottom of the Parabola is at ground level See Figure 2 0 10 3 1 HORIZONTAL AND VERTICAL RAMP ADJUSTMENTS Monitor the HORIZONTAL PARABOLA at U7 3
61. 23456 7 H HH L L L H H H H H H L L H H H H H L H L H H H H H H H L HH H H H L L H HH H H H H L H H H H H H L H H H H H H HH HHH TABLE FUNCTION RBn gt Dn Dn RST Status 2 Dn Figure 4 Figure 4 Dn gt TBn Dn gt Dn gt MRn Dn gt Timer 1 Dn gt Timer 2 Dn gt Timer 3 Dn gt Timer 4 Dn gt Timer 5 3 RST INSTRUCTIONS DATA BUS BIT PARAGRAPH 4 2 1 2 2 2 2 2 3 2 2 4 2 2 5 22 6 2 227 2 2 8 2 2 9 2 2 10 2 2 10 2 2 10 2 2 10 2 2 10 INTERRUPT CAUSED BY 8 Interval Timer 1 Interval Timer 2 External Sensor Interval Timer 3 Receiver Buffer Transmitter Buffer Interval Timer 4 Interval Timer 5 or X17 2 2 1 2 2 2 2 2 3 2 2 4 The following paragraphs define the functions of the TMS 5501 commands Read receiver buffer Addressing the read receiver buffer function causes the receiver buffer contents to be transferred to the TMS 8080 and clears the receiver buffer loaded flag Read external input lines Addressing the read external inputs function transfers the states of the eight external input lines to the TMS 8080 Read interrupt address Addressing the read interrupt address function transfers the current highest priority interrupt address onto the data bus as read data After the read operation is completed the corresponding bit in the interrupt register is reset If the read interrupt address function is addressed when there is no in
62. 2A b OUT GC 16 16 15 OUT 3A 17 2 OUR 7C Tis 4 OUT 13 CPU RESET 18 18 CLR 16 0UT 24 2nd RS232 19 19 5 OUT Beli 11 2nd TTL 20 CD 20 470 ohms to 129 17 OUT 7A Key ACK 22 2nd RS232 RX 21 21 CLT 13 CPU RESET 12 12V 22 22 1 SN Intuxx 2B 23 25 5V 25 5V 24 23 18 GND 18 GND 25 25 CLT J 1 SN EXT Inturr An external jumper is required from pim 12 to pim 29 A 2 2K ohm register is required from pin 3 to pin z STANDARD TTY OPTIONAL p ElA RS2326 20MA Current Loop J2 J3 SERIAL INPUT OUTPUT l RD OPTIONAL PARALLEL INPUT OUTPUT AND 2nd PS232C pe cw 0 OXV IXY 1 IV LN3NWN3832NI S 91 Ove esl O SNIVA X X 4 a ate 161 0 HOL293A t 51 Ive 4 ANTVA HdVM9 X 9 tl 692 0 1 1 9 64 0 X 6 9 092 SNOITLONNaA tra AWVS 01 O A HdVH9 1 tt 3AVS t 161 A 1014 IVLN3W389NI
63. 4 3 on Analog Module 100047 B CORNER PARABOLA BASELINE SLANT GND 1 Adjust R12 Analog Module 2 Monitor waveform at 014 3 on Analog Module 100047 CORNER PARABOLA VERTICAL SYMMETRY 1 Adjust R11 Analog Module 100047 to Vyc VHC 2 Monitor waveform at 014 3 on Analog Module 100047 CORNER PARABOLA ADJUSTMENTS FIGURE 2 0 10 7 1 E 17 Adjust R9 Analog Module 100047 until 0 Volts HORIZONTAL PARABOLA 71 1 ON CONVERGENCE MODULE 100014 Adjust 10 Analog Module 100047 until Vyp 0 Volts VyP VERTICAL PARABOLA J1 5 ON CONVERGENCE MODULE 100014 Ds Adjust R13 on Analog Module 100047 until Vcp 0 Volts VCP CORNER PARABOLA J1 7 ON CONVERGENCE MODULE 100014 HORIZONTAL VERTICAL AND CORNER PARABOLA TOUCH UP FIGURE 2 0 10 8 1 E 18 CONVERGENCE STATIC ADJUSTMENTS Place a dot pattern on the screen in the following manner from the Keyboard Define FOREGROUND COLOR AS WHITE BACKGROUND COLOR AS BLACK Depress period Key and allow to repeat until the screen is full of white dots The above will fill up the screen with dots Now place symbols utilizing the keyboard as shown Fieure 204 11 1 Turn all the pots on the Convergence Module 100014 to the straight up position as shown in Figure 2 0 11 3 Now adjust the static magnets and the Blue Lateral Magnet to align t
64. 5501 and the TMS 8080 are made via the 8 bit bidirectional data bus DO is the LSB D7 is the MSB Interrupt When active high the INT output indicates that atleast one of the interrupt conditions has occurred and that its corresponding mask register bit is set POWER AND CLOCKS Ground reference Supply voltage 5 V nominal Supply voltage 5 V nominal Supply voltage 12 V nominal Phase 1 clock Phase 2 clock C 7 22 TMS 5501 COMMANDS The TMS 5501 operates as memory device for the TMS 8080 Functions are initiated the TMS 8080 address bus and the TMS 5501 address inputs Address decoding to determine the command function being issued is defined in Table 2 RBn Dn RST TBn XOn MRn TABLE 2 COMMAND ADDRESS DECODING When Chip Enable Is High A2 AO COMMAND L L L L Read receiver buffer L L L H Read external inputs L L H L Read interrupt address L L H H Read TMS 5501 status L H L L Issue discrete commands L H L H Load rate register L H H L Load transmitter buffer L H H H Load output port H L L L Load mask register H L L H Load interval timer 1 H L H L Load interval timer 2 H L H H Load interval timer 3 H H L L Load interval timer 4 H H L H Load interval timer 5 H H H L No function H H H H funciion Receiver buffer bit n Data bus 1 0 terminal External input terminal n 11 2 1Aq 1 1 1 see Table 3 Transmit buffer bit n Output register bit n Mask register bit n 01
65. 7 1117 CPO 11 17 117 17 10 5 11 RET IRC RNC 5711 RZ RNZ 5 Il 5 11 5711 5711 5 11 11 10 10 10 10 10 RST IN OUT 10 ll 11 11 ugk 10 10 10 10 l STA 13 LDA 18 0 10 10 10 DAD SP 40 Number of Time Periods O C 10 10 10 MNEMON IC ro MOV MOV TM MOV HGT MVI MVI INR Des PNR DCR INR M DCR M ADD ADC r r E SUB SBB NDA r ORA CMP ADD M ADC M SUB M SBB NDA M XRA M ORA M H H H H H H H H O O H A O N fo ee ee ae F x U UD E O O m m F3 bj ES F3 5 T3 41 42 U el M Ay 5 Ex A N lt Ln A APPENDIX HEXADECIMAL PROGRAM TAPE FORMAT The hexadecimal tape format used by the Intecolor 8001 system is a modified memory image blocked into discrete records Each record contains record length record type memory address and checksum information in addition to data A frame by frame description is as follows Frame 0 Record Mark Signals the start of a record The ASCII character colon i is used as the record mark Frames 1 2 Record Length Two ASCII characters 0 9 A F representing a hexadec
66. 747 ile su sync 1 eie S ENABLE SYNC su da 1 lt 00 OUTPUT DATA VALID os tsu da le 25225240 255 OUTPUT DATA VALID Hz 02 07 EDEN i OUTPUT DATA VALID zm M4 hM ad READ FUNCTION ADDRESS EXC DON T CAREX le 4 CAREC KS PUTS EC TERNAL RS T NOTE 1 or 22 inputs high and low timing points are 90 and 10 of Allother timing points are the 50 level FIGURE 6 READ CYCLE TIMING 1 92 CHIP ENABLE SYNC DO D1 02 07 0 EXTERNAL OUTPUTS OKO XX DON T ee k CC S t La AXES 605505552505 52575 oe OS DONT CARE So OO 55525555550 le tsu ad th ad e 994404006004 PREVIOUS EXTERNAL OUTPUT DATA NEW DATA NOTE For 61 and 2 inputs high and low timing points are
67. 999999 otherwise they are output in E format Numbers are stored up to 24 bits of significance a number with more than 24 bits is entered it is truncated and stored as 24 bits BASIC 8001 handles six significant digits in normal operation and prints 6 decimal digits as illustrated below Value Typed In Value Output by BASIC 8001 0099 9 90000 03 999999 999999 1000000 1 00000E 06 BASIC automatically suppresses the printing of leading and trailing zeroes in integer and decimal numbers and as can be seen from the preceding examples formats all exponential numbers in the form sign x xxxxxE or n where x represents the number carried to six decimal places E stands for times 10 to the power of and n represents the exponential value For example 3 47021E 08 is equal to 347 021 000 7 26000E 04 is equal to 00726 Floating point format is used when storing and calculating most numbers 12 NOTE Because core size limitations prohibit the storage of infinite binary numbers some numbers cannot be expressed exactly In BASIC 8001 accuracy is approximately 5 5 digits and errors in the 6th digit can occur For example 999998 as a result of some functions may be equal to 1 Discrepancies of this type are magnified when such a number is used in mathematical operation TI VARIABLES A variable in BASIC 8001 is an algebraic symbol representing a number and is formed by a single letter letter o
68. A SOR A 14 5f PRINT A A A RUN causes the following to be printed 2 4 When the program encounters line 20 control transfers to line 50 line 50 is executed control then continues to the line following line 50 Line 30 is never executed Any number of lines can be skipped in either direction 34 When written part of multiple statement line GOTO should always be the last statement on the line since any statement following the GOTO on the same line is never executed For example 110 LET 82 PRINT 58 XII IPF GOTO STATEMENTS The IF THEN statement is used to transfer conditionally from the normal consecutive order of statement numbers depending upon the truth of some mathematical relation or relations The basic format of the IF statement is as follows THEN IF expression rel op expression line number GOTO where expression is an arithmetic or string expression Expressions cannot be mixed both must be string or both must be numeric Numeric comparisons are handled as described in the ARITHMETIC Section String comparisons are performed on the ASCII values of the strings as described in the STRING Section rel op is one of the operators described in the ARITHMETIC Section line number is the line of the program to which control is conditionally passed If the value of the expression is true control passes to the line number specified If the value of the expressi
69. ADY All numbers are printed with a preceding and following blank space The PRINT statement can be used anywhere in a multiple statement line For example 10 1 PRINT A A 5 PRINT PRINT A prints the following on the terminal when executed 1 6 READY Notice that the terminal performs a carriaqe return line feed at the end of each PRINT statement Thus the first PRINT statement outputs 1 and a carriage return line feed the second PRINT statement the blank line and the third PRINT statement a 6 and another carriage return line feed 3 PRINT Strings The PRINT statement can be used to print a message or string of characters either alone or together with the evaluation and printing of numeric values Characters are indicated for printing by enclosing them in double quotation marks For example 10 PRINT TIME S UP 20 PRINT NEVERMORE RUN TIME S UP NEVERMORE READY As another example consider the following line 4 PRINT AVERAGE GRADE IS X which prints the following where X is equal to 83 4 AVERAGE GRADE IS 83 4 28 When a character string is printed only the characters between the quotes appear no leading or trailing spaces are added Leading and trailing spaces can be added within the quotation marks using the key board space bar spaces appear in the printout exactly as they are typed within the quotation marks When a comma separates a text string from another PRINT list item the item is pr
70. CR Tube to display Cr 1f and await the next command Example If the user attempts to enter 3Z as low address the following will be displayed W3Z 4 2 14 N COMMAND NULL PUNCH The N command consists only of the letter N followed by a carriage return and causes 60 null characters to be written on the punch device 26 APPENDIX INSTRUCTION SUMMARY This appendix provides summary of 8080 assembly language instructions A An ADDR AUX Carry Carry CODE DATA 16 DST EXP INTE LABEL M Parity PC PCH PCL REGM Abbreviations used are as follows The accumulator register A Bit n of the accumulator contents where n may have any value from O to 7 and O is the least significant rightmost bit Any memory address The auxiliary carry bit The carry bit An operation code 8 bits one byte of data 16 bits 2 bytes of data Destination register or memory byte A constant or mathematical expression The 8080 interrupt enable flip flop Any instruction label A memory byte The parity bit Program Counter The most significant 8 bits of the program counter The least significant 8 bits of the program counter Any register or memory byte A register pair Legal register pair symbols are B for registers B and C D for registers D and E H for registers H and L SP for the 16 bit stack pointer PSW for condition bits and register A 27 Sign FRO zero XY
71. DO INSTRUCTIONS ORG PSEUDO INSTRUCTION Format ORG EXP Code Description ORG LOCATION COUNTER lt EXP Set Assembler location Gounter to EXP EOU PSEUDO INSTRUCTION Format NAME EQU EXP Code Description EQU lt Assign the value EXP to the symbol NAME END PSEUDO INSTRUCTION Format END scription K E EE End the assembly 38 APPENDIX INSTRUCTION EXECUTION TIMES AND BIT PATTERNS This appendix summarizes the bit patterns and number of time states associated with every 8080 CPU instruction When using this summary note the following symbology 1 DDD represents destination register SSS represents source register Both DDD and SSS are interpreted as follows DDD er SSS Interpretation 000 Register 001 Register 010 Register D 011 Register E 100 Register H LOL Register L TIO A memory register FEL The accumulator Instruction execution time equals number of time periods multiplied by the duration of a time period A time period may vary from 480 nanosecs to 2 microsec When two numbers of time periods are shown eg 5 11 it means that the smaller number of time periods will be required if a condition is not met and the larger number of time periods will be required if the condition is met 39 gt a ai 17 11 17 CC CNC CZ 11 17 1117 CNZ P J1 17 11 1
72. Decrement D amp E 1 B 5 DCX H 1 Decrement H amp L 2 B 5 DCX SP 1 Decrement stack pointer 5 DI 1 Disable interrupts F 3 4 El 1 Enable interrupts F B 4 HLT 1 Halt 7 6 7 IN 2 Input D B 10 INR M 1 Increment memor y 3 4 10 INR r 1 Increment register B 0 4 5 C 0 C D 1 4 1 G H 2 4 L 2 C A 3 INX 1 Increment B amp C register 0 8 5 INX D 1 Increment D amp E register 1 3 5 INX H 1 Increment H amp L register 2 3 5 INX SP 1 Increment stack pointer 3 3 5 3 Jump on carry D A 10 JM 3 Jump on minus F A 10 JMP 3 Jump unconditional C 3 10 JNC 3 Jump on no carry D 2 10 JNZ 3 Jump on no zero C 2 10 JP 3 Jump on positive F 2 10 JPE 3 Jump on parity even 10 JPO 3 Jump on parity odd E 2 10 JZ 3 Jump on zero C A 10 LDA 1 Load direct 3 A 13 LDAX B 1 Load A indirect 0 7 1 Load A indirect 1 A 7 LHLD 3 Load H amp L direct 2 A 16 LXI B 3 Load immediate register pair B amp C 0 1 10 LXI D 3 Load immediate register pair D amp E 1 1 10 LXI H 3 Load immediate register 2 1 10 L XI SP 3 Load Immediate stack pointer 3 1 10 carry affected Q All flags except carry affected MOV MOV r1 r2 BYTES 1 1 DESCRIPTION Move register to Move memory to register Move register to register REGISTER AFFECTED em PO PTT mp cmi e m m 0 00
73. E OPERAND OP CODE LOW ADDRESS OR OPERAND 1 HIGH ADDRESS OR OPERAND 2 2 2 INSTRUCTION SET DESCRIPTION Operations resulting from the execution of TMS 8080 instructions are described in this section The flags that are affected by each instruction are given after the description 2 2 1 INSTRUCTION SYMBOLS SYMBOL DESCRIPTION lt b2 gt Second byte of instruction lt b3 gt Third byte of instruction ra Register Register Name 000 B 001 010 011 100 101 L 111 A Register Register Name 00 BC 01 DE 10 HL 11 SP Register Register Name NEM ES BC 1 DE rd Register Register Name 00 BC 01 DE 10 HL rdL Least significant 8 bits of rg Most significant 8 bits of rq f Flags True condition Zero 2 Result is zero Carry C Carry borrow out of MSB is one Parity P Parity of result is even Sign S MSB of result is one Carry 1 C1 Carry out of fourth bit is one M Memory address defined by registers H and L Contents of specified address or register 4 Contents at address contained in specified register Is transferred to m of A register accumulator 11 Flags affected b2 Single byte immediate operand b3b2 Double byte Immediate operand nnn 8 nnn is base 8 number 2 2 2 ACCUMULATOR GROUP INSTRUCTIONS MNEMONIC ADC ADC ADD ADD ADI ANA ANA CMC CMP DAA DAD LDA LDAX ORA
74. E REQUIRED THEN THEN A SIXTH ROW OF KEYS ARE ADDED AS SHOWN DOTTED STANDARD 12 A 1 KEYBOARD LAYOUTS Tug Functions 1 ASCIT 2 6 CHES Pie Ga c 7255 21 59 BLINK oN 126 254 301155 26 253 29 157 124252 d 28 156 PSKIPS 123 25 27 155 HALT 22250 7 154 CuRsoR LEFT b gt 4 25 153 41225 lue cast SEP 224 23 151 PLOT Ores 22 50 CHAN W222 21 59 MAGENTA 042 22 1 79 8 PLOT BLUE 42220 4 147 YELLow 9219 4 145 PLOT GREEN 40 212 Z upper 45 PLOT REN 144 BLACK 5 195 A upper casei 148 Plor SMAU CHARACTERS 142 UZ PLOT LARGE CHARACTERS 53101 7 3 4 CURSOR LEFT 2 90 gt 12 190 ERASE 6 HOME 184 134 ERASE LINE CURSOR LEFT 6 128 lt 6 35 cu amp SoR DOWN LINE 4 q 5 1 186 3G CURSOR 57 185 7 155 o 134 on RED 47 if 132 ba 3 1517 DOWN V2 PAGE pcs 2 13 45 173 Fa 175 125 _ 17 27 42170 Ine 169 Y Y gt a Wangs ike 128 166 6 37 65 165 35 103 162 2316 160 131 d iaz 2132 sub 64 app 64 E 133 a ait Led 22216 Z 202 white 215 CYAN 214 MAGENTA 213 ng zs y must 548 92 06 548 64 2 RED 204 BLACK 2065 16 a 16 e
75. EEN Control R15 c lock 16 wise until the gr n vertical retrace raster line at the top of the screen is just visible Repeat the same for the BLUE Control 16 15 3 Adjust the BRIGHTNESS Control R17 until there is no visible vertical retrace raster line and the brightness is at a comfortable viewing level with a minimum of color saturation 4 Adjust each screen grid drive control RED R12 GREEN R15 and BLUE R16 until a white screen is obtained or 9300 K color temperature WHITE TOP BOTTOM AND SIDE PINCUSHION ADJUSTMENT Place a suitable test pattern on the screen such as all EF plus symbols or all periods See Section 2 0 6 for pattern set up color or WHITE may be used The top and bottom Vertical pin cushion adjustment is made if necessary by adjusting R5 on the Analog Module 100047 for straight horizontal lines at the top and bottom of the raster as shown in Figure 2 0 3 1 and 209992 The side Horizontal pin cushion adjustment is made by adjusting R7 on the Analog Module 100047 for straight vertical lines on the left and right side of the raster Vz Vertical Pincushionz R7 Hz Horizontal Pincushions R5 PINCUSHION ADJUSTMENT FIGURE 2 0 9 1 011 6 Horizontal Rl U10 6 Vertical R2 GND HORIZONTAL AND VERTICAL RAMP ADJUSTMENTS ANALOG MODULE 100047 FIGURE 2 0 10 1 1 E 12 220 10 220 19 1 2 0 1 2 2 0 10 3 2 0
76. ERROR IN YYYYY In both of the above examples XX will be the error code The YYYYY will be the line number where the error occurred for the indirect statement The following are the possible error codes and their meanings ERROR CODE BS DD CE MEANING Bad Subscript An attempt was made to reference a matrix element which is outside the dimension of the matrix This error can occur if the wrong number of dimensions are used in a matrix reference for instance LET 1 1 1 Z when has been dimensioned DIM A 2 2 Double Dimension After a matrix was dimensioned another dimension statement for the same matrix was encountered This error often occurs if a matrix has been given the default dimension 10 because a statement like A I 3 is encountered and then later in the program a DIM A 100 is found Call Function error The parameter passed to a math or string function was out of range CF errors can occur due to a a negative matrix subscript LET A 1 0 b an unreasonably large matrix subscript 232767 LOG negative or zero argument d SOR negative argument e AB with A negative and B not an integer f A CALL X before the address of the machine language subroutine has been patched in see Va 7 galls to MIDS LEFT RIGHT INP OUT WAIT PEEK POKE TAB SPC or ON GOTO with an improper argument ip OD OM OV SN RG US 70 15 OS ST TM Illegal
77. GOSUB and IF commands could also be used The values assigned to variables when the RUN command was executed remain intact until a NEW CLEAR or another RUN command is executed If the STOP occurs in the middle of a FOR loop modifications cannot be made to the section of the program preceding the FOR 21 When using immediate mode nearly all the standard statements can used to generate or print results If CTRL J or linefeed is used to halt program execution the GO TO or CONT command can be used to continue execution since CTRL J or linefeed does print the number of the line where execution stopped It is easy to know where to resume the program ITI MULTIPLE STATEMENTS PER LINE Multiple statements can be used on a Single line in immediate mode For example A 1 PRINT A 1 Program loops are allowed in immediate mode thus table of square roots can be produced as follows FOR 151 TO 10 PRINT I SOR I NEXT I 41421 7325 23697 44949 64575 82843 ON AM CO NN N NNN EFF FS 10 16228 READY IV RESTRICTIONS ON IMMEDIATE MODE The INPUT statement cannot be used in immediate mode and such use results in the following error message ID ERROR READY Certain commands while not illegal make no logical sense when used in immediate mode Commands in this category are DEF DIM and DATA Also since user functions are not defined until the program is executed function
78. IFFERENT GREEN STATES 12 EACH 0000 9090 0000 10 yf m COLOR COLORS gua pir gt RED doe BRIGHT DIM GREEN DIM YELLOW ORANGE ORANGISH RED GREEN YELLOW GREEN YELLOW ORANGE BRIGHT GREEN BRIGHT BRIGHT JE BRIGHT YELLOW DIM BLUE DIM MAGENTA PURPLE AED DIM CYAN DIM DIM PINK DEEP PINK BLUE GREEN DEEP GREENISH WHITE DEEP DEEP ORANGISH BISH GREEN GREENISA WHITE MEUOW SREEMISH WHITE YELLOWISH ol RED RIGHT GREEN TOP BLE VIOLET MAGENTA FUuRPLE AQUA BLUSH WHITE MAGENYAISM PURPLISH WHITE CYAN e WHITES CYAN WHITE he PINK white S oom NEA CYAN DEEP GREENISH WHITE GREENISH BRIGHT WHITE BRIGHT DEEP BRIGHT MAGENTA AGUA BLUE DEEP BISH WHITE DEEP VIOLETSH WHITE 00 IO 11 DEEP MAGENTAISH WHITE DEEP cung AGMPISW WHITE BLUISH WHITE BRIGHT MAGENTAISH WHITE BRIGHT CHAN WHITISH CYAN CYANSH wy rE BRIGHT WHITE Y B TE 4 2060 A w ou WW NN a 39 9 lt Ow gt x 0 00 T Oca e NUMBER MUL BY 2
79. If sign PCL SP lt SP 1 SP SP 2 sign PC 3 Return if iainus sign PCE e SP y PCH 5 11 SP lt sign ec PC 49 Return if plus 1 PCL SP PCH lt SP 5802 ree POS Return if parity even parity parity parity 0 ct e 95 PCH amp SP T1 SP lt SP2 PC lt PC Return if parity 44 Condition bits affected None Rol INSTRUCTION Format LABEL RST EXP Note 0 EXP 7 CODE DESCRIPTION RST SP 1 lt SP 2 lt PCL SP SP 2 0000000000 Call Subroutine at address specified by EXP Condition bits affected None 36 INTERRUPT FLIP FLOP INSTRUCTIONS Format LABEL CODE CODE DESCRIPTION INTE lt 1 Enable the interrupt system DI INTE lt Disable the interrupt system Condition bits affected None INPUT OUTPUT INSTRUCTIONS Format LABEL CODE EXP CODE DESCRIPTION IN A input device Read a byte from device EXP into the accumulator OUT output device lt A Send the accumulator contents to device EXP Condition bits affected None INSERUGTION Format LABEL HLT CODE DESCRIPTION HLT Instruction execution halts until an interrupt occurs Condition bits affected None 1 PSEU
80. LLATION AND SERVICE ADJUSTMENTS SERVICING PRECAUTIONS AC LINE TAP SELECTOR VERTICAL DEFLECTION HORIZONTAL DEFLECTION HIGH WOLTAGE ADJUSTMENT FOCUS ADJUSTMENT PURITY ADJUSTMENT COLOR TEMPERATURE ADJUSTMENTS TOP BOTTOM AND SIDE PINCUSHION ADJUSTMENT 10 CONVERGENCE ADJUSTMENT PRELIMINARIES 11 CONVERGENCE STATIC ADJUSTMENTS 12 FINAL CONVERGENCE IS NN NW LY CO CD CO C3 CO CO CO NO Ov 1976 E 1 1 0 SAFETY PRECAUTIONS WARNING The following precautions should be observed ite Do not install remove or handle the picture tube in any manner unless shatter proof goggles are worn People not so equipped should be kept away while picture tubes are handled Keep picture tube away from the body while handling Part of the High Voltage is connected to the AC line directly This circuitry found on the Analog Module 100047 is isolated from the remainder of the circuitry by optical isolator U3 and driver transformer 101 Should service of the High Voltage be required it is recommended that an isolation transformer be inserted in the power line between the Intecolor 8001 and the AC supply before any service is performed When the Chassis must be operated directly from the AC supply the power plug should always be inserted in the correct polarity to connect the High Voltage common emitter of Q5 to the ground side of the AC line Cneck with a VOM or
81. MORY LOCATION TWR Write to Floppy Tape 22600 TRD Read from Floppy Tape ALH 6275 H TVF Compare memory with Floppy Tape 36 a The Floppy is block transfer device record is written per track The inputs from the calling program to each of the three I O routines are HL register pair pointer to memory buffer DE register pair byte count A register Tape drive track code BIT3 DRIVE or 1 52 0 Track through 7 After calling any one of the routines the A register will contain a status code and will have been tested ORA A A No Errors A 2 Keyboard Abort Pressing any key on the keyboard during the data transfer will abort the operation A 4 Buffer too large for write A 6 Buffer too small for read A 8 Read Failure complete correctly formatted record could not be read from the tape A 10 Checksum error A 12 Verify failure A mismatch was detected between data in memory and data read from the tape during a memory compare operation TVF Also after calling any of the routines the HL register pair will point one byte past the last byte manipulated in the memory butter 9 1 3 USER SUPPLIED DEVICES This section describes the necessary steps in hooking up a user supplied I O device to the I O system The I O subroutines described in Section 3 3 2 assume that programs called drivers exist which perform the actual transfer of data between I O devices and
82. NUMBER TO BE ROUNDED 267 38 OF DECIMAL PLACES exul A ROUNDED 7g NUMBER TO BE ROUNDED RETURN READY VEI Random Number Function RND x Repeats 245 nume rs The random number function produces a random number or random number set between O and 1 The numbers are reproducible in the same order after ESC E key if gt 0 for later checking of a program argument x is not used and can be any number it cannot be a string expression it serves only to standardize all BASIC 8001 function representations The form RND is not legal For example 48 12 REM RANDOM NUMBER EXAMPLE 25 PRINT RANDOM NUMBERS 30 FOR I 1 TO 15 40 PRINT RND 1 50 NEXT 68 END RUN RANDOM NUMBERS 198259 59438 964813 0267824 886627 388094 636444 569123 839019 720021 306121 209046 285553 599686 958221 744755 179351 460434 452117 433291 985412 2 1376 522186 721146 246246 59 584 777801 457448 450592 30797 READY To obtain random digits from O to 9 change line 40 to read 40 PRINT INT 10 RND 1 and run the program again This time the results will be printed as follows RUN RANDOM NUMBERS 8 9 8 9 5 5 5 9 5 4 4 1 5 READY It is possible to generate random numbers over a qiven range If the open range A B is desired use the expression RND 1 A to produce a random number in the range A lt n lt B The following program produces a random number set in the open ranqe 4 6
83. ORA RAL RAR RLC RRC OPERANDS b2 52 M rb 6362 BYTES 2 CYCLES STATES 217 217 1 4 2 7 1 4 2 7 247 1 4 2 7 1 4 1 4 217 1 4 2 7 1 4 1 10 4 13 2 7 2 7 1 4 2 7 1 4 1 4 1 4 1 4 0 8 DESCRIPTION add the second byte of the instruction and the contents of the carry flag to register A and place A 2 5 1 A M carry C Z S P C1 carry C Z S P C1 A M add the contents of to register and place JC ZSB 81 A 2 5 1 lt gt 2 5 1 AND M take the logical AND of M and register A and place in A The carry flag will be reset low 9 1 AND 2 5 1 AND b2 2 5 1 A A complement A carry carry complement the carry M compare the contents of M to register and the flags accordingly C Z S P C1 A M 2 2 0 lt 1 gt rak 16 2 S P 64 A b3 C Z S P 1 A lt BCD correction of The 8 A contents is corrected to form two 4 bit BCD digits after a binary arithmetic operation A fifth flag C1 indicates the overflow from The carry flag indicates the overflow
84. Plot mode and the next word sent will be interpreted as an X value Therefore once in the X Point Plot mode new blocks may be defined by simply sending X values and Y values consecutively without the necessity of re entering the X or the Y Point Plot modes 27 The procedures for entering and exiting the Point Plot mode are shown below Function Code Plot Mode 2 1 Value 0 159 Ya Value O to 99 0 191 As Value O to 159 xs Value O to 99 0 191 Plot Escape 2 95 Or Or Plot Submode 240 to 254 Automatically X Point Plot mode also NOTE SEND Code 253 between X Y data sets if necessary for timing considerations See Appendix A 4 for delays The X Point Plot in conjunction with the Y Point Plot allows any block on a 160 wide by 100 192 for 48 Line high block matrix to be positioned to and intensified the new block is within a character position that is a previously intensified ASCII character then the ASCII character is replaced completely by the new block and its associated color Y point Plot binary 252 The Y Point Plot is entered by a binary 252 code after the general Plot Mode is entered See Appendix B From the Keyboard use Control 1 Tt may also be entered directly from any of the other plot submodes except Character Plot binary 254 It is more commonly entered automatically from the X Point Plot mode After entering the Y Point Plot the next word defines the Y value of the block that is
85. SC will terminate the mode It should be noted that the ASCII Character when entered and displayed advances the cursor as previously done in the visible mode but the plot blocks generated by the color pad do not advance the cursor Therefore when a character position has been used to display plot blocks a cursor command must be given to advance the cursor to the next character position C or Code 3 Transmit Cursor X Y When this code is selected the terminal sends out the following 7 word sequence 058 X Y 06 Status ASCIT Character The X and Y values represents the cursor position on the screen The Status is the status of the ASCII character at that cursor location The CR may be either a YD or an 8D HEX at the customer request This sequence of transmission is the same that the light pen would provide if the unit is so equipped E or Code 5 Re Entry to BASIC 8001 Return to BASIC 8001 without destroying the BASIC 8001 source program which is in Ram memory or Code 6 Full Duplex Mode When this mode is selected then the Keyboard characters are only sent to the RS232C serial port They are not processed by the terminal Therefore once the unit is put in the full duplex mode via the keyboard then the only normal way the mode can be changed to local or half duplex is via the RS232C serial port There are two other ways that have been provided to regain local control One way is to operate the CPU Reset key o
86. T BITS PLOT G COLOR 10 Secrets e the printing characters n oo alb Tus 20 _ NONE p COHIBERE IBI EIER OE uo ee ae 50 PIA STuNNXYZLNJA 66 SM ERS 40 u BO 612345204222 BIG LETTERS top half 4 odd ines DO om haf on even lives 20 9 ES e Same character peints pah ves 1 Net differing only by lecstior ro 91 5 SMALL LETTERS SO 4 46 BIG LETTERS Can get Lv ded extra characters b plotting some letter Tops with erent bottoms cannot topps oth PART II ia mon The Intecolor 8001 has a detachable keyboard which presents the standard ASCII four level code See Appendix A 1 for keyboard layouts The keyboard keys are optically encoded by means of phototransistors a light source and shutters attached to the keys There are no switches LO Wear OWL the unit 15 RFT free Keyboard does not provide two key rollover CPU Reset The CPU Reset key provides a reset Signal to the 8080 CPU Its primary function is to allow the operator to regain control of the terminal if the software the customer has installed gets hu
87. WRITE 10 CR Tube 11 user punch device 1 RS232 Channel 1 RS232 Channel 2 CR Tube user list device 1 At cold start system reset the I O status byte is set equal to 82H causing the CR Tube and keyboard to be selected for console I O and LIST while the RS232 Channel 1 is selected for both READ and WRITE 2 SUBROUTINES The way in which a program performs an I O operation to any of the four logical devices is by calling the appropriate sub routine supplied by the I O system The available subroutines and their locations in memory are given in the following table ROUTINE FUNCTION MEMORY LOCATION Cal Console input 103H CO Console Output 109H Reader input 106H PO Bunch output LOCH LO List output 50 Console String Output 12AH The rest of this section gives a description and examples of how to call these subroutines CI CONSOLE INPUT This routine returns character received from the selected console device to the caller in the A register The A regis ter and the condition bits are affected by this operation Example Assembly Language CALL GT STA DATA CO CONSOLE OUTPUT CO transmits a character passed from the calling program in the A register to the device selected for console output The A register and the condition bits are affected Example Assembly Language CALL CO PRINT ON CONSOLE PL READER INPUT RI returns a character read from the reade
88. Y 1 AY 1 0001 AX 0 Movement Possibilities B 4 AY INCREMENTAL POINT PLOT MOVEMENTS Y BAR GRAPH X Max x X AND GRAPH MODES x Max 5 E be bs o be CN gt 5 ne lt m4 gt lt lt au Ax ET AX el 8 1 Y Incremental Bar Graph X Incremental Bar Graph Fri 11235 Y Y Appendix B6 X INCREMENTAL BAR GRAPH Y INCREMENTAL BAR GRAPH ws wu wow 525572 72 2 This vector drawn send binary sending 2 2 0 gt 70 1 Line drawn from 1 gt 1 to Xg yg at 0 with 1 gt 1 now equal to old 3509 940 7 Yo Vectoxr Plot Mode pe qo oa o APPENDIX 2 AA 3 INTRODU Appendix C IMS 5501 Muttrrunction Input Output Controle TABLE OF CONTENTS CTION 1 1 Description PET 1 2 Summary of Operatio OPERATIONAL AND FUNCTIONAL DESCRIPTION 2 1 Interface Signals 2 2 TMS 2 21 5501 Commands Read Receiver Buffer 2 2 2 Read External Input Lines 2 2 3 Read Interrupt Address 2 2 4 Read TMS 5501 Status 2 2 5 Issue Discrete Commands 2 2 6 227
89. Y Cursor Coordinate 06 CCI See Code 6 Status Status Character See Appendix A 6 ASCII or Special Character 8D Carriage Return Notice that this sequence is not transmitted unless the Finger first touches the end of the pen In the touch sensitive area and 15 effected when the finger is lifted from the end of the pen Note that a blue flood is normal operation and occurs every time the touch sensitive end of the pen is touched by the forefinger and will repeat at a 2cps rate until the finger is lifted 37 Je p Aog ym Jika Ya s r en i l 1 MM ceu RESEY INS BAUD ny INS BLINK CPU ESCAPE RATE EDIT zm Tae op NULL jr RETURN Q w P C 5 86 FLG ON 6 ROWS 25 906 5 ROWS 5 156 WITH OPTION 8 AND 32 21 010 Pipl dau di I d BLINK CPU LINE BG ON 6 ROWS 5 906 lt er 5 ROWS 35 156 ERASE ERASE BLINK WITH OPTION 22 18 385 pee tum om reo yi eS s F sta 1 1 J 4 A Fia aat cru INE BAUD TEXT INS CPU Em Em Tem PROT ASMB BELL ERASE BLINK 6 ROWS 5 906 5 ROWS 5 156 NOTE IF 16 FUNCTION KEYS AR
90. aded while the interval timer is counting overrides the previous value and the interval timer starts counting down the new interval When an interval timer reaches zero it remains inactive until a new interval is loaded C 3 1 3 Servicing Interrupts The TMS 5501 provides a TMS 8080 system with several interrupt control functions by receiving external interrupt signals generating interrupt signals masking out undersired interrupts establishing the priority of interrupts and generating RST instructions for the TMS 8080 An external interrupt is received on pin 22 SENS An additional external interrupt can be received on pin 32 17 if selected by a discrete command from the TMS 8080 See Figure 4 The TMS 5501 generates an interrupt when any of the five interval timers count to zero Interrupts are also generated when the receiver buffer is loaded and when the transmitter buffer is empty When an interrupt signal is received by the interrupt register from a particular source a corresponding bit is set and gated to the mask register A pattern will have previously been set in the mask register load mask register command from the TMS 8080 This pattern determines which interrupts will pass through to the priority logic The priority logic allows an interrupt to generate RST instruction to the TMS 8080 only if there is no higher priority interrupt that has not been accepted by the TMS 8080 The TMS 5501 prioritizes interrupts in the o
91. aling with lists tables matrices or any set of related variables BASIC 8001 variables are allowed from 1 to 31 subscripts The name of a subscripted variable is any acceptable BASIC 8001 variable name followed by one or more integer expressions in parentheses within the range 0 32767 For example a list might be described as A I where I goes from 0 to 5 as shown below 1 A 2 A 3 A 4 A 5 13 This allows reference to each of the six elements in the list and can be considered a one dimensional algebraic matrix as follows A two dimensional matrix B I J can be defined in a similar manner and graphically illustrated follows 5 1 0 B I 1 2 1 3 Subscripts used with subscripted variables throughout a program can explicitly stated or be any legal expression If the value of the expression 15 non integer the value is truncated so that the subscript is an integer It 15 possible to use the same variable name both a subscripted and unsubscripted variable Both A and A I are valid variables and can be used in the same program The variable A has no relationship to any element of the matrix A I BASIC 8001 will accept the same variable name as both a singly and a doubly subscripted variable name in the same program Character strings may also be subscripted variable arrays and may have the same variable name i e AS I A Dimension DIM statement is
92. and to allow almost unlimited interrupt handling capability The CALL and RST restart instructions use the SP to store the program counter PC into the stack The RET return instruction uses the SP to acquire the previous PC value Additional instructions allow data from registers and flags to be saved in the stack REGISTERS The TMS 8080 has three categories of registers general registers program control registers and internal registers The general registers and program control registers are listed in Table 1 The internal registers are not accessible by the programmer They include the instruction register which holds the present instruction and several temporary storage registers to hold internal data or latch input nd output addresses and data ADDRESS DATA Bus BUS B 16 2 FLAG REGISTER HIGH ORDER REGISTER CORRECT 16 yl FILE CONSTANT ACCUMULATOR GENERATOR ALU X REGISTER REGISTER LOW ORDER X operae Y REGISTER FILE INSTRUCTION REGISTER TIME AND STATUS CONTROL FIGURE 1 TMS 8080 FUNCTIONAL BLOCK DIAGRAM 1 4 1 5 1 6 1 7 THE ARITHMETIC UNIT Arithmetic operations are performed in an 8 bit parallel arithmetic unit that has both binary and decimal capabilities Four testable internal flag bits are provided to facilitate program control and a fifth flag is used for decimal correct
93. are a subset of the 32 ASCII control code set and a flow diagram of these commands is shown in Appendix A 3 With some display commands such as the Graphic Plot Mode delays may be experienced at the higher baud rates A chart for these delays is shown in Appendix A4 The Intecolor 8001 display commands has been expanded by an additional 32 commands via the ESC character sequence as shown in Appendix 5 The terminal employs two input pointer flags one for the keyboard and one for the RS232C input Each flag may point to a different Mode of operation and thus the terminal can act differently from the keyboard as compared to the RS232 input See blind cursor operation Code 1 on page 19 Code Null Control Has no effect upon the display Code 1 protect Control A Not presently implemented so it has no effect upon the Unit Code 2 Graphic Plot Mode Control B Option 02 The general Graphic Plot Mode is entered by a binary code 2 or a Control Code See Appendix It should noted that the XY Plot Mode is also entered at the same time If a plot mode other than XY Point Plot is desired the next word that follows should then be a binary code from 240 to 255 These codes represent the various plot submodes as shown in the summary of Graphic Plot Submodes An additional feature is available to allow a graphic plot to be erased by simply setting the Flag bit on before entering the plot mode This causes an XOR func
94. ariable A In BASIC 8001 all control characters above control code F or 6 are legal within Quotes except for the following Control Code K or 11 or erase line Control Code L or 12 or erase page Control Code M or 13 return Control Code Z or 26 or cursor left LLL SUBSCRIPTED STRING VARIABLES Any list of matrix variable name followed by the 5 character denotes the string form of that variable For example Vis ni M2 n 65 m n 515 m n where m and n indicate the position of the matrix element within the whole The same name can be used as a numeric variable and as a string variable in the same program with no restriction A one and a two dimensional matrix can have the same name in the same program For example 18 n A m n A AS m n AS m n can all be used in the same program String lists and matrices are defined with the DIM statement as are numerical lists and matrices STRING OPERATIONS Concatenation Concatenation puts one string after another without any intervening characters It is specified by a plus sign and works only with strings The maximum length of a concantenated string 1s 255 char acters For example 10 READ AS BS C 20 DATA 540022 LET DS AS CS B 35 PRINT 05 40 END RUN 1142255 RELATIONAL OPERATIONS When applied to string operands the relational operators indicate alphabetic sequence The comparison is done on the
95. ast character on the line becomes a space The cursor does not advance When the ESC key is depressed then the character insert delete mode is terminated after the second character is selected terminal then normally returns to the visible character mode or Code 18 Baud Rate Selection Mode When this mode is entered the unit then accepts the next character as one of seven baud rates It does this by looking at only the first three bits Therefore any 8 bit character that has the desired 3 lower order bits will do Normally the keyboard numbers 1 to 7 are used The baud rates and the corresponding numbers are indicated in the table below c ELI High Speed Baud Rate Normal Baud 110 1200 2400 4800 Rate ai 1200 2400 9600 200 38 400 76 800 unit is initialized with power up at normally 9600 baud with one stop bit This initialized baud rate can be specified by the customer at any of the fourteen above rates when ordered It Should be noted that only in certain modes blind cursor mode can the 38 400 Baud be used with delays no case 76 800 Baud be used without delays The unit may be ordered with either normal baud rates with the High Speed Baud rates The two different rate systems cannot be mixed The number of stop bits will be determined when the baud rate is set by the condition of the A7 flag A7 was on before the rate is selected 1 stop bit
96. ated by the RETURN key These commands are used to erase a program in RAM and list punch or run a program NEW COMMAND The NEW command clears current contents of the storage area set up by BASIC 8001 This deletes any commands programs arrays strings or symbols currently stored by BASIC 8001 NEW should be used before entering a new program from the terminal keyboard to be sure no old program lines will be mixed into the new program and to clear out the symbol table area Example NEW READY 10 READ clears the storage area and inserts the program being input at the keyboard TI LIST COMMAND The LIST command prints the user program currently in core on the terminal A part of a program may be listed by typing LIST followed by a line number This causes that line and all following lines in the program to be listed DJ CTRL J linefeed key to halt the listing BASIC 8001 returns to the READY message when the current line is finished The lines listed may differ slightly from those entered because 1 Certain characters while acceptable to BASIC 8001 are stored in a standard manner Character Character Typed Stored gt lt lt gt 2 Literals are stored to 24 bits of accuracy Those with more than 24 bits are truncated to 24 bits 3 Although literal storage is 24 bits output is truncated to 6 decimal digits 4 Literals are output in standard BASIC 8001 format regardless of how the
97. ation The instrument should be at room temperature 60 F or above for at least 30 minutes before set up adjustments are made Allow a minimum of ten minutes operation at high beam current brightness full without bloom before attempting purity or convergence adjustments R18 Focus Adjustment R17 Brightness Adjustment FOCUS AND BRIGHTNESS ADJUSTMENT LOCATION FIGURE 2 0 6 1 Remove 3 Screws on each side to remove case Should any parts of the chassis become magnetized it will be necessary to manually degauss the affected areas Move a manual GC 9317 or equivalent degaussing coil Slowly around those areas and the face of the CR Tube and slowly withdraw to a distance of six feet before disconnecting the coil from the AC power source Before performing the purity adjustments the center of the raster must be converged and the dynamic convergence set roughly as explained in Section 2 0 12 Check that the focus control is properly set See Section 2 0 6 The focus adjustment should be made with the brightness control set at maximum beam current without bloom 1 Purity adjustments are most accurate while observing one screen only preferably red Erase the screen with the background color RED 2 Loosen the yoke wing nuts and move the yoke to the rear as far as possible See Figure 2 0 7 1 3 Rotate the purity magnets and adjustment tabs so that a clean red area is produced at the center of the screen Push the y
98. basis of the ASCII value associated with each character in the strings being compared For example 55 IF AS BS THEN 100 When line 55 is executed the first characters of each string and BS are compared then the second characters of each string and so on until the character in AS is less than the character Then execution continues at line 100 Essentially the strings are compared for alphabetic order The next page contains a list of the relational operators and their string interpretations In any string comparison trailing blanks are ignored i e ABC is equivalent to ABC FRE x AVAILABLE BATES OF PROGRAM MEMORI ERE x 2AVAILABLE BATES OF STRING AVAILABLE MEMORI 15 Fee x FRE X can adjust transfer by CLEAR 19 BASIC 8001 Relational Operators Used With String Variables Operator Example Meaning AS BS The strings AS and BS are al phabetically equal lt AS lt BS The string AS alphabetically precedes BS AS gt BS The string alphabetically follows BS or lt lt Th string AS 35 equivalent to or precedes BS in alphabetical sequence gt gt AS BS The string is equivalent to or follows BS in alphabetical Sequence lt gt or PS AS B The strings AS and BS are not alphabetically equal 20 BASIC 8001 IMMEDIATE MODE I USE OF IMMEDIATE MODE FOR STATEMENT EXECUTION It is not necessary to wr
99. be used after saving a program with the SAVE I command to ensure that it was saved correctly and can be reloaded without error 60 LL USING ASSEMBLY LANGUAGE ROUTINES WITH BASIC BASIC 8001 has a facility which allows experienced 8080 assembly language programmers to interface their own assembly language routines to BASIC 8001 This facility permits the user to add functions to BASIC 8001 which can operate directly on special purpose peripheral devices This section describes in some detail the internal characteristics of BASIC 8001 during the execution of a BASIC 8001 program and is intended to serve as a programming guide for the creation of such user coded assembly language functions This material assumes the user is familiar with 8080 assembly language For additional information on this subject refer to an assembly language programming manual on the 8080 CPU The CALL statement is used to reference these assembly language routines from the BASIC 8001 program ram Trew BASIC Exam je Te call Assemboly Language pre cd argae ments ES gt p G C pP co rar Mal ply X by e by shibting To The left speed g by 20 X FTT 2 4 29 PRINT Xx CALUNG AT LOCATION 250 Qux ina the value ct x into the D cei ste 24675 2H574
100. board causes the blind cursor XY to be addressed then the keyboard will be left in the blind cursor mode while the RS232 serial is still in the visible cursor mode Code 4 EOT Control D Has no effect upon the display Code 5 ENQ Control Has no effect upon the display 13 6 CGI Control When this code is received the system accepts the next eight bit word from the serial input as the new compositestatus for the characters which follow See CRT Refresh Memory Section The first three bits represents the Foreground Color with Greeng A and Blue next three bits represent the Background Color optional with Redp A3 Greenp Aqg Blue A The next bit i the bit for the Foreground Color and the last bit is Plot Character bit which causes the display to interpret the ASCII word as a 2x4 plot array Code 7 Bell Control m When this code is received a tone will sound for about 150 MS Stays on BASIC program reads a END loop can be used to increase duration Code 8 Home Control H When this code is received the cursor moves to 0 0 or the top left hand corner of the screen Code 9 Tab Control I When this code is received the cursor moves horizontally to the next tab position The tab positions are fixed and are at every eight positions from zero Gode 10 Line Feed Control J When thi
101. can receive data or change this mode The terminal can be made to transmit out of the RS232C port While am tne local modeby typing CoDtrel X or BSC_C or Code 15 Re Entry to Operating System Mode Causes the same result as Code 16 below but does not reinitialize the I O Byte or the second RS232C channel Baud rate P or Code 16 Initialize CPU Operating System Mode When this optional mode is selected the terminal enters into the CPU Operating System It then obeys all the commands that are allowed in the CPU Operating System See the CPU Operating System Manual or Code 17 Character Insert Mode Once in this mode the CRT acts exactly like the normal visible cursor system for all control commands except for those requiring a 2 or more character sequence such as Cursor XY CCI and ESC When any character is typed or received via the RS232C input it is inserted within the line at the cursor present position and every character 21 after the cursor to the end of the line is shifted right one character position The last character on the line is lost forever The cursor is also advanced one position The above is trueexcept for control codes and Delete or shift keys code 127 When the delete key is depressed or code 127 is received via the RS232 input port then the character at the cursor present position is deleted and all characters to the end of the line are shifted left one character position The l
102. character The receiver buffer loaded flag remains high until the read receiver buffer function is addressed at which time the flag is cleared The reset function also clears this flag G 4 transmitter butfer empty A high in bit 4 indicates that the transmitter buffer register is empty and ready to accept a character Note however that the serial transmitter register may be in the process of shifting out a character The reset function sets the transmitter buffer empty flag high Bit 5 interrupt pending A high in bit 5 indicates that one or more of the interrupt conditions has occured and the corresponding interrupt is enabled This bit is the status of the interrupt signal INT Bit 6 full bit detected A high in bit 6 indicates that the first data bit of a receive data character has been detected This bit remains high until the entire character has been received or until a reset is issued and is provided for test purposes Bit 7 start bit detected A high in bit 7 indicates that the start bit of an incoming data character has been detected This bit remains high until the entire character has been received or until a reset is issued and is provided for test purposes 2 2 5 Issue discrete commands Addressing the discrete command function causes the TMS 5501 to interpret the data bus information according to the following descriptions See Figure 4 for the discrete command format Bits 1 through 5 are latched until a different d
103. cription MOV DST SRC Load register DST from register SRC STAX RP je Store accumulator at memory location referenced by the specified register pair LDAX A Load accumulator from memory location refereced by the specified register pair Condition bits affected None REGISTER OR MEMORY TO ACCUMULATOR INSTRUCTIONS Format LABEL CODE REGM Code Description ADD A lt REGM to accumulator ADC Add REGM to accumulator with carry SUB A 2 Subtract REGM from accumulator SBB REGM carry Subtract REGM from accumulator with borrow ANA x AND REGM AND accumulator with REGM XRA XOR REGM EXCLUSIVE OR accumulator with REGM 30 Description A A REGM OR accumulator with REGM Condition bits set by A REGM Compare REGM with accumulator Condition bits affected ADD SUB SBB Carry Sign Zero aux Carry ANA XRA ORA Sign zero parity Carry is zeroed CMP Carry sign zero parity aux carry Zero set if A REGM Carry reset if A REGM Carry set A gt REGM ROTATE ACCUMULATOR INSTRUCTIONS Format LABEL CODE Description RLC carry e As n Set carry 7 rotate accumulator left RRC Garry lt amp Ag 1 47 lt 80
104. ction will override Bit 2 interrupt 7 select Interrupt 7 may be generated either by a low to high transition of external input 7 or by interval timer 5 A high in bit 2 selects the interrupt 7 source to be the transition of external input 7 A low in bit 2 selects the interrupt 7 source to be interval timer 5 Bit 3 interrupt acknowledge enable The TMS 5501 decodes data bus CPU status bit 0 at SYNC of each machine cycle to determine if an interrupt acknowledge 15 being issued A high in bit 3 enables the TMS 5501 to accept the interrupt acknowledge decode A low in bit 3 causes the TMS 5501 to ignore the interrupt acknowledge decode Bit 4 and bit 5 are used only during testing of the TMS 5501 For correct system operation both bits must be kept low Bit 6 and bit 7 are not used and can assume any value 2 2 6 Load rate register Addressing the load rate register function causes the TMS 5501 to load the rate register from the data bus and interpret the data bits See Figure 5 as follows BIT 7 6 5 4 3 2 STOP 9600 4800 2400 1200 300 5 baud baud baud baud baud H One stop bit L Two stop bits FIGURE 5 DATA BUS ASSIGNMENTS FOR RATE COMMANDS Bits 0 through 6 rate select The rate select bits bits 0 through 6 are mutually exclusive only one bit may be high A high in bits 0 through 6 will select the baud rate for both the transmitter and receiver circuitry as defined below and in Figure 5 Bit 110 ba
105. d 1 is the assumed STEP value 18 FOR 1 1 TO 10 20 PRINT I 37 NEXT I PRINT I The loop itself is lines 10 through 30 The numbers 1 through 10 are printed when the loop is executed After I 10 control passes to line 40 which causes 11 to be printed line 10 had been 10 FOR I 19 TO 1 STEP 1 the value printed by line 40 would lU FOR I 2 TO 44 STEP 2 20 LET I 44 38 NEXT I The above loop is only executed once since the value of I 44 has been reached and the termination condition is satisfied If the initial value of the variable is greater than the terminal value the loop is still executed once The loop set up by the statement 10 FOR I 20 TO 2 STEP 2 will be executed only once although a statement like the following will initialize execution of a loop properly 10 FOR I 2 2 STEP 2 For positive STEP values the loop is executed until the control variable is greater than its final value For negative STEP values the loop continues until the control variable is less than its final value FOR loops can be nested but not overlapped The depth of nesting depends upon the amount of user storage space available in other words upon the size of the user program and the amount of RAM available Nesting is a programming technique in which one or more loops are completely within another loop The field of one loop the numbered lines from the FOR statement to the corresponding NEXT statement inc
106. d a reject light will be activated If a match is found the terminal will transmit the employee s badge number and access category to the central system and a door unlock solenoid will be activated for 4 seconds The central computer then may take the transmitted information and record it along with time and date of access The TMS 4700 is a 1024 x 8 ROM that contains the system program and the TMS 4036 is a 64 x 8 RAM that serves as the stack for the TMS 8080 and storage for the access category information TTL circuits control chip enable information carried by the address bus Signals from the CPU gate the address bits from the ROM the RAM or the TMS 5501 onto the data bus at the correct time in the CPU cycle The clock generator consists of four TTL circuits along with a crystal needed to maintain accurate serial data assembly and disassembly with the central computer The TMS 5501 handles the asynchronous serial communication between the TMS 8080 and the central system and gates data from the badge reader onto the data bus also gates control and status data from the TMS 8080 to the door lock and badge reader and controls the time that the door lock remains open The TMS 5501 signals the TMS 8080 when the badge reader or the communication lines need service The functions that the TMS 5501 is to perform are selected by an address from the TMS 8080 with the highest order address line tied to the TMS 5501 chip enable input and the four lowest o
107. d is set 9946 and carry 1 Then add the minuend to A after subtracting the subtrahend from D 4 SIGNATURE PIN A15 MSB A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 4 A2 A1 AO LSB D7 MSB D6 D5 D4 D3 D2 D1 DO LSB Vss VBB VDD 1 2 HOLD INT INTE DBIN 36 39 38 37 40 35 34 33 32 31 30 29 27 26 25 11 20 28 22 15 12 13 14 16 OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT IN OUT IN OUT IN OUT IN OUT IN OUT IN OUT IN OUT IN OUT IN IN OUT OUT TABLE 4 TMS 8080 PIN DEFINITIONS DESCRIPTION 15 through AO comprise the address bus True memory or 1 device addresses appear this 3 state bus during the first state time of each instruction cycle D7 through D0 comprise the bidirectional 3 state data bus Memory status or I O data is transferred on this bus Ground reference Supply voltage 5 V nominal Supply voltage 5 V nominal Supply voltage 12 V nominal Phase 1 clock Phase 2 clock See page 19 for 91 and 2 timing Reset When active high for a minimum of 3 clock cycles the RESET input causes the TMS 8080 to be reset PC is cleared interrupts are disabled and after RESET instruction execution starts at memory location O To prevent a lockup condition a HALT instruction must not be used in location O Hold si
108. d to 301 then the byte at 301 which is now FF 15 moved to 302 and Error Conditions If any address is greater than 16 bits only the last 4 hex digits are used as the address Example The command M00302 303 00405 Cr is equivalent to the command N302 53035420516 20 2 If low address is greater than high address only one byte will be moved from low address to destina tion address Example The command 2300 260 100 Cr 1S equivalent to the command M300 00 100 Cr low address through high address specifies non existent range of memory bytes of FF H will be moved to the memory locations specified by destination address Example If locations 2000 H through 2005 are non existent the commend 5 M2000 2005 will cause locations 0100 H through 0105 H to contain FF H 2 an invalid character is entered in an address the CR Tube will display Cr 1f and await the next command Example If the user attempts to enter OBAG as the destination address the following will be displayed M100 10F OBAG 4 2 9 R COMMAND BAUD RATE SELECT The format of the R command is R rate value The rate value must be between l and 7 See chart below NUMBER k RATE HIGH SPEED 1200 2400 2600 19 200 38 400 76 800 BAUD RATE 21 4 2 10 5 COMMAND SUBSTITUTE MEMORY The S command is used to display and or modify the contents of individual mem
109. e comma A semicolon causes no further spaces to be output other than the leading and trailing space automatically output with each number A comma causes the print head to move at least one space to the next print zone or possibly perform a carriage return line feed The following example shows the effects of the semicolon and comma 10 LET A 1 B 2 C 3 20 PRINT A B C PRINT 1 8 1 1 RUN READY The following example demonstrates the use of the formatting characters and with text strings 120 PRINT STUDENT NUMBER X GRADE A 130 PRINT NO IN CLASS N could cause the following to be printed assuming calculations were done prior to line 130 STUDENT NUMBER 119050 GRADE 87 AVE 85 44 NO IN CLASS 26 5 PRINT Statement TAB Function The TAB function is used in a PRINT statement to write spaces to the spec ified column on the output device The columns on the output devices are numbered 1 to 80 The form of the command is PRINT x where x is the column number in the ranqe 0 255 If X exceeds 80 however every other consecutive line is tabbed until the number of spaces to be output is less than or equal to 80 the column number specified is greater than 255 or negative an error messaqe is printed as follows ERROR READY 30 x 15 non integer only the integer portion of the number is used If the column number x speci
110. e initialized state 5 Initial zed State Sg The unit will always up in th initialized state S4 when power is turned on after being off for at deast 30 seconds In State 50 the following conditions are true Visible foreground color white Visible background color black Reverse field flag O Visible A7 bit O unless otherwise noted Plot Bat O Page Mode Operation unless otherwise noted Terminal Mode Local unless otherwise noted Baud Rate 9600 with one stop bit unless otherwise noted Write left to right with visible cursor Blind foreground color red Blind background color black Blind Ad pit 0 Blind Plot Bit O Blind Cursor at home or top left corner of screen Z lt E A q H m G J tJ OQ gt After the above conditions have been set the cursor is moved to the home position which is the top left hand corner of the screen and the position of the first character of the first line The screen will clear by an Erase Page command which effectively makes all 2000 3840 with 80 character x 48 line option characters spaces 20 HEX which are white non blinking 7 HEX The unit is now ready to accept commands from the keyboard or the serial input if connected Convergence and Purity The units convergence and purity may need adjusting when initially received Allow at least a 30 minute warm before setting the final convergence See Appendix C for convergence alignment
111. e keyboard BASIC 8001 completely ignores anything on a line following the letters REM The line number of a REM statement can be used in a GOTO or GOSUB statement see sections pertaining to destination of a jump in the program execution Typical REM statements are shown below 10 REM THIS PROGRAM COMPUTES THE 11 ROOTS OF A QUADRATIC EQUATION THE ASSIGNMENT STATEMENT LET The LET statement assigns a value to the specified variable s general format of the LET statement is LET variable expression where variable is a numeric or string variable and expression is an arithmetic or string expression All items in the statement must be either string numeric they cannot be mixed The word LET is optional The LET statement does not indicate algebraic equality but performs calculations within the expression if any and assigns the value to the variable The meaning of the equal sign should be clarified algebraic notation the formula X X l iS meaningless However in BASIC 8001 and most computer languages the equal sign designates replacement rather than equality Thus this formula is actually translated add one to the current value of X and store the new result back in the same variable X Whatever value has previously been assigned to X will be combined with the value 1 An expression such as A B C instructs the computer to add the values of and store the result th
112. ect to the normally most negative supply voltage Vag substrate Throughout the remainder of this data sheet voltage values are with respect to Vcc unless otherwise noted 3 2 RECOMMENDED OPERATING CONDITIONS MIN NOM MAX UNIT Supply voltage Vag 4 75 5 5 25 Supply voltage Vss High level input voltage VIH all inputs except clocks High level clock input voltage V H Low level input voltage all inputs except clocks see Note 2 Low level clock input voltage see Note 2 Operating free air temperature T A NOTE 2 Thealgebraic convention where the most negative limit is designated as minimum is used inthis specification for logic voltage levels only 12 35 SWITCHING CHARACTERISTICS OVER FULL RANGE OF RECOMMENDED OPERATING CONDITIONS SEE FIGURES 6 AND 7 PARAMETER TESTCONDITIONS MIN MAX UNIT Data bus output enable time E 200 pF Data bus output disable time to high impedance state ERI 1 3 180 3 v RI 1 3 ki TMS 5501 OUTPUT T 100 pF C includes probe and jig capacitance LOAD CIRCUIT H tto twlo1l lt fs tdo Ln 2 re 2 19 01 02 H 9 62 61 tsu CEJ le K 1 CARES 787670202026 979
113. een typed BASIC 8001 displays Erased line and CR Deletes the last character typed and echoes a cursor left on the terminal Snaces as well as characters or control cc may be erased A colon is used to separate multiple statements per line Erases CRT screen but does not change any BASIC 8001 statements If the RETURN key has already been typed a program line can be corrected by typing the appropriate line number and retyping the line correctly The line can be deleted by typing the RETURN key immediately after the line number removing both the line number and line from the program If the line number of a line not needing correction is accidentally typed the cursor left key CTRL 7 may be used to delete the number s then the correct number can be typed Assume the line 56 12 IF gt 5 230 1s correct A line 15 is to inserted but 1g LET is typed by mistake The correction is made as follows 1g LET t 5 LET X X 3 Line 10 remains unchanged and line 15 is entered Following an attempt to run a program error messages may be output on the terminal indicating illegal characters or formats or other user errors in the program Most errors can be corrected by typing the line number s and the correction s and then rerunning the pro gram As many changes or corrections as desired may be made before runs The following editing commands are entered in immediate mode and termin
114. eforms Information contained in this publication is believed to be accurate and reliable However responsibility is assumed neither for its use nor for any infringement of patents or rights of others that may result from its use No license is granted by implication or otherwise under any patent or patent right of Texas Instruments or others Copyright 1975 Texas Instruments Incorporated C CO N N OO 11 12 17 17 17 18 18 20 20 1 1 1 2 1 8 INCREMENTER DECREMENTER TMS 8080 MICROPROCESSOR ARCHITECTURE INTRODUCTION The TMS 8080 is an 8 bit parallel central processing unit CPU fabricated on a single chip using a high speed N channel silicon gate process See Figure 1 A complete microcomputer system with 2 us instruction cycle can be formed by interfacing this circuit with any appropriate memor y Separate 8 bit data and 16 bit address buses simplify the interface and allow direct addressing of 65 536 bytes of memory Up to 256 input and 256 output ports are also provided with direct addressing Control signals are brought directly out of the processor and all signals excluding clocks are TTL compatible THE STACK The TMS 8080 incorporates a stack architecture in which a portion of external memory is used as a pushdown stack for storing data from working registers and internal machine status A 16 bit stack pointer SP is provided to facilitate stack location in the memory
115. end of the loop which began with the FOR statement The NEXT statement is of the form NEXT variable where the variable is the same variable specified in the FOR statement Together the FOR and NEXT statements define the boundaries of the program loop When execution encounters the NEXT statement the computer adds the STEP expression value to the variable and checks to see if the variable is still less than or equal to the terminal expression value When the variable exceeds the terminal expression value control falls through the loop to the statement following the NEXT statement Note the variable is not necessary since when a NEXT statement is encountered it is assumed it is for the appropriate FOR loop variable If the STEP expression and the word STEP are omitted from the FOR state ment 1 is the assumed value Since 1 is a common STEP value that portion of the statement is frequently omitted The expressions within the FOR statement are evaluated once upon initial entry to the loop The test for completion of the loop is made after each execution of the loop If the test fails initially the loop is still executed once 36 The index variable can be modified within the loop When control falls through the loop the index variable retains the value used to fall through the loop The following is a demonstration of a simple FOR NEXT loop loop 15 executed 10 times the value of I is 11 when control leaves the loop an
116. entering and exiting the XY Incremental plot mode are shown below Funets on Code Plot Mode 2 or or Plot Submode 240 to 253 Incremental Vector 240 Plot Mode Incremental chanqe in X1 1 1 O 239 Word N O to 239 Plot Escape 255 or Plot Submode 240 to 254 NOTE Send code 240 between incremental vector words if necessary for timing considerations See Appendix A 4 for input Delay Times 36 LIGHT PEN OPERATION Option 28 The Intecolor 8001 Light Pen is designed to move the cursor on the screen of the terminal by simply pointing to the desired location on the screen and touching with the forefinger the touch sensitive end of the light pen The touch sensitive end of the light pen acts as a switch or button To effect operation of the light pen the pen is simply pointed to the desired location on the screen Either the standard lense or the long range lense may be used in the same manner When the desired location is reached the forefinger is placed on the touch sensitive end of the pen and held on the pen until the cursor on the screen resides at the location the pen 15 pointing to As long as the finger is kept on the pen the cursor will follow the pen to any location When the cursor is at the desired location lift the forefinger from the tip of the pen and the following 7 word sequence will be transmitted to the Jl 52 32 output port 03 Cursor X Y See Code 3 Cursor Coordinate Y
117. equivalent to the command Cr 24 invalid character 15 present in the bias address the CR Tube will immediately display If and await the next command Example If the user attempts to enter GOO as a bias address the following will be displayed 4 2 8 M COMMAND MOVE MEMORY The format of the M command is M low address high address destination address Low address is a valid 16 bit memory address High address is a valid 16 bit memory address equal to or greater than low address 19 Destination address is a valid 16 bit memory address Description The M command causes the block of memory from low address through high address to be moved to the locations in memory beginning at destination address Example If memory appears as follows LOCATIONS DATA 0300 0304 contain 01020304 0200 0204 contain 1 2 4 Then the command M200 204 300 will cause the following LOCATIONS DATA 0300 0304 contain 1 2 4 0200 0204 contain 1 2 4 Note The movement is performed byte by byte the byte at low address is moved to destination address then low address 1 is moved to destination 1 etc Therefore the MOVE command may be used to fill memory with byte or sequence of bytes Example If location 0300 H contains FF H the command 300 310 301 Ex will cause locations 300 through 310 to contain FF H The FF at 300 is move
118. er basis only and the color of an individual plot block as well as all other intensified plot blocks within a character will be the most recent color defined when a new block is intensified in that character To change a color it is required that the Plot Mode or plot submode be terminated the color changed and the Plot Mode be re entered The character grid 15 made up of 80 characters wide by 25 481 lines high The O reference point for all plotting is always the lower left corner Each character is further broken up into 2 blocks wide by 4 blocks high which then causes the plot grid to be 160 blocks wide by 100 192 blocks high All plot submodes operate on this size grid and have the same reference point Positive direction is considered up and to the right and negative direction 15 considered down and to the left All plot submodes and the general Plot Mode are terminated or exited by the binary code 255 Whenever this code is received the modes are terminated and must be re entered as described above Appendix B 2 gives a convenient summary of the codes required to enter the Plot Mode and the various plot submodes as well the status of PLOFL before and after each operation and the ranges of each operation Plot Mode Escape 255 binary This code is used to exit from the Plot Mode or any of the plot submodes control or 15 is used to escape from the Plot Mode from the Keyboard Character Plot 254 binary
119. er foreground or background to color green YELLOW KEY control S sets either foreground or background to color yellow 20 BLUE KEY control T sets either foreground or background to color blue 21 VIOLET KEY control U sets either foreground background to color violet 22 23 24 25 26 21 28 29 30 31 CYAN KEY 4 combsol V Sets either Foregreund background to color cyan WHITE KEY control W sets either foreground or baekground to coler white XMIT control X causes data to be transmitted from the visible cursor to the end of page or until FF OO is found in Refresh RAM CURSOR RIGHT control Y causes the cursor to move raght 1 position CURSOR LEFT control Z causes the cursor to move left 1 position ESC control L provides an entry to the escape code table must be followed by one or more codes for proper operation CURSOR UP control causes the cursor to move up one line FG ON FLAG OFF controlll sets the flag bit off BG ON FLAG ON control N sets the flag bit BLINK ON control sets the blink bit on n 5 BIT CODE 10 11 12 18 14 18 SUMMARY OF ESCAPE CODES FOR INTECOLOR 8001 LETTER A FUNCTION Visible cursor mode Blind cursor mode Plot via color pad Transmit cursor X Y position Not used Re entry to BASIC 8001 Sets full duplex mode Not used Sets half duplex mode Not used Set write vertical mode S
120. es a complicated I O operation for a volume of data a mathematical evaluation which is too complex for a user defined function or any number of other processes may be best performed in a subroutine More than one subroutine can be used in a single program in which case they can be placed one after another at the end of the program in line number sequence A useful practice is to assign distinc tive line numbers to subroutines for example if the main program uses line numbers up to 199 use 200 and 300 as the first numbers of two subroutines Subroutines are usually placed physically at the end of a program before DATA statements if any The program begins execution and continues until it encounters a GOSUB statement of the form 1 GOSUB line number where the line number following the word GOSUB is that of the first line of the subroutine Control then transfers to that line of the Subroutine For example 50 GOSUB 200 Control is transferred to line 200 in the user program first line in the subroutine can be a remark or any executable statement Having reached the line containing a GOSUB statement control trans fers to the line indicated after GOSUB the subroutine is processed until BASIC 8001 encounters a RETURN statement of the form 2 RETURN which causes control to return to the statement following the original GOSUB statement A subroutine must always be exited via a RETURN statement Before transferring
121. es of his program before running it again Alternatively programs could be written beginning at any higher location Then system programs and user programs could be executed in any order without requiring the re load operation For a 25 line system these locations are 8FBOH to 8FFFH The 48 line system uses locations 9FBOH to 9FFFH The CPU O S is the operator s interface to the 8080 CPU and controls loading and execution of user programs and to some extent the debugging of user programs Figure 4 1 illustrates memory utilization during various stages of system software use While the CPU O S is running it uses an area at the top of memory for data storage and scratch work 4 1 CPU OPERATING SYSTEM IMPLEMENTATION AND EXECUTION 4 4 CPU O 5 IMPLEMENTATION The Intecolor 8001 CPU 0 8 program is implemented on two E PROM modules which are pre installed into each Intecolor 8001 with Option 34 This allows the CPU to be used with great ease as it is not necessary to wait for lengthy paper tape loading operations All that is required to go on line with CPU O S is to turn the Imteeolor 8001 on hit the ESCAPE key and then the CPU O S key and begin execution 4 1 2 STARTING SYSTEM MONITOR To begin operating the CPU O S press two keys in sequence ESCAPE CPU 0 5 and the Intecolor 8001 will automatically jump to the starting address of the CPU O S 4 2 CPU 5 OPERATION AND COMMANDS The commands con
122. es the X or horizontal position of the vertical bar graph being drawn The X Value may range from 0 to 159 and all other values will have 160 subtracted and will have the new value calculated for the X value All other operations are identical as explained inthe Section on binary 249 X Bar Graph Value except that Y Bar Graph Valme and Y Bar Graph Max Value are applicable for drawing vertical bar graphs An example is shown in Appendix B 5 Y Bar Graph Y Max Value binary 244 The Y Bar Graph Y Max Value is entered by a binary 244 code after the general Plot Mode is entered From the Keyboard use Control 4 or F4 It 15 more commonly entered from the Y Bar Graph 33 Value automatically and also may be entered from any of the other plot submodes except Character Plot After entering the Y Bar Graph Y Max Value mode the next word received defines the vertical Y Max point of the vertical bar graph being drawn The Y Max Value may range from binary O to 99 0 191 and all other values will have 100 192 subtracted and will have the new value calculated for Y Max Value All other operations are identical as explained inthe Section on binary 248 X Bar Graph X Value except that Y Bar Graph Yg Value and Y Bar Graph X Value are applicable for drawing vertical bar graphs An example is shown in Appendix B 5 Y Incremental Bar Graph binary 243 The Y Incremental Bar Graph is entered by a binary 243 code a
123. es the program in the buffer area Executes the program starting at line number specified Outputs the program in core to track of the WRITE output device NEW Erases the entire storage area CONT Continues execution after CTRL J is typed or after a STOP statement The following functions perform standard mathematical operations in BASIC 8001 Name ABS x ATN x CALL x Tus Sew Must IN 21575 Lo BYTE and 24574 Hi COS x EXP x FRE x DOES INCLUDE FRE x4 BYTES INT x INP x LOGS Same POKE locations POS RND x Repeats aer 1445 numbers SGN x SIN SPC x DISTRUCTIVE TAB X SOR x TAB x TAN x Explanation Returns the absolute value of x Returns the arctangent of x an angle in radians in the range or 1 2 Call the user machine language routine at location OAOOO HEX 40002 24576 015 4575 Lo ADAF 24574 Hr Returns the cosine of x radians Returns the value of where 2 71828 Returns number of free BYTES not in wse Returns the greatest integer less than or equal to x Returns a BYTE from input port 0 lt x lt 255 Returns the natural logarithm of x Returns a BYTE from memory address 0 lt x lt 32 6 or if X is negative the memory address is 65536 K Returns a value to 79 current cursor position Returns a random number between O and l R
124. ets roll up and write left to right mode Sets local mode Not used Not used Re entry to the CPU operating system Initializes and transfers control to the CPU operating system Character insert mode Baud rate selection mode A7 on 1 stop bit 7 off 2 stop bit Transfer control to the 8080 assembler Transfer control to the text editor Insert one line Delete one line Initializes and transfers control BASIC 8001 5 CODE 24 25 26 27 28 29 30 LETTER gt Li FUNCTION Sets page mode and write left to right mode Test mode fill page with next character Set write down on 45 degree mode Not used Sets write up on 45 degree mode Set unit up for Block receive mode Causes a jump to address 9FAH Transfer control to the CRT mode Must include certain option to be operational b HB _ SUMMARY OF GRAPHIC PLOT SUBMODES FOR INTECOLOR 8001 SUMMARY OF INCREMENTAL DIRECTION CODES FOR INTECOLOR 8001 OPTIONAL RS 232 INPUT PLOT NORMAL KEY FUNCTION CODE SUBMODE BOARD CODE KEYBOARD CODE 255 Plot Mode Escape Control 2 15 254 Charactor Plot Control gt F 14 258 Point Plot Control 18 252 Y Point Plot Control lt 251 Incremental Point Plot Control 250 Xo of X Bar Graph Control F 10 249 Y of X Bar Graph Control E 248 X max of X Bar Graph Comtrol 8 F 8 247 Incremental X Bar Graph Control 7 77 246 Yo Bar Gra
125. eturns a value indicating the sign of x Returns the sine of x radians Causes x spaces to be generated Returns the square root of x Causes the cursor to tab to column number x when used in a print statement Returns the tangent of x radians The string functions are Name ASC x CHRS x FRE LEFTS xs 1 LEN X MEDS RIGHTS 1 STRS x VAL x CLEAR X Explanation Returns as a decimal number the seven bit internal code for th first character ot String x9 Generates a one character string having the ASCII value of x Returns number of free string BYTES Returns left most I characters of string 5 Returns the number of characters in the string x Returns J characters of string starting at position I Returns right most I characters of string x Returns the string which represents the numeric value of x Returns the number represented by the string xo Reserves x bytes foc sica data Default value 15 50 5 single input can exceed 36 bytes ERROR MESSAGES After an error occurs BASIC 8001 returns to command level and types READY Variable values and the program text remain intact but the program cannot be continued and all GOSUB and FOR context is lost When an error occurs in a direct statement no line number is printed Format of error messages Direct Statement XX ERROR Indirect Statement XX
126. fers interrupt control logic and interval timers SYNC CE XI A B INT 4 00 INTERRUPT ADDRESS RECEIVER BUFFER RATE REGISTER MASE REGISTER E rO SENS FIGURE 1 TMS 5501 BLOCK DIAGRAM TRANS REGISTER MECEIVER HEGISTER The section of the TMS 5501 contains an eight bit parallel input port and a separate eight bit parallel output port with storage register Five programmable interval timers provide time intervals from 64 5 to 16 32 ms The interrupt system allows the processor to effectively communicate with the interval timers external signals and the communications interface by providing TMS 8080 compatible interrupt logic with masking capability Data transfers between the TMS 5501 and the CPU are carried by the data bus and controlled by the interrupt chip enable sync and address lines The TMS 8080 uses four of its memor y address lines to select one of 14 commands to which the TMS 5501 will respond These commands allow the CPU to read the receiver buffer read the input port read the interrupt address read TMS 5501 status issue discrete commands load baud rate register load the transmitter buffer load the output port load the mask register load an interval timer 1 2 The commands are generated by executing memory referencing
127. fied by Y 1 the cursor then reappears in character position 1 Any cursor command will automatically force the cursor to reappear at the proper position in relation to character position O line Y 1 If the cursor X values is 81 binary 51 or larqer then the ignores this as the visible cursor X values and sends the unit into the blind cursor addressing mode Once in the blind cursor X Y addressing mode three 3 additional words must be sent They are blind cursor X value blind cursor Y value and the blind status word The blind X value must be in the range of 0 79 and the blind Y value must be in the range of 0 24 or 0 47 The blind status word must be in the same format as required in the CCI mode control F See the next page The blind A7 bit will be set on by sending from 128 binary to 255 binary instead of 81 binary when going from the visible cursor X Y mode to the blind cursor X Y mode The Blind A7 bit will be set off anytime a binary number between 81 and 127 is used to get into the blind X Y mode It should be noted that the X and Y cursor values received are masked to 0 127 and 0 31 0 63 respectively Then if the value is still out of range the X value has 80 subtracted and the Y values mas 25 48 subtracted When exitinq from the blind cursor X Y mode the terminal is left in the blind cursor mode for what ever input device caused the mode to be entered That is if after CPU reset is operated the key
128. fied is less than or equal to the current column number the TAB function has no effect VII INPUT STATEMBNT The INPUT statement is used when data is to be input from the terminal keyboard during program execution The form of the statement is 1 INPUT list where list is a list of variable names separated by commas For example 10 INPUT causes the computer to pause during execution print a question mark and wait for input of three numeric values separated by commas The values are input to the computer by typing the RETURN key If too few values are entered BASIC 8001 prints another to indicate that more data is needed If too many values are typed the excess data on that line is ignored and the message below is printed but program Still continues The values entered in response to the INPUT statement cannot be continued on another line and are terminated by the RETURN key Values must be separated by commas if more than one value is input on the same line When there are several values to be entered via the INPUT statement it is helpful to print a message explaining the data needed For example lg PRINT YOUR IS 20 INPUT A 2 INPUT Strang 1155 The INPUT statement can also contain quoted strings The above example could be written 10 INPUT YOUR 9 Note that when a quoted string is included in a INPUT statement the normal is not printed as a prompt character and if
129. flag to be set underflow condition Ic zs eu ra carry 2 5 1 A A lt b2 gt carry 2 5 1 lt b3 gt 22 lt store contents of in memory address given in bytes 2 and 3 store contents of in memory address given in BC er DE 1 set carry flag to 1 true condition A A M subtract the contents of M from register and place in A Two s complement subtraction is used and a true borrow causes the carry flag to be set underflow condition IG 7 5 4 2 5 1 lt 62 gt 2 5 1 A A XOR take the exclusive OR of the contents of and register A and place in A The carry flag will be reset 2 5 XOR C Z S P C1 lt 62 gt C Z S P C1 DESCRIPTION A input data from data bus byte 2 is sent on bits 7 and A15 A8 as the input device address INP status is given on the data bus Output byte 2 is sent on bits 7 and A15 A8 as the output device address OUT status is given on the data bus DESCRIPTION Halt all machine operations stop All registers are maintained Only an interrupt can return the TMS 8080 to the run mode Note that a HLT should not be placed in location zero otherwise after the reset pin is active the TMS 8080 will enter a nonrecoverable state until power is
130. for entering and exiting the XY Incremental plot mode are shown below Function Code Plot Mode 2 or or Plot Submode 240 to 253 XY Incremental Point Plot 251 Incremental Change Word 1 O to 259 Incremental Change Word n O 239 Plot Escape 255 or or Plot Submode 240 to 254 NOTE Send code 251 between XY incremental point words if necessary for timing considerations See Appendix A 4 for Delays 30 Bar Graph X Value binary 250 The X Bar Graph Value is entered binary 250 code after the general Plot mode is entered From the Keyboard use Control 10 may also be entered from any of the other plot submodes except Character Plot After entering the X Bar Graph Value Mode the next word sent defines the X Value or the left horizontal start block of the horizontal bar graph The graph grid is referenced to the lower left hand eorner of the of the The may range in value from O to 159 and all other values have 160 subtracted and the new Salue calculated fof Upon receipt of the X Value the value of 15 stored in memory and the terminal is automatically placed in the Bar Graph Y Value mode binary 249 The terminal 15 now ready to receive the next eight bit word as the Y position of the bar graph Upon receipt of the Y value the terminal is then automatically placed in the X Bar Graph X Max Value mode binary 248 The terminal is now ready
131. fter the general Plot Mode is entered From the Keyboard use Control 3 or F3 It may be entered from any of the plot submodes except Character Plot After entering the Y Incremental Bar Graph mode the next word sent defines the next two horizontal and vertical increments for two vertical bar graphis All other operations are identical as explained in the Section on binary 247 X Incremental Bar Graph except for the mode being applicable for drawing vertical bar graphs An example is shown in Appendix B 6 Vector Mode X Value binary 242 The Vector Mode is entered by a binary 242 code after the general Plot Mode is entered From the Keyboard use Control 2 or F2 may be entered from any of the plot ubemodes except Ghnaracter Plot After entering the Vector Mode Value the next word defines the X Value point of the vector being drawn The Vector Mode requires the two end points to be defined i e Yo and Yi The X Y values should previously be defined by way of the X Y Point Plot Mode Upon receipt of the X Value the terminal is automatically placed in the Vector LN Value Mode binary 241 The terminal is now ready to Becerve the next erght bit werd as the Y Vector Walue Upon receipt thie Y Value the terminal then determines the best straight line fit between Yo and Xj using the plot blocks The terminal will then revert to the Vector Mode X value binary 242 ready to receive the new X
132. gnal When active high HOLD causes the TMS 8080 to enter a hold state and float put the 3 state address and data bus in a high impedance state The chip acknowledges entering the hold state with the HLDA signal and will not accept interrupts until it leaves the hold state Interrupt request When active high INT indicates to the TMS 8080 that an interrupt is being requested The TMS8080 polls INT during a HALT or at the end of an instruction The request will be accepted except when INTE is low or the CPU is in the HOLD condition Interrupts enabled INTE indicates that an interrupt will be accepted by the TMS 8080 unless it is in the hold state INTE is set to a high logic level by the Enable Interrupt instruction and reset to a low logic level by the DI Disable Interrupt instruction INTE is also reset when an interrupt is accepted and by a high on RESET Data bus in DBIN indicates whether the data bus is in an input or an output mode high input low output 0 5 2 2 1 SIGNATURE PIN WR 18 SYNC 19 HLDA 21 READY 23 WAIT 24 SIGNATURE DATA BUS TMS 8080 INSTRUCTION SET INSTRUCTION FORMATS OUT OUT OUT OUT TABLE 4 CONTINUED DESCRIPTION Write When active low WR indicates a write operation on the data bus to memory to I O port Synchronizing control line When active high SYNC indicates the beginning of each machine cycle of the TMS 8080 Sta
133. h impedance or floating condition and the CPU stops until the HOLD request is removed Interfacing with different speed memories is easily accomplished by use of the WAIT and READY pins During each machine cycle the CPU polls the READY input and enters a wait condition until the READY line becomes true When the WAIT output pin is high it indicates that the CPU has entered the wait state Designing interrupt driven systems is simplified through the use of vectored interrupts At the end of each instruction the CPU polls the INT input to determine if an interrupt request is being made This action does not occur if the CPU is in the HOLD state or if interrupts are disabled The INTE output indicates if the interrupt logic is enabled INTE is high When a request is honored the status bit becomes high and an RST instruction may be inserted to force the CPU to jump to one of eight possible locations Enabling or disabling interrupts is controlled by special instructions El or DI The interrupt input is automatically disabled when an interrupt request is accepted or when a RESET signal is received INSTRUCTION TIMING The execution time of the instructions varies depending on the operation required and the number of memory references needed machine cycle is defined to be a memory referencing operation and is either 3 4 or 5 state times long state time designated S is a full cycle of clocks 01 and 2 NOTE The exception
134. he symbols R G B colors in Screen Sector 1 as shown in Figure 2 0 11 2 so to appear as WHITE This will occur when the RED GREEN AND BLUE colors are accurately superimposed on top of each other With the exception of BLUE lateral which is explained below For the above to be accurate the tube must have been externally degaused the Purity adjusted the FOCUS 18 adjusted for sharp and the BRIGHTNESS R17 Analog Module 100047 set for a low level with the color temperature being set to 9600 K as explained in previous sections DO NOT ATTEMPT FURTHER CONVERGENCE UNLESS THE ABOVE HAS BEEN PREVIOUSLY PERFORMED See Sections The beams move at approximately the same angle as the convergence magnets are offset from the vertical plane Blue since it is mounted in the vertical plane moves CONVERGENCE TEST PATTERN FIGURE 2 0 11 1 the beam up and down vertically red and green move the respective beams on a line at about a 60 angle from the vertical The blue lateral magnet moves all three beams in the horizontal plane the blue beam in one direction and the red and green beams in the opposite direction in a 5 to 1 ratio The blue beam has the greatest lateral shift The thumb screw adjustment of red green and blue center convergence magnets can be rotated in either direction continuously Flux change is accomplished by rotating the pole position of the magnets not by moving the magnets farther from or closer to the res
135. he transmission sends each 8 bit word in memory in Sequence That sequence is the ASCII character then the status of that character followed by the next ASCII character and then its status until the FF 2 sequence 15 detected The best way to have this data sent back to the terminal 15 via the ESC or block receive mode y O Code 25 Cursor Bight Control Y Moves the cursor right one character without destroying any information Code 26 Cursor Left Control 2 Moves the cursor left one character without destroying any information Code 27 Escape Control The Escape command effectively expands the control code set by 32 additional code capabilities This requires at least a two code sequence BSC letter which then performs given funetien present only 26 of the 32 additional command capabilities have been enabled These commands are given in the following table For Detail see the Escape Code Section SEE ESCAPE CODE TABLE Page 17 16 ESCAPE CODE TABLE DECIMAL OPTIONS CODE LETTER FUNCTION 0 Visible Cursor Operation l A Blind Cursor Operation 2 Plot Via Color Pad 3 Transmit Cursor X Y Position 4 D Not Used 5 E Re Entry Control to BASIC 8001 system 6 F Sets Unit to Full Duplex 7 G Not Used 8 H Sets Unit to Half Duplex 9 Not Used 10 J Sets Unit to Write Vertical TI K Sets Unit to Roll up Mode amp write Left to Right 12 T Sets Unit to Local Mode 13 Not Used
136. hould be used These commands produce a tape in the proper formats while the D command causes a simple sequence of characters to be Output Error conditions ale If low address or high address is greater than 16 bits only the last 4 hex digits of the argument will be used as the address Example The command D50010 15 equivalent to the command DOOLIO 0013 Cr 2 low address is greater than high address only the one byte at low address will be displayed 4 15 Example The command DlIO 6 is equivalent to the command 210 10 3 Non existent memory is equivalent to a string of bytes all containing H Example memory address 2000 H 2010 H are invalid then the command 402000 2010 will cause the teletype to print 2000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 2010 4 low address or high address contains an invalid character or if high address is omitted the CR Tube will immediately display Cr 1 and await the next command Example If the user attempts to enter the number OG as an address the following will be displayed DOG 4 2 3 F COMMAND FILL MEMORY WITH CONSTANT The format of the F command is F low address high address data Low address is a valid 16 bit memory address High address is a valid 16 bit memory address equal to or greater than low address Data 1s 8 bit data value 14 Description Execution of
137. ht color keys Ag Black Control P Code 16 0 0 0 Red Control 0 Code 17 0 0 1 Control R 18 0 1 0 Yellow Gontrol 5 Code 19 0 1 1 Blue Control T Code 20 1 0 0 Magenta Control Code 21 1 0 1 Cyan Gontrol V Code 22 1 1 White Control W Code 23 1 1 1 When one of these eight codes is received then one of two things happens depending upon the Flag bit If the Flag is off then the key that 1s depressed will change the compositestatus to that Foreground Color code If the Flag is on then the key that is depressed will change the compositestatus to the Background Color code If Background Color option is used then it will display that color If Background Color option is not supplied then no effect will be noticed Note that when the plot via color pad is selected one of the eight color select keys will select one of the eight plot blocks The plot option 2 is installed See section for details Code 24 Transmit Contrel X Whenever control X is received the terminal starts transmission from the visible cursor present position to the end of the screen or until it detects 00 Hex sequence in the Refresh memory The transmission sequence is terminated by a carriage return either D Hex or 8D Hex at the customer option It should be noted that there may be many YD Hex or 8D Hex imbedded in the data transmission since these are legal words in the refresh memory 15 T
138. iables After examining these values you may become satisfied that your program is functioning correctly You should then type in CONT to continue executing your program where it left off or type a direct GOTO statement to resume execution of the program at a different line You could also use assignment LET statements to set some of your variables to different values Remember if you line feed or Control J your program and expect to continue it later you must not get any errors or type in any program lines If you do you won t be able to continue and get a CN continue not error It is impossible to continue a direct command CONT always resumes execution at the next statement to be executed in your program when Control J or line feed was typed WILL LOAD I COMMAND LOADS the program named I from the 8001 CPU operating system Reader Input port specified by the 1 0 BYTE at location 9F90 HEX see the CPU 0 5 Manual new command is automatically done before the LOAD I command is executed When finished loading the READY command will appear as usual If the unit can t find the file on the floppy tape then an error message should appear IX LOAD I COMMAND Does same as LOAD I except that a NEW command is not performed and BASIC 8001 does a word by word comparison of file I with the program already existing in RAM memory they are the same then READY appears else VERIFY FAILURE READY will appear This should always
139. ignals from external equipment It also issues break signals to external equipment Data Interface The TMS 5501 moves data between the CPU and external devices through its internal data bus input port and output port When data is present on the bus that is to be sent to an external device a Load Output Port LOP command from the CPU puts the data on the XO pins of the TMS 5501 by latching it in the output port The data remains in the port until another command is received When the CPU requires data that is present on the External Input XI lines it issues a command that gates the data onto the internal data bus of the TMS 5501 and consequently onto the data bus at the correct time during the CPU cycles Interval Timers To start a countdown by any of the five interval timers the program selects the particular timer by an address to the TMS 5501 and loads the required interval into the timer via the data bus Loading the timer activates it and it counts down in increments of 64 microseconds The 8 bit counters provide intervals that vary in duration from 64 to 16 320 microseconds Much longer intervals can be generated by cascading the timers through software When a timer reaches zero 1 generates an interrupt that typically will be used to point to a subroutine that performs a servicing function such as polling a peripheral or scanning a keyboard Loading an interval value of zero causes an immediate interrupt A new value lo
140. illed with data G GO TO G Address bkptl bkpt2 Program control is transferred to address Breakpoints are set at bkptl and bkpt2 When break points are executed all of the CPU registers are automatically displayed H HEXADECIMAL ARITHMETIC H number number sp The sum and difference of the two numbers is printed in hexadecimal L LOAD HEXADECIMAL TAPE L Bias address A hexadecimal format tape 15 read into memory at tape address plus bias address MOVE M low address high address destination address A block of memory from low address to high address is moved to location destination address N PUNCH NULL N Sixty null characters are punched R BAUD RATE FOR SECOND RS 232 CHANNEL R rate number The rate number must be between 1 and 7 See the How to Use the 8001 Manual 5 SUBSTITUTS S address Sp Memory at address is displayed and can be modified by typing in new data Termination with space opens next sequential address termination with carriage return ends command EXAMINE REGISTERS OR MEMORY X reg ident Register is displayed and can be modified as in the S command W WRITE HEXADECIMAL W low address high address Memory from low address to high address is punched in hexadecimal format MESSAGES CPU O S ready to accept commands Reenter command 3 0 8001 CONFIGURATION e L O SYSTEM The Intecolor 3001 can Support number of input output devices fr
141. imal number in the range to FF H O to 255 This is the count of actual data bytes in the record type or check sum record length of O indicates end of file Frames 3 to 6 Load Address Four ASCII characters that represent the initial memory location where the data following will be loaded The first data byte is stored in the location pointed to by the load address succeeding data bytes are loaded into ascending addresses Frames 7 8 Record Type Two ASCII characters Currently all records are type O thas field is reserved for future expansion Frames 9 to 9 2 Record Data Each 8 bit memory word is Length 1 represented by two frames containing the ASCII characters 0 to 9 A to F to represent a hexadecimal value 0 H 255 43 Frames 9 2 Record Length to Checksum The checksum is the 2 Record Length 1 negative of the sum of all 8 bit bytes in the record since the record mark evaluated a modulus 256 That is if you add together all the 8 bit bytes ignoring all out om am 8 bit sum then add the checksum the result is zero Example memory locations 1 through 3 contain 53F8EC the format of the hex file produced when these locations are punched is 0300010053F8ECC5 Note This format is also known as the Intel format m r 44 COMBINATIONS BETWEEN BLUG RED 5 EACH BY 4 D
142. instructions such as MOV register to memory with the memory address being the TMS 5501 command This provides high degree of flexibility for 1 0 operations by letting the systems programmer use a variety of instructions SUMMARY OF OPERATION Addressing the TMS 5501 A convenient method for addressing the TMS 5501 is to tie the chip enable input to the highest order address line of the CPU s 16 bit address bus and the four TMS 5501 address inputs to the four lowest order bits of the bus This of course limits the system to 32 768 words of memory but in many applications the full 65 536 word memory addressing capability of the TMS 8080 is not required Communications Functions The communications section of the TMS 5501 is an asynchronous transmitter and receiver for serial communications and provides the following functions Programmable baud rate A CPU command selects a baud rate of 110 150 300 1200 2400 4800 or 9600 baud Incoming character detection The receiver detects the start and stop bits of an incoming character and places the character in the receive buffer Character transmission The transmitter generates start and stop bits for a character received from the CPU and shifts it out Status and command signals Via the data bus the TMS 5501 signals the status of framing error and overrun error flags data in the receiver and transmitter buffers start and data bit detectors and end of transmission break s
143. inted at the beginning of the next available print zone Semicolons separating text strings from other items are ignored Thus the previous example could be expressed as 40 PRINT AVERAGE GRADE IS X and the same printout would result comma or semicolon appearing as the last item of a PRINT list always suppresses the carriage return line feed operation BASIC 8001 does an automatic carriage return line feed if a string is printing past column 80 4 Use of and BASIC 8001 considers the 8001 CRT Screen to be divided into ten zones of eight spaces each When an item in a PRINT statement is followed by a comma the next value to be printed appears in the next available print zone For example 18 LET A 3 LET B 2 20 PRINT A B A B A B A B B A When the preceding lines are executed the following is printed 3 2 5 6 1 1 Notice each character is 8 spaces from the next character Two commas together in a PRINT statement cause a print zone to be skipped For example 10 LET 1 LET B 2 20 PRINT A B A B RUN 1 2 3 READY If the last item in a PRINT statement is followed by a comma no carriaqe return line feed is output and the next value to be printed by a later PRINT statement appears in the next available print zone For example 29 10 A 1 B 2 C 3 20 PRINT A PRINT PRINT RUN 1 2 3 READY If a tighter packing of printed values is desired the semicolon character can be used in place of th
144. interrupt and readies the RST instruction 2 The TMS 5501 interrupt pending status bit see Bit 5 Paragraph 2 2 4 is set high the interrupt pending status bit and the INT output go high simultaneously 3 At the prescribed time the TMS 8080 polls the TMS 5501 to see if an interrupt has occurred by issuing a read TMS 5501 status command and reading the interrupt pending bit 4 If the bit is high the TMS 8080 will then issue a read interrupt address command which causes the TMS 5501 to transfer the RST instruction to the data bus as data for the instruction being executed by the TMS 8080 APPLICATIONS Communications Terminals The functions of the TMS 5501 make it particularly useful in TMS 8080 based communications terminals and generally applicable in systems requiring periodic or random servicing of interrupts generation of control signals to external devices buffering of data and transmission and reception of asynchronous serial data As an example a system configuration such as shown in Figure 2 can function as the controller for a terminal that governs employee entrance into a plant or security areas within a plant Each terminal is identified by a central computer through ID switches The central system supplies each terminal s RAM with up to 16 employee access categories applicable to that terminal These categories are compared with an employee s badge character when he inserts his badge into the badge sensor If a match is not foun
145. ints the exponential equivalent of an input value Note that the output values derived below are used as input to the LOG function 10 INPUT X 20 PRINT EXP X 40 GOTO 10 RUN 24 54 5981 210 22026 5 29 421006 12345 24 60517 122 225 7 20049 10 RETURN READY Ve Logarithm Function LOG x The LOG function derives the logarithm to the base e of a given value In the following program at line 20 the LOG function is used to convert an input value to its logarithmic equivalent 10 INPUT 20 PRINT LOG X 30 GOTO 10 RUN 254 59815 4 222026 47 1 15 212345 9 42101 2100 4 69517 2 720049 11 25 RETURN READY Logarithms to the base e may easily be converted to any other base using the following formula 109 log N where represents the desired base The following program illustrates conversion to the base 10 1 REM CONVERT BASE E LOG TO BASE lf LOG 5 PRINT VALUE BASE E LOG BASE 10 LOG 15 INPUT X 17 PRINT X 20 PRINT LOG X Ag PRINT LOG X LOG 1g 59 15 60 END RUN VALUE BASE E LOG BASE 10 LOG 24 4 1 38629 60206 2250 250 5 52146 2 39794 25 5 1 60944 69897 260 60 4 99434 1 77815 2100 100 4 69517 2 RETURN READY An attempt to do LOG O or LOG of a negative number causes the CF error message VI Absolute Function ABS x The ABS function returns an absolute value for any argument value Absolute value is always positive In the f
146. ions Table 2 defines these flags and their operation Decimal corrections are performed with the DAA instruction The DAA corrects the result of binary arithmetic operation on BCD data as shown in Table 3 STATUS AND CONTROL Two types of status are provided by the TMS8080 Certain status is indicated by dedicated control lines Additional status is transmitted on the data bus during the beginning of each instruction cycle machine cycle Table 4 indicates the pin functions of the TMS8080 Table 5 defines the status information that is presented during the beginning of each machine cycle SYNC time on the data bus OPERATIONS Input output operations 1 are performed using the IN and OUT instructions The second byte of these instructions indicates the device address 256 device addresses When an IN instruction is executed the input device address appears in duplicate on 7 through AO and 15 through along with WO and INP status on the data bus The addressed input device then puts its input data on the data bus for entry into the accumulator When an OUT instruction is executed the same operation occurs except that the data bus has OUT status and then has output data Direct memory access channels DMA can be OR tied directly with the data and address buses through the use of the HOLD and HLDA hold acknowledge controls When a HOLD request is accepted by the CPU HLDA goes high the address and data lines are forced to a hig
147. ird variable variable A is not being evaluated in terms of any previously assigned value but only in terms of B and C Therefore if A has been assigned any value prior to its use in this statement the old value is lost it is instead replaced by the value B C e Example XzU9z Q is not exalugted for X248 9248 2 48 as evaluated logically where we test 16 422244 and asian result 4e X LET X 2 Assigns the value 2 to the variable X LET X X 1 Y Adds l to the current value of X then adds the value of Y to the result and assigns that value EO X IV THE DIMENSION STATEMENT DIM The DIMension statement is used to define the maximum number of elements in a matrix The DIM statement is of the form DIM variable variable n m variable variableS n m where variables specified are indicated with their maximum subscript value s 25 For example DIM 5 4 2 10 10 12 DIM 4 100 25 Only integer constants such as 5 or 5070 can be used in DIM statements to define the size of a matrix Variables cannot be used to specify the bounds of arrays Any number of matrices can be defined in a single DIM statement as long as their representations are separated by commas The first element of every matrix is automatically assumed to have ub script of zero Dimensioning A 6 10 sets up room for a matrix with 7 rows and 11 columns This zero element is
148. irectly from the X Bar Graph entering the appropriate plot submode codes which range from binary 240 to 254 This mode allows bar graphs in any color or multiple colors to be drawn with a width as small as one plot block wide or areas under curves may be easily filled in X Bar Graph Y Value binary 249 The X Bar Graph Y Value is entered by a binary 249 code after the general Plot Mode is entered From the Keyboard use Control 9 or F9 It is more commonly entered from the X Bar Graph Value automatically and may also be entered from any of the other plot submodes except Character Plot binary 254 After entering the X Bar Graph Y Value mode the next word sent defines the Y or vertical position of the horizontal bar graph being drawn The Y value may range from binary O to 99 0 to 191 and all other values will have 100 192 subtracted from it and the new value calculated for the Y value Upon receipt of the Y value word the value of Y is stored in memory and the terminal is automatically placed in the X Bar Graph X Max Value mode as explained more completely in the Section on binary 248 Any of the other plot submodes may be entered directly from the X Bar Graph Y Value mode by simply entering the appropriate plot submode codes which range from binary 240 to 254 X Bar Graph X Max Value binary 248 The X Bar Graph X Max Value is entered by a binary 248 code after the general Plot Mode is entered From the Ke
149. is Terminal is the picture tube The tube utilized for the above mentioned function in the terminal is specifically constructed to limit X Radiation emissions For continued X Radiation protection the replacement tube must be the same type as the original including suffix letter or an ISC approved type 2 2 0 10 INSTALLATION AND SERVICE ADJUSTMENTS SERVICING PRECAUTIONS Purity Color Temperature and Convergence adjustments for the Intecoloi 8001 are essentially the same as for conventional shadow mask color tubes Certain pre cautions should be taken however in servicing the Intecolor 8001 terminal Some precautions to observe while servicing the solid state chassis are listed below 1 Always connect the ground lead of a test instrument to the chassis before connecting the positive lead conversely always remove the ground lead of a test instrument last 2 Do not check for high voltage by drawing an arc Use a high voltage meter or a high voltage probe with a VOM 3 Do not bridge electrolytic capacitors since resultant surges may damage solid state devices 4 Some transistors are equipped with heat sinks Do not operate the transistor with the heat sink removed 5 All soldering irons used where transistors and integrated chips are concerned should be 35 watt 6 volts irons and grounded in such a way that no voltage will be applied to the solid state device during the soldering operation Th
150. is precaution is to prevent possible damage to the device due to excessive heat or voltage applied under no bias conditions 6 When servicing the video circuitry it is recommended that an oscilloscope of at least 100 MHZ bandwidth such as the Tektronix 454A be used 4 2 2 20 2 0 5 0 4 AC LINE SELECTOR The AC Line Tap Selector is located inside the chassis on the right hand side as viewed from the rear See Figure 2 0 2 1 In areas having a 115VAC line supply this tap should be left in the 115 VAC position Other taps are shown depending on the line voltage VERTICAL DEFLECTION At 115 volts line voltage adjust the VERTICAL HEIGHT CONTROL R3 See Figure 2 0 3 1 and the VERTICAL POSITION CONTROL R4 so that the picutre is centered and there is a 12 wide by 10 high display A suitable display is found by filling up the screen with a single character or erasing the screen with a background color HORIZONTAL DEFLECT Adjust the HORIZONTAL WIDTH CONTROL R6 Analog Module 100047 See Figure 2 0 3 1 so that the picture has 12 wide by 10 high display HORIZONTAL CENTERING is accomplished by adjusting R3 on the rear edge of the Display Generator Card 100117 Adjusting the Pot R3 causes one character movements to the right or left of the screen Blue Wht 105 Black Wht 115 Black Green Wht 125 Selector Red Wht 135 j AC LINE TRANSFORMER TAP SELECTION FIGURE 2 0 2 1
151. is selected if A7 was off before the rate is selected 2 stop bits are selected S or Code 19 8080 Assembler Mode When this optional mode is selected the terminal enters into the 8080 Assembler Mode then obeys all the commands that are allowed in the 8080 Assembler At present this option is not available 22 T or Code 20 Text Editor Mode When this optional mode is selected the terminal enters into the Text Editor Mode It then obeys all the commands that are allowed in the Text Editor At present this option is not available U or Code 21 Insert Line Mode When this mode is selected the cursor moves to the beginning of the line it is presently on and this line and all lines to the end of the page is shifted down by one line Then a new line of 80 spaces or blanks are inserted with the cursor remaining at the beginning of that new line Normally the cursor will be at the beginning of the line to be inserted when this mode is used After a line has been inserted the terminal returns to the normal visible character mode V or Code 22 Delete Line Mode When this mode is selected the cursor moves to the beginning of the line it is presently on and this line is deleted All lines to the end of the page are shifted up by one line Then a new line of 80 spaces or blanks are inserted at the bottom of the page The cursor will remain at the beginning of the line that had been deleted After a line has been deleted the te
152. is used to output the 8 bit BYTE value of an expression to the CRT Screen The general format of the PLOT Statement is 10 PLOT expression The expression can be any combination of variables which will evaluate to a positive value between O and 255 The following example will plot a point on the CRT Screen at Location 80 96 X Y 10 X 80 Y 96 20 PLOT 2 g REMARK THE 8001 PLOT MODE CODE 30 PLOT X PLOT Y REMARK PROMS POINT AT 80 96 40 PLOT 255 REMARKS THE 8001 PLOT MODE ESCAPE CODE As another example enter q PLOT 70 PLOT 7 5 PLOTGG 2 07 67 Proves PLOT 6 PLOT 6 PLOT 65 ABCDEFG A 1 READY READ BASIC JOES Nor LF CR BETWEEN PLOTS It oan be seen that since 65 is the decimal ASCII value for A PLOT 65 is the same as PRINT CATE VIs PRINT STATEMENT The PRINT statement is used to output data to the terminal The general format of the PRINT statement is 1 PRINT list The list is optional and can contain expressions text strings or both When used without the list the PRINT statement 25 PRINT pots ERASE TUST SKIPS DOWN causes a blank line to be output on the 8001 CRT Screen a carriage return line feed operation is performed 2 PRINT Expression PRINT statements can be used to perform calculations and print results Any expression within the list is evaluated before a value is printed For example 27 10 LET 1 LET B 2 LET C 3 A 20 PRINT PRINT A B C RUN 7 RE
153. iscrete command is received NORMALLY LOW BIT 7 6 5 4 3 2 1 0 NOT NOT TEST TEST id INT 7 ACK BREAK RESET USED USED BIT BIT ENABLE SELECT H Enables interrupt acknowledge H Reset L Inhibits interrupt acknowledge L L No action H Selects 7 L Selects interval timer 5 H L Sets XMT output low L H Sets XMT output high FIGURE 4 DISCRETE COMMAND FORMAT Bit 0 reset A high in bit will cause the following 1 The receiver buffer and register are cleared to the search mode including the receiver buffer loaded flag the start bit detected flag the full bit detected flag and the overrun error flag The receiver buffer is not cleared and will contain the last character received 2 transmitter data output is set high marking The transmitter buffer empty flag is set high indicating that the transmitter buffer is ready to accept a character from the TMS 8080 3 The interrupt register is cleared except for the bit corresponding to the transmitter buffer interrupt which is set high 4 The interval timers are inhibited A low in bit O causes no action The reset function has no affect on the output port the external inputs interrupt acknowledge enable the mask register the rate register the transmitter register or the transmitter buffer 10 1 break A low in bit 1 causes the transmitter data output to be reset low spacing If bit and bit 1 are both high the reset fun
154. ise execute the next instruction If f 0 SP 1 5 21 SP SP 2 IPC lt b gt lt 2 gt otherwise PC PC 3 Disable interrupts INTE 15 driven false to indicate that no interrupts will be accepted Enable interrupts INTE 15 driven true to indicate that interrupt will be accepted Execution of this instruction is delayed to allow the next instruction to be executed before the INT input is polled lt 63 gt lt b 2 gt jump unconditionally to address given bytes 2 and 3 If f 1 PC lt b3 gt lt b9 gt otherwise PC PC 3 If the flag specified f is 1 execute a JMP Otherwise execute the next Instruction If f lt gt bo othewise PC IPC 3 PC HL 5 A lt SP 1 SP lt SP 2 restore the last stack values addressed by SP into A and F Increment SP twice SP 1 SP SP 2 SP 1 lt A SP 2 lt F SP lt SP 2 save the contents of A and F into the stack addressed by SP Decrement SP twice 5 1 lt SP 2 rgH SP SP 2 PC SP 5 1 SP lt SP 2 return to program memory address given by last values in the stack The SP is incremented by two CYCLES MNEMONIC OPERANDS BYTES STATES Conditional return instructions for true flags f 3 11 Pass RC carry C 1 1 5 Fail RPE parity
155. ister pair B amp C 5 11 PUSH D 1 Push register pair D amp C D 5 11 PUSH H 2 Push register pair H amp L on stack 5 11 PUSH PSW 1 Push A and Flags stack F 5 11 RAL 1 Rotate A left through carry 1 1 7 4 RAR 1 Rotate right through carry 1 F 4 RC 1 Return on carry D 8 5 11 RET 1 Return G 9 10 REC 1 Rotate A left 0 7 4 RM 1 Return on minus F 8 5 11 RNC 1 Return on no carry D 0 5 11 RNZ 1 Return on no zero C 0 5 11 RP 1 Return on positive F 0 5 11 Two possible cycles times 11 17 indicate instruction cycles dependent on condition flags flags C Z S P C1 affected Oniy carry flag affected POSITIVE LOGIC REGISTER HEX OPCODE CLOCK MNEMONIC BYTES DESCRIPTION AFFECTED D7 D4 03 00 CYCLES RPE 1 Return on parity even E 8 5 11 RPO 1 Return on parity odd E 0 5711 1 Rotate right F 4 RST 1 Restart 11 lt 000016 C 7 lt 0008 16 001016 D 7 001816 D F PC lt 002016 7 lt 002816 F PC lt 003016 F 7 PC lt 003816 F F RZ 1 Return on Zero C 8 5 11 SBB M 1 Subtract memory from A with borrowt 9 7 1 Subtract register from A with borrow B 9 8 4 G 9 9 D 9 A E 9 B H 9 C L 9 D A 9 F SBI 2 Subtract immediate from A with borrow D 7 SHLD Store H amp L direct 2 2 16 SPHL 1 H amp L to stack pointer F 9 5 STA 3 Store direct 3 2 13 STAX B Store A indirect 0 2 7 STAX D Store indirect 1 2 7 STC Set carry t n 7 4 SUB M 1 Subtract memory f
156. ite a complete program to use BASIC 8001 Most of the statements discussed in this manual can be included program for later execution or given on line as commands which are immediately executed by the 8080 CPU This latter facility makes BASIC 8001 extremely powerful calculator BASIC 8001 distinguishes between lines entered for later execution and those entered for immediate execution solely by the presence or absence of a line number Statements which begin with line numbers are stored statements without line numbers are executed immediately upon being entered to the system Thus the Line 10 PRINT THIS IS COMPUCOLOR 8001 produces no action at the console upon entry while the statement PRINT THIS IS A COMPUCOLOR 8001 causes the immediate output THIS IS A COMPUCOLOR 8001 II PROGRAM DEBUGGING Immediate mode operation is especially useful in two areas program debugging and the performance of simple calculations in situations which do not occur with sufficient frequency or with sufficient complications to justify writing a program In order to facilitate debugging a program STOP statements can be liberally placed throughout the program Each STOP statement causes the program to halt at which time the various data values can be examined and perhaps changed in immediate mode The GO TO command is used to continue program execution where xxxxx is the number of the next program line to be executed
157. llowed by a paren thesized argument can be used as expressions or as elements of expressions anywhere that expressions are legal Values produced by the functions SIN x COS x ATN x SOR x and LOG x have six significant digits Sine and Cosine Functions SIN x and COS The sine and cosine functions require an argument angle expressed in radian measure If the angle is stated in degrees conversion to radians may be done using the identity radians lt degrees pi 180 In the following example program 3 14159 is used as a nominal value for pi P is set equal to this value at line 20 At line 40 the above relationship is used in the expression within the LET statemer to convert the input value into radians 19 REM CONVERT ANGLE X TO RADIANS AND 11 REM FIND SIN AND COS 20 LET p 3 14159 25 PRINT DEGREES RADIANS SINE COSINE 30 INPUT X 40 Y X P 180 608 PRINT X Y SIN Y COS Y 70 GOTO 30 RUN DEGREES RADIANS SINE COSINE 20 g g g 1 210 10 1745353 173648 984808 220 20 349966 34202 939693 230 30 543598 866026 2368 360 6 28318 5 2431gE g6 1 245 45 785398 707106 2707107 290 90 1 5708 1 1 12352E 6 READY 43 bea De Arctangent Function ATN x Tangent Function TAN x The arctangent function returns a value in radian measure in the range 1 2 to 1 2 corresponding to the value of a tangent supplied as the a
158. ltage OL DB ae 0 45 V loi 0 75 mA any output except icc Average supply current from Operating at tole 480 n 0 75 mA 1 Output capacitance All other pins at O V 10 20 typical values are at Ta 25 and nominal voltages NOTES 2 Active pull up resistors of nominally 2 will be switched onto the data bus when DBIN is high and the data input voltage is more positive than V jj min 3 The algebraic convention where the most negative limit is designated as minimum is used in this specification for logic voltage levels only 7 34 TIMING REQUIREMENTS OVER FULL RANGE OF RECOMMENDED OPERATING CONDITIONS SEE FIGURE 2 tw o2 tsu hold tsu int tsu rdy th da th hold int th rdy Ready input hold time lt O m tel Clock cycle time see Note 5 t Clock rise time tf lt Clock fall time tw a1 Pulse width clock 1 high Pulse width clock 2 high td 1L o2 Delay time clock 1 low to clock 2 lt 492 011 Delay time clock 2 to clock 1 td 91H 2 su da o 1 tsu da 2 Data setup time with respect to clock 2 Data setup time with respect to clock 1 Hold input setup time Interrupt input setup time Ready input setup time Data hold time see Note 6 Hold input hold time Interrupt inputhold time Delay time clock 1 high to clock 2 time between leading edges 52 td o1 1 02 92 Cw 92 TE ch2 18 0221 tr q51
159. lusive must not cross the field of another loop 27 ACCEPTABLE NESTING UNACCEPTABLE NESTING TECHNIQUES TECHNIQUES Two Level Nesting BOR IL 1 TO 10 FORM IL TO 10 Lo ae FOR I2 1 TO 10 NEXT 12 NEXT Il FOR 12 NEXT 13 NEXT 11 Three Level Nesting FOR Il 1 10 FOR Il 1 10 FOR 12 1 TO 10 HOR I2 1 TO 10 Ta T3 TOSO FOR T3 NEXT NEXT I3 1 Re Id d WO 10 NEXT 14 NEXT I4 NEAT 12 NEXT 1 NEXT 11 NEXT I2 An example of nested FOR NEXT loops is shown below 5 DIM X 5 1 10 FOR 1 TO 5 20 FOR B 2 19 STEP 2 30 LET A B 40 NEXT 50 NEXT A 55 PRINT X 5 1g When the above statements are executed BASIC 8001 prints 15 when line 55 is processed It is possible to exit from a FOR NEXT loop without the control variable reaching the termination value conditional or unconditional transfer can be used to leave a loop Control can only transfer into a loop which had been left earlier without being completed ensuring that termination and STEP values are assigned Both FOR and NEXT statements can appear anywhere in a multiple statement line For example if FOR I 1 TO 10 STEP 5 NEXT I BRING causes 11 to printed when executed 33 XIV GOSUB AND RETURN STATEMENTS A subroutine is a section of code performing some operation required at more than one point the program Sometim
160. mapped into O to 31 within the CRT refresh memory 18 DETAILS OF ESCAPE CODES or Code Visible Cursor Mode This is the terminal s normal mode of operation and it 15 also the startup state A received character is placed at the visible cursor location The cursor then advances to the right one position awaiting the next character All normal cursor operations are applicable to placing the cursor at a different location or Code 1 Blind Cursor Mode This optional mode provides for a dual cursor operation That is normally the host computer will operate in the blind cursor mode and the keyboard in the visible cursor mode The two modes will not interact with each other There is also a blind status which may be different than the visible status The only blind cursor movements allowed are a subset of the cursor X Y positioning See Code 3 or control This mode allows operation without delay for ASCII TEXT at rates up to 38 4 K Baud Gode 2 Character Plot Via Color Pad When the plot option is installed then this plot mode will be available will normally be used via the color pad but can be used without it It provides a mix between the Plot Mode and the normal ASCII Character Mode Instead of responding as described in Character Plot this mode uses only eight codes to intensify each of the eight blocks within a character These intensifying codes are the normal color select codes Control P through W
161. may position a bar graph each side of the present location and add or subtract an increment to the bar graph previously defined The coding and composition is the same as explained in the Section on binary 251 An example is shown in Appendix B 6 Y Bar Graph Y Value binary 246 The Y Bar Graph Y Value is entered by binary 246 code after the general Plot Mode is entered From the Keyboard use Control 6 or F6 It may also be entered from any of the other plot submodes except Character Plot After entering the Y Bar Graph Y Value mode the next werd sent defines the Y or the vertical start point of the vertical bar graph being drawn The range of the word 3s 0 to 99 0 191 and all other values have 100 192 subtracted and will have the new value calculated Value All other operations are identical as explained in the Section on binary 250 X Bar Graph Xo Value except that Y Bar Graph X Value and Y Bar Graph Y Max Value are applicable for drawing vertical bar graphs An example is shown in Appendix 5 Y Bar Graph X Value binary 245 The Y Bar Graph X Value is entered by a binary 245 code after the general Plot Mode is entered From the Keyboard use Control 5 F5 It 15 more commonly entered from the Y Bar Graph Value automatically and may also be entered from any of the other plot Submodes except Character Plot After entering the Y Bar Graph X Value mode the next word sent defin
162. my variables may be inserted For example 1 REM PROGRAM TO ILLUSTRATE USE OF RESTORE 20 READ N 25 PRINT VALUES OF X ARE 30 1 1 40 READ X 50 PRINT X 68 NEXT I 70 RESTORE 185 PRINT 190 PRINT SECOND LIST OF X VALUES 208 PRINT FOLLOWING RESTORE STATEMENT 210 FOR I 1 TON 220 READ X 230 PRINT X 240 NEXT I 35 250 DATA 4 1 2 251 DATA 3 4 300 END RUN VALUES OF X ARE T 2 3 4 SECOND LIST OF X VALUES FOLLOWING RESTORE STATEMENT 4 1 2 3 READY The second time the data values are read the first X picks up the value originally assigned to N in line 20 and as a result BASIC prints 4 2 3 To circumvent this a dummy variable could be inserted to pick up and store the first value This variable would not be represented in the PRINT statement so the output would be the same each time through the list XI GOTO STATEMENT The GOTO statement is used when it is desired to unconditionally transfer to some line other than the next sequential line in the program In other words a GOTO statement causes an immediate jump to a specified line out of the normal consecutive line number order of execution The general format of the statement is as follows GOTO line number The line number to which the program jumps can be either greater or less than the current line number It is thus possible to jump forward or backward within a program For example 10 LET A 2 20 GOTO 50 LET
163. n interrupt is generated Loading a l lows causes an interrupt immediately TMS 5501 ELECTRICAL AND MECHANICAL SPECIFICATIONS ABSOLUTE MAXIMUM RATINGS OVER OPERATING FREE AIR TEMPERATURE RANGE UNLESS OTHERWISE NOTED Supply voltage Vcc see Note 1 LI S s ap 87e 20 a Supply voltage see Note 1 2 bd heer BOR ru DMG uod 0 3 V te 20 V Supply voltage Vss see Note 1 2 3 WA ca wan ee Q Qu gece V to 20 V All input and output voltages see Note 1 mE k k k k k k k k rm wis wa 0 3 V to 20 V Continuous power issipatlOR s e sws Wee Anew nas deci ee a ew Ge lt o ah mime 2w un 1 1 W Operating free air temperature range 2 uh t Dr d dy cs 0 C to Z C storage temperature range w ile ma is Alat aj 65 C to 150 C Stresses beyond those listed under Absolute Maximum Ratings may cause permanent damage to the device This is a stress rating only and functional operation of the device at these or any other conditions beyond those indicated in the Recommended Operating Conditions section of this specification is not implied Exposure to absolute maximum rated conditions for extended periods may affect device reliability NOTE 1 Under absolute maximum ratings voltage values are with resp
164. n the Keyboard which will initialize the terminal as if power has been just turned on The other way is to 20 a operate the break key on the keyboard When this is done a break of 150 MS will be transmitted on the RS232C serial port and the terminal will be forced into the half duplex mode or Code 8 Half Duplex Mode When this mode is selected then the keyboard characters are not only processed by the terminal but are also sent to the RS232C serial port J or Code 10 Write Vertical Mode This effects the visible cursor mode only and causes the terminal to enter characters vertically one below the other All other cursor movements are possible via the cursor mode After a character is entered the cursor is moved down one character awaiting the next character Upon reaching the last line the next character will be on the top line i e wrap around occurs Keer Code 11 Roll Mode option 15 Write left to right When this mode is selected the terminal will cause a page roll up when the last line has been filled 11 48 line units roll two lines at a time while 25 line units roll only one line Note the plot mode and blind cursor mode only work in non roll mode This mode also sets the visible cursor to write left to right L or Code 12 Local Mode When this mode is selected then the keyboard characters are displayed on the terminal but they are not sent tothe RS232C serial port In this mode the RS232C serial input port
165. ng data or drawing diagrams Large characters may also be created by utilizing the blocks of several character positions to create a large 5x7 dot matrix X Point Plot binary 253 The X Point Plot is automatically entered upon receipt of the general Plot Mode code binary code 2 or Control Code B It also may be entered directly from any of the other plot submodes except Character Plot From the Keyboard use Control or After entering the X Point Plot the next word defines the X value of the block that is desired to be plotted See Appendix B The X value in this mode may range from binary O to 159 and all other values will cause 160 to be subtracted and the resultant value of X to be computed The X Point Plot may be terminated by code 255 which causes the general Plot Mode to be terminated also Any of the other plo Submodes may be entered directly from the X Point Plot by simply entering the appropriate plot submode codes which range from binary 240 to 254 It should be noted that this mode does not cause a block to be intensified but only causes the X value to be defined Once the X value is sent the terminal is automatically placed in the Y Point Plot mode Thus the next code sent will be the Y value which may range from Dinary te 99 0 191 Upon receipt of the Y value a plot block will be intensified on the CRT screen at the X value and Y value intersection The terminal is then automatically placed in the X Point
166. ng in an endless loop If the reset is operated properly the bell will issue a Short beep upon the release of the key If automatically forces the terminal to the 5 state That is just as if the power had been turned off and then back on If additional RAM memory is installed this memory area is not cleared but the scratch RAM area within the CRT Refresh RAM card is cleared Control Key The control key must be held down while the proper alpha numeric key is depressed if a control function is desired The control functions are either color coded or have its desired results engraved oh top of the key Those keys which have a name enclosed within a parentheses indicate that they are also standarized escape codes The escape codes only require that the ESC key be depressed then the parentheses key desired Shift Key The shift key must be held down while the proper alpha numeric key is depressed if a shifted function is desired Note that both the control and shift key must be held down to generate certain codes from the keyboard using the alpha numeric keys See Appendix A 2 for the keyboard code set DETAIL OF CONTROL CODES All of the display commands can be entered either through the serial input port or the keyboard The keyboard input port has the highest priority of all inputs or outputs The eight bit Intecolor 8001 code set as shown in Appendix A 2 must be used for the serial input port display control commands
167. no response The CPU 0 5 must then be manually restarted 4 2 5 H COMMAND HEXADECIMAL ARITHMETIC The format of the H command is H number number Sp Number is a 16 bit hexadecimal number Description The H command is designed to aid the user in performing hexadecimal arithmetic while using the CPU O S It causes the sum and difference it arguments to be displayed in two s complement hexadecimal form This command is termi nated by a space rather than by a carriage return Example H lD oC OO7A 2 Conditions 15 either number is greater than 16 bits only the last 4 hex digits are used Example command 23Sp 15 equivalent to the command 235 17 2 If number contains am invalid character the Tube will immediately display Cr 1 and await the next command Example If the user attempts to enter 01 the following will be displayed 4 2 6 I COMMAND RESET CRT TO STATE So The format of the I command is I causes the same action as the CPU reset key being typed 21 52 7 L COMMAND LOAD HEXADECIMAL FILE The format for the command is L bias address Bias Address is a 16 bit two s complement hexadecimal number Description This command loads tape written in hexadecimal format using the W command into memory The address at which the tape 1S loaded is determined by adding the address on the tape to the bias
168. ntal vector mode is entered by binary 240 code after the general plot mode is entered From the keyboard use control 2 or It may also be entered from any of the other plot submodes except Character Plot After entering the incremental vector mode the next Word sent defines the increments Xj and Y point values for the vector from 1 to This word may have a range from binary to 239 since binary 240 to 255 are used for the plot submode codes Referring to the section on binary 251 XY Incremental Point Plot it can be seen that there is one two bit element available for each of the 4 points 1 6 Xor Yor amd Y The 4 X refers to the increment in X1 the veetor and AY refers to the increment Y the Vector miewetore If and be are both 1 or both 7 then no increment will take place If either half of the word is all zero then the corresponding X Y will be changed but no vector will be drawn This allows the user to easily skip points The only time a vector will be drawn is when both halfs of the word are non zero The incremental vector plot mode does not automatically transfer control to any other mode It remains in this incremental mode until terminated by a plot submode code Therefore a series of incremental movements in both XjYjmay be made by sending consecutive incremental change words The procedure for
169. oke forward until a uniform red raster is obtained Tighten the yoke wing nuts 4 Erase the screen with the background color WHITE Check for a uniform white screen see COLOR TEMPERATURE ADJUSTMENTS Section 2 0 8 for procedure If uniformity has not been obtained reconverge the center of the screen and repeat the purity adjustments 5 It should be noted that purity adjustments also affect the focus and DC Horizontal and Vertical screen positions and these parameters may have to be readjusted as outlined under Sections 2 0 3 2020 PURITY CONVERGENCE DEFLECTION RINGS YOKE YOKE ASSEMBLY HOUSING He BLUE LATERAL MAGNET ASSEMBLY x BLUE LATERAL DEFLECTION ADJUSTMENT YOKE 17 SCREEN BLUE DEFLECTION LATERAL YOKE ADJUSTMENT HOUSING BLUE LATERAL MAGNET ASSEMBLY CONVERGENCE YOKE PURITY RINGS ASSEMBLY DEFLECTION 19 SCREEN YOKE BLUE LATERAL AND PURITY LOCATIONS AND ADJUSTMENTS WIGURE 2 0 7 1 E 10 24 24 0 0 COLOR TEMPERATURE ADJUSTMENTS 1 Place a screen full of WHITE characters or ERASE the screen in WHITE Turn the screen grid drive controls R14 RED R15 GREEN R16 BLUE Analog Module 100047 to minimum drive Fully CCW then turn the BRIGHTNESS Control R17 to maximum brightness Fully CW 2 Turn the RED control R14 clockwise until the red vertical retrace raster line at the top of the screen is just visible Turn the GR
170. ollowing program various input values are converted to their absolute values and printed 46 19 INPUT X 20 LET X ABS X 30 PRINT X 40 GOTO 10 RUN 2 35 7 35 7 22 2 225 10 2 5000 11 2105555567 1 95556E 98 210 12345 10 1234 44 555566668899 44 5556 RETURN READY VII Integer Function INT x The integer function returns the value of the greatest integer not greater than x For example PRINT INT 34 67 34 PRINT INT 5 1 6 The INT of a negative number is a negative number with the same or larger absolute value i e the same or smaller algebraic value For example PRINT 23 45 24 PRINT INT 14 39 15 PRINT INT 11 11 The INT function can be used to round numbers to the nearest integer using INT X 5 For example PRINT INT 34 67 5 35 PRINT 5 1 5 5 47 INT x can also be used to round to any given decimal place or integral power of 10 by using the following expression as an argument 10 0 5 10 D where D is integer supplied by the user 18 REM INT FUNCTION EXAMPLE 15 PRINT 20 PRINT NUMBER BE ROUNDED 25 INPUT A PRINT NO OF DECIMAL PLACES 45 INPUT D 60 LET B INT A 10AD 5 10AD 78 PRINT A ROUNDED 80 GOTO 15 9g END RUN NUMBER TO BE ROUNDED 255 65842 NO OF DECIMAL PLACES 22 A ROUNDED 55 66 NUMBER TO BE ROUNDED 278 375 NO OF DECIMAL PLACES 9 2 ROUNDED 198
171. om the CRT display and the RS232C I O to devices supplied by the user In general it may be convenient to have two devices which can perform the same function but to use them for different purposes at various times For example if a program is being assembled you might want the program listing to be written on one device while any system messages not relevant to the assembly would be written ona separate device The I O system described below permits this type of change Devices may be assigned functions via the System Monitor S command see Section 4 2 11 or via the user s program That is it 15 possible to write programs which read from several different input devices and write to several different output devices of the program s choosing without re quiring any human intervention LOGICAL AND PHYSICAL DEVICES Regardless of how many I O devices a particular Intecolor 8001 has there are only four operations which can be performed to any of them For example a WRITE operation can be performed either to the RS232C channel 1 to a host computer or a high speed tape system All system programs and user written programs therefore access four LOGICAL DEVICES 1 a WRITE device which are then trans lated to FHYSICAL DEVICE 1 high speed tape by the I O system The four logical devices available to programs are CONSOLE An interactive character oriented device used fer both input and output READER A cha
172. on is false control passes to the next state ment in sequence Examples lg IF THEN 20 PRINT A B 15 STOP 20 PRINT 19 IF lt gt 10 GOTO 20 PRINT 15 STOP 20 D A B C 10 IF 5 lt 5 THEN 2 STOP 20 PRINT AS ALII FOR NEXT STATEMENTS FOR and NEXT statements define the beginning and end of a loop A loop 15 set of instructions which are repeated over and over again each time 35 being modified in some way until terminal condition is reached The FOR statement is of the form FOR variable expressionl TO expression2 STEP expression3 where variable must be a nonsubscripted numeric variable expression 1S an arithmetic expression which may be non integer The variable is the index expressionl is the initial value expression2 the terminal value and expression3 the increment value For example 15 FOR K 2 TO 29 STEP 2 causes the program execution of the designated loop as long as K is less than or equal to 20 Each time through the loop K is incremented by 2 so the loop is executed a total of 10 times When K 20 program control passes to the line following the associated NEXT statement The index variable must be unsubscripted although a common use of such loops is to deal with subscripted variables using the control variable as the subscript of a previously defined variable The expressions in the FOR statement can be any acceptable BASIC 8001 expression The NEXT statement signals the
173. ory locations It is used as follows ie Type an S followed by the hexadecimal address of the first memory location you wish to display Type space 2 The data from the selected address is displayed followed by a dash 3 modify memory type in the new data followed by Space or carriage return If you do not wish to modify the contents of that location do not type any data in but only space or carriage return 4 If a space was typed in step 3 the next memory location will be displayed as in step 2 Ifa carriage return was typed operation will be returned to the O S Example The contents of the first four bytes of memory is OO Al FF You wish to change it to CE 11 2000905 5 Al A3Sp Sp LiCr User entries are unshaded Display back is shaded Error Conditions 1 address is greater than 16 bits or the data to Substituted is greater than 8 bits only the last 4 or 2 hex digits respectively are used Example The following sequence is equilvalent to the previous example 5 0 000 5 Sp BA3Sp CE Sp FF O11Cr 2c If an invalid character is encountered the CR Tube will immediately display Cr 1f and await the next command 22 4 2 11 COMMAND EXAMINE AND MODIFY REGISTERS The format of the X command is X reg ident XR PRINTS ALL REGISTERS ANNOTATED f Reg ident 15 a single character specifying a CPU
174. oscillo scope to see if a potential exists between this point and a known earth ground A zero reading should be obtained If any voltage reading is obtained reverse the power plug and recheck for zero meter reading When service is required observe the original lead dress Extra precaution should be given to assure correct lead dress in the high voltage circuitry and video area Where a short circuit has occurred replace those components that indicate evidence of overheating Always use the manufacturer s recommended replacement component L l 0 0 1 2 HIGH VOLTAGE NOTE THE NOMINAL HIGH VOLTAGE FOR THE INTECOLOR 8001 17 19 TERMINAL IS 25 KV THE HIGH VOLTAGE MUST NOT UNDER ANY CIRCUMSTANCES EXCEED 27 5KV Each time a terminal s High Voltage requires servicing measurements snould be made at normal viewing settings of the Brightness Control This will afford assurance that 1 The High Voltage is within limits specified 2 The High Voltage regulation circuit is function ing properly 3 X Radiation is at a minimum If the High Voltage measures abnormally high or the High Voltage Regulation Circuit is not functioning properly the Terminal should be restored to normal operation through Service or adjustments See 2 0 5 for High Voltage Adjustment procedure IT IS IMPORTANT TO USE AN ACCURATE AND RELIABLE HIGH VOLTAGE METER X RADIATION PRECAUTIONS The primary source of X Radiation in th
175. pective guns Adjust the Static Blue so that the Blue in the center of the screen is superimposed on the RED and GREEN 290017 FINAL CONVERGENCE Touch up the center convergence with the pots R13 GREEN R14 RED and R15 BLUE on the Convergence Module 100014 as shown in Figure 2 0 11 2 and Figure 2 0 11 3 Once center convergence has been adjusted proceed to the next convergence Screen Sector 2 as shown in Figure 2 0 11 2 Proceed with the alignment in the order of the sector numbers as shown in Figure 2 0 11 2 After each Sector is aligned check and touch up the center convergence Note that the adjustment pots on the Convergence Module 100014 are arranged in the same location as each Screen Sector as viewed on the tube face and the component side of the board and the trio of pot groups in each sector are arranged as GREEN RED AND BLUE corresponding to the location of the GREEN RED and BLUE electron beams as viewed from the tube face When completed with the above touch up each Screen Sector as needed in the SAME ORDER as outlined above Do not violate the order of the Screen Sector numbers in the adjustment procedure Never attempt a convergence procedure without first setting the Convergence Module 100014 pots to the center position as shown in Figure 2 0 12 3 and following the Screen Sector numbers It is seldom necessary for the static magnets to be adjusted unless shipment vibration causes convergence coil or
176. ph Control 6 F 6 245 X of Y Bar Graph Control 5 Eo 244 Y max of Y Bar Graph Control 4 F 4 243 Incremental Y Bar Graph Control 3 pus 242 Vector Plot Control 2 F 2 241 Yg Vector Plot Gontror 1 p 1 240 Incremental Vector Plot Control 9 F 0 CRT REFRESH MEMORY LAYOUT The 2000 3840 characters for display are stored in a 4096 8192 word RAM memory beginning at 32 768 8000 HEX and ending at 36 767 HEX 40 447 9DFF The first word is the zero character stored as the bit then the 7 bit ASCII code to Ag The second word is the compositestatus for this character It is composed of Plot Character Bit Foreground Blink ground color code Ac and Foreground color code Ag Therefore each screen character requires two 8 bit words in memory the screen character and the character s compositestatus The RAM memory location 8FAO HEX orag to SEFE HEX are used for scratch pad storages Memory location 8FBO and 8FB1 9FB1 are the locations of the Cursor character position and line number respectively With the Roll Mode Option 15 memory location 8FB2 9FB2 provides the number of lines that the home position has been shifted rolled Indicates value for 48 Line System _ REFRESH MEMORY WORD FOR ONE CHARACTER EVEN ODD EVEN 1 BSC 11 Code BLINK FOREGROUND R COLOR PLO
177. ptionally followed by a single digit or by double letters For example NOTE Variables may be a String characters many long Acceptable Varwvables Unacceptable Variables ACCEPTABLE 800 I Leng variables are 2 digit cannot begin a variable very useful inhecant EXCLUDES ANYTHING RESEMBLES BASIC COMMAND LEFTMOST ARE DALE 7 63 Subscripted and string variables are described in later sections The user may assign values to variables either by indicating the values in a LET statement or by inputting the values as data these operations are discussed in another chapter ll numbers alone cannot form a variable documentation program The value assigned to a variable does not change until the next time a statement is encountered that contains a new value for that variable All variables are set equal to zero 0 when the RUN command is issued It is only necessary to asSign a value to a variable when an initial value other than zero 15 required However good programming practice would be to set variables equal to O wherever necessary This ensures that later changes or additions will not misinterpret values SUBSCRIPTED VARIABLES In addition to the simple variables described in the preceding section BASIC 8001 allows the use of subscripted variables Subscripted variables provide additional computing capabilities for de
178. purpose without prior written permission of Intelligent Systems Corp r r v r F gt r r r r r rrr r 2 gs c Fe qe SPECIFICATIONS Introduction The 8001 is eight color intelligent CRT data terminal designed as a replacement for teletypes and black and white CRT data terminals is a self contained desk top unit which offers with the use of a modem two way data communications over common voice telephone lines or teletype compatible current loops It can also be used in the stand alone mode as a complete desk top computer if equipped with the proper options Basic System Specification Power 105 125 volts 60HZ 250 watts Option ll 205 250 volts 50 60 HZ Temperature 109 to 409 operating 309 to 70 C storage Humidity O to 95 non condensing Package Size 17 172 high Desk Mount 19 3 8 wide Version 22 1 2 long Keyboard s 74 Shey Dimensions 14 1 16 wide x 5 1 2 deep Weight 85 pounds Screen 19 diagonal measure Size 186 sq inch screen area 4x3 aspect ratio Display 120 sq inches Area 12 0 wide x 10 0 high Character 80 characters per line 25 lines per page Format Option 16 80 characters per line 48 lines per page Character 64 ASCII Characters 5x7 dot matrix Sty les within a 6x8 dot pattern Option O32 32 Graphic Characters 6x8 dot matrix Opticon 17 64 Graphic Characters 6x8 dot matrix
179. r device in the A register If no character was read from the device 1 end of file the CARRY condition bit is set equal to l and the A register is zeroed If data is ready the CARRY bit is zeroed If no character is received from the physical device then striking any key causes an end of file to be simulated and control is returned to the calling program Example Assembly Language CALL s JC EOF END OF FILE SENSED STA DATA PO WRITE OUTPUT PO transmits a character from the calling program to the device selected as the punch device PO 15 identical in format to CO lt blot QUIPUT LO performs the same function to the selected list device as CO and PO do to their selected devices 20 CONSOLE STRING OUTPUT SO transmits a character string to the device selected for console output pointer to the beginning of the string is passed from the calling program in the HL register pair The string should terminated by a byte having the value 239 decimal SO also pro vides repeat Loops of the form 237 N DE D2 DM 238 Where N is the repeat count for the string of bytes Dl through DM Example Assembly Language LXI H STR CALL SO STR IDB AB 2947 37 239 ERG 239 This example will print ABCDCDCDEFG on the console device FLOPPY TAPE I O SUBROUTINES Three I O subroutines are provided for the Intecolor Floppy Tape These routines are ROUTINE FUNCTION ME
180. racter oriented input only device which transfers data on command and signals the program when where is no more data an end of ne ori WRITE A character oriented output only device which accepts a character from the program and re cords it on some external medium LIST A character oriented output only device which accepts a character from the program and records it on some external medium in human readable form AEYQ 24688 Each of these four logical devices may be associated with one of four physical devices at any instant giving a total of 16 phys ical devices The mapping from logical to physical devices is specified by an I O status byte which resides in memory and is accessible to system and user programs via substitute command The address of the I O status byte is 9F9f hex A pointer to the I O status byte is also contained in memory locations 036 and 37 low byte of pointer high byte of pointer The possible mappings appear as follows I O Status Byte Initially 1151 FIELD Ay Ag CONSOLE FIELD PUNCH FIELD gt READER FIELD LOGICAL DEVICES I O DEV FIELD PHYSICAL DEVICES RS232 Channel 1 01 RS232 Channel 2 CONSOLE 10 Tube Console Output Keyboard Console Input user console device RS232 Channel 1 RS232 Channel 2 Keyboard user reader device 1 LOGICAL DEVICES DEV FIELD PHYSICAL DEVICES 00 RS232 Channel 1 01 RS232 Channel 2
181. rams A2 25 2588 8003 Mov BOOY XRA A BEES 265 BPCO CALL 58 BOGGS Mov 2 The Compucolor 8001 CRT mU d T A B L E QUE NT IS N D xs PAGE PART 1 N Specifications and RS232C Interface 1 3 Start Up and Initialization 4 Summary of Control Codes 5 6 Summary of Escape Codes 7 8 Summary of Graphic Plot Submodes 9 CRT Refresh Memory 10 PART 11 Keyboard LI Detail of Control Codes 12 18 Details of Escape Codes 19 Details of Graphic Plot Submodes 25 36 Light Pen Operation 37 APPENDIX A Keyboard Layout A 1 Intecolor 8001 Code Set A 2 Input Flow Diagrams A 3 Input Command Delays A 4 CCI Code Assignments A 5 Jl and J2 Pin Assignment A 6 I O Connector Layout A 7 APPENDIX B Plot Mode Functions Plot Mode Characters and Codes X Point Plot and Y Point Plot XY Incremental Point Plot Movements X and Y Bar Graph Modes X Incremental Bar Graph Y Incremental Bar Graph XgYgVector Plot Mode ER d NO UB APPENDIX C TMS 5501 APPENDIX D TMS 8080 APPENDIX y How to Align the Intecolor 8001 pen mv 1975 PROPRIETARY STATEMENT This document submitted in confidence contains proprietary information which Shall not be reproduced or transferred to other documents or disclosed to others or used for manufacturing or any other
182. rder lines tied to the address inputs 2 OPERATIONAL AND FUNCTIONAL DESCRIPTION This detailed description of the TMS 5501 consists of INTERFACE SIGNALS a definition of each of the circuit s external connections COMMANDS the address required to select each of the TMS 5501 commands and a description of the response to the command 2 1 INTERFACE SIGNALS The TMS 5501 communicates with the TMS 8080 via four address lines a chip enable line an eight bit bidirectional data bus an interrupt line and a sync line It communicates with system components other than the CPU via eight external inputs eight external outputs a serial receiver input a serial transmitter output and an external sensor input Table 1 defines the TMS 5501 pin assignments and describes the function of each pin TABLE 1 TMS 5501 PIN ASSIGNMENTS AND FUNCTIONS SIGNATURE PIN DESCRIPTION INPUTS CE 18 Chip enable When CE is low the TMS 5501 address decoding is inhibited which prevents execution of any of the TMS 5501 commands A3 17 Address bus A3through the lines that are addressed by the TMS 8080 to select a particular 2 16 TMS 5501 function Al 18 AO li SYNC 19 Synchronizing signal TheSYNC signal is issued by the TMS 8080 and indicates the beginning of a machine cycle and availability of machine status When the SYNC signal is active high the TMS 5501 will monitor the data bus bits DO interrupt acknowledge and D1 WO data output function
183. rder shown below Ist Interval Timer 1 2nd Interval Timer 2 External Sensor 4th Interval Timer 3 5th Receiver Buffer Loaded 6th Transmitter Buffer Emptied 7th Interval Timer 4 8th Interval Timer 5 or an External Input XI 7 The highest priority interrupt passes through to the interrupt address logic which generates the RST instruction to be read by the TMS 8080 See Table 3 for relationship of interrupt sources to RST instructions and Figures 6 and 8 for timing relationships The TMS 5501 provides two methods of servicing interrupts an interrupt driven system or a polled interrupt system In an interrupt driven system the INT signal of the TMS 5501 is tied to the INT input of the TMS 8080 The sequence of events will be 1 The TMS 5501 receives or generates an interrupt signal and readies the appropriate RST instruction 2 The TMS 5501 INT output tied to the TMS 8080 INT input goes high signaling the TMS 8080 that an interrupt has occured 3 If the TMS 8080 is enabled to accept interrupts it sets the INTA interrupt acknowledge status bit high at SYNC time of the next machine cycle 4 If the TMS 5501 has previously received an interrupt acknowledge enable command from the CPU see Bit 3 Paragraph 2 2 5 the RST instruction is transferred to the data bus In a polled interrupt system INT is not used and the sequence of events will be 1 The TMS 5501 receives or generates an
184. register as follows register register register register E register Flag byte displayed in the form as it is stored by the instruction PUSH PSW H register L register H and L registers combined 16 bits Program counter 16 bits Stack pointer 16 bits g Mu tj O OQ gt Ux ru Note The format of the flag byte is A SNA OCTO pur Sigm bit State Of Garry bit Zero bit Always 1 Always 0 State of parity bit Auxiliary carry bit Always 0 Description The X command is used to display and or modify CPU registers It operates similar to the S command as follows E Type an X followed by the register identifier D The data from the selected register is displayed followed by a dash Four hexadecimal digits are displayed for M P and S two hex digits for the other register identifiers To modify the register type the new data followed by a space or a carriage return If you do not wish to modify the register type only the space or carriage return 23 4 space was typed in step 3 the next register in al phabetical order is displayed If carriage return was typed the X command is terminated If a space is typed after register S has been displayed the command is terminated this being the last register identifier in the list Example A and D registers contain AAH BBH CCH and DDH respectively You wish to change the B
185. removed i e in halt with interrupts disabled This condition also occurs if a HLT is executed while interrupts are disabled HLTA status is given on the data bus PC PC 1 no operation 2 2 5 PROGRAM COUNTER AND STACK CONTROL INSTRUCTIONS MNEMONIC OPERANDS BYTES CALL b3b2 3 Conditional call instructions for true flags f CC carry 5362 3 CPE parity b3b2 3 CM sign 6362 3 CZ zero b3b2 3 Conditional call instructions for false flags f CNC carry b3b2 3 CPO parity 6362 3 CP sign 6362 3 zero 6362 3 Of 1 1 JMP b3b2 3 Conditional jump instructions for true flags f 4 carry 5362 3 parity 6362 3 JM sign 6362 3 JZ zero 6362 3 Conditional jump instructions for false flaas f carry 6362 3 JPO parity 6362 3 JM sign 6362 3 JNZ zero b3b2 3 PCHL 1 POP PSW 1 POP rd 1 PUSH PSW 1 PUSH rd 1 RET 1 M CYCLES STATES 5 17 5 17 Pass 3 11 Fail 5 17 Pass 3 11 Fail 1 4 1 4 3 10 3 10 3 10 1 5 3 10 3 10 3 11 3 11 3 10 DESCRIPTION SP C1 5 2 P SP SP 2 PC b3 lt 62 gt transfer to the stack address given by SP decrement SP twice and jump unconditionally to address given in bytes 2 and 3 If f 1 HSP 2 IPC 2 5 lt gt lt b2 gt otherwise PC PC 3 If the flag specified f is 1 then execute a call Otherw
186. rfacing to devices requiring VIH min of 3 3 V ns a Maximum output rise time from 0 8 V to 3 3 V is 140 ns with C as specified for the propagation delay times above b Maximum propagation delay times when measured to Vref H V instead of 2 V will be 60 ns more than as specified above with C as specified 1 3 T 100 pF C includes probe and jig capacitance TMS 8080 OUTPUT LOAD CIRCUIT ar L 72012 u1 O1 12945 1 SI Auo Burn 6 pasinbas SI 2 5 gu181X 3 uononajsul uo aq uononaisur Aue 2 72012 159 UO POl4ad siy Buiinp ajqeis aq 15 feuis 1 11 7 uOoneziuo4u2uAs siu aui u HAAS pue SS pS ES pue ay 1 UaYM MS 10 ZS ponad siy 20 2 aq 1sntu jeuBbis uOneziuo42u2uAs 5141 AAS 40 ZS ponad siy 20 lqe1s 1snuu yjeubis aq 15 20 2 54 pue 10 28 75 10 s1uawasinbay Bulunp s polad 143 10 14 3 aq 15 ur NBO HA A L S 6 HIHA
187. rgument X In the following program input is an angle in degrees Degrees are then converted to radians at line 40 At line 70 the tangent value Z is supplied as argument to the ATN function to derive the value found in column 4 of the printout under the label ATN X Also in line 70 the radian value of the arctangent function is converted back to degrees and printed in the fifth column of the printout as a check against the input value shown in the first column lg LET P 3 14159 28 PRINT SUPPLY AN ANGLE IN DEGREES 25 PRINT ANGLE ANGLE ATAN X ATAN X 26 PRINT DEGS RADS DEGS 30 INPUT X 40 Y X P 18 50 LET Z 70 PRINT X Y Z ATN 7 2 180 P 85 PRINT 90 GOTO 30 SUPPLY AN ANGLE IN DEGREES ANGLE ANGLE TAN X ATAN X ATAN X DEGS RADS DEGS 20 g B g 245 45 785398 2799999 7853968 45 210 LO 174533 176327 174533 10 RETURN READY T Square Root Function SQR x This function derives the square root of any positive value as shown below 1g INPUT X 20 X SOR X 30 PRINT X 40 GOTO 10 RUN 216 4 2100 12 21000 44 31 6228 2123456789 Till LSU 217 4 12311 22562 50 21975 44 3847 RETURN READY IV Exponential Function EXP The exponential function raises the number e to the power x EXP is the inverse of the LOG function The relationship is LOG EXP X X The following program pr
188. ring variable names and are separated by commas For example Lg READ BS 1 20 MATA 427 1252 Since data must be read before it can be used program READ statements generally occur near the beginning of the program A READ statement can be placed anywhere in a multiple statement line If there is no data available in the data table for the READ to store the out of data message below is printed OD ERROR READY Items in the data list in excess of those needed by the program s READ statements are ignored 32 X RESTORE STATEMENT The RESTORE statement causes the program to reuse the data from the first DATA statement and is of the form RESTORE For example 30 RESTORE causes the next READ statement following line 30 to begin reading data from the first DATA statement in the program regardless of where the last value was found A further example of the use of RESTORE follows 15 READ B C D 55 RESTORE 60 READ E F G 80 DATA 6 3 4 7 9 2 100 The READ statements in lines 15 and 60 both read the first three data values provided in line 80 If the RESTORE statement had not been inserted before line 60 then the second READ would pick up data in line 80 starting with the fourth value Since the values are being read as though for the first time the same variable names may be used the second time through the data if desired To skip unwanted values replacement or dum
189. rminal returns to the normal visible character mode or Code 23 BASIC 8001 Language Mode When this optional mode is selected the terminal enters into the BASIC 8001 Language mode It then obeys all the commands that are allowed in Basic 8001 See the BASIC 8001 Manual X or Code 24 Page Mode Write Left to Right When this mode is selected the terminal will not roll up when the last line has been filled but will begin at home again The terminal is also placed in the write left to right mode This is the normal power up mode This mode affects all modes that use the visible cursor The blind cursor and plot modes will only operate in the page mode Y Code 22 TESI Mode When this mode is selected the next character that follows causes the complete screen to 1 with that character Note use ESC Y for convergence West pattern 23 Z or Code 26 Write Down 45 Mode When this mode is selected the terminal will place the character at the present visible cursor and will then cause a cursor right followed by a line feed to occur Therefore the next character entered will be to the right and down one position from the previous character When the bottom of the page is reached the next character will appear on the top of the screen 1 wrap around occurs or ESC Code 27 Code Performs a return to visible character mode N or Code 28 Write Up 45 Mode When this mode is
190. rom 9 6 7 SUB r 1 Subtract register from 9 0 4 9 1 D 9 2 E 9 3 H 9 4 L 9 5 A 9 7 SUI 2 Subtract immediate from A D 6 7 XCHG 1 Exchange D amp E H amp L registers E B 4 M 1 Exclusive OR memory with A E 7 XRA r 1 Exclusive OR register with At B A 8 4 C A 9 D A A E A B H A C L A D A A F XRI 2 Exclusive OR immediate with A E E 7 XTHL 1 Exchange top of stack H amp L E 3 18 Two possible cycles times 11 17 indicate instruction cycles dependent on condition flags flags Z S P C1 affected Only carry flag affected 3 TMS 8080 ELECTRICAL AND MECHANICAL SPECIFICATIONS 3 1 ABSOLUTE MAXIMUM RATINGS OVER OPERATING FREE AIR TEMPERATURE RANGE UNLESS OTHERWISE NOTED Supply voltage Vcc see Note 1 pM gree eee h pi ee Supply voltage Vpp see Note 1 ow 4 5 db wo s o Q Supply voltage Vss see Note 1 Som lt m X m mE X St ee All input and output voltages see Note 1 amp aks x X k k 4 k k 0 3 V to 20 V Continuous power dissipation s amp amp X K X X F RRS X we W SW LOW Operating free air temperature range s s X 0 C to 70 G Storage temperature rande sm ox X A lt amp W 65 to
191. rry set 5 1 lt PCH SP 2 lt PCL SP 5 2 PC ADDR PC 8 PC 3 Call subroutine if carry reset SP 1 SP 2 SP SP 42 PC ADDR PC PC te Cali subsoutzne 11 zero set SP 1 95 2 PCI SP lt OPEM lt ADDR lt _ 3 Call subroutine if zero reset SP I lt 8B 2 PCL SP e SP T2 PC ADDR PC PC Call subroutine if sign plus 5 1 lt PCH SP 2 lt PCL SP SP 2 PC lt ADDR DP Bo Call subroutine if sign minus CSP 1 PCH SP 2 PEL SP SP _ ADDR e POS Call subroutine if parity even USP 1 lt PCH 8P1 2 lt BEL KSB 2 5 7 2 PC lt ADDR POP PC Call subroutine 1f parity odd Condition bits affected None RETURN INSTRUCTIONS Format LABEL CODE DESCRIPTION PCL lt _ SP lt SP 1 SP lt SP 2 Return from subroutine Garry SP e J oray Return if carry set carry lt SP 1 SP lt SP 2 If carry PC 3 Return if carry reset If zero PCL lt SP PCH 5 1 SP lt _ 5 2 If zero Return if zero set zero SP PCH e 92 lt SP 32 zero PC 3 Return if zero set
192. s code is received the cursor moves down one line This is the only code used for cursor down Yl Erase Control K When this code is received a carriage return is initiated and the characters from the beginning to the end of the line are replaced with Spaces and have the same color and status as the present visible CCI Status The cursor is always positioned at the beginning of the line Code 12 Erase Page Control L When this code is received the complete screen is replaced with spaees that have the same color and composite Status as the present visible CCI status The cursor always returns to the Home position The blind cursor is also positioned at home Code 13 Carriage Return Control M When this code is received the cursor returns to the beginning of the line that it presently is on 14 Code 14 Control N Upon receiving this code the characters which are to be displayed have Aj forced to 1 This bit is used to allow 2X character sizes for 48 line units This effectively doubles the number of displayable character types from 128 to 256 Code 15 Blink Control 0 When this code is received the characters which follow have A gt meet to 0 1 e opposite to Dn as above and also have the Blink Srt Ot the composite Status for the set to 0 1 the opposite of Blink On per Code 31 Code 16 to 23 or Color Keys There are eig
193. s the argument to the assembly language routine may be an expression The argument This may values passed to the user AOOO HEX which unless CF ERROR routine The to his routines BASIC 8001 FUNCTIONS USER DEFINED FUNCTIONS In some programs it may be necessary to execute the same sequence of statements or mathematical formulas in several different places BASIC 8001 allows definition of unique operations or expressions and the calling of these functions in the same way as the square root or trig functions These user defined functions consist of a function name the first two letters of which are FN followed by a third or a fourth letter For example legal illegal FNA FNAS FNAA FN2 FNAL Each function is defined once and the definition may appear anywhere in the program The defining or DEF statement is formed as follows DEF FNa argument expression argument where is variable name The argument may consist of a dummy variable and the number of arguments is limited to one variable The expression may contain other program variables not among the argument variable For example 10 DEF FNA S 542 causes a later statement 20 LET R 4 1 to be evaluated as lt 17 As another example 50 DEF 2 60 14 causes the function to be evaluated with the current value of the variable X within the program The two following programs Program 1 10 DEF FNS A
194. selected the terminal will place the character at the present visible cursor and will then cause a cursor right followed by a cursor up to occur Therefore the next character entered will be to the right and up one position from the previous characters When the top of the page is reached the next character will appear on the bottom of the screen i e wrap around occurs gt or Code 29 Block Receive Mode Causes the unit to enter into the block receive mode Uses the blind cursor to position the data Looks for a FF 00 HEX sequence to terminate back to the visible cursor mode Note this is same format as when control x or page transmit is requested Note page transmit starts at visible cursor and ends at end of page or when an FF 00 HEX sequence is found A or Code 30 Jump to RAM 9FAH When this code is received the CRT 0 5 branches to location Therefore the user must patch into RAM address 9FAgH a jump to his program or Code 31 Transfers Control to the CRT Operating System When this code is received the unit is forced to the O S mode Option 34 the CPU Q S8 is also installed then message will be printed saying YOU ARE NOW IN THE 8001 CRT MODE 24 DETAIL OF GRAPHIC PLOT SUBMODES Code 2 Graphie Plot Mode Comtrol B Option 02 The general Graphic Plot Mode is entered by a binary code 2 or a Control Code See Appendix It should be noted
195. set in the program at the corresponding address es The specified address must correspond to the first byte of a program instruction If either breakpoint is en countered during program execution the CPU 0 5 will save and display all program status CPU registers and condition bits Clear all existing breakpoints and take control The user may then examine and or modify registers or memory or use any other monitor commands This feature allows the user to debug por tions program If address is not specified the program status is restored and the saved value of the program counter is used as the new starting address Example The command G24A will cause program execution to begin at location 24AH with no breakpoints being set The command G 12C will cause a breakpoint to be set at 12 and program execution to resume at the address indicated by the saved value of the program counter The command G will cause program execution to resume at the address indicated by the saved value of the program counter with all status restored and no breakpoints set 16 Brror Conditions address is greater than 16 bits only the last 4 hex digits of the argument will be used as the address Example The command JG3CODID CE is equivalent to the command G0010 Cr address is a non existent memory address the system will attempt to transfer control and then return to the 0 5 with
196. sist of a single letter typed into the Intecolor 8001 keyboard followed by a number of arguments possibly none The arguments are separated if there are more than one by spaces or commas command is terminated and executed by typing a carriage return or space depending upon the command A RAM TEST 2 3 4 is V sual 4 2 1 COMMAND BACK TO CRF 0 8 ds 2 2 D COMMAND DISPLAY DATA format of the D command is D low address high address Low address is a valid 16 bit memory address 12 High address is valid 16 bit memory address equal to or greater than low address Description Upon execution of this command memory data from low address to high address is displayed upon the list device normally the CR tube Data are displayed in hexadecimal form Up to sixteen bytes per line are printed preceded by the hexadecimal address of the first byte of that line A carriage return is forced after a byte having a low order digit of F in its memory address is printed Example Enter at the keyboard the command 123 Cxr and the CR Tube will display 0110 BE DD EE 11 22 33 44 55 66 77 88 99 GD 0120 EF 12 34 56 where memory locations 010 through 0123 are assumed to contain AA DD 11 22 33 44 55 66 77 88 99 CD EF 12 34 56 the D command should be used only to examine memory contents To punch the memory contents onto a tape the W command s
197. ssembly language source program are represented by their assembly language mnemonic A program written to help in the process of creating user programs TERMS Continued TERM DESCRIPTION User Program A program written by the user to make the computer perform any desired task Word group 16 contiguous bits occupying two successive memory locations 2 bytes ABBREVIATIONS ABBREVIATION DESCRIPTION Cr Carriage return CPU Central Processing Unit LE Line feed PROM Programmable Read Only Memory Sp Space Bar nnn nnn represents a number in binary format nnn D nnn represents a number in decimal format nnn O nnn represents a number in octal format nnn nnn represents a number in octal format nnn H nnn represents a number in hexadecimal format Shaded portions of CPU operator dialog repre sent Console output CPU O S COMMANDS AND MESSAGES 2 0 GPU OPERATING SYSTEM 0 5 STARTING ADDRESS 100 When in 8708 ERASABLE PROM U stAATS AT E00 PAUSES AT FE FF 0 i a 2 03 All arguments are in hexadecimal form A RAM test 2 3 47 B CO BACK TO CRT 1925 D DISPLAY IN HEXADECIMAL FORMAT D low address high address Memory from low address to high address is displayed in hexadecimal form address Endfile mark is created 60 null characters are written punch device FILL MEMORY low address high address data Memory from low address to high address is f
198. step l 2 result of step 1 step 2 3 result of step 2 A answer Parentheses may be nested or enclosed by a second set or more of parentheses In this case the expression within the innermost paren theses is evaluated first and then the next innermost and so on until all have been evaluated In the following example A 7 BA2 4 The order of priority is 16 Ly step 1 2 result of step 1 4 step 2 3 result of step 2 X step 3 4 result of step 3 7 A Parentheses also prevent any confusion or doubt as to how the expression 15 evaluated For example A BA2 7 B C DA2 A BA2 7 B C DA2 Both of these formulas are executed in the same way but the second is easier to understand Spaces may be used in a similar manner Since the BASIC 8001 interpreter ignores spaces except when enclosed in quotation marks the two statements 10 LET 1 LETB DA2 1 are identical but spaces in the first statement provide ease in reading When the statement is subsequently printed extra spaces are ignored VII RELATIONAL OPERATORS Relational operators allow comparison of two values and are used to compare arithmetic expressions or strings in an IF THEN statement The relational operators are Mathematical BASIC 8001 Symbol Symbol Example Meaning is equal lt lt A lt B A is less tham B lt lt or lt lt
199. ster to A with carry B C D E H L A Add memory to Add register to B D H L A Add immediate to At AND memory with At AND register with At B D H L A AND immediate with Call unconditional Call on carry Call on minus Complement A Complement carry Compare memory with At Compare register with A B C D H L A Call on no carry Call on no zero Call on positive Call on parity even Compare immediate with Call on parity odd Call on zero Decimal adjust AT indicate instruction cycles dependent on condition flags POSITIVE LOGIC HEX OPCODE D7 D4 03 00 8 8 8 8 9 8 A 8 B 8 8 D 8 F 8 6 8 0 8 1 8 2 8 3 8 4 8 5 8 7 C 6 A 6 A 0 A 1 A 2 A 3 A 4 A 5 A 7 E 6 C D D C F C 2 F 3 F B E B 8 B 9 B A B B B C B D B F D 4 C 4 F 4 E C 4 2 7 CLOCK CYCLES 5 7 4 17 11 17 11 17 11717 11 17 11 17 11 17 11 17 11 17 POSITIVE LOGIC REGISTER OPCODE CLOCK MNEMONIC BYTES DESCRIPTION AFFECTED 07 04 03 00 CYCLES MNEMONC BYTBS ERETON eo ee y DAD 1 Add to H amp L 0 9 10 DADC 1 Add D amp E to H amp L 1 9 10 DAD 1 Add H amp L to H amp L 2 9 10 DAD SP 1 Add stack pointer to H amp L 3 9 10 DCRM 1 Decrement Memory 3 5 10 DCR r 1 Decrement Register B 0 5 5 0 D D 1 5 E 1 D H 2 5 L 2 D A 3 D DCX B 1 Decrement B amp C 0 B 5 DCX D 1
200. ten single line they cannot be continued onto a following line However more than one statement may be written on a single line when each statement after the first is preceded by a colon For example 1g INPUT A B C 15 a single statement line whereas 20 11 PRINT X Y Z IF X A THEN 10 15 a multiple statement line containing three statements LET PRINT and IF Most statements may be used anywhere in a multiple statement line exceptions are noted in the discussion of each statement Only the first statement a line can and must have a line number It should be re membered that program control cannot be transferred to a statement within a line but only to the first statement of a line II REMARK STATEMENT It is often desirable to insert notes and messages within a user program Such data as the name and purpose of the program how to use it how certain parts of the program work and expected results at various points are useful things to have present in the program for ready reference by anyone uSing that program The REMARK or REM statement is used to insert remarks or comments into a program without these comments affecting execution Remarks do however use core area which may be needed by an exceptionally long program The REMARK statement must be preceded by a line number and may be used anywhere multiple statement line The message itself can contain 24 any printing character on th
201. terrupt pending a false interrupt address will be read TMS 5501 status function should be addressed in order to determine whether or not an interrupt condition is pending Read TMS 5501 status Addressing the read TMS 550 1 status function gates the various status conditions of the TMS 5501 onto the data bus The status conditions available as indicated in Figure 3 are described in the following paragraphs BIT X MIT RCV PENDING BUFFER BUFFER RCVD DETECT DETECT EMPTY LOADED FIGURE 3 DATA BUS ASSIGNMENTS FOR TMS 5501 STATUS Bit O framing error A high in bit O indicates that a framing error was detected on the last character received either one or both stop bits were in error The framing error flag is updated at the end of each character Bit 0 of the TMS 5501 status will remain high until the next valid character is received Bit 1 overrun error A high in bit 1 indicates that a new character was loaded into the receiver buffer before a previous character was read out The overrun error flag is cleared each time the read O status function is addressed or a reset command is issued Bit 2 serial received data Bit 2 monitors the receiver seria data input line This line is provided as a status input for use in detecting a break and for test purposes Bit 2 is normally high when no data is being received Bit 3 receiver buffer loaded A high in bit 3 indiciates that the receiver buffer is loaded with a new
202. this command causes memory locations low address through high address to be filled with the constant data Example The command 12 will set bytes 0007 through 0014 equal to AA H 0007 AA AA AA AA AA AA 0010 AA AA AA AA Error Conditions T low address of high address is greater than 16 bits or data is greater than 8 bits only the last 4 or 2 hex digits will be used Example The command F7AB0007 0014 FFACAA Cr 1S equivalent to the command F0007 0014 AA Cr 2 low address is greater than high address data will replace only the byte at low address Example If locations 7 8 9 contain AA H CC H execution of the command eed will cause memory to appear as follows 0007 33 BB 3e If a non existent memory address is specified this command has no effect 4 low address high address data contain an invalid character the CR Tube will immediately display Cr 1f and await the next command Example the user tries to enter as data the following will be displayed F0012 14 BQ 15 4 2 4 COMMAND GO The format of the command is G address bkptl bkpt2 Address bkptl and bkpt2 are valid 16 bit hexadecimal memory addresses Description The command causes program control to be trans ferred to location address If either bkptl or bkpt2 is specified a breakpoint will be
203. time of a RUN command and increases execution speed BASIC 8001 has provision for alphanumeric character string I O and string variables and allows user defined functions and assembly language subroutine calls from user BASIC 8001 programs BASIC 8901 be run on Imt ecolor 890 Intecolor 8051 Conpucolor 8001 with a minimum of 8K of user workspace LOADING AND RUNNING BASIC 8001 BASIC 8001 is provided in ROM and runs in ROM BASIC 8001 is initiated by typing the ESC key then the W BASIC key The dialoque described below is printed This is once only dialogue and does not occur after an ESC key and E key sequence The READY message is printed after the ESC E key sequence BASIC 8001 prints BASIC 8001 V12 8 76 COPYRIGHT C 1976 BY CHARLES MUENCH MAXIMUM RAM ADDRESS The user then types the highest RAM address that he has available or wants to use and then keys a carriage return MIDDLE OF FIRST CARD 45056 65535 20480 PF FF One extra RAM card is 49151 65535 16384 hex Two extra RAM cards is 57343 z 553S 8192 Three extra RAM cards is 65529 05535 0 FFF hex nii FOR INITIALIZATION BASIC FOOI STATUS 247 BYTES USED ACTER DOING ANYTHING BASIC 8001 then prints the message READY and waits for a command or program line to be typed If BASIC 8001 has been initialized as above but has returned to the CRT O S by CPU Reset Key
204. ting R11 until Vyc Vuc HORIZONTAL VERTICAL and CORNER PARABOLA TOUCH UP Touch up of the HORIZONTAL VERTICAL and CORNER PARABOLAS can best be accomplished by monitoring the waveforms on the Jl on the Convergence Module 100014 A Adjust the HORIZONTAL PARABOLA offset Vup with R9 on the Analog Module 100047 by monitoring the waveform at 1 1 on the Convergence Module 100014 as shown in Figure 2 0 10 0 1 B Adjust the VERTICAL PARABOLA offset V with R10 on the Analog Module 100047 by monitoring the waveform at J1 5 on the Convergence Module 100014 as shown in Figure 2 0 10 8 1 B C Adjust the CORNER PARABOLA offset with R13 on the Analog Module 100047 by monitoring the waveform at 11 7 on the Convergence Module 100014 as shown in Figure 2 0 10 95 1 C E 14 GND HORIZONTAL VERTICAL R2 R10 HORIZONTAL AND VERTICAL PARABOLA ADJUSTMENTS FIGURE 2 0 10 3 1 Adjust R1 Analog Module 100047 to show 1 divi sion difference between Start and Stop of Video NEIN 1 division Adjust Scope Gain to 6 divisions Superimposed Video HORIZONTAL PARABOLA VIDEO ADJUSTMENT FIGURE 2 0 10 5 1 VERTICAL PARABOLA HEIGHT ADJUSTMENTS EIGURE 2 0 10 5 2 Adjust using R2 Analog Module 100047 GND CORNER PARABOLA OFFSET _ GND Ll TTT Voc 1 Adjust R13 Analog Module Typical 100047 to Voc 0 Volts offset 2 Monitor Waveform at U1
205. tion to exist when plotting Therefore if you plot the same point bar or vector twice the second time erases the original Once in the qeneral Plot Mode any of the plot submodes may be entered by sending the corresponding code to the terminal When this code is received a flaq internal to the terminal known as PLOFL is set placing the terminal in the appropriate plot submode should be noted that in many of the plot submodes PLOFL is automatically set to a different value upon completion of the operation of that submode causing the terminal to enter a new submode This is done to make coding and operation of the terminal in the various plot functions easier for the operator The various submodes and their interactions are explained in detail in Appendix B 12 3 Curser Control The visible cursor may be positioned any where on the screen simply by sending 3 word sequence beginning with 03 The next two words that follow determine that X character position 0 79 and Y line position 0 24 for 25 line unit or 0 47 for 48 line unit Both X and Y values must be in binary form with the range indicated The cursor home position 1 the top left hand corner is position O O while the bottom right hand corner is 79 24 or 79 471 If the cursor is positioned at X 80 binary 50 HEX then the cursor will disappear But if a character is typed it will be positioned at the beginning of the line speci
206. to return control to the FOR statement Call the Xth line number subroutine after GOSUB Branch to the Xth line number after GOTO OUI I X PLOT expression PORE PRINT list PRINT expression PRINT string PRINT TAB x READ variable list REM comment Causes the X BYTE to be output to port I Sends the one BYTE result of the expression to the 8001 CRT The result must be between O and 255 binary Causes the X BYTE to be placed in memory location I 32767 I 16 negative then address is 65536 I Used to output data to the terminal Prints results of expression Prints a character string Equivalent to the word PRINT Used to space to the specified column Used to assign the values listed in a DATA statement to the specified variables Used to insert explanatory comments into a BASIC 8001 program RESTORE Used to reset data block pointer so the same data can be used again RETURN Used to return program control to the statement following the last executed GOSUB statement STOP Used at the logical end of the program to terminate execution WAIT X Lal Causes the input port X to be read exclusive OR ed with BYTE J and then AND ed with BYTE I The program will wait until the result is zero before continuing PARTS HM POD 15 NY gt HON sen 22 NS lt gt 67 Svcd NO
207. to receive the next eight bit word as the X Max Value Upon receipt of the X Max Value the bar is drawn on the CRT and the terminal is placed back into the X Bar Graph Y Value mode binary 251 ready to receive a new Y value to begin the bar graph drawing process over again as outlined above This process is shown below and Appendix B Function Code Plot Mode 2 or or Plot Submode 240 to 253 X Bar Graph Value 250 Value Word 1 Q 159 Y Value Word 1 0 to 99 0 191 X Max Value Word 1 O to 258 Y Value Word 2 O to 99 0 191 X Max Value Word 2 O bo 159 Y Value Word O to 99 191 X Max Word to 159 Plot Escape 255 or or Plot Submode 240 to 254 NOTE Use Code 251 between Y value X max Value data sets for timing considerations Timing delays depends directly upon the length of the bar being intensified SeeAppendix A 4 for delays both minimum and maximum As can be seen from the above process once in the X Bar Graph X mode it is necessary to send only two words Y and X Max to completely define other bar graphs with the same in the horizontal direction As before any of the submodes can be entered independently After the first bar graph sequence additional bar graphs can be described by a new Y position for the graph and a new X Max 31 Value for the graph bar is drawn after the X Max Value is received uSing the original value of Any of the other plot submodes may be entered d
208. to the subroutine BASIC 8001 internally records the next sequential statement to be processed after the GOSUB statement the RETURN statement is a signal to transfer control to this statement In this way no matter how many subroutines there are or how many times they are called BASIC 8001 always knows where to transfer control next The following program demonstrates the use of GOSUB and RETURN 1 REM THIS PROGRAM ILLUSTRATES GOSUB AND RETURN 10 DEF ABS INT X 20 INPUT A B C 3g GOSUB 100 Ag LET A FNA A 39 50 LET 60 LET 70 PRINT 80 GOSUB 100 90 STOP 100 REM THIS SUBROUTINE PRINTS OUT THE SOLUTIONS 110 REM OF THE EQUATION 2 BX C f 120 PRINT THE EQUATION IS A XA2 C 130 LET D B B 4 A C 140 IF DJO THEN 170 150 PRINT ONLY ONE SOLUTION X B 2 A 16 RETURN 170 IF D THEN 200 188 PRINT TWO SOLUTIONS X 185 PRINT B SQR D 2 A AND B SOR D 2 A 190 RETURN 209 PRINT IMAGINARY SOLUTIONS X 205 PRINT B 2 A SOR D 2 A AND 207 PRINT B 2 A SOR D 2 A 210 RETURN 900 Subroutines can be nested that is one subroutine call another Subroutine If the execution of a subroutine encounters a RETURN statement it returns control to the line following the GOSUB which called that subroutine Therefore a subroutine can call another Subroutine even itself Subro
209. to this rule is the DAD instruction which consists of 1 memory reference in 10 state times The first machine cycle designated M1 is either 4 or 5 state times long and is the instruction fetch cycle with the program counter appearing on the address bus The CPU then continues with as many M cycles as necessary to complete the execution of the instruction up to a maximum of 5 Thus the instruction execution time varies from 4 state times several including ADDr to 18 XTHL The WAIT or HOLD conditions may affect the execution time since they can be used to control the machine for example to single step and the HALT instruction forces the CPU to stop until an interrupt is received As the instruction execution is completed or in the HALT state the INT pin is polled for an interrupt In the event of an interrupt the PC will not be incremented during the next M1 and an RST instruction can be inserted TABLE 1 TMS 8080 REGISTERS NAME DESIGNATOR LENGTH PURPOSE Accumulator A 8 Used for arithmetic logical and 1 0 operations B Register B 8 General or most significant 8 bits of double register BC C Register 8 General or least significant 8 bits of double register D Register D 8 General or most significant 8 bits of double register DE E Register E 8 General or least significant 8 bits of double register DE H Register H 8 General or most significant 8 bits of double register HL L Register L 8 General or least significant 8 bi
210. tore Left Right 5 1 2 Char 59 down 45 75 Insert 80 Characters 4 82 Delete 80 Characters 4 34 X Y Point Plot Increment 2 points eZ 100 Element X Bar Graph 5 45 100 Element Y Bar Graph 8 28 100 Element Vector 34 48L Delay time in A 4 INPUT COMMANDS DELAYS 14 High Speed Option 40 14057 430 29 463 2 d 2525 eee get uy STANDARD INTECOLOR 8001 Aq As 212 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 I O O O T 0 0 0 0 0 0 1 0 0 0 0 0 0 0 WITH BACKGROUND COLOR OP TION Ag 4 08 an 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 The above codes may ORed for composite functions A 5 CCI CODE ASSIGNMENTS RED FOREGROUND GREEN FOREGROUND BLUE FOREGROUND FOREGROUND BLINK PLOT CHARACTER RED FOREGROUND GREEN FOREGROUND BLUE FOREGROUND RED BACKGROUND GREEN BACKGROUND BLUE BACKGROUND FOREGROUND BLINK PLOT CHARACTER SLNAWNOISSY NId ZC ANW 5155 1008 30 WOMJ SV NMOHS 38V SYSEWNN 134205 HOLO3NNOO LNNOW SISSVHO VW SMOLO3NNOO 31991393934 9 0009 Nd OSI HO t 303 51382
211. ts of double register HL Program Counter PC 16 Contains address of next byte to be fetched Stack Pointer SP 16 Contains address of the last byte of data saved in the memory stack Flag Register F 5 Five flags C Z S P C1 NOTE Registers and may be used together as single 16 bit register likewise D and and H and TABLE 2 FLAG DESCRIPTIONS SYMBOL TESTABLE DESCRIPTION C is the carry borrow out of the MSB most significant bit of the ALU Arithment Logic Unit A TRUE condition 1 indicates overflow for addition or underflow for subtraction A TRUE condition Z 1 indicates that the output of the ALU is equal to zero A TRUE condition S 1 indicates that the MSB of the ALU output is equal to a one 1 TRUE condition P 1 indicates that the output of the ALU has even parity the number of bits equal to one is even C1isthe carry out of the fourth bit of the ALU TRUE condition C1 is used only for BCD correction with the DAA instruction TABLE 3 FUNCTION OF THE DAA INSTRUCTION Assume the accumulator contains two BCD digits X and Y ACC Y ACCUMULATOR ACCUMULATOR BEFORE DAA AFTER DAA Dessen he 0 0 1 0 0 1 0 0 1 ooo oo o o NOTE The corrections shown in Table 3 are sufficient for addition For subtraction the programmer must account for the borrow condition that can occur and give erroneous results The most straight forward metho
212. tus information is also present on the data bus during SYNC for external latches Hold acknowledge When active high HLDA indicates that the TMS8080 is in a hold state Ready control line An active high level indicates to the TMS 8080 that an external device has completed the transfer of data to or from the data bus READY is used in conjunction with WAIT for different memory speeds Wait status When active high WAIT indicates that the TMS8080 has entered a wait state pending a READY signal from memory TABLE 5 TMS 8080 STATUS DESCRIPTION Interrupt acknowledge Indicates that current machine cycle will be read input high read or a write output low write operation Indicates that address is stack address from the SP HALT instruction acknowledge Indicates that the address bus has an output device address and the data bus has output data Indicates instruction acquisition for first byte Indicates address bus has address of input device Indicates that data bus will be used for memory read data TMS 8080 instructions are either one two or three bytes long and are stored as binary integers in successive memory locations in the format shown below One Byte Instructions D7 D6 D5 D4 D3 D2 D1 DO Two Byte Instructions D7 D6 D5 D4 D3 D2 D1 DO D7 D8 05 0403 020100 Three Byte Instructions 07 DE DS 53 D2 DT D7 D6 05 0403020100 D7 D6 D5 D4 D3 D2 D1 DO OP CODE OP COD
213. ud Bit 1 150 baud 2 300 baud Bit 3 1200 baud Bit 4 2400 baud Bit5 4800 baud Bit6 9600 baud If more than one bit is high the highest rate indicated will result If bits 0 through 6 are all low both the receiver and the transmitter circuitry will be inhibited 11 7 stop bits Bit 7 determines whether one or two stop bits are to be used by both the transmitter and receiver circuitry A high in bit 7 selects one stop bit A low in bit 7 selects two stop bits 2 2 7 Load transmitter buffer Addressing the load transmitter buffer function transfers the state of the data bus into the transmitter buffer 2 2 8 Load output port Addressing the load output port function transfers the state of the data bus into the output port The data is latched and remains on XO O through XO 7 as the complement of the data bus until new data is loaded 2 2 9 Load mask register Addressing the load mask register function loads the contents of the data bus into the mask register A high in data bus bit n enables interrupt n A low inhibits the corresponding interrupt 2 2 10 Load timer n 3 1 Addressing the load timer n function loads the contents of the data bus into the appropriate interval timer Time intervals of from 64 us data bus LLLLLLLH to 16 320 data bus are counted 64 5 steps When the count of interval timer n reaches O the bit in the interrupt register that corresponds to timer 15 set and a
214. utines can be entered at any point and can have more than one RETURN statement It 15 possible to trans fer to the beginning or any part of a subroutine multiple entry points and RETURN s make a subroutine more versatile Up to 20 levels of GOSUB nesting are allowed END STATEMENT The END statement is the last statement in a BASIC program and is of the form END The line number of the END statement must be the largest line number in a given program Since any lines having line numbers greater than that of the END statement are not executed although they are saved with the SAVE command The END statement is optional When an END statement is executed program execution stops and the READY message is printed AVI STOP STATEMENT The STOP statement can occur several times throughout a single program with conditional jumps determining the actual end of the program The STOP statement is of the form 90 STOP 40 and causes BREAK IN 90 READY to be printed when executed This Signals that the execution of a program has been terminated and BASIC 8001 is able to accept further input 41 BASIC 8001 FUNCTIONS ARITHMETIC FUNCTIONS BASIC 8001 provides functions to perform certain standard mathematical operations such as square roots logarithms etc These functions have three or four letter call names followed by a parenthesized argument They are pre defined and may be used anywhere in a program Call
215. y were input for example 10 LET 3 0 1 0000001 2 PRINT X E7 LIST 19 LET X 3 1 20 PRINT 1 0000 7 5 Spaces in the input program are ignored except within strings and REM statements The LIST command prints the program with a space inserted to separate the key word and the line number The listed program is therefore easier to read Example LIST 100 Lists line 100 and all remaining lines in the program COMMAND SAVE command outputs the program RAM to the specified device The form of the command is SAVE A The format of the program output by the SAVE command is exactly the same as that stored in RAM memory It may be recalled by the same file name using the LOAD command 58 IV RUN COMMAND After the user program is entered into RAM it can be executed by typing the command RUN and the RETURN key The program is scanned arrays are created in core and then the program is executed Any appropriate error messages are printed and when the END or STOP statement is encountered execution halts and a message is printed After execution the variables used in a program remain accessible for use in immediate mode until a NEW CLEAR or another RUN command is executed The CLEAR command clears the contents of the user array and string buffers This command is generally used when a program has been exe cuted and then edited Before it is rerun the
216. yboard use Control 8 or F8 It 15 more commonly entered from the X Bar Graph Y Value automatically and may also be entered from any of the other plot submodes except Character Plot After entering the X Bar Graph X Max Value mode the next word received defines the X Max horizontal point of the horizontal bar graph being drawn The X Max Value may range from O to 159 and all other values will have 160 subtracted from it and the new value calculated for X Max Value Upon receipt of the X Max Value word the bar graph is drawn in the predefined color on the face of the CRT according to the and Y value Stered in memory from previous operations termunal is then automatically placed in the X Bar Graph Y Value mode binary 249 for the beginning of a new bar graph as more completely explained in the Section on binary 248 Any of the other plot submodes may be entered directly from the X Bar Graph X Max Value mode by simply entering the appropriate 32 plot submode codes which range from binary 240 to 254 X Incremental Bar Graph binary 247 The X Incremental Bar Graph is entered by a binary 247 code after the general Plot Mode is entered From the Keyboard use Control 7 or 7 It may also be entered from any of the other plot submodes except Character Plot After entering the X Incremental Bar Graph mode the next word sent defines the next two horizontal and vertical increments for two horizontal bar graphs Thus one
Download Pdf Manuals
Related Search
Related Contents
TABLE DES MATIÈRES User Manual DN 2050-#### G - EUROIMMUN US, Inc. Olivetti SIMPLE_WAY bluetooth Samsung GT-S5690 Felhasználói kézikönyv Contents: Instructions: Baha 3 Fitting Guide TAFCO WINDOWS NU2-058V-W Installation Guide Smart TV User Manual MANUAL DE INSTRUÇÕES Copyright © All rights reserved.
Failed to retrieve file