Home » Personal collection » Acorn hard disk » files » DomFord » RoughWork/ProgNotes

RoughWork/ProgNotes

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn hard disk » files » DomFord
Filename: RoughWork/ProgNotes
Read OK:
File size: 081F bytes
Load address: 0000
Exec address: 0000
File contents
Procedures:

INIT        - Initialises Ballbot.
ANALYSE     - Searches the sprite for areas of the same colour
MCC         - Searches the sprite to find the most common colour
OBJECT_MAKE - Adds an area of colour to the list
OBJECT_ADD  - Expands an area of colour
OBJECT_JOIN - Joins two areas of colour together
ADDITON     - Similar to OBJECT_ADD. Part of OBJECT_JOIN.
GETRIDOFIT  - Removes an object from the list. Part of OBJECT_JOIN
GETDATA     - Reads the list of known objects
SAVEDATA    - Saves the updated list of known objects
CONCLUSION  - Studies areas of colour to work out what the object is
COLCHECK    - Studies the colours of the areas
IQRCHECK    - Studies the shape of the areas
BONDS       - Updates information on the correct object
LEARN       - Learns from the sprite it has studied
QUESTION    - Asks questions about the sprite
ASK         - Asks a YES or NO question
GETRID      - Removes a colour area from a known object. Part of BONDS
IQR         - Examines the shape of an area, and makes it into a number
ADDIQR      - Part of the IQR routine
DIF         - Part of the IQR routine
PUP         - Finds out how useful certain colour areas were. Part of BONDS
NEWOB       - Adds a new object to the list

Variables:

bm          - Number of colour areas in sprite
maxno       - Maximum number of colour areas that the computer can handle
xax         - Size of sprite on the X axis
yax         - Size of sprite on the Y axis
block(a,b)  - How far down on the Y axis this colour was last found
              a=area number    b=position on x axis
bmin(a,b)   - First position on the Y axis this colour was found
              a=area number    b=position on x axis
