background image

1.4 

BASIC  programming 

1.4.1 

What  is a program? 

The X-07  is  no  more  than a  calculator  if  the BASIC  language  is  used  as  in  the 
previous section.  Of course there is a reason for the BASIC language in the X-07. 

In  BASIC,  each  command  can  be  given  a  line  number.  Commands  with  line 

numbers  are called ''statements''.  Statements are not  executed  immediately  when 

input.  Series  of  statements  are  collectively  called  a  "program".  For  example: 

10  REM PROGRAM 

-

*I

20  INPUT "A, B"; A, B 

30  PRINT"A+ B";A+B; 

40  PRINT "A-B"; A-B 

50  PRINT '"A*B"; A*B; 

60  PRINT "A/B"; A/B 

In  this  program,  values  are  read into  the variables  A  and B,  and  A+ B,  A - B, 

A*B,  and  A/B,  in  other  words,  addition,  subtraction,  multiplication,  and  divi­
sion  are  executed.  And  results  are  displayed  on  the  LCD. 

To  make  the X-07  memorize the  above  program,  type, 

10 

20 

REM P -
INPUT "A, B"; A, 

RETURN 

After  typing all  the statements,  type, 

RUN 

means depress  the RETURN  key.) 

19 

Summary of Contents for X-07

Page 1: ......

Page 2: ......

Page 3: ...CANON will not take responsibility for monetary damages loss of pro fits and any claims from a third party due to the use of the program samples in this manual 2 ...

Page 4: ... this book alongwith theBASIC Reference Manual and the Program Guide forBeginners ATTENTION Turn OFF the power when connecting or disconnectingthe connectors or when placing the X 07 facing downwards When transmitting receiving data or program using an input output device such as a cassette recorder optical coupler etc verify after each operation that the data or grogram was transmitted received c...

Page 5: ...ing measures Reorient the receiving antenna Relocate the computer with respect to the receiver Move the computer away from the receiver Plug the computer into a different outlet so that computer and receiver are on different branch circuits If necessary the user should consult the dealer or an experienced radio television technician for additional suggestions The user may find the following bookle...

Page 6: ...ry of the X 07 32 1 6 The keyboard and the LCD 39 1 7 How to the use a cassete recorder 47 Chapter 2 Special functions and peripheral devices _55 2 1 Special functions of the X 07 57 2 2 Peripheral devices 69 2 3 How to use utility cards 75 2 4 How to use the Color Graphic Printer X 710 84 2 5 How to use the Optical Coupler X 721 _ go 2 6 How to control peripheral devices 95 5 ...

Page 7: ...99 3 1 3 2 3 3 3 4 3 5 Hardware specifications for the X 07 101 Internal structure of BASIC 109 Interface specifications 121 How to use the Color Graphic Printer X 710_130 List of BASIC instructions and functions __ 132 oo ...

Page 8: ...1 Learning how to operate the X 07 2 Special functions and peripheral devices 3 Reference m ...

Page 9: ...hperal devices printer RS 232C level convertor optical coupler etc which can be connected to the X 07 and its soft ware You will learn about the special features of the X 07 system here 3 Appendix Gives a simple explanation of the structure of memory map of the X 07 addresses of subroutines and software BASIC On the BASIC Reference Manual and the Programming Guide for Beginners This manal explains...

Page 10: ...Learmng how to operate the X 07 ...

Page 11: ...2 ...

Page 12: ... LCD 1 7 How to use a cassette recorder The X 07 is so compact that it can be placed on the palm of a hand Yet inside this compact body there is a potential to surpass a personal computer This chapter explains only a part of the functions of the X 07 but it is important that you become familiar with the equipment The special functions of the X 07 are explained in Chapter 2 3 ...

Page 13: ...e X 07 came with the following items Should an item be missing or defective please contact your dealer 4 I X 07 CD X 07 CANON X 07 User s Guide this manual BASIC Reference Manual Programming Guide for Beginners Reference Card Batteries AA x 4 CD ...

Page 14: ...interface LCD brightness control j AC adaptor terminal Parallel input output terminal Keyboard be displayed Also functions as a graphic display 120 dots x 32 dots For playback of alarm and melodies A 5 pin terminal for connecting a cassette recorder Please refer to the illustration for the pin arrangement Turn this control to adjust the brightness of the LCD Set it to the desired brightness For co...

Page 15: ...eaker Set it to the desired level Bus line Serial input output terminal Serial input output terminal For using a CRT or an extended BASIC Output from the bus line to a CRT etc is via a connected interface unit For connecting an optical coupler RS 232C level convertor or another X 07 This ter minal conforms to the RS 232 C specifications ...

Page 16: ...utility card here Programs and data can be memorized on memory cards Insert a memory IC here to extend memory for an extended system However please consult your dealer for the appropriate IC Please note that should an accident etc arise because you have selected an inap propriate IC CANON will not take responsibility The reset switch is used as the last resort when the X 07 malfunctions Do not use...

Page 17: ...ms and data can also be memorized on memory cards With several memory cards programs and data can be ex changed quickly with back up battery Programs and data can also be memorized on a cassette tape by using a cassette recorder With optical couplers cableless communication no need for bothersome cables can be performed The X 07 has a built in alarm timer timer and calendar Set the alarm to a desi...

Page 18: ...elow and insert four AA batteries into the battery compartment Make sure that you do not mix up the polarities CD While depressing the part of the cover marked_ Insert the batteries with their polarities aligned correctly as shown slide the cover to the right The batteries are disconnected when the AC adaptor is connected 9 ...

Page 19: ...as malfunctioned 1 Batteries are loaded 2 Batteries have not run down 3 The lock switch of the utility card compartment cover is set to ON 4 LCD brightness control is set properly canon X c QJ ZJ HAHD HEl DCOMPUTER 808 CJ CJ rn rn rn m wmmm GJ CJ w GJ w GJ GJ GJ GJQwGJ m rn G J GJ GJ w GJ GJ GJ G G 0lITJ CJ DJ GJGJGJ GJ GJGJ GJCJGJ CJ m EJ RETURN Now let s actually operate the keyboard Depress the...

Page 20: ...computer to ASDFGJ This command is meaningless to the X 07 Therefore it replied SN Error syntax error In other words the X 07 is saying Please give me a proper command that I can understand We will learn about the RETURN key and the use of commands in detail in the next section Next depress the OFF key A pip is heard the power is turned off and the characters are erased from the LCD The power ON B...

