Home » Personal collection » Acorn hard disk » unzip_tools » !Infozip » SHeap/SlidingHp

SHeap/SlidingHp

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 » unzip_tools » !Infozip
Filename: SHeap/SlidingHp
Read OK:
File size: 1248 bytes
Load address: 0000
Exec address: 0000
File contents
`xMY����4� Steven Haslam 1992SlidingHeapSliding Heap	2.11 (16 Dec 2002) 32-bit compatibleeHeapInfoure(
�
H
VerifyHeap
�	
�Sliding_Heap  E�
SlidingHeapCreateNewBlockScrapBlockExtendBlockHeapInfoVerifyHeapNextFreeIncreaseSlotsDescribeBlockShiftHeap @-���<��� �u���@-��� ���������
[��0	�G�_����"�����8���?���(s���Unknown SlidingHeap operation  �@-�0��Q�&
`Q�:p����P��P�� E������ ������+��� �� ����R�����Ѝ�@��?���(s��	(�Unable to decrease number of slots in heap{�@����?���(c��Q� �R�ڰ���� ��������������R�
���������� B���l������@-�@��P��`��V�
@��PU����Ѝ�@��?���(s��(�No more free slots in heap
�� ��P�� � ��P��`������:��h0�#����S�00�0��P��P��P��P��P��P��H��@��?���(c����Unknown block	A�@-� ��0��@��T�
 ��0S�����Ѝ�@��?���(s��(�Couldn't find anchor in heap (ScrapBlock)  @��@��p��P��pG�`��pG�p��`��`��PE�-��� ��0��������p��p��P��P��P��P��P�� ��P��U�
U�PE�P��@��P�� ��Q��P��PE�P��?���(c����@-�0��@��P��U�
0��@T�����Ѝ�@��?���(s��(�Couldn't find anchor in heap (ExtendBlock) @��P��@��@��pB�P��`��`F�-����� �����`�� ������������v��p�� ������P�
0��S�0��0��p��0�� ��@���?���(c����@-�p���
Heap information requested

Generated by SlidingHeap 2.11, � Steven Haslam 1992 (16 Dec 2002)

Heap base : &l���h��,�������h�
Slots available in heap :  po���h����,�������h�
Slots used : ���h��0���� ��R����0S��`����,�������h�
Top of heap : &
���h�������h�

IC ���hV�<
�Blocks: (not necessarily in the order as in the heap)

| Address   | Length      | Name
���h`��@��P��U�
|� &�q�q,�s� | �u� | ���h���� P����h����
�
���h`��@T���?���(c����@-���:��h�*����:��h�*��#��Q�����#��Q�����0��S�2
@��0��0��h#��R�
������ ��/>��@��C��h0�� B�0��������Ѝ�@��?���(s�� �� ��0��R�
������ ��?��@��C��h0�� B�0���������Ѝ�@��?���(s����Q����?���(c����������@-� ��0��S�
@��T�
T�
0C� ������Ѝ�@��?���(s��(�Couldn't find anchor in heap (DescribeBlock)STR��Ѝ�@����?���(c��@-�p��`����� f�������PG����� ��R� � �0� ���Q��������������?���(c������?���(s��(�You must have at least one block in the heap!e ��Ѝ�@��?���(s��
(�Heap is not in valid memory��Ѝ�@��?���(s��(�Heap ID corrupted (Bad signature)  ��Ѝ�@��?���(s��(�Start of heap corrupted (Bad signature)$Block overflow in Sliding Heap (%*0)(�$Anchor does not point to block (%*0)(��Hz�Blck�-��������!��q��{�r��Heap checked out OK

*VerifyHeap will check the integrity of the given heap.

Syntax: *VerifyHeap <address>e�-��������!��q=��{��*HeapInfo will display information on the given sliding heap.

Syntax: *HeapInfo <address>SlidingHeap is a memory manager that works by using `anchor points` into an area of memory; it is rather like Acorn C's `flex` library, however it is suitable for use in BASIC/ARM code programs. There is a set of BASIC procedures to interface with the sliding heap manager, which will also automatically increase and decrease the size of a WIMP task's memory area as required.

For more information, contact Steven Haslam at one of the following addresses:

E-Mail:
�FidoNet:  2:250/116.3, 2:254/27.0, 2:252/102.0, 2:254/405.0

Snail-Mail:

Steven Haslam
�112 Keighley Road
��Colne
���Lancashire
����BB8 0PHo�-��)�.0S��0S���-��C���C�� 0S��� s�����0���0-�1@��1@��0��0��0C�0���@��@���0C�0��������0C�0������� ��0S���������0S�������-������� �l���0��0S�)�0S���-��G����4L��K��5\��[��6l��k��7|��{��8������9������:���������>�� 0S��� s�����0��
�p-�p@����4L��K��5\��[��6l��k��q��p��p��0C�>��0��	�@-�@����4L��K������@��0C�>��0�����������0C�>��0���������� ��0S������@-�P��0��0�� R��Z���0��0�� R��Z���
00000000  00 00 00 00 60 01 00 00  78 01 00 00 00 00 00 00  |....`...x.......|
00000010  4d 00 00 00 59 00 00 00  8c 00 00 00 80 02 0c 00  |M...Y...........|
00000020  8c 01 00 00 e8 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  34 00 00 00 01 00 00 00  a9 20 53 74 65 76 65 6e  |4........ Steven|
00000040  20 48 61 73 6c 61 6d 20  31 39 39 32 00 53 6c 69  | Haslam 1992.Sli|
00000050  64 69 6e 67 48 65 61 70  00 53 6c 69 64 69 6e 67  |dingHeap.Sliding|
00000060  20 48 65 61 70 09 32 2e  31 31 20 28 31 36 20 44  | Heap.2.11 (16 D|
00000070  65 63 20 32 30 30 32 29  20 33 32 2d 62 69 74 20  |ec 2002) 32-bit |
00000080  63 6f 6d 70 61 74 69 62  6c 65 00 65 48 65 61 70  |compatible.eHeap|
00000090  49 6e 66 6f 00 75 72 65  28 0d 00 00 01 01 01 00  |Info.ure(.......|
000000a0  87 0d 00 00 48 0d 00 00  56 65 72 69 66 79 48 65  |....H...VerifyHe|
000000b0  61 70 00 0d 90 0c 00 00  01 01 01 00 09 0d 00 00  |ap..............|
000000c0  d0 0c 00 00 53 6c 69 64  69 6e 67 5f 48 65 61 70  |....Sliding_Heap|
000000d0  00 20 20 45 00 00 00 00  00 00 00 00 00 00 00 00  |.  E............|
000000e0  a3 0d 00 00 00 00 00 00  53 6c 69 64 69 6e 67 48  |........SlidingH|
000000f0  65 61 70 00 43 72 65 61  74 65 00 4e 65 77 42 6c  |eap.Create.NewBl|
00000100  6f 63 6b 00 53 63 72 61  70 42 6c 6f 63 6b 00 45  |ock.ScrapBlock.E|
00000110  78 74 65 6e 64 42 6c 6f  63 6b 00 48 65 61 70 49  |xtendBlock.HeapI|
00000120  6e 66 6f 00 56 65 72 69  66 79 48 65 61 70 00 4e  |nfo.VerifyHeap.N|
00000130  65 78 74 46 72 65 65 00  49 6e 63 72 65 61 73 65  |extFree.Increase|
00000140  53 6c 6f 74 73 00 44 65  73 63 72 69 62 65 42 6c  |Slots.DescribeBl|
00000150  6f 63 6b 00 53 68 69 66  74 48 65 61 70 00 00 20  |ock.ShiftHeap.. |
00000160  0f 40 2d e9 06 00 a0 e3  01 3c a0 e3 1e 00 02 ef  |.@-......<......|
00000170  00 20 8c 75 0f 80 bd e8  0f 40 2d e9 07 00 a0 e3  |. .u.....@-.....|
00000180  00 20 9c e5 1e 00 02 ef  0f 80 bd e8 00 c0 9c e5  |. ..............|
00000190  0a 00 5b e3 0b f1 8f 30  09 00 00 ea 47 00 00 ea  |..[....0....G...|
000001a0  5f 00 00 ea 97 00 00 ea  de 00 00 ea 22 01 00 ea  |_..........."...|
000001b0  be 01 00 ea 0f 02 00 ea  0f 00 00 ea 10 02 00 ea  |................|
000001c0  38 02 00 ea 0c 00 8f e2  0f 00 3f e1 01 f2 9e 13  |8.........?.....|
000001d0  01 f2 28 73 0e f0 a0 e1  e6 01 00 00 55 6e 6b 6e  |..(s........Unkn|
000001e0  6f 77 6e 20 53 6c 69 64  69 6e 67 48 65 61 70 20  |own SlidingHeap |
000001f0  6f 70 65 72 61 74 69 6f  6e 00 20 20 ff 40 2d e9  |operation.  .@-.|
00000200  04 30 90 e5 00 00 51 e3  26 00 00 0a 03 60 51 e0  |.0....Q.&....`Q.|
00000210  11 00 00 3a 00 70 a0 e1  08 00 97 e5 0c 50 97 e5  |...:.p.......P..|
00000220  04 50 85 e2 00 20 45 e0  06 12 80 e0 f8 03 00 eb  |.P... E.........|
00000230  00 10 a0 e3 06 20 a0 e1  10 00 87 e2 03 02 80 e0  |..... ..........|
00000240  2b 00 00 eb 03 10 a0 e1  06 20 81 e0 04 20 87 e5  |+........ ... ..|
00000250  10 00 87 e2 06 52 a0 e1  1d 02 00 ea 14 00 8f e2  |.....R..........|
00000260  04 d0 8d e2 fe 40 bd e8  0f 00 3f e1 01 f2 9e 13  |.....@....?.....|
00000270  01 f2 28 73 0e f0 a0 e1  09 28 c0 00 55 6e 61 62  |..(s.....(..Unab|
00000280  6c 65 20 74 6f 20 64 65  63 72 65 61 73 65 20 6e  |le to decrease n|
00000290  75 6d 62 65 72 20 6f 66  20 73 6c 6f 74 73 20 69  |umber of slots i|
000002a0  6e 20 68 65 61 70 00 7b  ff 40 bd e8 04 10 90 e5  |n heap.{.@......|
000002b0  0f 00 3f e1 0e f0 b0 11  00 f0 28 63 0e f0 a0 e1  |..?.......(c....|
000002c0  02 00 51 e3 0f 20 a0 13  00 00 52 e3 13 02 00 da  |..Q.. ....R.....|
000002d0  b0 19 9f e5 00 10 80 e5  04 20 80 e5 10 10 80 e2  |......... ......|
000002e0  02 12 81 e0 08 10 80 e5  0c 10 80 e5 10 00 80 e2  |................|
000002f0  00 10 a0 e3 00 00 52 e3  06 00 00 0a 00 10 80 e5  |......R.........|
00000300  04 10 80 e5 08 10 80 e5  0c 10 80 e5 10 00 80 e2  |................|
00000310  01 20 42 e2 f6 ff ff ea  6c 19 9f e5 00 10 80 e5  |. B.....l.......|
00000320  0e f0 a0 e1 ff 40 2d e9  10 40 80 e2 04 50 90 e5  |.....@-..@...P..|
00000330  00 60 94 e5 00 00 56 e3  11 00 00 0a 10 40 84 e2  |.`....V......@..|
00000340  01 50 55 e2 f9 ff ff 1a  14 00 8f e2 04 d0 8d e2  |.PU.............|
00000350  fe 40 bd e8 0f 00 3f e1  01 f2 9e 13 01 f2 28 73  |.@....?.......(s|
00000360  0e f0 a0 e1 00 28 c0 00  4e 6f 20 6d 6f 72 65 20  |.....(..No more |
00000370  66 72 65 65 20 73 6c 6f  74 73 20 69 6e 20 68 65  |free slots in he|
00000380  61 70 00 0d 04 10 84 e5  03 20 82 e2 03 50 e0 e3  |ap....... ...P..|
00000390  05 20 02 e0 08 20 84 e5  00 50 a0 e1 01 60 a0 e1  |. ... ...P...`..|
000003a0  03 00 a0 e1 03 10 a0 e1  3a 00 02 ef ff 80 bd 68  |........:......h|
000003b0  00 30 a0 23 06 10 a0 e1  05 00 a0 e1 00 00 53 e3  |.0.#..........S.|
000003c0  30 30 8f 02 0c 30 84 e5  0c 50 90 e5 04 50 85 e2  |00...0...P...P..|
000003d0  00 50 84 e5 00 50 81 e5  02 50 85 e0 0c 50 80 e5  |.P...P...P...P..|
000003e0  a4 48 9f e5 00 40 85 e5  0f 00 3f e1 ff 80 fd 18  |.H...@....?.....|
000003f0  00 f0 28 63 ff 80 bd e8  55 6e 6b 6e 6f 77 6e 20  |..(c....Unknown |
00000400  62 6c 6f 63 6b 00 09 41  ff 40 2d e9 10 20 80 e2  |block..A.@-.. ..|
00000410  04 30 90 e5 04 40 92 e5  01 00 54 e1 15 00 00 0a  |.0...@....T.....|
00000420  10 20 82 e2 01 30 53 e2  f9 ff ff ca 14 00 8f e2  |. ...0S.........|
00000430  04 d0 8d e2 fe 40 bd e8  0f 00 3f e1 01 f2 9e 13  |.....@....?.....|
00000440  01 f2 28 73 0e f0 a0 e1  07 28 c0 00 43 6f 75 6c  |..(s.....(..Coul|
00000450  64 6e 27 74 20 66 69 6e  64 20 61 6e 63 68 6f 72  |dn't find anchor|
00000460  20 69 6e 20 68 65 61 70  20 28 53 63 72 61 70 42  | in heap (ScrapB|
00000470  6c 6f 63 6b 29 00 20 20  00 40 a0 e3 00 40 81 e5  |lock).  .@...@..|
00000480  0c 70 90 e5 00 50 92 e5  05 70 47 e0 08 60 92 e5  |.p...P...pG..`..|
00000490  06 70 47 e0 04 70 87 e2  08 60 92 e5 05 60 86 e0  |.pG..p...`...`..|
000004a0  04 50 45 e2 0f 00 2d e9  06 10 a0 e1 05 20 a0 e1  |.PE...-...... ..|
000004b0  07 30 a0 e1 d2 02 00 eb  0f 00 bd e8 04 10 90 e5  |.0..............|
000004c0  08 70 92 e5 04 70 87 e2  00 50 a0 e3 00 50 82 e5  |.p...p...P...P..|
000004d0  04 50 82 e5 08 50 82 e5  0c 50 82 e5 10 20 80 e2  |.P...P...P... ..|
000004e0  00 50 92 e5 00 00 55 e3  04 00 00 0a 06 00 55 e1  |.P....U.......U.|
000004f0  07 50 45 a0 00 50 82 e5  04 40 92 e5 00 50 84 e5  |.PE..P...@...P..|
00000500  10 20 82 e2 01 10 51 e2  f4 ff ff 1a 0c 50 90 e5  |. ....Q......P..|
00000510  07 50 45 e0 0c 50 80 e5  0f 00 3f e1 ff 80 fd 18  |.PE..P....?.....|
00000520  00 f0 28 63 ff 80 bd e8  ff 40 2d e9 10 30 80 e2  |..(c.....@-..0..|
00000530  04 40 90 e5 04 50 93 e5  01 00 55 e1 15 00 00 0a  |.@...P....U.....|
00000540  10 30 83 e2 01 40 54 e2  f9 ff ff ca 14 00 8f e2  |.0...@T.........|
00000550  04 d0 8d e2 fe 40 bd e8  0f 00 3f e1 01 f2 9e 13  |.....@....?.....|
00000560  01 f2 28 73 0e f0 a0 e1  08 28 c0 00 43 6f 75 6c  |..(s.....(..Coul|
00000570  64 6e 27 74 20 66 69 6e  64 20 61 6e 63 68 6f 72  |dn't find anchor|
00000580  20 69 6e 20 68 65 61 70  20 28 45 78 74 65 6e 64  | in heap (Extend|
00000590  42 6c 6f 63 6b 29 00 20  00 40 93 e5 08 50 93 e5  |Block). .@...P..|
000005a0  05 40 84 e0 04 40 84 e2  05 70 42 e0 04 50 87 e0  |.@...@...pB..P..|
000005b0  0c 60 90 e5 04 60 46 e0  0f 00 2d e9 04 00 a0 e1  |.`...`F...-.....|
000005c0  05 10 a0 e1 06 20 a0 e1  11 03 00 eb 0f 00 bd e8  |..... ..........|
000005d0  07 60 a0 e1 08 20 83 e5  0c 10 90 e5 06 10 81 e0  |.`... ..........|
000005e0  0c 10 80 e5 00 10 93 e5  02 10 81 e0 98 76 9f e5  |.............v..|
000005f0  00 70 81 e5 10 20 80 e2  00 10 93 e5 04 00 90 e5  |.p... ..........|
00000600  00 00 50 e3 08 00 00 0a  00 30 92 e5 01 00 53 e1  |..P......0....S.|
00000610  06 30 83 c0 00 30 82 c5  04 70 92 c5 00 30 87 c5  |.0...0...p...0..|
00000620  10 20 82 e2 01 00 40 e2  f4 ff ff ea 0f 00 3f e1  |. ....@.......?.|
00000630  ff 80 fd 18 00 f0 28 63  ff 80 bd e8 ff 40 2d e9  |......(c.....@-.|
00000640  00 70 a0 e1 01 00 02 ef  0d 0a 48 65 61 70 20 69  |.p........Heap i|
00000650  6e 66 6f 72 6d 61 74 69  6f 6e 20 72 65 71 75 65  |nformation reque|
00000660  73 74 65 64 0d 0a 0d 0a  47 65 6e 65 72 61 74 65  |sted....Generate|
00000670  64 20 62 79 20 53 6c 69  64 69 6e 67 48 65 61 70  |d by SlidingHeap|
00000680  20 32 2e 31 31 2c 20 a9  20 53 74 65 76 65 6e 20  | 2.11, . Steven |
00000690  48 61 73 6c 61 6d 20 31  39 39 32 20 28 31 36 20  |Haslam 1992 (16 |
000006a0  44 65 63 20 32 30 30 32  29 0d 0a 0d 0a 48 65 61  |Dec 2002)....Hea|
000006b0  70 20 62 61 73 65 20 3a  20 26 00 6c ff 80 bd 68  |p base : &.l...h|
000006c0  0c 10 a0 e1 01 2c a0 e3  d4 00 02 ef 02 00 02 7f  |.....,..........|
000006d0  ff 80 bd 68 01 00 02 ef  0d 0a 53 6c 6f 74 73 20  |...h......Slots |
000006e0  61 76 61 69 6c 61 62 6c  65 20 69 6e 20 68 65 61  |available in hea|
000006f0  70 20 3a 20 00 20 70 6f  ff 80 bd 68 04 00 97 e5  |p : . po...h....|
00000700  0c 10 a0 e1 01 2c a0 e3  d8 00 02 ef 02 00 02 7f  |.....,..........|
00000710  ff 80 bd 68 01 00 02 ef  0d 0a 53 6c 6f 74 73 20  |...h......Slots |
00000720  75 73 65 64 20 3a 20 00  ff 80 bd 68 10 10 87 e2  |used : ....h....|
00000730  04 30 97 e5 00 00 a0 e3  00 20 91 e5 00 00 52 e3  |.0....... ....R.|
00000740  01 00 80 12 10 10 81 e2  01 30 53 e2 f9 ff ff 1a  |.........0S.....|
00000750  00 60 a0 e1 0c 10 a0 e1  01 2c a0 e3 d8 00 02 ef  |.`.......,......|
00000760  02 00 02 7f ff 80 bd 68  01 00 02 ef 0d 0a 54 6f  |.......h......To|
00000770  70 20 6f 66 20 68 65 61  70 20 3a 20 26 00 0d 03  |p of heap : &...|
00000780  ff 80 bd 68 0c 00 97 e5  d4 00 02 ef 02 00 02 7f  |...h............|
00000790  ff 80 bd 68 01 00 02 ef  0d 0a 0d 0a 00 49 43 20  |...h.........IC |
000007a0  ff 80 bd 68 00 00 56 e3  3c 00 00 0a 01 00 02 ef  |...h..V.<.......|
000007b0  42 6c 6f 63 6b 73 3a 20  28 6e 6f 74 20 6e 65 63  |Blocks: (not nec|
000007c0  65 73 73 61 72 69 6c 79  20 69 6e 20 74 68 65 20  |essarily in the |
000007d0  6f 72 64 65 72 20 61 73  20 69 6e 20 74 68 65 20  |order as in the |
000007e0  68 65 61 70 29 0d 0a 0d  0a 7c 20 41 64 64 72 65  |heap)....| Addre|
000007f0  73 73 20 20 20 7c 20 4c  65 6e 67 74 68 20 20 20  |ss   | Length   |
00000800  20 20 20 7c 20 4e 61 6d  65 0d 0a 00 ff 80 bd 68  |   | Name......h|
00000810  10 60 87 e2 04 40 97 e5  00 50 96 e5 00 00 55 e3  |.`...@...P....U.|
00000820  1b 00 00 0a 7c 01 02 ef  20 01 02 7f 26 01 02 7f  |....|... ...&...|
00000830  05 00 a0 71 0c 10 a0 71  01 2c a0 73 d4 00 02 7f  |...q...q.,.s....|
00000840  02 00 02 7f 20 01 02 7f  7c 01 02 7f 20 01 02 7f  |.... ...|... ...|
00000850  08 00 96 75 eb 00 02 7f  02 00 02 7f 20 01 02 7f  |...u........ ...|
00000860  7c 01 02 7f 20 01 02 7f  ff 80 bd 68 0c 10 96 e5  ||... ......h....|
00000870  01 00 d1 e4 20 00 50 e3  02 00 00 ba 00 00 02 ef  |.... .P.........|
00000880  ff 80 bd 68 f9 ff ff ea  0d 01 02 ef 0a 01 02 7f  |...h............|
00000890  ff 80 bd 68 10 60 86 e2  01 40 54 e2 dd ff ff 1a  |...h.`...@T.....|
000008a0  0f 00 3f e1 ff 80 fd 18  00 f0 28 63 ff 80 bd e8  |..?.......(c....|
000008b0  ff 40 2d e9 10 10 80 e2  3a 00 02 ef ff 80 bd 68  |.@-.....:......h|
000008c0  a8 00 00 2a 0c 10 90 e5  04 10 81 e2 3a 00 02 ef  |...*........:...|
000008d0  ff 80 bd 68 a3 00 00 2a  00 10 90 e5 a4 23 9f e5  |...h...*.....#..|
000008e0  02 00 51 e1 ae 00 00 1a  08 10 90 e5 00 10 91 e5  |..Q.............|
000008f0  94 23 9f e5 02 00 51 e1  ba 00 00 1a 04 10 90 e5  |.#....Q.........|
00000900  10 00 80 e2 00 30 90 e5  00 00 53 e3 32 00 00 0a  |.....0....S.2...|
00000910  08 40 90 e5 04 30 83 e0  00 30 93 e5 68 23 9f e5  |.@...0...0..h#..|
00000920  03 00 52 e1 13 00 00 0a  0c 00 90 e5 0c 10 a0 e1  |..R.............|
00000930  04 10 81 e2 fc 20 a0 e3  2f 3e 8f e2 04 40 93 e4  |..... ../>...@..|
00000940  43 00 02 ef ff 80 bd 68  00 30 a0 e3 01 20 42 e2  |C......h.0... B.|
00000950  02 30 c1 e7 fc 02 9f e5  00 00 8c e5 0c 00 a0 e1  |.0..............|
00000960  04 d0 8d e2 fe 40 bd e8  0f 00 3f e1 01 f2 9e 13  |.....@....?.....|
00000970  01 f2 28 73 0e f0 a0 e1  04 20 90 e5 00 20 92 e5  |..(s..... ... ..|
00000980  00 30 90 e5 03 00 52 e1  13 00 00 0a 0c 00 90 e5  |.0....R.........|
00000990  0c 10 a0 e1 04 10 81 e2  fc 20 a0 e3 ae 3f 8f e2  |......... ...?..|
000009a0  04 40 93 e4 43 00 02 ef  ff 80 bd 68 00 30 a0 e3  |.@..C......h.0..|
000009b0  01 20 42 e2 02 30 c1 e7  c4 02 9f e5 00 00 8c e5  |. B..0..........|
000009c0  0c 00 a0 e1 04 d0 8d e2  fe 40 bd e8 0f 00 3f e1  |.........@....?.|
000009d0  01 f2 9e 13 01 f2 28 73  0e f0 a0 e1 10 00 80 e2  |......(s........|
000009e0  01 10 51 e2 c6 ff ff ca  0f 00 3f e1 ff 80 fd 18  |..Q.......?.....|
000009f0  00 f0 28 63 ff 80 bd e8  0c 00 90 e5 04 00 80 e2  |..(c............|
00000a00  0e f0 a0 e1 ff 40 2d e9  10 20 80 e2 04 30 90 e5  |.....@-.. ...0..|
00000a10  00 00 53 e3 07 00 00 0a  04 40 92 e5 00 00 54 e3  |..S......@....T.|
00000a20  01 00 00 0a 01 00 54 e1  16 00 00 0a 01 30 43 e2  |......T......0C.|
00000a30  10 20 82 e2 f5 ff ff ea  14 00 8f e2 04 d0 8d e2  |. ..............|
00000a40  fe 40 bd e8 0f 00 3f e1  01 f2 9e 13 01 f2 28 73  |.@....?.......(s|
00000a50  0e f0 a0 e1 0b 28 c0 00  43 6f 75 6c 64 6e 27 74  |.....(..Couldn't|
00000a60  20 66 69 6e 64 20 61 6e  63 68 6f 72 20 69 6e 20  | find anchor in |
00000a70  68 65 61 70 20 28 44 65  73 63 72 69 62 65 42 6c  |heap (DescribeBl|
00000a80  6f 63 6b 29 00 53 54 52  02 00 a0 e1 04 d0 8d e2  |ock).STR........|
00000a90  fe 40 bd e8 0f 00 90 e8  0f 00 3f e1 0e f0 b0 11  |.@........?.....|
00000aa0  00 f0 28 63 0e f0 a0 e1  ff 40 2d e9 01 70 a0 e1  |..(c.....@-..p..|
00000ab0  00 60 a0 e1 cf ff ff eb  00 20 66 e0 06 00 a0 e1  |.`....... f.....|
00000ac0  07 10 a0 e1 d2 01 00 eb  06 50 47 e0 10 00 87 e2  |.........PG.....|
00000ad0  04 10 97 e5 00 20 90 e5  00 00 52 e3 05 20 82 10  |..... ....R.. ..|
00000ae0  00 20 80 15 04 30 90 15  00 20 83 15 10 00 80 e2  |. ...0... ......|
00000af0  01 10 51 e2 f6 ff ff 1a  08 00 97 e5 05 00 80 e0  |..Q.............|
00000b00  08 00 87 e5 0c 00 97 e5  05 00 80 e0 0c 00 87 e5  |................|
00000b10  0f 00 3f e1 ff 80 fd 18  00 f0 28 63 ff 80 bd e8  |..?.......(c....|
00000b20  0c 00 8f e2 0f 00 3f e1  01 f2 9e 13 01 f2 28 73  |......?.......(s|
00000b30  0e f0 a0 e1 02 28 c0 00  59 6f 75 20 6d 75 73 74  |.....(..You must|
00000b40  20 68 61 76 65 20 61 74  20 6c 65 61 73 74 20 6f  | have at least o|
00000b50  6e 65 20 62 6c 6f 63 6b  20 69 6e 20 74 68 65 20  |ne block in the |
00000b60  68 65 61 70 21 00 65 20  14 00 8f e2 04 d0 8d e2  |heap!.e ........|
00000b70  fe 40 bd e8 0f 00 3f e1  01 f2 9e 13 01 f2 28 73  |.@....?.......(s|
00000b80  0e f0 a0 e1 0a 28 c0 00  48 65 61 70 20 69 73 20  |.....(..Heap is |
00000b90  6e 6f 74 20 69 6e 20 76  61 6c 69 64 20 6d 65 6d  |not in valid mem|
00000ba0  6f 72 79 00 14 00 8f e2  04 d0 8d e2 fe 40 bd e8  |ory..........@..|
00000bb0  0f 00 3f e1 01 f2 9e 13  01 f2 28 73 0e f0 a0 e1  |..?.......(s....|
00000bc0  03 28 c0 00 48 65 61 70  20 49 44 20 63 6f 72 72  |.(..Heap ID corr|
00000bd0  75 70 74 65 64 20 28 42  61 64 20 73 69 67 6e 61  |upted (Bad signa|
00000be0  74 75 72 65 29 00 20 20  14 00 8f e2 04 d0 8d e2  |ture).  ........|
00000bf0  fe 40 bd e8 0f 00 3f e1  01 f2 9e 13 01 f2 28 73  |.@....?.......(s|
00000c00  0e f0 a0 e1 04 28 c0 00  53 74 61 72 74 20 6f 66  |.....(..Start of|
00000c10  20 68 65 61 70 20 63 6f  72 72 75 70 74 65 64 20  | heap corrupted |
00000c20  28 42 61 64 20 73 69 67  6e 61 74 75 72 65 29 00  |(Bad signature).|
00000c30  24 00 00 00 42 6c 6f 63  6b 20 6f 76 65 72 66 6c  |$...Block overfl|
00000c40  6f 77 20 69 6e 20 53 6c  69 64 69 6e 67 20 48 65  |ow in Sliding He|
00000c50  61 70 20 28 25 2a 30 29  01 28 c0 00 24 00 00 00  |ap (%*0).(..$...|
00000c60  41 6e 63 68 6f 72 20 64  6f 65 73 20 6e 6f 74 20  |Anchor does not |
00000c70  70 6f 69 6e 74 20 74 6f  20 62 6c 6f 63 6b 20 28  |point to block (|
00000c80  25 2a 30 29 06 28 c0 00  ab 48 7a bb 42 6c 63 6b  |%*0).(...Hz.Blck|
00000c90  04 e0 2d e5 00 c0 9c e5  00 10 a0 e1 10 00 a0 e3  |..-.............|
00000ca0  21 00 02 ef 02 00 a0 71  00 ff ff 7b 04 00 8f 72  |!......q...{...r|
00000cb0  02 00 02 7f 04 f0 9d e4  48 65 61 70 20 63 68 65  |........Heap che|
00000cc0  63 6b 65 64 20 6f 75 74  20 4f 4b 0d 0a 00 0d 03  |cked out OK.....|
00000cd0  2a 56 65 72 69 66 79 48  65 61 70 20 77 69 6c 6c  |*VerifyHeap will|
00000ce0  20 63 68 65 63 6b 20 74  68 65 20 69 6e 74 65 67  | check the integ|
00000cf0  72 69 74 79 20 6f 66 20  74 68 65 20 67 69 76 65  |rity of the give|
00000d00  6e 20 68 65 61 70 2e 0d  0d 53 79 6e 74 61 78 3a  |n heap...Syntax:|
00000d10  20 2a 56 65 72 69 66 79  48 65 61 70 20 3c 61 64  | *VerifyHeap <ad|
00000d20  64 72 65 73 73 3e 00 65  04 e0 2d e5 00 c0 9c e5  |dress>.e..-.....|
00000d30  00 10 a0 e1 10 00 a0 e3  21 00 02 ef 02 00 a0 71  |........!......q|
00000d40  3d fe ff 7b 04 f0 9d e4  2a 48 65 61 70 49 6e 66  |=..{....*HeapInf|
00000d50  6f 20 77 69 6c 6c 20 64  69 73 70 6c 61 79 20 69  |o will display i|
00000d60  6e 66 6f 72 6d 61 74 69  6f 6e 20 6f 6e 20 74 68  |nformation on th|
00000d70  65 20 67 69 76 65 6e 20  73 6c 69 64 69 6e 67 20  |e given sliding |
00000d80  68 65 61 70 2e 0d 0d 53  79 6e 74 61 78 3a 20 2a  |heap...Syntax: *|
00000d90  48 65 61 70 49 6e 66 6f  20 3c 61 64 64 72 65 73  |HeapInfo <addres|
00000da0  73 3e 00 53 6c 69 64 69  6e 67 48 65 61 70 20 69  |s>.SlidingHeap i|
00000db0  73 20 61 20 6d 65 6d 6f  72 79 20 6d 61 6e 61 67  |s a memory manag|
00000dc0  65 72 20 74 68 61 74 20  77 6f 72 6b 73 20 62 79  |er that works by|
00000dd0  20 75 73 69 6e 67 20 60  61 6e 63 68 6f 72 20 70  | using `anchor p|
00000de0  6f 69 6e 74 73 60 20 69  6e 74 6f 20 61 6e 20 61  |oints` into an a|
00000df0  72 65 61 20 6f 66 20 6d  65 6d 6f 72 79 3b 20 69  |rea of memory; i|
00000e00  74 20 69 73 20 72 61 74  68 65 72 20 6c 69 6b 65  |t is rather like|
00000e10  20 41 63 6f 72 6e 20 43  27 73 20 60 66 6c 65 78  | Acorn C's `flex|
00000e20  60 20 6c 69 62 72 61 72  79 2c 20 68 6f 77 65 76  |` library, howev|
00000e30  65 72 20 69 74 20 69 73  20 73 75 69 74 61 62 6c  |er it is suitabl|
00000e40  65 20 66 6f 72 20 75 73  65 20 69 6e 20 42 41 53  |e for use in BAS|
00000e50  49 43 2f 41 52 4d 20 63  6f 64 65 20 70 72 6f 67  |IC/ARM code prog|
00000e60  72 61 6d 73 2e 20 54 68  65 72 65 20 69 73 20 61  |rams. There is a|
00000e70  20 73 65 74 20 6f 66 20  42 41 53 49 43 20 70 72  | set of BASIC pr|
00000e80  6f 63 65 64 75 72 65 73  20 74 6f 20 69 6e 74 65  |ocedures to inte|
00000e90  72 66 61 63 65 20 77 69  74 68 20 74 68 65 20 73  |rface with the s|
00000ea0  6c 69 64 69 6e 67 20 68  65 61 70 20 6d 61 6e 61  |liding heap mana|
00000eb0  67 65 72 2c 20 77 68 69  63 68 20 77 69 6c 6c 20  |ger, which will |
00000ec0  61 6c 73 6f 20 61 75 74  6f 6d 61 74 69 63 61 6c  |also automatical|
00000ed0  6c 79 20 69 6e 63 72 65  61 73 65 20 61 6e 64 20  |ly increase and |
00000ee0  64 65 63 72 65 61 73 65  20 74 68 65 20 73 69 7a  |decrease the siz|
00000ef0  65 20 6f 66 20 61 20 57  49 4d 50 20 74 61 73 6b  |e of a WIMP task|
00000f00  27 73 20 6d 65 6d 6f 72  79 20 61 72 65 61 20 61  |'s memory area a|
00000f10  73 20 72 65 71 75 69 72  65 64 2e 0d 0d 46 6f 72  |s required...For|
00000f20  20 6d 6f 72 65 20 69 6e  66 6f 72 6d 61 74 69 6f  | more informatio|
00000f30  6e 2c 20 63 6f 6e 74 61  63 74 20 53 74 65 76 65  |n, contact Steve|
00000f40  6e 20 48 61 73 6c 61 6d  20 61 74 20 6f 6e 65 20  |n Haslam at one |
00000f50  6f 66 20 74 68 65 20 66  6f 6c 6c 6f 77 69 6e 67  |of the following|
00000f60  20 61 64 64 72 65 73 73  65 73 3a 0d 0d 45 2d 4d  | addresses:..E-M|
00000f70  61 69 6c 3a 0d a0 46 69  64 6f 4e 65 74 3a 20 20  |ail:..FidoNet:  |
00000f80  32 3a 32 35 30 2f 31 31  36 2e 33 2c 20 32 3a 32  |2:250/116.3, 2:2|
00000f90  35 34 2f 32 37 2e 30 2c  20 32 3a 32 35 32 2f 31  |54/27.0, 2:252/1|
00000fa0  30 32 2e 30 2c 20 32 3a  32 35 34 2f 34 30 35 2e  |02.0, 2:254/405.|
00000fb0  30 0d 0d 53 6e 61 69 6c  2d 4d 61 69 6c 3a 0d 0d  |0..Snail-Mail:..|
00000fc0  53 74 65 76 65 6e 20 48  61 73 6c 61 6d 0d a0 31  |Steven Haslam..1|
00000fd0  31 32 20 4b 65 69 67 68  6c 65 79 20 52 6f 61 64  |12 Keighley Road|
00000fe0  0d a0 a0 43 6f 6c 6e 65  0d a0 a0 a0 4c 61 6e 63  |...Colne....Lanc|
00000ff0  61 73 68 69 72 65 0d a0  a0 a0 a0 42 42 38 20 30  |ashire.....BB8 0|
00001000  50 48 00 6f 04 e0 2d e5  03 00 12 e3 29 00 00 1a  |PH.o..-.....)...|
00001010  03 00 11 e3 2e 00 00 1a  10 30 53 e2 11 00 00 ba  |.........0S.....|
00001020  10 30 53 e2 07 00 00 ba  f0 03 2d e9 f1 43 b1 e8  |.0S.......-..C..|
00001030  f1 43 a2 e8 20 30 53 e2  fb ff ff aa 20 00 73 e3  |.C.. 0S..... .s.|
00001040  f0 83 bd 08 f0 03 bd e8  10 30 93 e2 05 00 00 ba  |.........0......|
00001050  30 00 2d e9 31 40 b1 e8  31 40 a2 e8 30 80 bd 08  |0.-.1@..1@..0...|
00001060  30 00 bd e8 10 30 43 e2  08 30 93 e2 03 00 00 ba  |0....0C..0......|
00001070  01 40 b1 e8 01 40 a2 e8  04 f0 9d 04 08 30 43 e2  |.@...@.......0C.|
00001080  04 30 93 e2 03 00 00 ba  04 00 91 e4 04 00 82 e4  |.0..............|
00001090  04 f0 9d 04 04 30 43 e2  04 30 93 e2 04 f0 9d 04  |.....0C..0......|
000010a0  00 00 91 e5 01 00 c2 e4  20 04 a0 e1 01 30 53 e2  |........ ....0S.|
000010b0  fb ff ff ca 04 f0 9d e4  01 00 d1 e4 01 00 c2 e4  |................|
000010c0  01 30 53 e2 04 f0 9d 04  03 00 12 e3 f9 ff ff 1a  |.0S.............|
000010d0  ce ff ff ea 00 18 2d e9  03 c0 01 e2 03 10 c1 e3  |......-.........|
000010e0  8c c1 a0 e1 20 b0 6c e2  04 00 91 e4 30 0c a0 e1  |.... .l.....0...|
000010f0  10 30 53 e2 29 00 00 ba  10 30 53 e2 17 00 00 ba  |.0S.)....0S.....|
00001100  f0 07 2d e9 f0 47 b1 e8  14 0b 80 e1 34 4c a0 e1  |..-..G......4L..|
00001110  15 4b 84 e1 35 5c a0 e1  16 5b 85 e1 36 6c a0 e1  |.K..5\...[..6l..|
00001120  17 6b 86 e1 37 7c a0 e1  18 7b 87 e1 38 8c a0 e1  |.k..7|...{..8...|
00001130  19 8b 88 e1 39 9c a0 e1  1a 9b 89 e1 3a ac a0 e1  |....9.......:...|
00001140  1e ab 8a e1 f1 07 a2 e8  3e 0c a0 e1 20 30 53 e2  |........>... 0S.|
00001150  eb ff ff aa 20 00 73 e3  f0 9f bd 08 f0 07 bd e8  |.... .s.........|
00001160  10 30 93 e2 0d 00 00 ba  70 00 2d e9 70 40 b1 e8  |.0......p.-.p@..|
00001170  14 0b 80 e1 34 4c a0 e1  15 4b 84 e1 35 5c a0 e1  |....4L...K..5\..|
00001180  16 5b 85 e1 36 6c a0 e1  1e 6b 86 e1 71 00 a2 e8  |.[..6l...k..q...|
00001190  70 98 bd 08 70 00 bd e8  10 30 43 e2 3e 0c a0 e1  |p...p....0C.>...|
000011a0  08 30 93 e2 09 00 00 ba  04 40 2d e5 10 40 b1 e8  |.0.......@-..@..|
000011b0  14 0b 80 e1 34 4c a0 e1  1e 4b 84 e1 11 00 a2 e8  |....4L...K......|
000011c0  10 98 bd 08 04 40 9d e4  08 30 43 e2 3e 0c a0 e1  |.....@...0C.>...|
000011d0  04 30 93 e2 05 00 00 ba  04 e0 91 e4 1e 0b 80 e1  |.0..............|
000011e0  04 00 82 e4 00 98 bd 08  04 30 43 e2 3e 0c a0 e1  |.........0C.>...|
000011f0  04 30 93 e2 00 98 bd 08  00 e0 91 e5 1e 0b 80 e1  |.0..............|
00001200  01 00 c2 e4 20 04 a0 e1  01 30 53 e2 fb ff ff ca  |.... ....0S.....|
00001210  00 98 bd e8 1f 40 2d e9  01 00 50 e1 04 00 00 ba  |.....@-...P.....|
00001220  04 30 90 e4 04 30 81 e4  04 20 52 e2 fb ff ff 5a  |.0...0... R....Z|
00001230  1f 80 bd e8 02 30 90 e7  02 30 81 e7 04 20 52 e2  |.....0...0... R.|
00001240  fb ff ff 5a 1f 80 bd e8                           |...Z....|
00001248