col(a)      - Colour of area. a=area number
noobs%      - Number of known objects
obs%(a,b)   - IQR of part of a known object. a=object number b=area number
prob%(a,b)  - Reliability of this colour area
coobs%(a,b) - Colour of a colour area
name$(a)    - Name of a known object
coobs%(a)   - Possible colours that the known object can be
bm(a)       - Number of colour areas in the object
00000000  50 72 6f 63 65 64 75 72  65 73 3a 0a 0a 49 4e 49  |Procedures:..INI|
00000010  54 20 20 20 20 20 20 20  20 2d 20 49 6e 69 74 69  |T        - Initi|
00000020  61 6c 69 73 65 73 20 42  61 6c 6c 62 6f 74 2e 0a  |alises Ballbot..|
00000030  41 4e 41 4c 59 53 45 20  20 20 20 20 2d 20 53 65  |ANALYSE     - Se|
00000040  61 72 63 68 65 73 20 74  68 65 20 73 70 72 69 74  |arches the sprit|
00000050  65 20 66 6f 72 20 61 72  65 61 73 20 6f 66 20 74  |e for areas of t|
00000060  68 65 20 73 61 6d 65 20  63 6f 6c 6f 75 72 0a 4d  |he same colour.M|
00000070  43 43 20 20 20 20 20 20  20 20 20 2d 20 53 65 61  |CC         - Sea|
00000080  72 63 68 65 73 20 74 68  65 20 73 70 72 69 74 65  |rches the sprite|
00000090  20 74 6f 20 66 69 6e 64  20 74 68 65 20 6d 6f 73  | to find the mos|
000000a0  74 20 63 6f 6d 6d 6f 6e  20 63 6f 6c 6f 75 72 0a  |t common colour.|
000000b0  4f 42 4a 45 43 54 5f 4d  41 4b 45 20 2d 20 41 64  |OBJECT_MAKE - Ad|
000000c0  64 73 20 61 6e 20 61 72  65 61 20 6f 66 20 63 6f  |ds an area of co|
000000d0  6c 6f 75 72 20 74 6f 20  74 68 65 20 6c 69 73 74  |lour to the list|
000000e0  0a 4f 42 4a 45 43 54 5f  41 44 44 20 20 2d 20 45  |.OBJECT_ADD  - E|
000000f0  78 70 61 6e 64 73 20 61  6e 20 61 72 65 61 20 6f  |xpands an area o|
00000100  66 20 63 6f 6c 6f 75 72  0a 4f 42 4a 45 43 54 5f  |f colour.OBJECT_|
00000110  4a 4f 49 4e 20 2d 20 4a  6f 69 6e 73 20 74 77 6f  |JOIN - Joins two|
00000120  20 61 72 65 61 73 20 6f  66 20 63 6f 6c 6f 75 72  | areas of colour|
00000130  20 74 6f 67 65 74 68 65  72 0a 41 44 44 49 54 4f  | together.ADDITO|
00000140  4e 20 20 20 20 20 2d 20  53 69 6d 69 6c 61 72 20  |N     - Similar |
00000150  74 6f 20 4f 42 4a 45 43  54 5f 41 44 44 2e 20 50  |to OBJECT_ADD. P|
00000160  61 72 74 20 6f 66 20 4f  42 4a 45 43 54 5f 4a 4f  |art of OBJECT_JO|
00000170  49 4e 2e 0a 47 45 54 52  49 44 4f 46 49 54 20 20  |IN..GETRIDOFIT  |
00000180  2d 20 52 65 6d 6f 76 65  73 20 61 6e 20 6f 62 6a  |- Removes an obj|
00000190  65 63 74 20 66 72 6f 6d  20 74 68 65 20 6c 69 73  |ect from the lis|
000001a0  74 2e 20 50 61 72 74 20  6f 66 20 4f 42 4a 45 43  |t. Part of OBJEC|
000001b0  54 5f 4a 4f 49 4e 0a 47  45 54 44 41 54 41 20 20  |T_JOIN.GETDATA  |
000001c0  20 20 20 2d 20 52 65 61  64 73 20 74 68 65 20 6c  |   - Reads the l|
000001d0  69 73 74 20 6f 66 20 6b  6e 6f 77 6e 20 6f 62 6a  |ist of known obj|
000001e0  65 63 74 73 0a 53 41 56  45 44 41 54 41 20 20 20  |ects.SAVEDATA   |
000001f0  20 2d 20 53 61 76 65 73  20 74 68 65 20 75 70 64  | - Saves the upd|
00000200  61 74 65 64 20 6c 69 73  74 20 6f 66 20 6b 6e 6f  |ated list of kno|
00000210  77 6e 20 6f 62 6a 65 63  74 73 0a 43 4f 4e 43 4c  |wn objects.CONCL|
00000220  55 53 49 4f 4e 20 20 2d  20 53 74 75 64 69 65 73  |USION  - Studies|
00000230  20 61 72 65 61 73 20 6f  66 20 63 6f 6c 6f 75 72  | areas of colour|
00000240  20 74 6f 20 77 6f 72 6b  20 6f 75 74 20 77 68 61  | to work out wha|
00000250  74 20 74 68 65 20 6f 62  6a 65 63 74 20 69 73 0a  |t the object is.|
00000260  43 4f 4c 43 48 45 43 4b  20 20 20 20 2d 20 53 74  |COLCHECK    - St|
00000270  75 64 69 65 73 20 74 68  65 20 63 6f 6c 6f 75 72  |udies the colour|
00000280  73 20 6f 66 20 74 68 65  20 61 72 65 61 73 0a 49  |s of the areas.I|
00000290  51 52 43 48 45 43 4b 20  20 20 20 2d 20 53 74 75  |QRCHECK    - Stu|
000002a0  64 69 65 73 20 74 68 65  20 73 68 61 70 65 20 6f  |dies the shape o|
000002b0  66 20 74 68 65 20 61 72  65 61 73 0a 42 4f 4e 44  |f the areas.BOND|
000002c0  53 20 20 20 20 20 20 20  2d 20 55 70 64 61 74 65  |S       - Update|
000002d0  73 20 69 6e 66 6f 72 6d  61 74 69 6f 6e 20 6f 6e  |s information on|
000002e0  20 74 68 65 20 63 6f 72  72 65 63 74 20 6f 62 6a  | the correct obj|
000002f0  65 63 74 0a 4c 45 41 52  4e 20 20 20 20 20 20 20  |ect.LEARN       |
00000300  2d 20 4c 65 61 72 6e 73  20 66 72 6f 6d 20 74 68  |- Learns from th|
00000310  65 20 73 70 72 69 74 65  20 69 74 20 68 61 73 20  |e sprite it has |
00000320  73 74 75 64 69 65 64 0a  51 55 45 53 54 49 4f 4e  |studied.QUESTION|
00000330  20 20 20 20 2d 20 41 73  6b 73 20 71 75 65 73 74  |    - Asks quest|
00000340  69 6f 6e 73 20 61 62 6f  75 74 20 74 68 65 20 73  |ions about the s|
00000350  70 72 69 74 65 0a 41 53  4b 20 20 20 20 20 20 20  |prite.ASK       |
00000360  20 20 2d 20 41 73 6b 73  20 61 20 59 45 53 20 6f  |  - Asks a YES o|
00000370  72 20 4e 4f 20 71 75 65  73 74 69 6f 6e 0a 47 45  |r NO question.GE|
00000380  54 52 49 44 20 20 20 20  20 20 2d 20 52 65 6d 6f  |TRID      - Remo|
00000390  76 65 73 20 61 20 63 6f  6c 6f 75 72 20 61 72 65  |ves a colour are|
000003a0  61 20 66 72 6f 6d 20 61  20 6b 6e 6f 77 6e 20 6f  |a from a known o|
000003b0  62 6a 65 63 74 2e 20 50  61 72 74 20 6f 66 20 42  |bject. Part of B|
000003c0  4f 4e 44 53 0a 49 51 52  20 20 20 20 20 20 20 20  |ONDS.IQR        |
000003d0  20 2d 20 45 78 61 6d 69  6e 65 73 20 74 68 65 20  | - Examines the |
000003e0  73 68 61 70 65 20 6f 66  20 61 6e 20 61 72 65 61  |shape of an area|
000003f0  2c 20 61 6e 64 20 6d 61  6b 65 73 20 69 74 20 69  |, and makes it i|
00000400  6e 74 6f 20 61 20 6e 75  6d 62 65 72 0a 41 44 44  |nto a number.ADD|
00000410  49 51 52 20 20 20 20 20  20 2d 20 50 61 72 74 20  |IQR      - Part |
00000420  6f 66 20 74 68 65 20 49  51 52 20 72 6f 75 74 69  |of the IQR routi|
00000430  6e 65 0a 44 49 46 20 20  20 20 20 20 20 20 20 2d  |ne.DIF         -|
00000440  20 50 61 72 74 20 6f 66  20 74 68 65 20 49 51 52  | Part of the IQR|
00000450  20 72 6f 75 74 69 6e 65  0a 50 55 50 20 20 20 20  | routine.PUP    |
00000460  20 20 20 20 20 2d 20 46  69 6e 64 73 20 6f 75 74  |     - Finds out|
00000470  20 68 6f 77 20 75 73 65  66 75 6c 20 63 65 72 74  | how useful cert|
00000480  61 69 6e 20 63 6f 6c 6f  75 72 20 61 72 65 61 73  |ain colour areas|
00000490  20 77 65 72 65 2e 20 50  61 72 74 20 6f 66 20 42  | were. Part of B|
000004a0  4f 4e 44 53 0a 4e 45 57  4f 42 20 20 20 20 20 20  |ONDS.NEWOB      |
000004b0  20 2d 20 41 64 64 73 20  61 20 6e 65 77 20 6f 62  | - Adds a new ob|
000004c0  6a 65 63 74 20 74 6f 20  74 68 65 20 6c 69 73 74  |ject to the list|
000004d0  0a 0a 56 61 72 69 61 62  6c 65 73 3a 0a 0a 62 6d  |..Variables:..bm|
000004e0  20 20 20 20 20 20 20 20  20 20 2d 20 4e 75 6d 62  |          - Numb|
000004f0  65 72 20 6f 66 20 63 6f  6c 6f 75 72 20 61 72 65  |er of colour are|
00000500  61 73 20 69 6e 20 73 70  72 69 74 65 0a 6d 61 78  |as in sprite.max|
00000510  6e 6f 20 20 20 20 20 20  20 2d 20 4d 61 78 69 6d  |no       - Maxim|
00000520  75 6d 20 6e 75 6d 62 65  72 20 6f 66 20 63 6f 6c  |um number of col|
00000530  6f 75 72 20 61 72 65 61  73 20 74 68 61 74 20 74  |our areas that t|
00000540  68 65 20 63 6f 6d 70 75  74 65 72 20 63 61 6e 20  |he computer can |
00000550  68 61 6e 64 6c 65 0a 78  61 78 20 20 20 20 20 20  |handle.xax      |
00000560  20 20 20 2d 20 53 69 7a  65 20 6f 66 20 73 70 72  |   - Size of spr|
00000570  69 74 65 20 6f 6e 20 74  68 65 20 58 20 61 78 69  |ite on the X axi|
00000580  73 0a 79 61 78 20 20 20  20 20 20 20 20 20 2d 20  |s.yax         - |
00000590  53 69 7a 65 20 6f 66 20  73 70 72 69 74 65 20 6f  |Size of sprite o|
000005a0  6e 20 74 68 65 20 59 20  61 78 69 73 0a 62 6c 6f  |n the Y axis.blo|
000005b0  63 6b 28 61 2c 62 29 20  20 2d 20 48 6f 77 20 66  |ck(a,b)  - How f|
000005c0  61 72 20 64 6f 77 6e 20  6f 6e 20 74 68 65 20 59  |ar down on the Y|
000005d0  20 61 78 69 73 20 74 68  69 73 20 63 6f 6c 6f 75  | axis this colou|
000005e0  72 20 77 61 73 20 6c 61  73 74 20 66 6f 75 6e 64  |r was last found|
000005f0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  |.              a|
00000600  3d 61 72 65 61 20 6e 75  6d 62 65 72 20 20 20 20  |=area number    |
00000610  62 3d 70 6f 73 69 74 69  6f 6e 20 6f 6e 20 78 20  |b=position on x |
00000620  61 78 69 73 0a 62 6d 69  6e 28 61 2c 62 29 20 20  |axis.bmin(a,b)  |
00000630  20 2d 20 46 69 72 73 74  20 70 6f 73 69 74 69 6f  | - First positio|
00000640  6e 20 6f 6e 20 74 68 65  20 59 20 61 78 69 73 20  |n on the Y axis |
00000650  74 68 69 73 20 63 6f 6c  6f 75 72 20 77 61 73 20  |this colour was |
00000660  66 6f 75 6e 64 0a 20 20  20 20 20 20 20 20 20 20  |found.          |
00000670  20 20 20 20 61 3d 61 72  65 61 20 6e 75 6d 62 65  |    a=area numbe|
00000680  72 20 20 20 20 62 3d 70  6f 73 69 74 69 6f 6e 20  |r    b=position |
00000690  6f 6e 20 78 20 61 78 69  73 0a 63 6f 6c 28 61 29  |on x axis.col(a)|
000006a0  20 20 20 20 20 20 2d 20  43 6f 6c 6f 75 72 20 6f  |      - Colour o|
000006b0  66 20 61 72 65 61 2e 20  61 3d 61 72 65 61 20 6e  |f area. a=area n|
000006c0  75 6d 62 65 72 0a 6e 6f  6f 62 73 25 20 20 20 20  |umber.noobs%    |
000006d0  20 20 2d 20 4e 75 6d 62  65 72 20 6f 66 20 6b 6e  |  - Number of kn|
000006e0  6f 77 6e 20 6f 62 6a 65  63 74 73 0a 6f 62 73 25  |own objects.obs%|
000006f0  28 61 2c 62 29 20 20 20  2d 20 49 51 52 20 6f 66  |(a,b)   - IQR of|
00000700  20 70 61 72 74 20 6f 66  20 61 20 6b 6e 6f 77 6e  | part of a known|
00000710  20 6f 62 6a 65 63 74 2e  20 61 3d 6f 62 6a 65 63  | object. a=objec|
00000720  74 20 6e 75 6d 62 65 72  20 62 3d 61 72 65 61 20  |t number b=area |
00000730  6e 75 6d 62 65 72 0a 70  72 6f 62 25 28 61 2c 62  |number.prob%(a,b|
00000740  29 20 20 2d 20 52 65 6c  69 61 62 69 6c 69 74 79  |)  - Reliability|
00000750  20 6f 66 20 74 68 69 73  20 63 6f 6c 6f 75 72 20  | of this colour |
00000760  61 72 65 61 0a 63 6f 6f  62 73 25 28 61 2c 62 29  |area.coobs%(a,b)|
00000770  20 2d 20 43 6f 6c 6f 75  72 20 6f 66 20 61 20 63  | - Colour of a c|
00000780  6f 6c 6f 75 72 20 61 72  65 61 0a 6e 61 6d 65 24  |olour area.name$|
00000790  28 61 29 20 20 20 20 2d  20 4e 61 6d 65 20 6f 66  |(a)    - Name of|
000007a0  20 61 20 6b 6e 6f 77 6e  20 6f 62 6a 65 63 74 0a  | a known object.|
000007b0  63 6f 6f 62 73 25 28 61  29 20 20 20 2d 20 50 6f  |coobs%(a)   - Po|
000007c0  73 73 69 62 6c 65 20 63  6f 6c 6f 75 72 73 20 74  |ssible colours t|
000007d0  68 61 74 20 74 68 65 20  6b 6e 6f 77 6e 20 6f 62  |hat the known ob|
000007e0  6a 65 63 74 20 63 61 6e  20 62 65 0a 62 6d 28 61  |ject can be.bm(a|
000007f0  29 20 20 20 20 20 20 20  2d 20 4e 75 6d 62 65 72  |)       - Number|
00000800  20 6f 66 20 63 6f 6c 6f  75 72 20 61 72 65 61 73  | of colour areas|
00000810  20 69 6e 20 74 68 65 20  6f 62 6a 65 63 74 0a     | in the object.|
0000081f