Page 21: ...In order to perform this calcualtion the following must be typed PRINT RETURN depress the RETURN key The above means type P R I N T space 5 8 RETURN key in the shown order PRINT is a command meaning display Therefore PRINT 5 8 means Add 5 and 8 and display the l esult on the LCD In other words you must accurately instruct the X 07 to calculate 5 8 and what to do with the result The BASIC language ...

Page 22: ...FT key Depress after depressing the GRPH key DJ Just depress the key Depress along with the SHIFT key Depress after depressing the GRPH key Display I Operation f I Attention The SHIFT key is effective only while it is depressed However when the GRPH or the NUM key isdepressed once it is effective until it is depressed once again Therefore to type awepu depress ID Don t forget to depress the GRAPH ...

Page 23: ...ors might want to use the X 07 first as a calculator This section explains how to use the X 07 as a calculator As explained in the previous section the PRINT command is used to execute addition subtraction multiplication and division For example PRINT 158 333 2 491 2 A question mark can be used instead of the instruction word PRINT Using this notation the above example becomes 158 333 2l 491 2 Ple...

Page 24: ...multiplication x 100 25 l 4 2 is used to indicate division 367 167 l 200 2 Such functions as cosine sine and logarithm can also be used Unlike calculators which have keys for such functions each function must be typed on the keyboard COS O 1 2 2l The answer is in radians 15 ...

Page 25: ...OG 3520 8 166212685919 1 4561 456 16 COS 0 5 D 87758256189037 LOG 3520 D 8 1662162685919 ABS 456 D 456 ABS is a function which calculates the absolute value INT l5 67 D 15 INT is a function which corrects a numeric value into an integer ...

Page 26: ...lowing x 150 Now whenever Xis used its value is set to 150 Example x 100 J 250 X 4 J 600 To change the value of X memory just perform the same operation x 330 Now the value of Xis 330 A calculator has M and M which adds to and subtracts from the value in memory The X 07 can also perform such opera tions For example to add 100 to X 17 ...

Page 27: ...d for these rules please refer to the BASIC Reference Manual Here just remember that they must start with a letter With the X 07 you can give memory any names you wish And accordingly it is best to use variable names which have For example PRICE 150 UNITS SOLD 30 RETURN PRICE UNITS SOLD 4500 Meaningful variable names are very useful when using many variables How do you like the X 07 as a high clas...

Page 28: ...ely when input Series of statements are collectively called a program For example 10 REM PROGRAM I 20 INPUT A B A B 30 PRINT A B A B 40 PRINT A B A B 50 PRINT A B A B 60 PRINT A B A B In this program values are read into the variables A and B and A B A B A B and A B in other words addition subtraction multiplication and divi sion are executed And results are displayed on the LCD To make the X 07 m...

Page 29: ...tement of Line 20 values input from the keyboard by the user are read into the variables A and B And from Line 30 to 60 addition subtraction multiplication and division are executed on the values of the variables A and B and the results are displayed on the LCD For example Line 30 is 30 Line number PRINT Displays the result A B Calculation By creating a program in this way a job can be executed au...

Page 30: ...used to correct typing mistakes E Cursor keys These keys move the cursor in the direction of the ar row on their keys This key inserts a space This key deletes an unnecessary character First comfirm where these keys are located on the keyboard After memoriz ing where these keys are let s correct some typing mistakes 21 ...

Page 31: ...rsor moves towards the beginning of the line Therefore if you depress the key 9 times 10 REN PPRQRAM the cursor moves to G Here depress the INS key il 10 REN PPR GRAM Next type 0 and the above becomes 10 REN PPROgRAM Next there is one too many P so depress the key 3 times 10 REN P fROGRAM To delete the extra P depress the DEL key 10 REN PROGRAM I Next correct REN to REM and 10 REN PROGRAM next typ...

Page 32: ...ns you made might not be executed 3 Use the LIST command when a program line is longer then 60 characters When a program line is longer than 60 characters even if you LIST it the beginning of the program line will be scrolled off the LCD In such a case ex ecute the LIST command and depress the ON BREAK key when necessary and then make corrections However if a program line is longer than 80 charact...

Page 33: ...move the cursor to the position after PRINT of Line I00 and add THE PRICE OF X 07 A as the contents to be displayed Here if the RETURN key is depressed THEN 200 which is not needed is in cluded in Line 100 You can delete each character with the space key but it is more convenient to use the keys depress the key while depressing the key The keys delete all characters of a program line after the cur...

Page 34: ...at the key was not depressed and Line 110 was input after depressing the E key 100 IF A O 110 X A l O THEN A l 1 In this case the following statement is input 100 IF A O THEN A 1 110X A 10 When this program line is listed using the LIST command it will look normal However when it is executed SN Error will occur Such mistakes are hard to detect so please be careful when inputting program lines 25 ...

Page 35: ...haracter 3 To insert a character depress the INS key and then type the character you want 4 To change a character to another character type the desired character 5 To correct a statement you have already input execute LIST line number to call the statement you want to correct and then correct it 6 After making corrections always depress the RETURN key 26 ...

Page 36: ... LIST 10 REM PROGRAM 20 INPUT A B A B 30 PRINT A B A B 40 PRINT A B A B 50 PRINT A B A B 60 PRINT A B A B 2 The program you have input is listed When a program is long all of it cannot be listed on the LCD In such a case when you come to the program line you want to see depress fil 10 REM PROGRAM 20 INPUT A A B 30 PRINT A B A B Break 40 PRINT A B A 8 50 PRINT A B A B 60 PRINT A B A B 27 ...

Page 37: ...PRINT A B A B It takes time to get the knack of using Wkeys so that listing will stop at the program line you want Use the LIST command to list program lines one at a time so that you can study them in detail Type and the first program line is displayed To display the next program line depress a key it can be any key for example the RETURN key Depress a key again to display the next program line a...

Page 38: ... B A B LIST 50 LIST 50 50 PRINT A B A B PRINT A B A B 60 Ls1T 30 10 REM PROGRAM 20 INPUT A B A B 30 PRINT A B A B LIST 50 lists program lines from Line 50 to the end LIST 30 lists program lines from the beginning to Line 30 And as explained before if you do as below only Line 20 is listed 29 ...

