home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / sys / handheld / 1880 < prev    next >
Encoding:
Internet Message Format  |  1992-08-16  |  31.2 KB

  1. Xref: sparky comp.sys.handhelds:1879 comp.sys.handhelds:1880
  2. Newsgroups: comp.sys.handhelds,comp.sys.handhelds
  3. Path: sparky!uunet!munnari.oz.au!uniwa!cujo!cc.curtin.edu.au!rwoodsaj
  4. From: rwoodsaj@cc.curtin.edu.au
  5. Subject: DUMP TOOL for SHARP PC-E500
  6. Message-ID: <1992Aug17.140453.1@cc.curtin.edu.au>
  7. Lines: 733
  8. Sender: news@cujo.curtin.edu.au (News Manager)
  9. Organization: Curtin University of Technology
  10. Date: Mon, 17 Aug 1992 05:04:53 GMT
  11.  
  12.  
  13. The following document includes and explains two programs.  The first allows
  14. you to look into your PC-E500/E500's memory, modify memory (be careful) and
  15. also enter programs from popular (Japanese) magazines.  The second program
  16. (written in machine language) is an assembler for the PC-E500.  I know the
  17. assembler won't be much use to you without memory maps, instruction tables
  18. etc, (these are available) but the sample programs should be of some initial
  19. interest.  
  20.  
  21. This document was given to me by my Sharp dealer.  I do not know where it
  22. came from (apart from Japan) and I do not know who wrote it (apart from the
  23. fact that he is be VERY good).  I do not claim to be the author of this
  24. document or programs.  If anyone does know who it is by, please let me know.
  25.  
  26. The document appears almost exactly as it was given to me except that I have
  27. corrected the english in a few places and also added a section at the end of
  28. the document which explains how the hex dump can be entered through the
  29. serial port rather than the keyboard.
  30.  
  31. Happy programming and PLEASE if you have any public domain programs for the
  32. PC-E500 please post them to the net or EMAIL me a copy.
  33.  
  34. P.S.  There is more where this came from...
  35.  
  36. -----------------------------------------------------------------------------
  37.   Andrew Woods   | Centre for Marine Science and Technology,
  38.                  | Curtin University of Technology,
  39.       _--_|\     | GPO Box U1987, Perth W.A. 6001, AUSTRALIA.
  40.      /      \    | Internet: WOODS_AJ@cc.curtin.edu.au
  41.   -->\_.--._/    | Bitnet:   WOODS_AJ%cc.curtin.edu.au@cunyvm.bitnet
  42. Perth      v     | UUCP:     uunet!munnari.oz!cc.curtin.edu.au!WOODS_AJ
  43. -----------------------------------------------------------------------------
  44.  
  45.  
  46.                               PC-E500 DUMP TOOL
  47.                               -----------------
  48.  
  49. This program contains the following functions.  (all numeric data are input
  50. in hexidecimal notation).
  51.  
  52. 1. Dump list (list of memory contents)
  53.    When the program is run and an address is entered in 5 digits of hexa-
  54.    decimal notation.  Contents equivalent to 16 bytes of the address are
  55.    displayed.
  56.  
  57.          (display)
  58.              ------------------------------------------
  59.              |00000 =BC 40 00 00 E8 56 0B E9 /........|
  60.              |[2E,D3]F6 0B 80 00 92 B5 0B 00 /........|
  61.              |00010 =06 00 A0 F5 5C 41 20 20 /........|
  62.              |[78,79]00 02 9F 9F 9F 00 F9 A1 /........|
  63.              ------------------------------------------
  64.                ^   ^                            ^
  65.                |   |                            |
  66.    data check-sum  \--data check-sum            \--ASCII code
  67.    of 00010H-00017H   of 00018H-0001FH
  68.  
  69.    If any key is pressed, automatic scrolling stops temporarily.  If any key
  70.    is pressed again, it resumes.  Pressing the [Q] key returns to address
  71.    input mode and pressing [S] key returns to alteration mode of memory
  72.    content.
  73.  
  74. 2. Alteration of memory contents.
  75.    Press the [S] key while executing dump list to enter the mode in which
  76.    imput/change of memory contents is possible.  When the "SET ADDRESS=" is
  77.    displayed, input the desired address.
  78.  
  79.          (display)
  80.              ------------------------------------------
  81.              |SET ADDRESS=BFCBC                       |
  82.              |BFCBC(05)=(DATA)                        |
  83.              |      |     |                           |
  84.              |      |     |                           |
  85.              -------|-----|----------------------------
  86.                     |     |
  87.                     |     \------new data
  88.                     |
  89.                     \-old data
  90.  
  91.    If [ENTER] is pressed without inputting data, it becomes possible to
  92.    proceed to the next address without changing value.  You can return to the
  93.    proceeding address by one by inputting "-" and to the first address input
  94.    in this mode by inputting "Q".  If "Q" is input once again, you can return
  95.    to the dump list mode.
  96.  
  97.    *NOTE*
  98.    
  99.    *  Rewriting of memory contents must be executed carefully.  (Runaway may
  100.       be resulted by wrong rewriting.)  (Further, due to Display-RAM address,
  101.       the display may get confused near the address 02000H.)
  102.    *  Be sure to reserve Machine-Code-Area before input.
  103.  
  104.       (method)
  105.          POKE&HBFE03,&H1A,&HFD,&H0B,&H(low),&H(mid),&H(high)
  106.          CALL&HFFFD8
  107.  
  108.       For example, if you want to want to reserve 001234H bytes, input as...
  109.             low=&H34, mid=&H12, high=&H00
  110.  
  111.       ('RESET' state is called by this execution.)
  112.       By doing this, 001234H bytes of 0BE9CCH-0BFBFFH is reserved as the
  113.       Machine-Code-Area.
  114.       Once the area us reserved as above, it is retained unless "ALL-RESET"
  115.       is executed.  (0BFBFFH=fixed address)
  116.  
  117.       (example: MACHINE CODE AREA = 1234H bytes)
  118.  
  119.       00000H  +---------------------+
  120.               |                     |
  121.               |   ------------      |
  122.               |                     |
  123.       40000H  +---------------------+---------+---------+8KB CARD+
  124.               |                     |32KB CARD|16KB CARD+--------+
  125.               |   64KB CARD         |         +---------+
  126.               |                     +---------+
  127.               |                     |
  128.               |                     |
  129.       50000H  +---------------------+
  130.               |   (FOR EXTENSION)   |
  131.               |                     |
  132.               |                     |
  133.               |                     |
  134.               |                     |
  135.       B8000H  +---------------------+ <------------\
  136.               |     USER AREA       |              |
  137.               |                     |              | INTERNAL
  138.               +---------------------+ <-\          | RAM
  139.               |   ^     ^     ^     |   | MACHINE  | (32KB)
  140.               |   |     |     |     |   | CODE     |
  141.               | SIZE = 1234H bytes  |   | AREA     |
  142.       BFC00H  +---------------------+ <-/          |
  143.       ------  |                     |              |
  144.               | WORK AREA (reserved)|              |
  145.               |                     |              |
  146.       C0000H  +---------------------+ <------------/
  147.               |                     |
  148.               |  INTERNAL ROM       |
  149.               |    (256KB)          |
  150.               |                     |
  151.       FFFFFH  -----------------------
  152.  
  153.  
  154.  
  155. DUMP TOOL BASIC LISTING
  156. -----------------------
  157.  
  158.  
  159.  
  160. 5 ' save as "DUMPTOOL.BAS"
  161. 10 'DUMP TOOL 1989.11.21  
  162. 20 CLEAR :CLS :ON ERROR GOTO "ERR1"
  163. 30 INPUT "DUMP ADDRESS=";Y$
  164. 40 AD=VAL ("&H"+Y$):C=-1
  165. 50 C=C*-1:AD$="00000":AD2$=HEX$ AD:AD$=LEFT$ (AD$,5-LEN AD2$)+AD2$
  166. 60 DA$=HEX$ TTL:IF LEN DA$=1 THEN DA$="0"+DA$
  167. 70 IF C=-1 THEN PRINT "[";RIGHT$ (DA$,2);",  ]";
  168. 80 IF C=1 THEN PRINT AD$;" =";
  169. 90 CHA$="":TTL=0:FOR T=AD TO AD+7
  170. 100 CHA=PEEK T:TTL=TTL+CHA:DA$=HEX$ CHA:IF CHA<32 THEN CHA=&H2E
  171. 110 CHA$=CHA$+CHR$ CHA
  172. 120 IF LEN DA$=1 THEN DA$="0"+DA$
  173. 130 PRINT DA$;" ";
  174. 140 I$=INKEY$
  175. 150 IF I$="S" THEN T=AD+7:NEXT :I$=STR$ (AD):GOTO 230
  176. 160 IF I$="Q" THEN T=AD+7:NEXT :GOTO 20
  177. 170 IF I$<>"" THEN BEEP 1:I$=INPUT $(1):BEEP 1
  178. 180 NEXT :PRINT "/";CHA$
  179. 190 AD=AD+8:IF AD>&HFFFFF THEN AD=0
  180. 200 DA$=HEX$ TTL:IF LEN DA$=1 THEN DA$="0"+DA$
  181. 210 IF C=-1 THEN LOCATE 4,PEEK &HBFC9C-1:PRINT RIGHT$ (DA$,2)
  182. 220 GOTO 50
  183. 230 "M":ON ERROR GOTO "ERR2"
  184. 240 PRINT :I$=Y$:INPUT "SET ADDRESS=";I$:IF I$="Q"THEN 30
  185. 250 AD=VAL ("&H"+I$)
  186. 260 AD$="00000":AD2$=HEX$ AD:AD$=LEFT$ (AD$,5-LEN AD2$)+AD2$
  187. 270 X$=HEX$ (PEEK AD)
  188. 280 IF LEN X$=1 THEN X$="0"+X$
  189. 290 PRINT AD$;"(";X$;")=";
  190. 300 INPUT X$
  191. 310 IF X$="Q"OR X$="S"THEN "M"
  192. 320 IF X$="-"THEN AD=AD-1:X$="":IF AD<0 THEN AD=&HFFFFF:GOTO260 ELSE GOTO260
  193. 330 IF VAL (X$)>255THEN 260
  194. 340 POKE AD,VAL ("&H"+X$)
  195. 350 AD=AD+1:IF AD>&HFFFFF THEN AD=0360 GOTO 260
  196. 370 "ERR1":RESUME 30
  197. 380 "ERR2":RESUME "M"
  198.  
  199.  
  200.  
  201. ASSEMBLER FOR PC-E500
  202. ---------------------
  203.  
  204. * How to input
  205.    1. Reserve the machine-code-area
  206.       Area more than 5KB is required for the machine language.
  207.        (example:  Approximately 8KB of machine-language)
  208.          POKE &BFE03,&1A,&FD,&B,0,&20,0:CALL&FFFD8
  209.    2. Input with DUMP TOOL
  210.          * Execute the DUMP TOOL
  211.          * Input the lead(top) address
  212.             BEC00 [ENTER]
  213.          * Press the [S] key
  214.          * Press the [ENTER] key
  215.          * Input the machine language program
  216.    3. Record the program in the peripheral device.
  217.          * Make sure that input is correctly made.
  218.          * Execute recording.
  219.             SAVEM "ASM",&BEC00,&BFBFF,&BEC00
  220.  
  221. * How to use (with example)
  222.    1. Input the source program in BASIC mode.
  223.          10 "       ORG   0BE000H     ;Addition sample
  224.          20 "START: MV    A,2         ;A=2
  225.          30 "       ADD   A,3         ;A=A+3
  226.          40 "       MV    [0BE020H],A ;POKE &BE020,A
  227.          50 "       RETF              ;RETURN
  228.    2. Execute the Assembler.
  229.          * LOADM "ASM" (If Assembler is already loaded, CALL&BEC00)
  230.          * If an error occurred, recheck in BASIC mode.
  231.    3. Execute the machine language program.
  232.          'CALL' command is used for executing the machine language.
  233.          Input as:
  234.             CALL &BE000 [ENTER]
  235.             PEEK &BE020 [ENTER]
  236.          "5" that is the result of 2+3 is displayed.
  237.  
  238. * Assembler Specifications
  239.  
  240.    1. Format
  241.          Line No. " Label:  Mnemonic  Operand  ; Comment
  242.          --------   ------  --------  -------  ---------
  243.       Lower-case character cannot be used for Label and Mnemonic.
  244.  
  245.    2. Label
  246.          * Character of the lead should be in capital letters.
  247.          * Capital letter/ numeral/ @ can be used.
  248.          * Maximum 6 characters can be used.
  249.          * ":" Mark should be put ar the end of label.
  250.  
  251.    3. Mnemonic (command)
  252.          * Conforms to the CPU (SC62015)
  253.  
  254.    4. Pseudo instructions
  255.          These are instructions which are not converted into machine
  256.          language, but are to set the Assembler itself.
  257.  
  258.          * ORG
  259.                ORG expression1 [,expression2]
  260.  
  261.             Machine language program is written from the memory address
  262.             indicated by expression 1.
  263.             When expression 2 is set, a program to be written in the memory
  264.             address indicated by expression 1 is created and it is written in
  265.             the memory address indicated by expression 2.  This is convenient
  266.             when you want to write temporarily in the memory address that
  267.             differs from the address of actual operation.
  268.  
  269.          * END
  270.             This is used to terminate Assembly.
  271.  
  272.          * EQU
  273.                Label EQU expression
  274.  
  275.             This is used to set value for expression at the label.  It is not
  276.             required to put ":" mark at the end of the label.  The label
  277.             cannot be used for the expression.
  278.  
  279.          * DB
  280.                DB expression [,expression] ...
  281.  
  282.             This is used to write expression value in the memory as 8-bits
  283.             data.  Plural numbers of values can be written be delimiting with
  284.             ",".
  285.  
  286.          * DW
  287.                DW expression [,expression] ...
  288.  
  289.             This is used to write expression value in the memory as 16-bits
  290.             data.  Plural numbers of values can be written be delimiting with
  291.             ",".
  292.  
  293.          * DP
  294.                DP expression [,expression] ...
  295.  
  296.             This is used to write expression value in the memory as 24-bits
  297.             data.  Plural numbers of values can be written be delimiting with
  298.             ",".
  299.  
  300.          * DM
  301.                DM 'character string'
  302.  
  303.             This is used to write ASCII code of each character in accordance
  304.             with character string.  Enclose the character string in single-
  305.             quotation marks.  (less than 3 characters)
  306.  
  307.          * DS
  308.                DS expression1 [, expression2]
  309.  
  310.             This is used to write the number indicated by expression 1 and
  311.             the value (lower 8 bits) indicated by expression 2.  If
  312.             expression 2 is omitted, 00H is written.
  313.  
  314.          * PRE
  315.                PRE expression [instruction ...]
  316.  
  317.             This is used to write the value indicated by expression in the
  318.             memory as 'prebyte'.  Value of expression is specified in range
  319.             of 21H-27H, 30H-37H.
  320.             (Prebyte is necessary for specifying internal RAM addresses.)
  321.  
  322.             Example: * OR   (expression1), (expression2)
  323.                      * MV   A, (expression1)
  324.                      * MVL  (expression1), (expression2)
  325.  
  326.             +-------+-----+--------+--------+---------+
  327.             | \exp.2|     |        |        |         |
  328.             |  \    |     |        |        |         |
  329.             |   \   |     |        |        |         |
  330.             |    \  | (n) | (BP+n) | (PY+n) | (BP+PY) |
  331.             |     \ |     |        |        |         |
  332.             |exp.1 \|     |        |        |         |BP='ECH'(internal RAM)
  333.             +-------+-----+--------+--------+---------+PX='EDH'(internal RAM)
  334.             | (n)   | 32H |  30H   |  33H   |  31H    |PY='EEH'(internal RAM)
  335.             +-------+-----+--------+--------+---------+
  336.             |(BP+n) | 22H |  ---   |  23H   |  21H    |
  337.             +-------+-----+--------+--------+---------+
  338.             |(PX+n) | 36H |  34H   |  37H   |  35H    |
  339.             +-------+-----+--------+--------+---------+
  340.             |(BX+PX)| 26H |  24H   |  27H   |  25H    |
  341.             +-------+-----+--------+--------+---------+
  342.  
  343.             Example: (1) PRE 32H MV  A,(50H)        ;32 80 50
  344.                      (2) PRE 32H ADD (14H),20H      ;30 41 14 20
  345.                      (3) PRE 27H MVL (0)    ,(0AH)  ;27 CB 00 0A
  346.                               |       ^        ^
  347.                               |       |        |
  348.                               \--> (BP+PX),(PY+0AH)
  349.                          when BP=00H, PX=00H and PY=00H
  350.  
  351.    5. Expression
  352.          Expression is calculated in 24 bits, ignoring overflow.  In operand,
  353.          lower 8 bits are used when 1 byte is specified and lower 16 bits are
  354.          used when 2 bytes are specified.  Internal RAM address
  355.          (00000H-000FFH) is enclosed with '()' (parenthesis) and external RAM
  356.          address is by '[]' (brackets).
  357.  
  358.    6. Constant
  359.          Constant includes numerical constant and character constant.
  360.          *  Decimal numeral / hexidecimal numeral within 8 digits can be
  361.             used.  For hexadecimal numeral, put 'H' at the last of numerical
  362.             value.
  363.          *  When character from A to F is used at the lead, put "0" at the
  364.             lead of that character.
  365.          *  Specify by maximum 3 characters and enclose it with single
  366.             quotation mark.
  367.  
  368.    7. Comment
  369.          Put semicolon at the lead of the comment.  You can write comment
  370.          until the end of the line.
  371.  
  372. * Error Messages
  373.  
  374.    * Assembler source error
  375.             This is not a program for the assembler
  376.    * Out of memory
  377.             Machine-code-area is not enough
  378.    * Balance error
  379.             Number of enclosure mark such as parenthesis does not agree
  380.    * Format error
  381.             Format is wrongly used
  382.    * Label error
  383.             Character unable to be used for label name is icluded
  384.    * Multiply defined label
  385.             Same label more than two are defined
  386.    * Reference error
  387.             Specified over the range possible to specify be relative jump
  388.    * Undefined label
  389.             Label that does not exist was specified
  390.    * Value error
  391.             Numerical error is wrongly specified
  392.  
  393. * Sample Program
  394.  
  395.    Display message 'HELLO!' (IOCS function No. is 42H)
  396.  
  397. 100 "      ORG      00BE000H
  398. 110 "BL    EQU      0D4H        ; \
  399. 120 "BH    EQU      0D5H        ;  \ Internal RAM
  400. 130 "CL    EQU      0D6H        ;  /
  401. 140 "CH    EQU      0D7H        ; /
  402. 150 "IOCS  EQU      0FFFE8H
  403. 160 "      PRE 32H  MV (BL),17  ; \ Location in the display
  404. 170 "      PRE 32H  MV (BH),2   ; /
  405. 180 "      PRE 32H  MV (CL),0   ; \ Fixes '00H'
  406. 190 "      PRE 32H  MV (CH),0   ; /
  407. 200 "      MV       I,0042H     ; IOCS function number
  408. 210 "      MV       X,DATA      ; Store address of data
  409. 220 "      MV       Y,6         ; Length
  410. 230 "      CALLF    IOCS
  411. 240 "      RETF
  412. 250 "DATA: DM       'HELLO!'
  413.  
  414.  
  415. * Sample Program
  416.  
  417.    Draw a line from the upper left to the lower right in the display.
  418.    (IOCS function No. is 4EH)
  419.  
  420.  
  421. 100 "       ORG     0BE000H
  422. 110 "BX     EQU     0D4H
  423. 120 "CX     EQU     0D6H
  424. 130 "DX     EQU     0D8H
  425. 140 "DOTSOP EQU     0BFC96H
  426. 150 "LINPTN EQU     0BFC2AH
  427. 160 "IOCS   EQU     0FFFE8H
  428. 170 "       PRE 32H MVW (CX),0
  429. 180 "       MV      X,0
  430. 190 "       MV      Y,0
  431. 200 "       PRE 32H MVW (BX),239
  432. 210 "       PRE 32H MVW (DX),31
  433. 220 "       MV      IL,0
  434. 230 "       MV      [DOTSOP],IL
  435. 240 "       DEC     I
  436. 250 "       MV      [LINPTN],I
  437. 260 "       MV      IL,4EH
  438. 270 "       CALLF   IOCS
  439. 280 "       RETF
  440.  
  441.  
  442.  
  443. SUPPLEMENTARY NOTES added by Andrew Woods
  444. -------------------
  445.  
  446. The DUMP TOOL program as it appears in this document expects you to enter the
  447. Hex Dump section of the assembler listed below from the keyboard.  Since this
  448. program is already in an electronic format - all that is necessary is to
  449. download the data which appears in this document into your PC-E500 via the
  450. serial port.  This is also relevant to ANY of the programs which appear in
  451. this document.  The basic and assembler listings shown above can be
  452. downloaded into your PC-E500 by the techniques described in the document
  453. "SHARP to RS232 SERIAL CONVERTER" which I wrote (available via anonymous FTP
  454. from MATH.BERKELEY.EDU - 128.32.183.94 or from me via email request).  
  455.  
  456. The hex dump is entered into the PC-E500 slightly differently.  The basic
  457. program "DUMPTOOL.BAS" must firstly be modified to input the hex data from
  458. the serial port rather than the keyboard.  This is done by modifying/adding
  459. the following lines to the program shown above:
  460.  
  461.    ADD       15 OPEN"1200" AS #1 : Z$=""
  462.    REPLACE   300 IF Z$="" THEN INPUT #1,Z$
  463.    ADD       301 X$=LEFT$(Z$,2):Z$=MID$(Z$,4,80):PRINT X$
  464.  
  465. Then run the modified DUMPTOOL.BAS program (don't forget to allocate the
  466. extra machine-code-memory area), enter the starting address (BEC00), then
  467. send the hex dump to the PC-E500 from your big computer.  Remember to set a
  468. pacing value (of about 5 seconds probably).
  469.  
  470.  
  471.  
  472. HEX DUMP FOR PC-E500 ASSEMBLER
  473. ------------------------------
  474. (for instructions on how to load this data into your PC-E500 read the
  475. supplementary notes)
  476.  
  477.  
  478. ---------cut below this line----------ASSEM.HEX----------------
  479. 2F 30 E8 36 EC 30 CC EC 10 DC 50 00 00 51 04 FC 
  480. ED CD C4 00 FF DC 06 00 00 00 DC 21 00 00 00 DC 
  481. 0C 00 EC 0B CC 14 00 CA 30 09 D2 09 1A FD 0B 0C 
  482. E5 F8 0B 04 ED ED 80 14 6C 00 04 0C EE 04 E3 EC 
  483. 1C 90 04 DB ED CA 46 06 04 36 EE 0C 1A F9 0B 04 
  484. F2 ED 09 00 D6 03 06 1A 79 6D 14 61 14 01 19 39 
  485. 0C EF F8 0B 04 ED ED CA 40 30 04 25 EE 08 2F 04 
  486. F9 ED CA 40 09 04 25 EE 84 21 A4 46 6C 04 A4 21 
  487. 12 37 CC 14 06 04 DB ED 84 21 7C 04 18 32 A4 21 
  488. 84 0C CC 0F 06 90 24 2C 04 F9 ED 3C 7D 0F 1B 0B 
  489. E2 24 40 A4 0C 04 E9 F2 04 25 EE 7D 14 18 0A 65 
  490. 14 01 19 2F 04 E9 F2 13 31 04 C8 F2 1C 17 13 3E 
  491. 65 14 01 18 03 04 DB ED 04 36 EE 0C 0E F9 0B 04 
  492. F2 ED 04 C8 F2 04 DB ED D9 27 FC 0B C4 E0 26 DC 
  493. 3F 9F 07 84 BB 08 35 45 40 A4 00 04 9F F0 1A CD 
  494. CC 13 00 98 00 00 60 FF 18 CC 84 00 E1 24 03 C0 
  495. 03 04 91 24 2C 45 41 A4 00 3C 90 24 60 22 18 08 
  496. 0C 4D F9 0B 04 BF EE 06 04 5F EE 1E 0A 61 13 FF 
  497. 1B 37 04 B7 EE 13 3C 61 13 00 1A 3E 85 15 81 1E 
  498. 7C 01 45 51 90 05 60 3A 1A 30 61 14 00 1A 1D 85 
  499. 15 04 0F EF 1C 16 08 06 4E 01 1E 02 09 06 04 F3 
  500. EE 04 D7 EE 1E 0B CA 46 09 04 3A EF CC 13 0F 13 
  501. 49 0C 75 F9 0B 04 BF EE 13 7F 61 1E 06 1E 12 81 
  502. 1E 85 15 04 F3 EE 08 44 0D 58 FA 0B 04 AF F2 1E 
  503. 15 61 13 FF 18 0B CC 13 FF CA 1B 15 C8 20 1E 13 
  504. 79 04 B7 EE 13 AB 61 13 FF 1A 05 61 24 41 1B 0F 
  505. 80 24 0D 77 FB 0B E6 45 50 93 05 B3 37 06 09 03 
  506. 55 09 04 F0 F2 1E 03 04 B7 EE 02 EB EC 0C FE F8 
  507. 0B 04 ED ED 97 06 61 14 00 1B 06 09 03 54 2D 09 
  508. C7 0C 2D 1F 10 0C 2D F9 0B 13 1A CC C4 00 61 C5 
  509. 03 18 03 6D C5 06 08 01 CC 52 47 12 0F 2C 04 DB 
  510. ED 3C 95 24 CC 52 42 12 03 CC 52 41 DA 00 FE 0B 
  511. 50 05 DC FF 0F 06 28 EE 04 0C EE 38 70 0F 60 00 
  512. 1A 04 7D 0F 1A 0E CC 0F 01 60 0A 1C 02 40 07 40 
  513. 30 04 F9 ED 06 CC 0F 01 80 42 04 06 EE 80 41 04 
  514. 06 EE 80 40 13 30 DC 40 00 00 00 DC 43 00 00 01 
  515. CC 0F 10 F5 47 F5 46 1E 05 09 03 C4 42 45 09 03 
  516. C4 45 45 7D 0F 1B 14 CC 0F 06 C0 40 42 13 37 CC 
  517. 0F 00 12 03 CC 0F FF 04 F6 F2 1E 49 61 0F 00 18 
  518. 08 60 2C 1A 40 6D 0F 13 12 60 2C 18 35 7C 04 A4 
  519. 15 CC 1E 00 CC 0F 00 90 24 60 27 1A 05 69 0F FF 
  520. 12 15 60 0D 18 15 61 0F FF 18 0C 60 3B 18 0C 60 
  521. 2C 18 08 60 21 1C 04 6D 1E 13 24 7C 04 61 1E 00 
  522. 1A 04 CC 13 FF 97 06 0C 3E F9 0B 04 BF EE 06 04 
  523. ED ED 0C 26 F9 0B 04 F2 ED C9 46 03 04 36 EE 08 
  524. 01 09 03 55 06 97 06 2C 84 21 6C 04 85 0C 7C 04 
  525. 18 0E 09 09 E3 25 46 09 06 5C 46 40 1B 10 3C 06 
  526. 3C 97 06 DC 40 20 20 20 DC 43 20 20 20 E3 25 40 
  527. 06 DC 46 20 20 20 DC 49 20 20 20 E3 25 46 06 29 
  528. 2D 90 25 12 0A 90 25 60 30 1C 13 60 3A 1C 08 60 
  529. 40 1C 0B 60 5B 1E 07 7C 01 1B 16 9F 12 09 2C 0C 
  530. 67 F9 0B 04 BF EE 3C 3D 39 06 85 0C 09 09 EB 35 
  531. 48 A5 0C 09 03 08 01 55 21 06 CC 0F 00 CC 1F 00 
  532. 85 15 A5 18 90 25 60 27 1A 05 69 0F FF 12 0D 61 
  533. 0F 00 1A 08 60 2B 18 0F 60 2D 18 08 6D 1F 7D 1E 
  534. 1B 1E 9F 06 69 0F FF A5 15 7D 1E 1A 03 04 B7 EE 
  535. 06 CC 11 00 12 03 CC 11 FF DC 40 00 00 00 CC 0F 
  536. 00 61 1E 00 18 43 C8 10 0F 04 4A EF 1C 3B 61 1F 
  537. 00 19 12 85 18 90 05 60 27 18 18 60 30 1D F8 60 
  538. 3A 1C 0B 61 11 FF 14 B7 EE 04 48 F0 12 08 04 DA 
  539. EF 12 03 04 75 F0 1C 11 09 03 61 10 FF 18 05 54 
  540. 40 4C 13 43 5C 40 4C 13 48 06 DC 4C 00 00 00 81 
  541. 1F 45 51 90 35 60 48 1A 2F 7D 1F 85 18 90 25 60 
  542. 30 1C 0C 60 3A 1C 11 60 41 1C 04 60 47 1C 07 0C 
  543. 8E F9 0B 02 BF EE 48 07 48 30 09 03 EC 4E 7B 4E 
  544. 7D 1F 1B 27 C0 4C 4E 06 61 1F 09 1F 1E 2C 0C D0 
  545. F9 0B 12 02 90 35 48 30 1C 04 60 0A 1C 03 3C 13 
  546. 32 6C 00 E2 24 49 7C 00 18 07 09 03 54 4C 49 13 
  547. 0B 7D 1F 1B 21 3C 9F 06 81 1F 29 2D 04 0F EF 3D 
  548. 39 1C 21 61 1F 07 1C 02 09 06 61 14 00 18 15 EA 
  549. 36 40 04 F3 EE 04 D7 EE E2 26 40 1E 07 0C AC F9 
  550. 0B 04 BF EE 06 81 1F 7C 01 45 51 90 05 60 27 1A 
  551. 16 61 1F 06 1F 87 7C 01 19 8B DC 4C 00 00 00 E3 
  552. 35 4E C0 4C 4E 9F 06 0C 9C F9 0B 04 BF EE 06 65 
  553. EF 08 06 85 15 CC 12 00 90 05 60 5B 1A 08 7D 12 
  554. 7D 1E 6C 05 90 05 60 28 18 28 61 12 00 1A 92 61 
  555. 1E 04 1E 18 81 1E 04 F3 EE 0D F2 F9 0B 08 0B E8 
  556. 36 24 04 AF F2 80 24 E0 26 24 1E 05 04 81 EF 08 
  557. 24 06 C8 20 1E 7D 20 6C 05 A5 15 CC 1E 00 90 25 
  558. 60 29 18 09 6D 1E 7D 20 1B 0C 02 97 F0 A5 1B 04 
  559. 81 EF 1C 0D 61 12 00 1A 09 08 0B 61 20 01 15 B7 
  560. EE 06 7D 20 85 1B 2D 04 06 F3 3D 08 21 1D 0E 61 
  561. 1E 00 18 27 90 25 60 2B 18 07 60 2D 18 07 02 B7 
  562. EE 08 22 12 02 08 23 A5 15 7D 1E 28 E8 36 40 04 
  563. 81 EF E0 26 41 38 1D 37 C0 40 41 61 20 01 1B 22 
  564. 06 C8 20 1E 04 06 F3 1D 48 81 1E 61 1E 06 1C 02 
  565. 09 06 85 15 04 F3 EE CC 0F 14 0D 0C FA 0B 91 25 
  566. 29 E3 25 46 39 5C 46 40 18 0D 7D 0F 1B 10 04 81 
  567. EF 1D 72 08 0C 13 3C 08 21 4A 0F 60 19 1D 44 28 
  568. 09 03 08 02 55 15 4B 1E 04 81 EF 38 1D 8D 13 55 
  569. 60 02 1C 07 60 04 1C 06 08 02 06 08 00 06 08 01 
  570. 06 65 13 01 18 02 6D 44 71 13 FE 18 07 C0 44 45 
  571. 80 13 43 24 61 14 00 18 22 85 09 81 43 6C 01 18 
  572. 03 EB 25 24 81 44 6C 01 18 03 EB 25 27 81 45 6C 
  573. 01 18 03 EB 25 40 A5 09 02 EB EC 80 43 42 44 42 
  574. 45 40 03 02 AE ED 04 5F EE 1C 15 04 A3 F0 1C 0F 
  575. A0 2A CA 27 40 04 64 EE 1C 06 04 A3 F0 A0 2B 06 
  576. 02 B7 EE 61 2B 0A 18 23 61 2A 08 1E 26 61 2B 08 
  577. 1E 21 80 2A 04 A0 F1 60 02 1A 02 08 03 A0 4C 80 
  578. 2B 04 A0 F1 63 4C 1C 0B 42 4C 06 61 2A 00 1A 03 
  579. 08 06 06 97 06 04 5F EE 1C 06 04 81 EF 1C 04 06 
  580. 04 B7 EE 93 27 02 EB EC 04 F6 F1 1D 0A 60 24 18 
  581. 1D 60 00 18 34 60 0B 1B 19 61 2A 0B 18 0B 61 2A 
  582. 00 1B 23 08 07 0B FF 00 06 08 06 09 00 06 80 2A 
  583. 60 00 18 0D 60 0B 18 0C 60 0C 1B 3C 08 02 09 02 
  584. 06 09 FF 06 08 01 09 00 06 61 2A 0B 1B 4E 08 03 
  585. 0B 00 FF 06 04 5F EE 1D 59 04 A3 F0 1D 5B 06 CC 
  586. 24 00 91 25 29 04 01 EF 39 6C 01 5C 46 40 18 07 
  587. 6D 24 7C 00 1B 14 97 06 6D C4 08 1F 04 F9 ED CD 
  588. E0 FF 0F 04 9F F0 1B 05 61 E2 00 1B 0A 61 E2 00 
  589. 1A 06 04 9F F0 19 0A 97 06 71 C4 F8 41 C4 08 06 
  590. 2C 04 F6 F2 3C 06 90 24 60 0D 18 09 60 3B 18 05 
  591. 60 21 1D 0E 97 06 A5 15 CC 1E 00 90 25 60 5D 18 
  592. 09 6D 1E 7D 20 1B 0C 02 97 F0 A5 1B 06 04 5F EE 
  593. 1C 32 04 86 EF 1C 30 CA 43 40 04 F0 F2 1E 18 04 
  594. 64 EE 1C 20 EA 36 40 04 86 EF E2 26 43 1C 18 61 
  595. 14 00 18 03 C2 40 43 09 03 5C 40 43 CA 09 43 CA 
  596. 2D 40 12 34 04 B7 EE 02 EB EC 61 14 00 1B 08 04 
  597. 5F EE 1D 10 04 86 EF 1D 12 81 20 85 1B 04 0F EF 
  598. 1D 1B 81 20 85 1B EA 36 40 04 F3 EE 04 D7 EE E2 
  599. 26 46 17 61 ED 04 3A EF 02 B2 ED 49 24 3B 04 5F 
  600. EE 1D 3F 04 81 EF 1D 41 85 09 61 14 00 18 07 81 
  601. 24 EB 25 40 12 04 80 24 45 50 A5 09 04 F0 F2 1F 
  602. 5A 04 64 EE 13 25 04 5F EE 1D 67 85 15 90 05 60 
  603. 27 1A 2F 81 1E 7C 01 45 51 90 05 60 27 1A 23 7C 
  604. 01 19 7C 4D 51 61 14 00 18 10 2C 84 09 90 25 B0 
  605. 24 7C 01 1B 08 A4 09 3C 13 93 85 09 45 51 A5 09 
  606. 13 6A 04 97 F0 13 A0 04 45 F2 04 F0 F2 08 00 1E 
  607. 12 04 64 EE 1C 2B EA 36 40 04 81 EF 80 40 E2 26 
  608. 40 1D BC 61 14 00 18 12 2C 85 09 84 40 6C 04 7C 
  609. 04 18 04 B0 25 13 08 3C 13 3C 09 03 54 09 40 13 
  610. DA 04 B7 EE 13 DF 08 12 12 0E 08 18 12 0A 08 1A 
  611. 12 06 08 1C 12 02 08 1E A0 24 04 45 F2 08 02 85 
  612. 09 45 50 61 14 00 18 23 A5 43 09 03 54 43 2D C7 
  613. 40 43 1E 05 C2 40 43 6D 24 09 03 5C 40 43 D6 03 
  614. 41 1A 0C 85 09 E8 25 24 E8 25 40 A5 09 13 F7 0C 
  615. BE F9 0B 04 BF EE 12 34 49 24 11 04 45 F2 80 24 
  616. 7C 00 61 14 00 14 AE ED CD 43 00 FF 80 24 48 03 
  617. A0 45 02 C4 F1 0D E8 F9 0B 80 24 48 2F 45 50 90 
  618. 05 61 14 00 18 09 85 09 B0 25 A5 09 02 EB EC 08 
  619. 01 02 AE ED 04 F6 F1 1D 0D CC 13 00 61 2A 08 1C 
  620. 15 60 08 1C 0B 61 2A 0B 18 55 60 0B 18 4B 12 46 
  621. CC 13 20 C0 2A 2B 61 24 00 1A 3B 80 2B 60 08 16 
  622. 67 F6 60 0A 14 5B F6 60 24 18 3F 60 23 14 36 F6 
  623. 60 22 14 1F F6 60 21 18 F3 60 1D 1E E9 60 19 1E 
  624. BB 60 15 1E B1 60 11 1E 93 60 0D 1E 6B 60 0C 18 
  625. 4B 60 0B 14 3B F6 02 54 F3 CC 13 08 C0 2A 2B 6D 
  626. 13 80 2B 60 0B 14 48 F6 13 43 65 13 FE 1B 19 C8 
  627. 45 24 CD 43 00 FF 65 13 01 1A 0F 80 2A 28 04 A0 
  628. F1 A0 45 38 40 08 A0 24 12 99 61 24 03 1F 39 41 
  629. 24 CC 61 24 CE 1C 8C CC 24 DC 12 87 DC 43 00 FF 
  630. 02 65 13 01 1A 08 80 2A 40 88 A0 24 12 75 61 24 
  631. 04 1F 5D 41 24 D0 12 6B 48 09 DC 43 01 FF FF A0 
  632. 25 65 13 01 1A 0C 80 2A 60 07 1F 76 40 90 A0 24 
  633. 12 51 61 24 03 1F 81 41 24 E0 12 47 48 0D 40 20 
  634. A0 25 DC 43 01 FF FF 65 13 01 19 26 61 24 04 1F 
  635. 9B 41 24 E0 12 2D 48 11 40 30 13 1C 48 15 40 80 
  636. A0 25 DC 43 01 FF 00 65 13 01 19 46 61 24 03 18 
  637. 07 1F BD 41 24 E0 12 03 CC 24 56 65 13 FE 18 03 
  638. C0 27 40 02 B1 F1 48 19 40 C0 13 2C CC 25 00 DC 
  639. 43 01 FF 00 65 13 01 1A 0C 80 2A 60 07 1F E9 40 
  640. 98 A0 24 13 22 61 24 04 1F F4 41 24 F0 13 2C CC 
  641. 25 80 DC 43 01 FF 01 65 13 01 19 23 65 13 FE 19 
  642. 1C C0 28 40 13 21 CC 25 C0 13 19 DC 43 00 FF 00 
  643. 80 2A 40 80 A0 24 13 55 41 24 C8 61 24 CC 1C 03 
  644. CC 24 CF DC 43 00 00 00 02 C4 F1 08 74 65 13 FE 
  645. 18 02 08 75 02 B1 F4 04 13 F2 1C 08 60 02 18 07 
  646. 60 05 18 03 02 54 F3 CC 24 FD 80 2A EE 7F 2B A0 
  647. 27 DC 43 00 00 FF 13 30 49 24 07 04 45 F2 DC 43 
  648. 00 FF 01 13 3D CC 24 03 04 45 F2 CD 43 00 FF C8 
  649. 45 24 7D 45 13 4E 04 5F EE 1D 37 04 A3 F0 16 EB 
  650. EC 60 24 18 0A 60 0B 18 0B 60 08 1C 11 13 4B CC 
  651. 24 02 13 36 CC 24 10 DC 43 00 FF 00 13 76 A0 40 
  652. 04 A0 F1 60 02 1B 63 CC 24 11 13 15 CC 24 60 04 
  653. 58 F2 60 04 1C 2C 60 06 15 54 F3 08 57 12 23 08 
  654. 64 CC 26 03 12 13 08 70 CC 26 07 12 0C 08 78 CC 
  655. 26 07 12 05 08 68 CC 26 07 A0 24 04 58 F2 63 26 
  656. 1C 21 43 24 CC 43 00 A3 44 02 C4 F1 08 50 12 02 
  657. 08 58 A0 24 04 58 F2 60 02 18 08 60 04 1D 1D 60 
  658. 07 18 03 02 54 F3 08 02 13 28 08 40 12 02 08 48 
  659. A0 24 04 F6 F1 16 EB EC 04 13 F2 1C 1A 60 00 18 
  660. 0C 60 03 1C 0C 60 06 19 26 08 05 12 06 08 06 12 
  661. 02 08 04 43 24 13 ED 04 5D F2 13 45 49 24 20 04 
  662. F6 F1 16 EB EC 04 13 F2 1C 1B 61 24 00 1B 4C 60 
  663. 02 18 0C 60 05 18 08 60 06 1B 58 08 DD 12 3F CC 
  664. 24 ED 02 7A F6 61 24 04 19 67 04 5D F2 60 06 1B 
  665. 6E 08 C0 13 93 08 6C 12 02 08 7C A0 24 04 A4 F2 
  666. 60 0B 18 0B 60 08 1F 85 A0 40 0B 00 FF 12 02 6D 
  667. 24 09 FF 13 B1 04 A4 F2 60 00 1B 99 08 EE 02 B1 
  668. F4 08 E4 12 0A 08 E6 12 06 08 F4 12 02 08 F6 A0 
  669. 24 04 A4 F2 60 0B 19 29 60 00 1B B9 80 24 13 22 
  670. 08 54 12 0A 08 5C 12 06 08 C4 12 02 08 D4 A0 24 
  671. 04 58 F2 60 03 18 06 60 06 18 04 13 DA 6D 24 13 
  672. FD 08 28 12 02 08 38 A0 24 04 A4 F2 60 06 1C 0A 
  673. 60 08 1D F1 60 0A 1F F5 48 02 42 24 13 60 08 4F 
  674. 12 02 08 5F A0 24 04 A4 F2 60 06 1C 16 60 08 18 
  675. 2A 1C 66 60 09 1A 62 CD 2A 18 0B CC 27 FB CC 40 
  676. FB 12 05 CC 2A 18 A0 2B 61 24 4F 18 06 C0 2A 2B 
  677. 49 2B 04 80 2B CC 24 00 02 C9 F4 80 24 13 A1 49 
  678. 24 2A 04 F6 F1 1C 32 61 2A 0B 1A 2D 60 0B 18 13 
  679. 60 08 1E 25 C8 40 27 A0 27 04 A0 F1 63 24 1A 19 
  680. 41 24 10 41 24 C5 DC 43 00 00 00 02 C4 F1 04 58 
  681. F2 60 01 18 07 60 03 18 08 02 54 F3 CC 24 47 12 
  682. 03 CC 24 57 02 14 F7 04 45 F2 09 00 D6 03 41 1B 
  683. 18 80 40 60 21 1D 1E 60 28 1C 08 60 30 1D 26 60 
  684. 38 1F 2A 85 09 61 14 00 18 04 B0 25 12 02 6C 05 
  685. A5 09 02 5C ED 07 00 00 2D 20 50 61 73 73 20 0C 
  686. 00 00 45 6E 64 20 61 64 64 72 65 73 73 20 0D 00 
  687. 00 25 25 20 41 62 6F 72 74 65 64 20 25 25 09 00 
  688. 00 20 6C 61 62 65 6C 28 73 29 09 00 00 20 65 72 
  689. 72 6F 72 28 73 29 04 00 00 20 69 6E 20 0E 00 00 
  690. 25 4F 75 74 20 6F 66 20 6D 65 6D 6F 72 79 0C 00 
  691. 00 46 6F 72 6D 61 74 20 65 72 72 6F 72 17 00 00 
  692. 25 41 73 73 65 6D 62 6C 65 72 20 73 6F 75 72 63 
  693. 65 20 65 72 72 6F 72 0B 00 00 4C 61 62 65 6C 20 
  694. 65 72 72 6F 72 16 00 00 4D 75 6C 74 69 70 6C 79 
  695. 20 64 65 66 69 6E 65 64 20 6C 61 62 65 6C 0B 00 
  696. 00 56 61 6C 75 65 20 65 72 72 6F 72 0D 00 00 42 
  697. 61 6C 61 6E 63 65 20 65 72 72 6F 72 0F 00 00 55 
  698. 6E 64 65 66 69 6E 65 64 20 6C 61 62 65 6C 0F 00 
  699. 00 52 65 66 65 72 65 6E 63 65 20 65 72 72 6F 72 
  700. 01 00 00 0A 00 00 64 00 00 E8 03 00 10 27 00 A0 
  701. 86 01 40 42 0F 80 96 98 06 07 EF 97 9F 00 01 CE 
  702. DE DF 01 41 02 49 4C 02 42 41 01 49 01 58 01 59 
  703. 01 55 01 53 01 46 03 49 4D 52 01 42 02 58 20 02 
  704. 59 20 02 55 20 02 53 20 04 58 2B 2B 20 04 59 2B 
  705. 2B 20 04 55 2B 2B 20 04 53 2B 2B 20 04 2D 2D 58 
  706. 20 04 2D 2D 59 20 04 2D 2D 55 20 04 2D 2D 53 20 
  707. 02 58 2B 02 59 2B 02 55 2B 02 53 2B 02 58 2D 02 
  708. 59 2D 02 55 2D 02 53 2D 02 4D 56 03 4D 56 57 03 
  709. 4D 56 50 03 4D 56 4C 04 4D 56 4C 44 03 43 4D 50 
  710. 04 54 45 53 54 02 4A 52 03 4A 52 5A 04 4A 52 4E 
  711. 5A 03 4A 52 43 04 4A 52 4E 43 03 49 4E 43 03 44 
  712. 45 43 03 41 4E 44 02 4F 52 03 58 4F 52 03 41 44 
  713. 43 03 53 42 43 03 41 44 44 03 53 55 42 04 43 41 
  714. 4C 4C 05 43 41 4C 4C 46 04 41 44 43 4C 04 53 42 
  715. 43 4C 05 50 55 53 48 55 04 50 4F 50 55 03 4A 50 
  716. 5A 04 4A 50 4E 5A 03 4A 50 43 04 4A 50 4E 43 02 
  717. 4A 50 02 45 58 03 45 58 57 03 45 58 50 03 45 58 
  718. 4C 03 52 4F 52 03 52 4F 4C 03 53 48 52 03 53 48 
  719. 4C 04 44 41 44 4C 04 44 53 42 4C 04 50 4D 44 46 
  720. 04 43 4D 50 57 04 43 4D 50 50 04 53 57 41 50 03 
  721. 4A 50 46 03 52 45 54 04 52 45 54 46 04 57 41 49 
  722. 54 02 53 43 02 52 43 03 4E 4F 50 04 52 45 54 49 
  723. 03 54 43 4C 04 48 41 4C 54 03 4F 46 46 05 50 55 
  724. 53 48 53 04 50 4F 50 53 03 50 52 45 02 44 42 02 
  725. 44 57 02 44 50 02 44 4D 02 44 53 03 45 51 55 03 
  726. 4F 52 47 03 45 4E 44 C4 F4 C4 F4 C4 F4 C4 F4 C4 
  727. F4 DC F6 EF F6 36 F4 3A F4 3E F4 42 F4 46 F4 A5 
  728. F7 A9 F7 F6 F6 FD F6 04 F7 1C F7 20 F7 3A F7 3E 
  729. F7 88 F4 88 F4 F0 F7 F4 F7 11 F8 15 F8 88 F6 88 
  730. F6 88 F6 88 F6 A6 F6 6C F7 6C F7 6C F7 6C F7 D1 
  731. F7 D5 F7 D9 F7 DD F7 F8 F7 FC F7 9E F8 6F F8 6F 
  732. F8 C5 F7 95 F6 A5 F4 A5 F4 A5 F4 A5 F4 A5 F4 A5 
  733. F4 A5 F4 A5 F4 A5 F4 A5 F4 2E F8 32 F8 B7 F8 8B 
  734. F3 8B F3 8B F3 B6 F3 F7 F3 5A F3 1D F3 C6 ED 00 
  735. Q
  736. ----------------cut above this line----------------------------- 
  737. -----------------------------------------------------------------------------
  738.   Andrew Woods   | Centre for Marine Science and Technology,
  739.                  | Curtin University of Technology,
  740.       _--_|\     | GPO Box U1987, Perth W.A. 6001, AUSTRALIA.
  741.      /      \    | Internet: WOODS_AJ@cc.curtin.edu.au
  742.   -->\_.--._/    | Bitnet:   WOODS_AJ%cc.curtin.edu.au@cunyvm.bitnet
  743. Perth      v     | UUCP:     uunet!munnari.oz!cc.curtin.edu.au!WOODS_AJ
  744. -----------------------------------------------------------------------------
  745.