Home » Archimedes archive » Archimedes World » AW-1994-04-Disc2.adf » Disk2Apr94 » !AWApr94/Goodies/PowerBase/!Powerbase/Resources/Modules/SlidingHp

!AWApr94/Goodies/PowerBase/!Powerbase/Resources/Modules/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 » Archimedes archive » Archimedes World » AW-1994-04-Disc2.adf » Disk2Apr94
Filename: !AWApr94/Goodies/PowerBase/!Powerbase/Resources/Modules/SlidingHp
Read OK:
File size: 10F4 bytes
Load address: 0000
Exec address: 0000
File contents
<TDPp�h�� Steven Haslam 1992SlidingHeapSliding Heap	2.00 (23 Apr 1992)HeapInfo�3�VerifyHeap<�|Sliding_HeapPSlidingHeapCreateNewBlockScrapBlockExtendBlockHeapInfoVerifyHeapNextFreeNOPDescribeBlockShiftHeap@-���<��� �����@-��� ������-����������
[��0	��7�f����}�������������Unknown SlidingHeap operation����	(�SlidingHeap operation not supportedQ� �R������� ��������������R�
���������� B���������@-�@��P��`��V�
@��PE�U����@����(�No more free slots in heap�� ��P�� � ��P��`������:��h0�#����S�$0�<�0��P��P��P��P��P��P��G��@����@-� ��0��@��T�
 ��0C�S�����@����(�Couldn't find anchor in heap (ScrapBlock)@��@��p��`��pG�`��pG�p��`��P��`��P��PE�-��� ��0�������p��p��P��P��P��P��P�� ��P��U�
U�PE�P��@��P�� ��A�Q��P��PE�P����@-�0��@��P��U�
0��@D�T�����@����(�Couldn't find anchor in heap (ExtendBlock)@��P��@��@��P��PB�P��`��`F�pE�-����� �����`�� ������������v��p�� ������P�
0��S�0��0��p��0�� ��@�����@-�p���
Heap information requested

Generated by SlidingHeap 2.00, � Steven Haslam 1992 (23 Apr 1992)

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

V���Blocks: (not necessarily in the order as in the heap)

| Address   | Length      | Name
`��@��P��U�
|� �&�����,�������h �|� ��������h �|� ����� P������
�
�`��@D�T�������@-���:��h�*����:��h�*��X#��Q�����H#��Q�����0��S�,
@��0��0��#��R�
������,�� B�*>��@��C��h0�� B�0��������@���� �� ��0��R�
������,�� B�?��@��C��h0�� B�0��������@������A�Q�������������@-� ��0��S�
@��T�
T�
0C� ������@����(�Couldn't find anchor in heap (DescribeBlock)��@������@-�p��`����� f�������PG����� ��R� � �0� ���A�Q��������������������(�You must have at least one block in the heap!��@����
(�Heap is not in valid memory��@����(�Heap ID corrupted (Bad signature)��@����(�Start of heap corrupted (Bad signature)��@����(�Top of heap corrupted (Bad signature)$Block overflow in Sliding Heap (%*0)(�$Anchor does not point to block (%*0)(��Hz�BlckUnknown block@-��������!��q��{�r���Heap checked out OK
*VerifyHeap will check the integrity of the given heap.

Syntax: *VerifyHeap <address>@-��������!��qU��{���*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 0PH@-��)�.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 3c 01 00 00  54 01 00 00 00 00 00 00  |....<...T.......|
00000010  44 00 00 00 50 00 00 00  70 00 00 00 80 02 0c 00  |D...P...p.......|
00000020  68 01 00 00 cc 00 00 00  00 00 00 00 a9 20 53 74  |h............ St|
00000030  65 76 65 6e 20 48 61 73  6c 61 6d 20 31 39 39 32  |even Haslam 1992|
00000040  00 00 00 00 53 6c 69 64  69 6e 67 48 65 61 70 00  |....SlidingHeap.|
00000050  53 6c 69 64 69 6e 67 20  48 65 61 70 09 32 2e 30  |Sliding Heap.2.0|
00000060  30 20 28 32 33 20 41 70  72 20 31 39 39 32 29 00  |0 (23 Apr 1992).|
00000070  48 65 61 70 49 6e 66 6f  00 00 00 00 d4 0b 00 00  |HeapInfo........|
00000080  01 01 01 00 33 0c 00 00  f4 0b 00 00 56 65 72 69  |....3.......Veri|
00000090  66 79 48 65 61 70 00 00  3c 0b 00 00 01 01 01 00  |fyHeap..<.......|
000000a0  b5 0b 00 00 7c 0b 00 00  53 6c 69 64 69 6e 67 5f  |....|...Sliding_|
000000b0  48 65 61 70 00 00 00 00  00 00 00 00 00 00 00 00  |Heap............|
000000c0  00 00 00 00 50 0c 00 00  00 00 00 00 53 6c 69 64  |....P.......Slid|
000000d0  69 6e 67 48 65 61 70 00  43 72 65 61 74 65 00 4e  |ingHeap.Create.N|
000000e0  65 77 42 6c 6f 63 6b 00  53 63 72 61 70 42 6c 6f  |ewBlock.ScrapBlo|
000000f0  63 6b 00 45 78 74 65 6e  64 42 6c 6f 63 6b 00 48  |ck.ExtendBlock.H|
00000100  65 61 70 49 6e 66 6f 00  56 65 72 69 66 79 48 65  |eapInfo.VerifyHe|
00000110  61 70 00 4e 65 78 74 46  72 65 65 00 4e 4f 50 00  |ap.NextFree.NOP.|
00000120  44 65 73 63 72 69 62 65  42 6c 6f 63 6b 00 53 68  |DescribeBlock.Sh|
00000130  69 66 74 48 65 61 70 00  00 00 00 00 0f 40 2d e9  |iftHeap......@-.|
00000140  06 00 a0 e3 01 3c a0 e3  1e 00 02 ef 00 20 8c e5  |.....<....... ..|
00000150  0f 80 bd e8 0f 40 2d e9  07 00 a0 e3 00 20 9c e5  |.....@-...... ..|
00000160  1e 00 02 ef 0f 80 bd e8  01 00 2d e9 02 03 e0 e3  |..........-.....|
00000170  0f f0 10 e1 01 00 bd e8  00 c0 9c e5 0a 00 5b e3  |..............[.|
00000180  0b f1 8f 30 09 00 00 ea  1f 00 00 ea 37 00 00 ea  |...0........7...|
00000190  66 00 00 ea aa 00 00 ea  ea 00 00 ea 7d 01 00 ea  |f...........}...|
000001a0  c6 01 00 ea 0c 00 00 ea  c7 01 00 ea e7 01 00 ea  |................|
000001b0  00 00 8f e2 01 f2 9e e3  e6 01 00 00 55 6e 6b 6e  |............Unkn|
000001c0  6f 77 6e 20 53 6c 69 64  69 6e 67 48 65 61 70 20  |own SlidingHeap |
000001d0  6f 70 65 72 61 74 69 6f  6e 00 00 00 00 00 8f e2  |operation.......|
000001e0  01 f2 9e e3 09 28 c0 00  53 6c 69 64 69 6e 67 48  |.....(..SlidingH|
000001f0  65 61 70 20 6f 70 65 72  61 74 69 6f 6e 20 6e 6f  |eap operation no|
00000200  74 20 73 75 70 70 6f 72  74 65 64 00 02 00 51 e3  |t supported...Q.|
00000210  0f 20 a0 13 00 00 52 e3  e8 01 00 da 00 19 9f e5  |. ....R.........|
00000220  00 10 80 e5 04 20 80 e5  10 10 80 e2 02 12 81 e0  |..... ..........|
00000230  08 10 80 e5 0c 10 80 e5  10 00 80 e2 00 10 a0 e3  |................|
00000240  00 00 52 e3 06 00 00 0a  00 10 80 e5 04 10 80 e5  |..R.............|
00000250  08 10 80 e5 0c 10 80 e5  10 00 80 e2 01 20 42 e2  |............. B.|
00000260  f6 ff ff ea bc 18 9f e5  00 10 80 e5 0e f0 a0 e1  |................|
00000270  fe 40 2d e9 10 40 80 e2  04 50 90 e5 00 60 94 e5  |.@-..@...P...`..|
00000280  00 00 56 e3 0e 00 00 0a  10 40 84 e2 01 50 45 e2  |..V......@...PE.|
00000290  00 00 55 e3 f8 ff ff 1a  04 00 8f e2 fe 40 bd e8  |..U..........@..|
000002a0  01 f2 9e e3 00 28 c0 00  4e 6f 20 6d 6f 72 65 20  |.....(..No more |
000002b0  66 72 65 65 20 73 6c 6f  74 73 20 69 6e 20 68 65  |free slots in he|
000002c0  61 70 00 00 04 10 84 e5  03 20 82 e2 03 50 e0 e3  |ap....... ...P..|
000002d0  05 20 02 e0 08 20 84 e5  00 50 a0 e1 01 60 a0 e1  |. ... ...P...`..|
000002e0  03 00 a0 e1 03 10 a0 e1  3a 00 02 ef fe 80 bd 68  |........:......h|
000002f0  00 30 a0 23 06 10 a0 e1  05 00 a0 e1 00 00 53 e3  |.0.#..........S.|
00000300  24 30 8f 02 08 3c 83 02  0c 30 84 e5 0c 50 90 e5  |$0...<...0...P..|
00000310  04 50 85 e2 00 50 84 e5  00 50 81 e5 02 50 85 e0  |.P...P...P...P..|
00000320  0c 50 80 e5 fc 47 9f e5  00 40 85 e5 fe 80 bd e8  |.P...G...@......|
00000330  fe 40 2d e9 10 20 80 e2  04 30 90 e5 04 40 92 e5  |.@-.. ...0...@..|
00000340  01 00 54 e1 12 00 00 0a  10 20 82 e2 01 30 43 e2  |..T...... ...0C.|
00000350  00 00 53 e3 f8 ff ff ca  04 00 8f e2 fe 40 bd e8  |..S..........@..|
00000360  01 f2 9e e3 07 28 c0 00  43 6f 75 6c 64 6e 27 74  |.....(..Couldn't|
00000370  20 66 69 6e 64 20 61 6e  63 68 6f 72 20 69 6e 20  | find anchor in |
00000380  68 65 61 70 20 28 53 63  72 61 70 42 6c 6f 63 6b  |heap (ScrapBlock|
00000390  29 00 00 00 00 40 a0 e3  00 40 81 e5 0c 70 90 e5  |)....@...@...p..|
000003a0  00 60 92 e5 06 70 47 e0  08 60 92 e5 06 70 47 e0  |.`...pG..`...pG.|
000003b0  04 70 87 e2 00 60 92 e5  08 50 92 e5 06 60 85 e0  |.p...`...P...`..|
000003c0  00 50 92 e5 04 50 45 e2  0f 00 2d e9 06 10 a0 e1  |.P...PE...-.....|
000003d0  05 20 a0 e1 07 30 a0 e1  b4 02 00 eb 0f 00 bd e8  |. ...0..........|
000003e0  04 10 90 e5 08 70 92 e5  04 70 87 e2 00 50 a0 e3  |.....p...p...P..|
000003f0  00 50 82 e5 04 50 82 e5  08 50 82 e5 0c 50 82 e5  |.P...P...P...P..|
00000400  10 20 80 e2 00 50 92 e5  00 00 55 e3 04 00 00 0a  |. ...P....U.....|
00000410  06 00 55 e1 07 50 45 a0  00 50 82 e5 04 40 92 e5  |..U..PE..P...@..|
00000420  00 50 84 e5 10 20 82 e2  01 10 41 e2 00 00 51 e3  |.P... ....A...Q.|
00000430  f3 ff ff 1a 0c 50 90 e5  07 50 45 e0 0c 50 80 e5  |.....P...PE..P..|
00000440  fe 80 bd e8 fe 40 2d e9  10 30 80 e2 04 40 90 e5  |.....@-..0...@..|
00000450  04 50 93 e5 01 00 55 e1  12 00 00 0a 10 30 83 e2  |.P....U......0..|
00000460  01 40 44 e2 00 00 54 e3  f8 ff ff ca 04 00 8f e2  |.@D...T.........|
00000470  fe 40 bd e8 01 f2 9e e3  08 28 c0 00 43 6f 75 6c  |.@.......(..Coul|
00000480  64 6e 27 74 20 66 69 6e  64 20 61 6e 63 68 6f 72  |dn't find anchor|
00000490  20 69 6e 20 68 65 61 70  20 28 45 78 74 65 6e 64  | in heap (Extend|
000004a0  42 6c 6f 63 6b 29 00 00  00 40 93 e5 08 50 93 e5  |Block)...@...P..|
000004b0  05 40 84 e0 04 40 84 e2  08 50 93 e5 05 50 42 e0  |.@...@...P...PB.|
000004c0  04 50 85 e0 0c 60 90 e5  04 60 46 e0 04 70 45 e0  |.P...`...`F..pE.|
000004d0  0f 00 2d e9 04 00 a0 e1  05 10 a0 e1 06 20 a0 e1  |..-.......... ..|
000004e0  f6 02 00 eb 0f 00 bd e8  07 60 a0 e1 08 20 83 e5  |.........`... ..|
000004f0  0c 10 90 e5 06 10 81 e0  0c 10 80 e5 00 10 93 e5  |................|
00000500  02 10 81 e0 1c 76 9f e5  00 70 81 e5 10 20 80 e2  |.....v...p... ..|
00000510  00 10 93 e5 04 00 90 e5  00 00 50 e3 08 00 00 0a  |..........P.....|
00000520  00 30 92 e5 01 00 53 e1  06 30 83 c0 00 30 82 c5  |.0....S..0...0..|
00000530  04 70 92 c5 00 30 87 c5  10 20 82 e2 01 00 40 e2  |.p...0... ....@.|
00000540  f4 ff ff ea fe 80 bd e8  fe 40 2d e9 00 70 a0 e1  |.........@-..p..|
00000550  01 00 02 ef 0d 0a 48 65  61 70 20 69 6e 66 6f 72  |......Heap infor|
00000560  6d 61 74 69 6f 6e 20 72  65 71 75 65 73 74 65 64  |mation requested|
00000570  0d 0a 0d 0a 47 65 6e 65  72 61 74 65 64 20 62 79  |....Generated by|
00000580  20 53 6c 69 64 69 6e 67  48 65 61 70 20 32 2e 30  | SlidingHeap 2.0|
00000590  30 2c 20 a9 20 53 74 65  76 65 6e 20 48 61 73 6c  |0, . Steven Hasl|
000005a0  61 6d 20 31 39 39 32 20  28 32 33 20 41 70 72 20  |am 1992 (23 Apr |
000005b0  31 39 39 32 29 0d 0a 0d  0a 48 65 61 70 20 62 61  |1992)....Heap ba|
000005c0  73 65 20 3a 20 26 00 00  0c 10 a0 e1 01 2c a0 e3  |se : &.......,..|
000005d0  d4 00 02 ef 02 00 02 7f  fe 80 bd 68 01 00 02 ef  |...........h....|
000005e0  0d 0a 53 6c 6f 74 73 20  61 76 61 69 6c 61 62 6c  |..Slots availabl|
000005f0  65 20 69 6e 20 68 65 61  70 20 3a 20 00 00 00 00  |e in heap : ....|
00000600  04 00 97 e5 0c 10 a0 e1  01 2c a0 e3 e4 00 02 ef  |.........,......|
00000610  02 00 02 7f fe 80 bd 68  01 00 02 ef 0d 0a 53 6c  |.......h......Sl|
00000620  6f 74 73 20 75 73 65 64  20 3a 20 00 10 10 87 e2  |ots used : .....|
00000630  04 30 97 e5 00 00 a0 e3  00 20 91 e5 00 00 52 e3  |.0....... ....R.|
00000640  01 00 80 12 10 10 81 e2  01 30 43 e2 00 00 53 e3  |.........0C...S.|
00000650  f8 ff ff 1a 00 60 a0 e1  0c 10 a0 e1 01 2c a0 e3  |.....`.......,..|
00000660  e4 00 02 ef 02 00 02 7f  fe 80 bd 68 01 00 02 ef  |...........h....|
00000670  0d 0a 54 6f 70 20 6f 66  20 68 65 61 70 20 3a 20  |..Top of heap : |
00000680  26 00 00 00 0c 00 97 e5  d4 00 02 ef 02 00 02 7f  |&...............|
00000690  fe 80 bd 68 01 00 02 ef  0d 0a 0d 0a 00 00 00 00  |...h............|
000006a0  00 00 56 e3 fe 80 bd 08  01 00 02 ef 42 6c 6f 63  |..V.........Bloc|
000006b0  6b 73 3a 20 28 6e 6f 74  20 6e 65 63 65 73 73 61  |ks: (not necessa|
000006c0  72 69 6c 79 20 69 6e 20  74 68 65 20 6f 72 64 65  |rily in the orde|
000006d0  72 20 61 73 20 69 6e 20  74 68 65 20 68 65 61 70  |r as in the heap|
000006e0  29 0d 0a 0d 0a 7c 20 41  64 64 72 65 73 73 20 20  |)....| Address  |
000006f0  20 7c 20 4c 65 6e 67 74  68 20 20 20 20 20 20 7c  | | Length      ||
00000700  20 4e 61 6d 65 0d 0a 00  10 60 87 e2 04 40 97 e5  | Name....`...@..|
00000710  00 50 96 e5 00 00 55 e3  19 00 00 0a 7c 01 00 ef  |.P....U.....|...|
00000720  20 01 00 ef 26 01 00 ef  05 00 a0 e1 0c 10 a0 e1  | ...&...........|
00000730  01 2c a0 e3 d4 00 02 ef  02 00 02 7f fe 80 bd 68  |.,.............h|
00000740  20 01 00 ef 7c 01 00 ef  20 01 00 ef 08 00 96 e5  | ...|... .......|
00000750  eb 00 02 ef 02 00 02 7f  fe 80 bd 68 20 01 00 ef  |...........h ...|
00000760  7c 01 00 ef 20 01 00 ef  0c 10 96 e5 01 00 d1 e4  ||... ...........|
00000770  20 00 50 e3 00 00 02 af  fb ff ff aa 0d 01 00 ef  | .P.............|
00000780  0a 01 00 ef 10 60 86 e2  01 40 44 e2 00 00 54 e3  |.....`...@D...T.|
00000790  de ff ff 1a fe 80 bd e8  fe 40 2d e9 10 10 80 e2  |.........@-.....|
000007a0  3a 00 02 ef fe 80 bd 68  93 00 00 2a 0c 10 90 e5  |:......h...*....|
000007b0  04 10 81 e2 3a 00 02 ef  fe 80 bd 68 8e 00 00 2a  |....:......h...*|
000007c0  00 10 90 e5 58 23 9f e5  02 00 51 e1 95 00 00 1a  |....X#....Q.....|
000007d0  08 10 90 e5 00 10 91 e5  48 23 9f e5 02 00 51 e1  |........H#....Q.|
000007e0  9d 00 00 1a 04 10 90 e5  10 00 80 e2 00 30 90 e5  |.............0..|
000007f0  00 00 53 e3 2c 00 00 0a  08 40 90 e5 04 30 83 e0  |..S.,....@...0..|
00000800  00 30 93 e5 1c 23 9f e5  03 00 52 e1 10 00 00 0a  |.0...#....R.....|
00000810  0c 00 90 e5 0c 10 a0 e1  04 10 81 e2 01 2c a0 e3  |.............,..|
00000820  04 20 42 e2 2a 3e 8f e2  04 40 93 e4 43 00 02 ef  |. B.*>...@..C...|
00000830  fe 80 bd 68 00 30 a0 e3  01 20 42 e2 02 30 c1 e7  |...h.0... B..0..|
00000840  ac 02 9f e5 00 00 8c e5  0c 00 a0 e1 fe 40 bd e8  |.............@..|
00000850  01 f2 9e e3 04 20 90 e5  00 20 92 e5 00 30 90 e5  |..... ... ...0..|
00000860  03 00 52 e1 10 00 00 0a  0c 00 90 e5 0c 10 a0 e1  |..R.............|
00000870  04 10 81 e2 01 2c a0 e3  04 20 42 e2 9d 3f 8f e2  |.....,... B..?..|
00000880  04 40 93 e4 43 00 02 ef  fe 80 bd 68 00 30 a0 e3  |.@..C......h.0..|
00000890  01 20 42 e2 02 30 c1 e7  80 02 9f e5 00 00 8c e5  |. B..0..........|
000008a0  0c 00 a0 e1 fe 40 bd e8  01 f2 9e e3 10 00 80 e2  |.....@..........|
000008b0  01 10 41 e2 00 00 51 e3  cb ff ff ca fe 80 bd e8  |..A...Q.........|
000008c0  0c 10 90 e5 04 00 81 e2  0e f0 a0 e1 fe 40 2d e9  |.............@-.|
000008d0  10 20 80 e2 04 30 90 e5  00 00 53 e3 07 00 00 0a  |. ...0....S.....|
000008e0  04 40 92 e5 00 00 54 e3  01 00 00 0a 01 00 54 e1  |.@....T.......T.|
000008f0  12 00 00 0a 01 30 43 e2  10 20 82 e2 f5 ff ff ea  |.....0C.. ......|
00000900  04 00 8f e2 fe 40 bd e8  01 f2 9e e3 0b 28 c0 00  |.....@.......(..|
00000910  43 6f 75 6c 64 6e 27 74  20 66 69 6e 64 20 61 6e  |Couldn't find an|
00000920  63 68 6f 72 20 69 6e 20  68 65 61 70 20 28 44 65  |chor in heap (De|
00000930  73 63 72 69 62 65 42 6c  6f 63 6b 29 00 00 00 00  |scribeBlock)....|
00000940  02 00 a0 e1 fe 40 bd e8  0f 00 90 e8 0e f0 a0 e1  |.....@..........|
00000950  fe 40 2d e9 01 70 a0 e1  00 60 a0 e1 d7 ff ff eb  |.@-..p...`......|
00000960  00 20 66 e0 06 00 a0 e1  07 10 a0 e1 d3 01 00 eb  |. f.............|
00000970  06 50 47 e0 10 00 87 e2  04 10 97 e5 00 20 90 e5  |.PG.......... ..|
00000980  00 00 52 e3 05 20 82 10  00 20 80 15 04 30 90 15  |..R.. ... ...0..|
00000990  00 20 83 15 10 00 80 e2  01 10 41 e2 00 00 51 e3  |. ........A...Q.|
000009a0  f5 ff ff 1a 08 00 97 e5  05 00 80 e0 08 00 87 e5  |................|
000009b0  0c 00 97 e5 05 00 80 e0  0c 00 87 e5 fe 80 bd e8  |................|
000009c0  00 00 8f e2 01 f2 9e e3  02 28 c0 00 59 6f 75 20  |.........(..You |
000009d0  6d 75 73 74 20 68 61 76  65 20 61 74 20 6c 65 61  |must have at lea|
000009e0  73 74 20 6f 6e 65 20 62  6c 6f 63 6b 20 69 6e 20  |st one block in |
000009f0  74 68 65 20 68 65 61 70  21 00 00 00 04 00 8f e2  |the heap!.......|
00000a00  fe 40 bd e8 01 f2 9e e3  0a 28 c0 00 48 65 61 70  |.@.......(..Heap|
00000a10  20 69 73 20 6e 6f 74 20  69 6e 20 76 61 6c 69 64  | is not in valid|
00000a20  20 6d 65 6d 6f 72 79 00  04 00 8f e2 fe 40 bd e8  | memory......@..|
00000a30  01 f2 9e e3 03 28 c0 00  48 65 61 70 20 49 44 20  |.....(..Heap ID |
00000a40  63 6f 72 72 75 70 74 65  64 20 28 42 61 64 20 73  |corrupted (Bad s|
00000a50  69 67 6e 61 74 75 72 65  29 00 00 00 04 00 8f e2  |ignature).......|
00000a60  fe 40 bd e8 01 f2 9e e3  04 28 c0 00 53 74 61 72  |.@.......(..Star|
00000a70  74 20 6f 66 20 68 65 61  70 20 63 6f 72 72 75 70  |t of heap corrup|
00000a80  74 65 64 20 28 42 61 64  20 73 69 67 6e 61 74 75  |ted (Bad signatu|
00000a90  72 65 29 00 04 00 8f e2  fe 40 bd e8 01 f2 9e e3  |re)......@......|
00000aa0  05 28 c0 00 54 6f 70 20  6f 66 20 68 65 61 70 20  |.(..Top of heap |
00000ab0  63 6f 72 72 75 70 74 65  64 20 28 42 61 64 20 73  |corrupted (Bad s|
00000ac0  69 67 6e 61 74 75 72 65  29 00 00 00 24 00 00 00  |ignature)...$...|
00000ad0  42 6c 6f 63 6b 20 6f 76  65 72 66 6c 6f 77 20 69  |Block overflow i|
00000ae0  6e 20 53 6c 69 64 69 6e  67 20 48 65 61 70 20 28  |n Sliding Heap (|
00000af0  25 2a 30 29 01 28 c0 00  24 00 00 00 41 6e 63 68  |%*0).(..$...Anch|
00000b00  6f 72 20 64 6f 65 73 20  6e 6f 74 20 70 6f 69 6e  |or does not poin|
00000b10  74 20 74 6f 20 62 6c 6f  63 6b 20 28 25 2a 30 29  |t to block (%*0)|
00000b20  06 28 c0 00 ab 48 7a bb  42 6c 63 6b 55 6e 6b 6e  |.(...Hz.BlckUnkn|
00000b30  6f 77 6e 20 62 6c 6f 63  6b 00 00 00 00 40 2d e9  |own block....@-.|
00000b40  00 c0 9c e5 00 10 a0 e1  10 00 a0 e3 21 00 02 ef  |............!...|
00000b50  02 00 a0 71 0f ff ff 7b  04 00 8f 72 02 00 02 7f  |...q...{...r....|
00000b60  00 80 bd e8 48 65 61 70  20 63 68 65 63 6b 65 64  |....Heap checked|
00000b70  20 6f 75 74 20 4f 4b 0d  0a 00 00 00 2a 56 65 72  | out OK.....*Ver|
00000b80  69 66 79 48 65 61 70 20  77 69 6c 6c 20 63 68 65  |ifyHeap will che|
00000b90  63 6b 20 74 68 65 20 69  6e 74 65 67 72 69 74 79  |ck the integrity|
00000ba0  20 6f 66 20 74 68 65 20  67 69 76 65 6e 20 68 65  | of the given he|
00000bb0  61 70 2e 0d 0d 53 79 6e  74 61 78 3a 20 2a 56 65  |ap...Syntax: *Ve|
00000bc0  72 69 66 79 48 65 61 70  20 3c 61 64 64 72 65 73  |rifyHeap <addres|
00000bd0  73 3e 00 00 00 40 2d e9  00 c0 9c e5 00 10 a0 e1  |s>...@-.........|
00000be0  10 00 a0 e3 21 00 02 ef  02 00 a0 71 55 fe ff 7b  |....!......qU..{|
00000bf0  00 80 bd e8 2a 48 65 61  70 49 6e 66 6f 20 77 69  |....*HeapInfo wi|
00000c00  6c 6c 20 64 69 73 70 6c  61 79 20 69 6e 66 6f 72  |ll display infor|
00000c10  6d 61 74 69 6f 6e 20 6f  6e 20 74 68 65 20 67 69  |mation on the gi|
00000c20  76 65 6e 20 73 6c 69 64  69 6e 67 20 68 65 61 70  |ven sliding heap|
00000c30  2e 0d 0d 53 79 6e 74 61  78 3a 20 2a 48 65 61 70  |...Syntax: *Heap|
00000c40  49 6e 66 6f 20 3c 61 64  64 72 65 73 73 3e 00 00  |Info <address>..|
00000c50  53 6c 69 64 69 6e 67 48  65 61 70 20 69 73 20 61  |SlidingHeap is a|
00000c60  20 6d 65 6d 6f 72 79 20  6d 61 6e 61 67 65 72 20  | memory manager |
00000c70  74 68 61 74 20 77 6f 72  6b 73 20 62 79 20 75 73  |that works by us|
00000c80  69 6e 67 20 60 61 6e 63  68 6f 72 20 70 6f 69 6e  |ing `anchor poin|
00000c90  74 73 60 20 69 6e 74 6f  20 61 6e 20 61 72 65 61  |ts` into an area|
00000ca0  20 6f 66 20 6d 65 6d 6f  72 79 3b 20 69 74 20 69  | of memory; it i|
00000cb0  73 20 72 61 74 68 65 72  20 6c 69 6b 65 20 41 63  |s rather like Ac|
00000cc0  6f 72 6e 20 43 27 73 20  60 66 6c 65 78 60 20 6c  |orn C's `flex` l|
00000cd0  69 62 72 61 72 79 2c 20  68 6f 77 65 76 65 72 20  |ibrary, however |
00000ce0  69 74 20 69 73 20 73 75  69 74 61 62 6c 65 20 66  |it is suitable f|
00000cf0  6f 72 20 75 73 65 20 69  6e 20 42 41 53 49 43 2f  |or use in BASIC/|
00000d00  41 52 4d 20 63 6f 64 65  20 70 72 6f 67 72 61 6d  |ARM code program|
00000d10  73 2e 20 54 68 65 72 65  20 69 73 20 61 20 73 65  |s. There is a se|
00000d20  74 20 6f 66 20 42 41 53  49 43 20 70 72 6f 63 65  |t of BASIC proce|
00000d30  64 75 72 65 73 20 74 6f  20 69 6e 74 65 72 66 61  |dures to interfa|
00000d40  63 65 20 77 69 74 68 20  74 68 65 20 73 6c 69 64  |ce with the slid|
00000d50  69 6e 67 20 68 65 61 70  20 6d 61 6e 61 67 65 72  |ing heap manager|
00000d60  2c 20 77 68 69 63 68 20  77 69 6c 6c 20 61 6c 73  |, which will als|
00000d70  6f 20 61 75 74 6f 6d 61  74 69 63 61 6c 6c 79 20  |o automatically |
00000d80  69 6e 63 72 65 61 73 65  20 61 6e 64 20 64 65 63  |increase and dec|
00000d90  72 65 61 73 65 20 74 68  65 20 73 69 7a 65 20 6f  |rease the size o|
00000da0  66 20 61 20 57 49 4d 50  20 74 61 73 6b 27 73 20  |f a WIMP task's |
00000db0  6d 65 6d 6f 72 79 20 61  72 65 61 20 61 73 20 72  |memory area as r|
00000dc0  65 71 75 69 72 65 64 2e  0d 0d 46 6f 72 20 6d 6f  |equired...For mo|
00000dd0  72 65 20 69 6e 66 6f 72  6d 61 74 69 6f 6e 2c 20  |re information, |
00000de0  63 6f 6e 74 61 63 74 20  53 74 65 76 65 6e 20 48  |contact Steven H|
00000df0  61 73 6c 61 6d 20 61 74  20 6f 6e 65 20 6f 66 20  |aslam at one of |
00000e00  74 68 65 20 66 6f 6c 6c  6f 77 69 6e 67 20 61 64  |the following ad|
00000e10  64 72 65 73 73 65 73 3a  0d 0d 45 2d 4d 61 69 6c  |dresses:..E-Mail|
00000e20  3a 0d a0 46 69 64 6f 4e  65 74 3a 20 20 32 3a 32  |:..FidoNet:  2:2|
00000e30  35 30 2f 31 31 36 2e 33  2c 20 32 3a 32 35 34 2f  |50/116.3, 2:254/|
00000e40  32 37 2e 30 2c 20 32 3a  32 35 32 2f 31 30 32 2e  |27.0, 2:252/102.|
00000e50  30 2c 20 32 3a 32 35 34  2f 34 30 35 2e 30 0d 0d  |0, 2:254/405.0..|
00000e60  53 6e 61 69 6c 2d 4d 61  69 6c 3a 0d 0d 53 74 65  |Snail-Mail:..Ste|
00000e70  76 65 6e 20 48 61 73 6c  61 6d 0d a0 31 31 32 20  |ven Haslam..112 |
00000e80  4b 65 69 67 68 6c 65 79  20 52 6f 61 64 0d a0 a0  |Keighley Road...|
00000e90  43 6f 6c 6e 65 0d a0 a0  a0 4c 61 6e 63 61 73 68  |Colne....Lancash|
00000ea0  69 72 65 0d a0 a0 a0 a0  42 42 38 20 30 50 48 00  |ire.....BB8 0PH.|
00000eb0  00 40 2d e9 03 00 12 e3  29 00 00 1a 03 00 11 e3  |.@-.....).......|
00000ec0  2e 00 00 1a 10 30 53 e2  11 00 00 ba 10 30 53 e2  |.....0S......0S.|
00000ed0  07 00 00 ba f0 03 2d e9  f1 43 b1 e8 f1 43 a2 e8  |......-..C...C..|
00000ee0  20 30 53 e2 fb ff ff aa  20 00 73 e3 f0 83 fd 08  | 0S..... .s.....|
00000ef0  f0 03 bd e8 10 30 93 e2  05 00 00 ba 30 00 2d e9  |.....0......0.-.|
00000f00  31 40 b1 e8 31 40 a2 e8  30 80 fd 08 30 00 bd e8  |1@..1@..0...0...|
00000f10  10 30 43 e2 08 30 93 e2  03 00 00 ba 01 40 b1 e8  |.0C..0.......@..|
00000f20  01 40 a2 e8 00 80 fd 08  08 30 43 e2 04 30 93 e2  |.@.......0C..0..|
00000f30  03 00 00 ba 04 00 91 e4  04 00 82 e4 00 80 fd 08  |................|
00000f40  04 30 43 e2 04 30 93 e2  00 80 fd 08 00 00 91 e5  |.0C..0..........|
00000f50  01 00 c2 e4 20 04 a0 e1  01 30 53 e2 fb ff ff ca  |.... ....0S.....|
00000f60  00 80 fd e8 01 00 d1 e4  01 00 c2 e4 01 30 53 e2  |.............0S.|
00000f70  00 80 fd 08 03 00 12 e3  f9 ff ff 1a ce ff ff ea  |................|
00000f80  00 18 2d e9 03 c0 01 e2  03 10 c1 e3 8c c1 a0 e1  |..-.............|
00000f90  20 b0 6c e2 04 00 91 e4  30 0c a0 e1 10 30 53 e2  | .l.....0....0S.|
00000fa0  29 00 00 ba 10 30 53 e2  17 00 00 ba f0 07 2d e9  |)....0S.......-.|
00000fb0  f0 47 b1 e8 14 0b 80 e1  34 4c a0 e1 15 4b 84 e1  |.G......4L...K..|
00000fc0  35 5c a0 e1 16 5b 85 e1  36 6c a0 e1 17 6b 86 e1  |5\...[..6l...k..|
00000fd0  37 7c a0 e1 18 7b 87 e1  38 8c a0 e1 19 8b 88 e1  |7|...{..8.......|
00000fe0  39 9c a0 e1 1a 9b 89 e1  3a ac a0 e1 1e ab 8a e1  |9.......:.......|
00000ff0  f1 07 a2 e8 3e 0c a0 e1  20 30 53 e2 eb ff ff aa  |....>... 0S.....|
00001000  20 00 73 e3 f0 9f fd 08  f0 07 bd e8 10 30 93 e2  | .s..........0..|
00001010  0d 00 00 ba 70 00 2d e9  70 40 b1 e8 14 0b 80 e1  |....p.-.p@......|
00001020  34 4c a0 e1 15 4b 84 e1  35 5c a0 e1 16 5b 85 e1  |4L...K..5\...[..|
00001030  36 6c a0 e1 1e 6b 86 e1  71 00 a2 e8 70 98 fd 08  |6l...k..q...p...|
00001040  70 00 bd e8 10 30 43 e2  3e 0c a0 e1 08 30 93 e2  |p....0C.>....0..|
00001050  09 00 00 ba 10 00 2d e9  10 40 b1 e8 14 0b 80 e1  |......-..@......|
00001060  34 4c a0 e1 1e 4b 84 e1  11 00 a2 e8 10 98 fd 08  |4L...K..........|
00001070  10 00 bd e8 08 30 43 e2  3e 0c a0 e1 04 30 93 e2  |.....0C.>....0..|
00001080  05 00 00 ba 04 e0 91 e4  1e 0b 80 e1 04 00 82 e4  |................|
00001090  00 98 fd 08 04 30 43 e2  3e 0c a0 e1 04 30 93 e2  |.....0C.>....0..|
000010a0  00 98 fd 08 00 e0 91 e5  1e 0b 80 e1 01 00 c2 e4  |................|
000010b0  20 04 a0 e1 01 30 53 e2  fb ff ff ca 00 98 fd e8  | ....0S.........|
000010c0  1f 40 2d e9 01 00 50 e1  04 00 00 ba 04 30 90 e4  |.@-...P......0..|
000010d0  04 30 81 e4 04 20 52 e2  fb ff ff 5a 1f 80 bd e8  |.0... R....Z....|
000010e0  02 30 90 e7 02 30 81 e7  04 20 52 e2 fb ff ff 5a  |.0...0... R....Z|
000010f0  1f 80 bd e8                                       |....|
000010f4