Page 39: ...ped from the keyboard is known as an endless leop of a program In such a case depress the key Break in 10 or Break in 15 or Break in 20 Is displayed and program execution is terminated When for some reason program execution goes wrong use the key in this way to terminate execution Sometimes an endless loop might not be terminated when the key is depressed In such a case depress the reset switch as...

Page 40: ...phic characters and user defined keys will all be wasted Therefore the reset switch should be used only as the last resort When an endless loop occurs or program execution runs out of control or when the X 07 malfunctions first perform the following 2 steps 1 Depress the ON BREAK key to stop program execution 2 Depress the OFF key Wait for a while and then depress the ON BREAK key If the problem s...

Page 41: ... turned OFF they are not saved if the batteries are changed without using the AC adaptor Therefore at least one program can be saved However most of the time you would like to save several or even many programs With the X 07 such programs can be saved by using the following methods 1 Save programs in the RAM file 2 Save programs in 4K memory cards 3 Use a cassette recorder to record programs onto ...

Page 42: ...Let s save the previously created program into the RAM file 10 REN PROGRAM 20 INPUT A B A B 30 PRINT A B A B 40 PRINT A B A B 50 PRINT A B A B 60 PRINT A B A B To save this program into the RAM file first the size of the RAM file must be set FSET 1024 Next the program is saved with a name called a file name Always save a program with a file name SAVE PROG1 Now the program is saved in the RAM file ...

Page 43: ...bytes and that 889 bytes of unused area remains A byte is an unit of memory capacity and one byte equals one character alphabet number etc The size of the RAM file can be freely changed up to a certain range with the FSET command Execute the FSET command as follows FSET 4000 and then execute the DIR command RETURN RAM PROG 1 P 4000 3865 The RAM file is as shown above 34 ...

Page 44: ...Now you can create another program As the contents of the text area are retained even when the power is turned OFF don t forget to erase an old program If an old program is not erased an unexpected trouble might arise So please be careful 1 5 4 Loading from the RAM file The LOAD command is used to load a saved program into the text area LOAD PROG1 RETURN Now contents of PROGl should have been load...

Page 45: ...rograms are saved one after another into the RAM file it will even tually become full and a new program cannot be saved Old unnecessary files must be deleted For this purpose the DELETE commands is used DELETE PROG1 P RETURN Next use the DIR command to make sure that the program has been deleted The DELETE command unlike the SAVE and the LOAD commands is not executed when DELETE PROG1 So please be...

Page 46: ...eaning of the symbols PROG1 P FILE D CANON A CIRCLE Z With the SAVE and the LOAD commands when the file type is omitted it is assumed to be P With the DELETE command it is assumed to be D It is convenient to classfy P as program files D as data files A as yourself Note This section dealt only with filing programs To file data please refer to the BASIC Reference Manual 1 5 7 File related commands H...

Page 47: ...ETE file name file type Deletes an unnecessary file in the RAM file DI R Lists the files saved in the RAM file RUN file name Directly executes a program in the RAM file without loading it into the text area FSET byte number Sets the size of the RAM file NEW Erases the program in the text area 38 ...

Page 48: ...s depressed the letter or the symbol written on it is displayed at the cursor position on the LCD Keys which do not write characters on the LCD have somewhat different purposes and are called special keys Keys which write characters have auto repeat functions there are exceptions When a key is depressed approximately 1 second the auto repeat function automatically inputs a character repeated at a ...

Page 49: ...y has been depressed completely The key click function can be terminated and restored with the X07 BASIC CONSOLE command For example CONSOLE 0 RETURN Now the key click has been terminated To restore it type CONSOLE 1 1 6 2 Functions of the special keys The following explains the functions of the special keys 40 ...

Page 50: ...nce Manual Inserts a space between characters Unlike D blank characters are moved Deletes a character The remaining characters are moved Move the cursor in the direction of the arrows They have auto repeat functions Moves the cursor to the upper left corner When it is depressed along with the SHIFT key the LCD is cleared Puts the keyboard into the ten key mode Puts the keyboard into the graphic mo...

Page 51: ...erred to as the key mode A key will write a character in one key mode and a different character in another key mode 1 Alphanumeric mode CJ m mrn rn rn GJ m mm u w 0000GJ8GJ8G0GJOJ 000000000CJCJCJ 000GGJ00CJCJITJCJ NUM 2 Graphic mode mm mm il 0 CIJ mm m 0 0 m CIJ w m m m w m 0 0 m w 0 0 m ITJ m w 0 w w TI ITJ 0 w Note 42 In the graphic mode the SHIFT the F6 to F12 and the CLR keys do not function ...

Page 52: ... each mode by depressing the key graphic mode and the NUM key ten key mode These keys need not be held pressed like the SHIFT key The key mode can be changed as follows Graphic mode Ten key mode The CONSOLE command can also be used to change the key mode Alphanumeric mode CONSOLE o Graphic mode CONSOLE 2 Ten key mode CONSOLE 3 Please refer to the BASIC Reference Manual for details 43 ...

Page 53: ...set as follows x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0 y 1 2 3 2 Graphic screen The screen for drawing diagrams on the LCD is called a graphic screen The coordinates of the graphic screen are set as follows x 0 0 y 0 31 The upper left corner is the start point for both the text screen and the graphic screen The LCD can also be used simultaneously as a text screen and as a graphic scr...

Page 54: ... commands draws and erases a dot at the specified X Y coordinates respectively Basically any diagram can be drawn with these two commands The LINE command draws a line between two specified sets ofcoordinates X1 Y1 and X2 Y2 The CIRCLE command draws a circle with center at X Y and radius of R Please execute the following commands 1 LINE 0 0 119 31 RETURN 2 CIRCLE 20 20 10 RETURN 3 FOR N 1TO 31 PSE...

Page 55: ...lass quali ty but please make sure that it transports tape at a steady speed 1 7 2 Connecting the cassette recorder Please refer to the illustrations below and connect the cassette recorder to the X 07 Cassette recorder with a REMOTE jack Black Cassette recorder without a REMOTE jack Black EAR MIC REM EAR MIC The connection cable should be connected to the X 07 with the arrow mark on the plug faci...

