![]() |
Canon X-07
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
What's in the box? | Video interface | The printers | Software / Programmation |
Here you'll find the volume control for the internal speaker and the large expansion port that makes the link with the X-720 video interface (to be verified). No other usage as far as I know.
But you can use it in an unexpected way: linking two particular pins runs the NMI routine through a vector that you can customize and that can react to an external event. |
![]() |
![]() |
From left to right:
|
There you can find the serial port. Not exactly RS-232 compatible, an interface is requiered. |
![]() |
![]() |
Three traps can be opened under the Canon:
|
![]() |
Go to this page to learn more about its caracteristics! |
![]() |
![]() |
This printer has 4 color pens (black, blue, green, red). It can work in both graphic and text mode. In graphic mode, you drive the pen with a coordinate system to describe the drawing with pen up and down functions. It's something like the turtle programming in LOGO. |
![]() Here is the picture of the two wires I soldered to pick up the input voltage. The "+" is taken directly at the entry. The "-" is taken under the diode (close to the yellow wire). |
![]() In the battery compartment, those wires are connected to the two pins (I took this connector from an old PC). Pay attention to the polarity! |
![]() |
Without any problem, you can connect the Canon to a standard parallel printer.
Here I made a test with a laser Xerox Docuprint P8E! You can use the commands "LPRINT" or "LLIST".
|
Here is the cable: I sacrified a cable from the X-710 cutting it and I soldered a female DB-25.
What I do is to add to the Canon X-07 a standard Centronics connector.
Of course, you can plug a printer to it, but why not imagine other links? To drive a ZIP // ? (Waow, this would be great!)
![]() CANON X-07 DB-25 female 1 (brown) ------> 2 (D0) 2 (red) ------> 3 (D1) 3 (orange) ------> 4 (D2) 4 (yellow) ------> 5 (D3) 5 (green) ------> 6 (D4) 6 (blue) ------> 7 (D5) 7 (violet) ------> 8 (D6) 8 (grey) ------> 9 (D7) 9 (white) ------> 1 (Strobe) 11 (pink) ------> 11 (Busy) 13 (black) not connected (+5V) 15 (metal) ------> 18-25 + cover (gnd) |
![]() |
Here is the screen copy routine for a 24 dot matrix printer (Epson comp).
|
![]() Routine to print the screen. |
![]() Result of the execution. |
Here is the screen dump The total time to print is 1'19", that's pretty slow! The BASIC takes time to create each line. The printer is inactive most of the time. I imagine that a direct memory access could make things faster than using POINT()... Note that INIT prints "S1" when openning... For a 9 dots printer you should change the line 80: 80 out#1,27:out#1,65:out#1,8:out#1,10 |
| ![]() What's displayed when DIR is used on the RAM disk, you see the file list and how many bytes remain free among the 4096. |
| ![]() Instructions LINE and CIRCLE |
| ![]() From A=2, the program computes 20 times the square root and then 20 times the square. The result is really close to 2 and this lasted 5 seconds (function TIME$ used) |
The cable to load or save programs and data has three jacks
One problem I encounter: when reading, if the red jack is plugged in, I only get noise from the tape reader. I have to remove it to get the correct sound, I plug it when I record a program. This may be a problem with my tape recoder and not with the Canon itself. |
![]() |
CLOAD [Return] if it's from the tape LOAD"LOADAS" [Return] if it's from the RAM disk |
RUN [Return] |
10 '[ 20 'LD A.$11 30 'LD HL.#PX 40 'LD BC.$200 50 'CALL $C92F 60 'RET 70 '#PX DEFB &119,31 80 '] |
tells the assembler to start here A=$11 function PSET in ROM HL points to the pixel coordinates B=2 (2 bytes to send), C=0 (zero to receive) call the ROM routine that plots the point end of the routine buffer with the pixel's coordinates (119,31) down right on the screen! tells the assembler to stop here. |
EXEC &H1C00 [Return] |
0 CLS : GOTO 90 10 '[ 20 'LD A.$11 30 'LD HL.#PX 40 'LD BC.$200 50 'CALL $C92F 60 'RET 70 '#PX DEFB &119,31 80 '] 90 PRINT"Assembly...":EXEC 11087 100 PRINT:PRINT"Execution..." 110 EXEC &H1C00 120 END |
>> clears the screen and skips the assembly part >> the & to tell that decimal values are used >> this EXEC is the same as Ctrl+A, the assembler creates our routine! >> and the BASIC executes the routine. |
Running this last program, everything is done at once: the assembler creates the routine, executes it, you can see the expected pixel on the next picture! |
![]() |
![]() |
The XP-140 card is a ROM/RAM card containing a monitor assembler. It brings
news BASIC calls for memory managment (BSAVE, BLOAD, etc) and a m
monitor debugger to help you debugging your assembly programs. As many cards, it comes with 4KB RAM. |
![]() Manual and card kindly offered by Tibor Rado from Switzerland. Thanks to him! |
![]() |
The XP-110f card is a ROM/RAM card containing a Database program in
two parts. One dedicated to addresses/phone book and another where you can define the type of
data you want to work with. You can make quieries upon you data and print/view the results. As many cards, it comes with 4KB RAM. |
![]() Manual and card kindly offered by Tibor Rado from Switzerland. Thanks to him! |
The XP-150 card is a ROM/RAM card that extends the maths capabilities. It brings:
![]() |
![]() |
||
|
|||
The XP-120f card is an application card turning your computer into a spreadsheet (in french).
Reading the manual, it appears to lack a lot of maths functions and the copy/paste don't seem to be present for formulas. Even the 4KB RAM are not really convenient for personal usage as they are dedicated for sheet storage and as the computer boots under the "Table" program first. You have to jump to Basic with F4 with no return possibility (unless you switch off and on the computer). |
![]() |
||
|
|||
The XP-130f card is an application card to print different types of graphs (in french).
It also brings 4 KB of RAM. ![]()
Thanks to Pierre Héricourt for the scan! |
![]() Thanks to Jorge Alvarez for this card! |
The XM-100 card brings 4KB of RAM saved by a battery. No ROM is included. |
![]() |
|
|
The XR-100 is an IC TC5565PL-15L or HM6264LP-15 that doubles the amount of RAM from 8KB to 16KB.
![]() |
![]() |