Page 56: ...owing order 1 Save a program with the CSAVE command 2 Rewind the tape and then execute the CLOAD command to make sure that the program has been saved correctly 3 Load the program with the CLOAD command 1 7 4 Saving a program Only the program in the text area can be saved onto a cassette tape To save a program other than a just created program load it first into the text area from the RAM file For ...

Page 57: ... file was loaded into the text area and then saved onto the cassette tape with the file name FILE When the program has been saved the cassette recorder is stopped and the cursor is displayed on the LCD CSAVE FILE 21 2 1 7 5 On the REMOTE jack The previous procedure was for a cassette recorder with a REMOTE jack There are many different types of cassette recorder from cassette recorders ex clusivel...

Page 58: ...case the MOTOR command is quite useful When MOTOR ON is typed the tape can be rewound or fast forwarded even when the REMOTE jack is connected In other words the REMOTE mode is canceled when this command is executed After fast forwarding or rewinding the tape to the desired position return to the REMOTE mode by typing MOTOR OFF and CSAVE FILE Once the program has been saved the cassette recorder i...

Page 59: ...e recorder will remain in the stop mode Next type CLOAD FILE File name The cassette tape begins to move and soon the following is displayed Found FILE The above display means that the program with the file name FILE has been saved correctly If a program has been saved correctly no message is displayed the cassette recorder is stopped if in the REMOTE mode and the cursor is displayed If the saved p...

Page 60: ...you want to load Next set the cassette recorder to the playback mode when the REMOTE jack is connected Then next type CLOAD FILE RETURN File name The cassette tape begins to move and a little later the following is dislayed Found FILE After the program has been loaded the cassette recorder is automatically stopped and the cursor is displayed on the LCD When using a cassette recorder without a REMO...

Page 61: ...te recorder with new bat teries and when using the same cassette recorder with old batteries 6 Noise might result from the MIC jack of some cassette recorders with automatic recording level control In such a case unplug the MIC jack 7 Some REMOTE jacks do not match the REMOTE plug of the connection cable In such a case follow the procedure for a cassette recorder without a REMOTE jack On cassette ...

Page 62: ...mage or lose one copy you will still have the spare copy 2 Store cassette tapes in a cool place relatively free of dust and humidity High temperature humidity and dust might warp the cassette tapes Also keep them away from magnetic fields and motors which can scramble the signals 3 The life of a cassette tape is several hundred times of use Please keep this in mind when using an often used pnr gra...

Page 63: ......

Page 64: ......

Page 65: ...Color Graphic Printer X 710 2 5 How to use the Optical Coupler X 721 2 6 How to control peripheral devices This chapter explains how to use the special functions timer alarm etc of the X 07 and its peripheral devices printers utility cards optical coupler etc When using a peripheral device please read its instruction manual carefully 56 ...

Page 66: ...e timer use character string functions such as MID RIGHT LEFT VAL etc The assignment instruction is used to set the timer For example let s set the timer to a m 11 hours 26 minutes and 33 seconds TIME 11 26 33 The timer can be set directly from the keyboard or as a statement in a program with a line number The time is assigned to the TIME function when the RETURN key is depresed When setting the t...

Page 67: ...3 03 THU L L L L i i i i Yr Mon Day Day of wk DATE like TIME is handled as a function and again the assignment instruction is used to set the calendar DATE Please note that when the year is set it must be typed fully in 4 digits However it is displayed in 2 digits Also you do not have to set the day of the week It is automatically calculated by the X 07 58 ...

Page 68: ...255 12 30 1 o o So c o tP i il and the alarm will sound at 12 30 a m of March 3 1983 However the years the month the hours the day the day of the week the hours and the minutes can be omitted ALM In the above example the alarm will sound at 30 minutes of every hour of the clock ALM In this example the alarm will sound every day at 12 30 a m The alarm sounds for one minute To stop the alarm depress...

Page 69: ...02 HOl should be typed For example to sound the alarm on Monday Tuesday and Wednesday type 56 32 Mon 16 Tues 8 Wed hours Type a number between 0 and 23 minutes Type a number between 0 and 59 The parameters may be separated by commas semi colons or slashes You can also use a combination of these symbols However all the parameters must be enclosed with double quotation marks For example to sound the...

Page 70: ... Please refer to the BASIC Reference Manual for details about these functions and command Here only a simple example of how to set a start program is given First with the power turned ON input the following program 10CLS 20PRINT WELCOME TO X 07 30PRINT DATE 40PRINT TIME Next type START RUN OFF 1 The power is turned OFF and the display is erased off the LCD Now turn ON the power WELCOME TO X 07 83 ...

Page 71: ...ed on the keyboard for you CHR 13 is the control code for carriage return The OFF 1 command is a command which instructs the X 07 to execute the start program If the OFF 2 command is typed when the power is turned ON nothing happens even if the START function is set The OFF 1 and the OFF 2 commands do not change when the OFF key is depressed 2 1 5 User defined keys function keys The lf1J to EID ke...

Page 72: ...ed Executes the program in the text area This key is not set Displays today s date on the LCD Complete this command by typing the file name and then depress RETURN key to execute the CSAVE command Complete this command by typing what you want calculated or displayed and then depress the RETURN key to execute the PRINT command This key is same as the ITJ key Next depress the RETURN key and variable...

Page 73: ...o try the I key You can quickly find out which key is set with which command by executing the following command CONSOLE 1 tim cld loc 1st run Next keep depressing the KEY dat csv prt sip cnt It s nice to be able to see the command of each key However you can now use only 3 lines of the LCD To erase the display type CONSOLE 4 0 64 ...

Page 74: ...ction is as shown above The argument of the KEY function is the number of the user defined key The first three characters of the character string enclosed in double quotation marks are displayed at the bottom of the LCD when the CONSOLE command is executed to display which user defined keys are set with which commands The rest of the characters constitute a command and are displayed at the cursor ...

Page 75: ... tone greater the value of the parameter longer the length of the tone C B c en DD E F F G G A A B c B do si do re mi fa so la i3 14 15 16 17 18 19 20 21 22 23 First parameter of BEEP si do si 24 The relationship between the first parameter of the tone and BEEP is as shown above The first parameter is as shown above for 1 to 48 and sound can be generated in 4 octave ranges The second parameter spe...

Page 76: ...le 8 RETURN As the variable 1 to variable 8 data 1 to data 8 can usually be constants they are decided with a diagram 27 26 25 24 23 22 21 2 27 26 25 24 23 22 21 2 I data 1 o o o o o o o o 1 1 data 2 1 1 1 1 1 o o o data 3 1 o 1 o 1 o o o t 1 I data 4 1 1 1 1 1 o o o 1 1 data5 1 o 1 o 1 o o o i J data 6 1 1 1 1 1 o o o t t I J data 7 o o o o o o o o data 8 o o o o o o o o Part which is displayed I...

Page 77: ...and if variables are used instead of constants to define the FONT function it can be used in many interesting ways The CONSOLE command is used to clear the once defined character and restore the previous character CONSOLE 1 Let s check PRINT CHR 12S The character code 128 corresponds to the 11 ZJ key in the graphic mode Set the character code to another character and then depress the ITZJ keys How...

Page 78: ...al devices 2 2 2 The list of main peripheral devices Here is a list all the optional peripheral devices are available or will be available with the X 07 Please note that the peripheral devices described here not yet available might be different when they actually come on the market Optical Coupler X 721 Thermal Printer X 711 RS 232C Level Converter X 722 Utility card 80 unit standard printer which...

Page 79: ... carried anywhere Not only does the X 710 print out program lists and results of calculations but as a X Y plotter it draws various diagrams Specifications Paper Printing Graphics Interface Batteries Printing speed Dimensions Weight 70 Conventional 114 mm width printer paper 16 modes smallest character 80 characters line X Y plotter Centronics specifications Ni Cd 10 chracters second smallest char...

Page 80: ...th thermal roll paper Batteries Ni Cd Dimensions 194 5 W x 30 H x 87 5 D mm Weight 420g 3 Utility cards Inside the compact cards the size of a credit card there are 8K byte ROM or RAM planned 4K memory cards 4K RAM cards have a lithium battery for back up power Therefore their contents are retained even when they are taken out of the X 07 Application cards ROM cards are available as mask ROM for e...

Page 81: ...hium battey Life over 1 1 2 yr 2 Memory cards RAM cards The memory cards are used to store your programs and data There are two types 4K RAM with battery back up and SK RAM with battery back up planned Programs and data can be saved and loaded much faster than with a cassette recorder They are also compact so that they can be carried around easily The RAM cards have a battery back up so that their...

Page 82: ...X 721 This device changes the output from the serial terminal into infrared rays for cableless communication with another X 07 or other peripheral devices The transmitting receiving section is designed so that its directivity can be changed easily Specifications System Possible area of communication Infrared ray data transmission reception Indoor Sm in direct Line Data format Asynchronous serial m...

Page 83: ... 722 This device converts the outputs of the Optical Coupler X 721 or of the serial terminal to RS 232C signals Specifications Power supply Dimensions Weight 74 AA x 4 batteries or AC Adaptor AD 4 200 W x 26 5 H x 86 D mm 190 g ...

Page 84: ... X 07 There are four types of utility card 4K memory cards 4K RAM cards SK memory cards SK RAM cards CANON program cards ROM RAM cards and application cards SK ROM cards This section covers the usage of these cards 2 3 2 How to insert a utility card The utility card compartment is located on the bottom of the X 07 ID Utility card compartment 75 ...

Page 85: ...X 07 First turn OFF the power and then proceed as follows 1 Set the lock switch to OFF When this switch is set to OFF the power is turned OFF 4 The utility card compartment is as shown 76 2 Pull the lock switch in the driection of the arrow and 3 remove the cover ...

Page 86: ...e contents of memory might be destroyed 2 3 3 How to change the battery of a memory card The procedure for changing the lithium battery of a 4K memory card 4K RAM card is as follows 1 Remove one of the screws on the card 2 Push in the round battery compartment cover and turn it counterclockwise until the cover lifts Remove the cover and change the battery Replace the cover and turn it clockwise i ...

Page 87: ...emory cards 4K RAM cards have 4K CMOS RAM and a battery for back up power Therefore stored programs and data are retained even when they are removed from the X 07 We will now explain how to use these cards RAM file We quickly covered the RAM file in Chapter 1 Let s now look at it in more detail Please keep in mind that an address is used to find out what is stored in which part of memory n address...

Page 88: ... into The area from the upper part of the RAM area from the youngest address is reserved for the text area The RAM file is reserved an area specified by the FSET command from the lower part of the RAM area Please look at the diagram below 4K X 07 by itself Memory card RAM RAM file Free area Text area X 07 RAM card RAM file Free area Text area 79 ...

Page 89: ...e to 4096 bytes However it can by any number as long as it is less than 4096 But don t make it so small that the set area cannot accommodate a program On the other hand if you set it too large you won t be able to read the contents of the RAM card afterwards To avoid such problems please keep the following points in mind Points to keep in mind when using a RAM card The size of the RAM file is set ...

Page 90: ...ill not be able to locate a program At this point when the power is turned ON the following message is dis played Create System The above message indicates that the structure of the RAM file is odd and that the BASIC system cannot process the RAM file In such a case input Y and depress the RETURN key to destroy the old RAM file in the X 07 If you do not want to destroy the contents of the RAM file...

Page 91: ...is not large enough and the beginning of the RAM file takes up part of the X 07 s RAM area If you remove the RAM card and then turn ON the power the following is displayed FS Error Create System This means that latter half of the RAM file inside the card is missing In this state the RAM file is initialized and the former half of the RAM file is destroyed Please remember that when the set size of t...

Page 92: ...e software contained in the application card When the power is turned ON with an ap plication card inserted an utility program other than the BASIC might start This also applies when a CANON program card is inserted Therefore before using an application or a CANON program card always read its instruction manual 83 ...

Page 93: ...printer which conforms to the Centronics specifications can be con nected to the X 07 Of these three printers the Color Graphic Printer X 710 is very portable can print out in 4 colors can be used as a graphic plotter and has many other outstanding features This section explains how to use the X 710 in may different ways 2 4 2 How to setup the X 710 To X 07 84 ...

Page 94: ...rily and Low battery might be displayed on the LCD This is due to noise from the power supply and there is no need to change the batteries If this bothers you connect with the power of the X 07 turned OFF After connecting the X 710 depress its reset button and you are ready to use the X 710 2 4 3 Printing out a text The following commands are used to output a program list or the result of a calcul...

Page 95: ...N CANON is printed out in 16 different sizes Some of you might have been surprised by some of the sizes Let s now go into detail about how to use the LPRINT command LPRINT I J CANON X Y t Character size Color Two parameters are placed in following the instruction word The first parameter is between 1 and 16 and indicates the size of the characters To find out how many characters can be printed out...

Page 96: ...LPRINT and the LLIST commands are similar to the PRINT and the LIST commands For details on these please refer to the BASIC Reference Manual 2 4 4 How to use the X 710 as a graphic printer The X 710 is an X Y plotter type intelligent printer Accordingly the control commands of the X 710 are exclusively to the printer and therefore the plot ter cannot be controlled using the BASIC commands of the X...

Page 97: ...ion manual for the X 710 This section describes only the main graphic commands As the X 710 is a plotter type printer the basic commands are pen up pen down and the position of the pen For example the DRAW command draws a line between two set of coordinates LPRINT D 0 0 100 100 When a command such as above is executed the pen is moved to and settled on the 0 0 coordinates and then a line is drawn ...

Page 98: ...ts the current position of the pen as the star point And all other co ordinates are positioned from that point Program sample This is an example of a program in which the X 07 is used as a plotter First reset the X 710 by depressing its reset button and execute the following pro gram on the X 07 A4 mm matrix is drawn on the X 710 10 LPRINT CHR 18 20 LPRINT M 240 O 30 LPRINT l 40 FORX 200 TO 200 ST...

Page 99: ...e connections for transmitting receiving pro grams and data The signals sent by the X 721 conforms to the specifications of the asyn chronous serial signals Accordingly softwarewise the signals are processed as access of the serial port Therefore this section covers not only the X 721 but also the asynchronous serial signal specifications RS 232C and serial communication 2 5 2 How to connect the X...

Page 100: ...ce name for op tical coupler 2400 means that the transmission rate baud rate is 2400 baud bits second A is the ACIA transmission mode Please refer to Chapter 3 Reference for deatils on baud rates and transmission modes The INIT instruction assigns the file number 1 to the X 721 and also sets the rule for communicating with the X 721 If the above instruction is executed during a program the INPUT 1...

Page 101: ... 07 is stored in the variable A and then the input is transmitted through the optical coupler by the PRINT 1 statement In the receiving X 07 the input from the optical coupler is stored in the variable A by the INPUT 1 statement Then the contents of the variable A are displayed on the LCD by the PRINT statement 92 ...

Page 102: ...7 several 8 units data are handled in parallel Accor dingly such parallel data must be converted to serial data The form of this conversion is set by the transmission mode In the previous section ACIA t ansmission mode was mentioned This referred to a conversion form Also in serial communication the timing of the signals is very important To do so it is necessary to know the transmission rate of t...

Page 103: ...oustic coupler The serial input output terminal of the X 07 has only 9 pins which is the min mum number of pins needed to conform to the RS 232C specifications Therefore it cannot be connected to many RS 232C terminal connectors which have 25 pins The RS 232C Level Convertor X 722 is used to connect the X 07 to standard connectors It is also used to supply power to the optical coupler The diagram ...

Page 104: ...to a serial printer These five devices use the ACIA Asynchronous Communication Interface Adopter and baud rate generators The X 07 has only one ACIA and one baud rate generator Therefore it cannot open all these devices at the same time Following is an explanation of other devices and what happens at INIT GPR LPT KBD RAM CON After the character size to a graphic printer is set to 2 the CR carriage...

Page 105: ...Line 10 file number 1 is assigned to a serial 1 0 device However at Line 20 when the BEEP statement is executed the assigned file number 1 is canceled and an error is generated at Line 30 Same thing occurs when the BEEP instruction is executed before the INIT instruction 10 BEEP 5 10 20 INIT 1 COM 30 A INP 1 In the above example no sound is heard The BEEP statement specifies the tone and the lengt...

Page 106: ...evice 0 0 Baud rate 100 ACIA mode A to RS 232C to 8000 H Default 4800 Default B OPT Optical coupler 0 0 Buad rate 100 ACIA mode A to 1 0 to 24000 H Default 1200 Defualt B GPR Color graphic 0 printer LPT Centronics type 0 printer PRT Thermal printer 0 300 baud fixed CASI Cassette recorder 0 input 1200 baud fixed Mode B fixed CASO Cassette recorder 0 output 1200 baud fixed Mode B fixed RAM RAM file ...

Page 107: ...00 ...

Page 108: ......

Page 109: ...nts for Chapter 3 3 1 Hardware specifications for the X 07 3 2 Internal structure of BASIC 3 3 Interface specifications 3 4 How to use the Color Graphic Printer X 710 3 5 List of BASIC instructions and functions 100 ...

Page 110: ... Utility card connector Max 16K bytes Extension bus connector Parallel port interface Parallel port Cassette interface CD LCD 20 units x 4 lines EJ CV BK byte RAM 20K byte ROM 1 0 control chip Display driver 2K bitsx2 Sub CPU T6834 2K byte RAM Serial port interface Serial port Buzzer interface 15P Cassette jack 9P 101 ...

Page 111: ...dy connected with an 8K byte extended RAM Caution This socket is for extending memory However do not use this socket carelessly If an inappropriate memory IC is connected it might damage the X 07 Do not use this socket by yourself Consult your dealer Sub CPU The 8 bit CPU controls the keyboard the timer the LCD etc Even when the power is turned OFF it keeps functioning on power supplied by the bat...

Page 112: ...ecifications Cassette interface Interface for recording and playing back programs on a cassette tape It employs the FSK modulation method which converts data 1 to 2400 Hz and data O to 1200 Hz Transmission rate is fixed at 1200 baud Serial interface This is a 9 pin serial 110 port which conforms to the RS 232C specifications When used as a conventional communication port the transmission rate can ...

Page 113: ... Utility card connector 4K byte or SK byte RAM or RAM ROM card can be connected Extension bus connector An address bus a data bus and a timing bus can be used 104 ...

Page 114: ... X 07 memory area is reserved as follows When ROM is connected Address to memory socket FFFF 80 4000 0000 System ROM 20K TV ROM 4K 2K V RAM 6K Application card ROM BK Memory socket ROM BK Memory card RAM BK C3H Internal RAM When RAM is connected to memory socket BASIC Interpreter Extension station Memory card RAM BK Memory socket RAM BK File area System area Text area 105 ...

Page 115: ...e memory socket This area is reserved for a special use by SK byte CMOS EPROM or mask ROM 2000 5 FFF 400 5 FFF area is for ROM However when a RAM is connected to the memory socket address range of the memory socket is 20 3 FFF and that of the memory card is 4000 5 FFF This is so that the RAM area can be used continuously Switching of this address range is performed with a DIP switch In this way th...

Page 116: ... TV screen control ROM It exists in an extension station and not in the X 07 and functions along with the BASIC ROM of the X 07 B 000 FFFF 20K bytes This area is for the BASIC interpreter inside the X 07 The address C3C3 mentioned in the section on 00 1 FFF is in this area 107 ...

Page 117: ... describes this 1 0 map 1 0 address 00 7 F Area which can be used by the user The user cannot use the area over 80 FF 80 8 F CGROM area Contents of a character generator for TV are read into this area 90 Space for TV control BB Space used by the CPU NSC 800 This port enables disabls restart inputs RSTA RESB RSTC and interpreter requests IRQ which are control by the hardware FO F7 space inside 1 0 ...

Page 118: ... of BASIC and the representative pointers of each section are shown below FFFF 0000 MM RAM FILE Machine language area Contents Used of string variables Unused Stack Array Variables Program midway code SYSTEM WORK RAMEND RAMSTRT MEMSIZ FRETOP STKTOP STREND ARYTAB VARTAB TXlTAB 109 ...

Page 119: ...3 R02END Address HEX OOB2 0322 0324 0326 OlDD 0204 OlDF 0210 0212 ooc 0013 0024 0026 3 2 3 On the interior of BASIC 1 SYSTEM WORK area The area covers 0 551 2 Program intermediate code area The start of this area is indicated by TXTTAB 00 B2H The format of the midway code is as follows Pointer Line 110 Program line 00 Pointer Line Program line 00 Pointer ...

Page 120: ...rea is indicated by STKTOP 01 DDH The BASIC system constantly monitors STREND and the present stack SP to make sure that the stack area does not destroy the array area 6 String area The range of this area is indicated by STKTOP 0324 H and MEMSIZ 01 DFH The size of this area is set by the first parameter of the CLEAR instruction However when a default occurs it is set to 50 bytes When the string ar...

Page 121: ...he value of MEMSIZ which is set with the second parameter of the CLEAR instruction 8 RAM file area The range of this area is indicated by RAMSTRT 0210 H and RAMEND 0212 H 9 ROM 1 file area The range of this area is indicated by ROlSTRT 000 CH and ROIEND 0013 H 10 ROM 2 file area 112 The range of this area is indicated by R02STRT 0024 H and ROlEND 0026 H ...

Page 122: ... The size of the RAM file is set with the BASIC FSET instruction Each file in the RAM file is automatically reserved an area according to its size FFFF FILE mark Verify pointer FILE KEYWORD RAM RAMEND file area RAMSTRT FILE KEYWORD Text area 0000 Reservation of files in the RAM file Length f Length f L 6 1 2 5 File name Spare Program FILE 2 0 RAMSTRT One file FILE 1 RAMEND File end 113 ...

Page 123: ...icates the same start asRAMSTRT 4 There is a 2 byte area called FILE mark It contains 5AH and ASH 5 When the RAM file is initialized RAMSTRT and RAMEND indicate the same area and its content is 00 And also the size of the RAM file is set to 4 1 4 2 2 13 bytes 6 File name uses 6 bytes file type 1 byte length 2 bytes and spare 5 bytes 7 Files are condensed inside the RAM file 00 if included at the b...

Page 124: ... are created from 2 bytes By writing in an address the control can be moved to that address 3 Entry address 0 is the entry address when the BASIC system initializes the 1 0 control chip and the minimum amount of work area The interpreter is masked 4 Entry address 1 is the entry address just before when the BASIC system displays the Copyright message 5 Entry address 2 is the entry address when the ...

Page 125: ...e KEYWORD above the current RAM file s verify pointer does not match the KEYWORD after the current RAM file The RAM file can be recreated initialized condition by inputting Y RETURN 3 Create system This is displayed when the start and the end of the current RAM file do not match the addresses indicated bv RAMSTRT and RAMEND When RETURN is input RAMSTRT and RAMEND are rewritten to the addresses of ...

Page 126: ...f RAM area N Check addresses indi cated by SYS area s RAMSTRT and RAM END and addresses indicated by current verify pointer and end N y Initial screen Write in values of current file into RAMSTRT and RAMEND y y Write in FILE marks Initialize RAM FILE 117 ...

Page 127: ...s reset General work area CD t t t 0000 OOAE 0084 OOBE There are three methods for starting the BASIC system a Start from reset t 0552 Initializes areas CD and of the above diagram b Start when the power is turned on Initializes areas CD and of the above diagram c Start from sleep Initializes area CD of the above diagram Each area of CD and has images which initialize ROM and are transmitted to RA...

Page 128: ...ecomes the console device The X 07 can be remote controlled from afar through the RS 232C Level Convertor To cancel this state 1 Tum OFF the power and then turn it ON again 2 Excute the following instruction from the console device the serial 1 0 device EXEC HEE33 Example 2 To merge programs to copy two or more programs into one Load a program into the text area Next type INIT 5 LIST 500 LIST 5 RE...

Page 129: ...ides the above two examples you can use file number 5 in many other ways For example 1 To delete or to load part of a program 2 To search for or dump a specific string cross reference and variable name search 3 Code conversion of contents of a PRINT instruction capital letters small letters 4 To use other serial type keyboard Caution When CON or a device which is not an input device GPR CASO LPT a...

Page 130: ...Time CD One program CSAVE Name GIJ CD 2400 Hz 4 seconds D3H X10 File name Name 2400 Hz 0 25 second Program data NUL X13 2 400 Hz 0 5 second CD This is a header uritil the motor of the cassette recorder stabilizes As it lasts for 4 seconds you can search for the beginning of a program by sound This is an 8 bit code with ten D3H File name can be up to 6 characters If fewer than 6 characters are used...

Page 131: ...200 Hz 1 cycle 1 2400 Hz 2 cycles The serial port is a input output terminal for asynchronous serial transmission Except for the signal level and the shape of the connector it conforms to the BIA RS 232C specifications This section gives a simple explanation of ACIA transmission modes and terms related to the serial port For details on asynchronous serial transmis sion please refer to books on thi...

Page 132: ... the number of bits in a group A word can consist of 7 or 8 bits Two bits are used to separate one word from another One bit is used to test for errors for example due to noise from signal line There are two types of parity bit even and odd Transmission modes Various commnication methods can be set by combining the settings of the baud rate word length stop bits and parity bit These combinations a...

Page 133: ...l dara transmission and it conforms to the Centronics specifications Eight signal lines are lined up in parallel and one byte 8 bits of data can be sent at one time Various types of printer can be connected For details on Centronics specifications please consult books on this subject 124 ...

Page 134: ...M GND REM MON MIC Signal name LTxD FG N C TxD RxD CTS RTS SG VBB Cassette recorder One way to REMOTE jack Signal ground One way to REMOTE jack Connect to playback EAR jack Connect to recording jack Direction Contents OPT transmission DATA Frame ground Transmitted DATA Received DATA Other device receiving X 07 receiving Signal ground Unstable power supply 125 ...

Page 135: ...A6 7 DATA 8 DATA8 9 STROBE 10 GND 11 BUSY 12 GND 13 VPR 14 GND 15 GND 126 15 13 II 9 7 5 3 I 14 12 10 8 6 4 2 Direction Contents Output data to printer DATA 1 is LSB and DATA 8 is MSB Strobe signal for printer to read DATA Printer is busy Transmission not possible Power supplied to X 07 5V ...

Page 136: ...ND 12 RD 22 D6 32 A14 3 GND 13 KACL 23 D5 33 A13 4 GND 14 MAB 24 D4 34 A12 5 RESET 15 INTA 25 D3 35 A11 6 BUZZ 16 SI 26 D2 36 A10 7 VEX 17 so 27 D1 37 A9 8 VEX 18 INTR 28 DO 38 A8 9 ALE 19 RSTC 29 CLK 39 VCC2 10 WAIT 20 NMI 30 10 M 40 VCC2 Cassette cable REM GND 2 I Drain wire Remote plug black I I REM I I I 4 I MON I Playback plug gray I I MIC _ Recording plug red 127 ...

Page 137: ...le 1 1 0 0 2 Drain wire 2 3 I I 3 0 0 I I I I 8 I 8 0 9 9 0 Printer cable 15 pin 12 core 128 I 2 I I I 8 I I 4 I I I I 5 I I I I 6 I I I I I I 8 I I I 9 10 II 11 I I 0 12 I 0 I I 18 I I I I 0 14 I 0 15 Drain wire ...

Page 138: ...0 30 0 310 320 330 340 350 0 STROBE DATA1 DATA2 DATA3 DATA4 DATAS DATA6 DATA7 DATAB BUSY READY PE PAPER EMPTY PRINTER ENABLE PRINTER POWER ON S GND N C S GND F GND SV I J GND when signal lines are twisted pair N C initialize printer ERROR printer is abnormal S GND N C SLCT INSELECT DATA entry to printer possible when signal is LOW 129 ...

Page 139: ...8 steps 409mm Drawing speed 52mm second max in X or Y direction 73 mm second max in 45 direction 3 4 2 Control codes and graphic commands Control codes BS back space LF line feed LU line up CR carriage return DC 1 text mode DC 2 graphic mode Graphic commands A ALL INITIALIZE CHR 8 CHR 10 CHR 11 CHR 13 CHR 17 CHR 18 Moves the pen to the upper left corner and returns to the text mode with that posit...

Page 140: ...yn Starting from the current pen position lines are drawn one by one to the relative position xn yn L LINE TYPE Ln n 0 15 When n 0 a solid line is drawn When n 1 15 pitch of a dotted line is set M MOVE M x y The pen is raised and moved to x y P PRINT P cl c2 c3 en n 5256 Prints characters during the graphic mode Q ALPHA ROTATE Qn n 0 3 Changes the angle of characters R RELATIVE MOVE R y The pen is...

Page 141: ...ions and functions Instructions Functions Graphics CIRCLE POINT CLS LINE PSET PRESET Variables CLEAR CDBL DEFINT CINT DEFSNG CSNG DEFDBL VARPTR DEFSTR DEFFN DIM ERASE LET Files CLOAD CLOAD CSAVE DELETE DIR DIR FSET LOAD SAVE 132 ...

Page 142: ...O ERR RESUME TRON TRON TROFF Program control CONT END FOR TO STEP NEXT GOTO GOSUB RETURN IF THEN ELSE ON GOTO ON GOSUB RUN STOP Input output INIT INKEY INPUT INP INPUT SCREEN LINE INPUT SNS LINE INPUT STICK LPRINT STRIG OUT TKEY PRINT PRINT USING PRINT PRINT USING 133 ...

Page 143: ...unctions Data DATA READ RESTORE Memory and machine language EXEC FRE OUT PEEK POKE USR Editing commands LIST LLIST LIST LIST NEW Power switch OFF Console cursor control CONSOLE CSRLIN CONSOLE FONT LOCATE KEY POS 134 ...

Page 144: ...Instructions Functions Character strings ASC CHR INSTR LEFT LEN MID RIG HT STR STRING VAL Calculations ATN cos EXP LOG RND SIN SQR TAN Timer ALM DATE TIME 135 ...

Page 145: ...136 Instructions Others BEEP MOTOR REM Functions ABS FIX HEX INT SGN START TAB ...

Page 146: ......

Page 147: ......

Page 148: ...rio L4V 1N4 Canada CALGARY 2828 16th Street N E Calgary Alberta T2E 7K7 Canada CANON EUROPA N V P O Box 7907 1008 AC Amsterdam The Netherlands CANON FRANCE S A DIVISION CALCUL 93154 Le Blanc Mesnll Cedex France CANON RECHNER DEUTSCHLAND GmbH Fraunhoferstrasse 14 Postfach 8033 Miinchen Martinsried West Germany CANON UK LTD Wadden House Stafford Road Croydon CR9 4DD England CANON LATIN AMERICA INC S...

Page 149: ......

Reviews: