Home » Archimedes archive » Acorn User » AU 1997-12.adf » Regulars » StarInfo/SpencerB/Source

StarInfo/SpencerB/Source

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 » Acorn User » AU 1997-12.adf » Regulars
Filename: StarInfo/SpencerB/Source
Read OK:
File size: 07A4 bytes
Load address: 0000
Exec address: 0000
File contents
   10ONERRORREPORT:PRINTERL:QUIT
   20DIM code 1024
   30PRINT"Assembling Freedom..."
   40FOR pass=4 TO 6 STEP 2
   50O%=code:P%=&00000000
   60[ OPT pass
   70.header     EQUD    &00000000
   80            EQUD    &00000000
   90            EQUD    &00000000
  100            EQUD    &00000000
  110            EQUD    title
  120            EQUD    help
  130            EQUD    commands
  140
  150.title      EQUS    "Freedom"
  160            EQUB    0
  170            ALIGN
  180
  190.help       EQUS    "Freedom"
  200            EQUW    &0909
  210            EQUS    "0.00 ("
  220            EQUS    MID$(TIME$,5,11)
  230            EQUS    ") By Ben Spencer"
  240            EQUB    0
  250            ALIGN
  260.commands   EQUS    "FreeMe"
  270            EQUB    0
  280            ALIGN
  290            EQUD    freemecode
  300            EQUD    &00000000
  310            EQUD    freemesntx
  320            EQUD    freemehelp
  330            EQUB    0
  340.freemecode STMFD   R13!,{R0-R2,R14}
  350
  360            LDR     R2,bignum
  370            MOV     R0,#0
  380            MOV     R1,R2
  390            SWI     "XOS_ChangeDynamicArea"
  400            MOV     R0,#1
  410            MOV     R1,R2
  420            SWI     "XOS_ChangeDynamicArea"
  430            MOV     R0,#2
  440            MOV     R1,R2
  450            SWI     "XOS_ChangeDynamicArea"
  460            MOV     R0,#3
  470            MOV     R1,R2
  480            SWI     "XOS_ChangeDynamicArea"
  490            MOV     R0,#4
  500            MOV     R1,R2
  510            SWI     "XOS_ChangeDynamicArea"
  520            MOV     R0,#5
  530            MOV     R1,R2
  540            SWI     "XOS_ChangeDynamicArea"
  550            LDMFD   R13!,{R0-R2,PC}^
  560.bignum     EQUD    &FF0BDC00
  570.freemesntx EQUS    "Syntax : FreeMe"
  580            EQUB    0
  590.freemehelp EQUS    "*FreeMe frees as much memory as possible"
  600            EQUB    0
  610]
  620PRINT"Pass ";pass/2-1;" successful"
  630NEXT pass
  640PRINT
  650PRINT"Saving module..."
  660SYS"OS_File",10,"Freedom",&FFA,,code,O%
  670PRINT"Save successful"


�:�:Ș
� code 1024
�"Assembling Freedom..."
(� pass=4 � 6 � 2
2O%=code:P%=&00000000
<[ OPT pass
F!.header     EQUD    &00000000
P!            EQUD    &00000000
Z!            EQUD    &00000000
d!            EQUD    &00000000
n            EQUD    title
x            EQUD    help
�             EQUD    commands
�
�!.title      EQUS    "Freedom"
�            EQUB    0
�            ALIGN
�
�!.help       EQUS    "Freedom"
�            EQUW    &0909
�             EQUS    "0.00 ("
�!            EQUS    ��$,5,11)
�*            EQUS    ") By Ben Spencer"
�            EQUB    0
�            ALIGN
 .commands   EQUS    "FreeMe"
            EQUB    0
            ALIGN
""            EQUD    freemecode
,!            EQUD    &00000000
6"            EQUD    freemesntx
@"            EQUD    freemehelp
J            EQUB    0
T(.freemecode STMFD   R13!,{R0-R2,R14}
^
h!            LDR     R2,bignum
r            MOV     R0,#0
|            MOV     R1,R2
�/            SWI     "XOS_ChangeDynamicArea"
�            MOV     R0,#1
�            MOV     R1,R2
�/            SWI     "XOS_ChangeDynamicArea"
�            MOV     R0,#2
�            MOV     R1,R2
�/            SWI     "XOS_ChangeDynamicArea"
�            MOV     R0,#3
�            MOV     R1,R2
�/            SWI     "XOS_ChangeDynamicArea"
�            MOV     R0,#4
�            MOV     R1,R2
�/            SWI     "XOS_ChangeDynamicArea"
            MOV     R0,#5
            MOV     R1,R2
/            SWI     "XOS_ChangeDynamicArea"
&(            LDMFD   R13!,{R0-R2,PC}^
0!.bignum     EQUD    &FF0BDC00
:).freemesntx EQUS    "Syntax : FreeMe"
D            EQUB    0
NB.freemehelp EQUS    "*FreeMe frees as much memory as possible"
X            EQUB    0
b]
l#�"Pass ";pass/2-1;" successful"
v
� pass
��
��"Saving module..."
�*ș"OS_File",10,"Freedom",&FFA,,code,O%
��"Save successful"
�
00000000  0d 00 0a 0d ee 85 f6 3a  f1 9e 3a c8 98 0d 00 14  |.......:..:.....|
00000010  0f de 20 63 6f 64 65 20  31 30 32 34 0d 00 1e 1c  |.. code 1024....|
00000020  f1 22 41 73 73 65 6d 62  6c 69 6e 67 20 46 72 65  |."Assembling Fre|
00000030  65 64 6f 6d 2e 2e 2e 22  0d 00 28 14 e3 20 70 61  |edom..."..(.. pa|
00000040  73 73 3d 34 20 b8 20 36  20 88 20 32 0d 00 32 18  |ss=4 . 6 . 2..2.|
00000050  4f 25 3d 63 6f 64 65 3a  50 25 3d 26 30 30 30 30  |O%=code:P%=&0000|
00000060  30 30 30 30 0d 00 3c 0e  5b 20 4f 50 54 20 70 61  |0000..<.[ OPT pa|
00000070  73 73 0d 00 46 21 2e 68  65 61 64 65 72 20 20 20  |ss..F!.header   |
00000080  20 20 45 51 55 44 20 20  20 20 26 30 30 30 30 30  |  EQUD    &00000|
00000090  30 30 30 0d 00 50 21 20  20 20 20 20 20 20 20 20  |000..P!         |
000000a0  20 20 20 45 51 55 44 20  20 20 20 26 30 30 30 30  |   EQUD    &0000|
000000b0  30 30 30 30 0d 00 5a 21  20 20 20 20 20 20 20 20  |0000..Z!        |
000000c0  20 20 20 20 45 51 55 44  20 20 20 20 26 30 30 30  |    EQUD    &000|
000000d0  30 30 30 30 30 0d 00 64  21 20 20 20 20 20 20 20  |00000..d!       |
000000e0  20 20 20 20 20 45 51 55  44 20 20 20 20 26 30 30  |     EQUD    &00|
000000f0  30 30 30 30 30 30 0d 00  6e 1d 20 20 20 20 20 20  |000000..n.      |
00000100  20 20 20 20 20 20 45 51  55 44 20 20 20 20 74 69  |      EQUD    ti|
00000110  74 6c 65 0d 00 78 1c 20  20 20 20 20 20 20 20 20  |tle..x.         |
00000120  20 20 20 45 51 55 44 20  20 20 20 68 65 6c 70 0d  |   EQUD    help.|
00000130  00 82 20 20 20 20 20 20  20 20 20 20 20 20 20 45  |..             E|
00000140  51 55 44 20 20 20 20 63  6f 6d 6d 61 6e 64 73 0d  |QUD    commands.|
00000150  00 8c 04 0d 00 96 21 2e  74 69 74 6c 65 20 20 20  |......!.title   |
00000160  20 20 20 45 51 55 53 20  20 20 20 22 46 72 65 65  |   EQUS    "Free|
00000170  64 6f 6d 22 0d 00 a0 19  20 20 20 20 20 20 20 20  |dom"....        |
00000180  20 20 20 20 45 51 55 42  20 20 20 20 30 0d 00 aa  |    EQUB    0...|
00000190  15 20 20 20 20 20 20 20  20 20 20 20 20 41 4c 49  |.            ALI|
000001a0  47 4e 0d 00 b4 04 0d 00  be 21 2e 68 65 6c 70 20  |GN.......!.help |
000001b0  20 20 20 20 20 20 45 51  55 53 20 20 20 20 22 46  |      EQUS    "F|
000001c0  72 65 65 64 6f 6d 22 0d  00 c8 1d 20 20 20 20 20  |reedom"....     |
000001d0  20 20 20 20 20 20 20 45  51 55 57 20 20 20 20 26  |       EQUW    &|
000001e0  30 39 30 39 0d 00 d2 20  20 20 20 20 20 20 20 20  |0909...         |
000001f0  20 20 20 20 45 51 55 53  20 20 20 20 22 30 2e 30  |    EQUS    "0.0|
00000200  30 20 28 22 0d 00 dc 21  20 20 20 20 20 20 20 20  |0 ("...!        |
00000210  20 20 20 20 45 51 55 53  20 20 20 20 c1 91 24 2c  |    EQUS    ..$,|
00000220  35 2c 31 31 29 0d 00 e6  2a 20 20 20 20 20 20 20  |5,11)...*       |
00000230  20 20 20 20 20 45 51 55  53 20 20 20 20 22 29 20  |     EQUS    ") |
00000240  42 79 20 42 65 6e 20 53  70 65 6e 63 65 72 22 0d  |By Ben Spencer".|
00000250  00 f0 19 20 20 20 20 20  20 20 20 20 20 20 20 45  |...            E|
00000260  51 55 42 20 20 20 20 30  0d 00 fa 15 20 20 20 20  |QUB    0....    |
00000270  20 20 20 20 20 20 20 20  41 4c 49 47 4e 0d 01 04  |        ALIGN...|
00000280  20 2e 63 6f 6d 6d 61 6e  64 73 20 20 20 45 51 55  | .commands   EQU|
00000290  53 20 20 20 20 22 46 72  65 65 4d 65 22 0d 01 0e  |S    "FreeMe"...|
000002a0  19 20 20 20 20 20 20 20  20 20 20 20 20 45 51 55  |.            EQU|
000002b0  42 20 20 20 20 30 0d 01  18 15 20 20 20 20 20 20  |B    0....      |
000002c0  20 20 20 20 20 20 41 4c  49 47 4e 0d 01 22 22 20  |      ALIGN.."" |
000002d0  20 20 20 20 20 20 20 20  20 20 20 45 51 55 44 20  |           EQUD |
000002e0  20 20 20 66 72 65 65 6d  65 63 6f 64 65 0d 01 2c  |   freemecode..,|
000002f0  21 20 20 20 20 20 20 20  20 20 20 20 20 45 51 55  |!            EQU|
00000300  44 20 20 20 20 26 30 30  30 30 30 30 30 30 0d 01  |D    &00000000..|
00000310  36 22 20 20 20 20 20 20  20 20 20 20 20 20 45 51  |6"            EQ|
00000320  55 44 20 20 20 20 66 72  65 65 6d 65 73 6e 74 78  |UD    freemesntx|
00000330  0d 01 40 22 20 20 20 20  20 20 20 20 20 20 20 20  |..@"            |
00000340  45 51 55 44 20 20 20 20  66 72 65 65 6d 65 68 65  |EQUD    freemehe|
00000350  6c 70 0d 01 4a 19 20 20  20 20 20 20 20 20 20 20  |lp..J.          |
00000360  20 20 45 51 55 42 20 20  20 20 30 0d 01 54 28 2e  |  EQUB    0..T(.|
00000370  66 72 65 65 6d 65 63 6f  64 65 20 53 54 4d 46 44  |freemecode STMFD|
00000380  20 20 20 52 31 33 21 2c  7b 52 30 2d 52 32 2c 52  |   R13!,{R0-R2,R|
00000390  31 34 7d 0d 01 5e 04 0d  01 68 21 20 20 20 20 20  |14}..^...h!     |
000003a0  20 20 20 20 20 20 20 4c  44 52 20 20 20 20 20 52  |       LDR     R|
000003b0  32 2c 62 69 67 6e 75 6d  0d 01 72 1d 20 20 20 20  |2,bignum..r.    |
000003c0  20 20 20 20 20 20 20 20  4d 4f 56 20 20 20 20 20  |        MOV     |
000003d0  52 30 2c 23 30 0d 01 7c  1d 20 20 20 20 20 20 20  |R0,#0..|.       |
000003e0  20 20 20 20 20 4d 4f 56  20 20 20 20 20 52 31 2c  |     MOV     R1,|
000003f0  52 32 0d 01 86 2f 20 20  20 20 20 20 20 20 20 20  |R2.../          |
00000400  20 20 53 57 49 20 20 20  20 20 22 58 4f 53 5f 43  |  SWI     "XOS_C|
00000410  68 61 6e 67 65 44 79 6e  61 6d 69 63 41 72 65 61  |hangeDynamicArea|
00000420  22 0d 01 90 1d 20 20 20  20 20 20 20 20 20 20 20  |"....           |
00000430  20 4d 4f 56 20 20 20 20  20 52 30 2c 23 31 0d 01  | MOV     R0,#1..|
00000440  9a 1d 20 20 20 20 20 20  20 20 20 20 20 20 4d 4f  |..            MO|
00000450  56 20 20 20 20 20 52 31  2c 52 32 0d 01 a4 2f 20  |V     R1,R2.../ |
00000460  20 20 20 20 20 20 20 20  20 20 20 53 57 49 20 20  |           SWI  |
00000470  20 20 20 22 58 4f 53 5f  43 68 61 6e 67 65 44 79  |   "XOS_ChangeDy|
00000480  6e 61 6d 69 63 41 72 65  61 22 0d 01 ae 1d 20 20  |namicArea"....  |
00000490  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 20 20  |          MOV   |
000004a0  20 20 52 30 2c 23 32 0d  01 b8 1d 20 20 20 20 20  |  R0,#2....     |
000004b0  20 20 20 20 20 20 20 4d  4f 56 20 20 20 20 20 52  |       MOV     R|
000004c0  31 2c 52 32 0d 01 c2 2f  20 20 20 20 20 20 20 20  |1,R2.../        |
000004d0  20 20 20 20 53 57 49 20  20 20 20 20 22 58 4f 53  |    SWI     "XOS|
000004e0  5f 43 68 61 6e 67 65 44  79 6e 61 6d 69 63 41 72  |_ChangeDynamicAr|
000004f0  65 61 22 0d 01 cc 1d 20  20 20 20 20 20 20 20 20  |ea"....         |
00000500  20 20 20 4d 4f 56 20 20  20 20 20 52 30 2c 23 33  |   MOV     R0,#3|
00000510  0d 01 d6 1d 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00000520  4d 4f 56 20 20 20 20 20  52 31 2c 52 32 0d 01 e0  |MOV     R1,R2...|
00000530  2f 20 20 20 20 20 20 20  20 20 20 20 20 53 57 49  |/            SWI|
00000540  20 20 20 20 20 22 58 4f  53 5f 43 68 61 6e 67 65  |     "XOS_Change|
00000550  44 79 6e 61 6d 69 63 41  72 65 61 22 0d 01 ea 1d  |DynamicArea"....|
00000560  20 20 20 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |            MOV |
00000570  20 20 20 20 52 30 2c 23  34 0d 01 f4 1d 20 20 20  |    R0,#4....   |
00000580  20 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 20  |         MOV    |
00000590  20 52 31 2c 52 32 0d 01  fe 2f 20 20 20 20 20 20  | R1,R2.../      |
000005a0  20 20 20 20 20 20 53 57  49 20 20 20 20 20 22 58  |      SWI     "X|
000005b0  4f 53 5f 43 68 61 6e 67  65 44 79 6e 61 6d 69 63  |OS_ChangeDynamic|
000005c0  41 72 65 61 22 0d 02 08  1d 20 20 20 20 20 20 20  |Area"....       |
000005d0  20 20 20 20 20 4d 4f 56  20 20 20 20 20 52 30 2c  |     MOV     R0,|
000005e0  23 35 0d 02 12 1d 20 20  20 20 20 20 20 20 20 20  |#5....          |
000005f0  20 20 4d 4f 56 20 20 20  20 20 52 31 2c 52 32 0d  |  MOV     R1,R2.|
00000600  02 1c 2f 20 20 20 20 20  20 20 20 20 20 20 20 53  |../            S|
00000610  57 49 20 20 20 20 20 22  58 4f 53 5f 43 68 61 6e  |WI     "XOS_Chan|
00000620  67 65 44 79 6e 61 6d 69  63 41 72 65 61 22 0d 02  |geDynamicArea"..|
00000630  26 28 20 20 20 20 20 20  20 20 20 20 20 20 4c 44  |&(            LD|
00000640  4d 46 44 20 20 20 52 31  33 21 2c 7b 52 30 2d 52  |MFD   R13!,{R0-R|
00000650  32 2c 50 43 7d 5e 0d 02  30 21 2e 62 69 67 6e 75  |2,PC}^..0!.bignu|
00000660  6d 20 20 20 20 20 45 51  55 44 20 20 20 20 26 46  |m     EQUD    &F|
00000670  46 30 42 44 43 30 30 0d  02 3a 29 2e 66 72 65 65  |F0BDC00..:).free|
00000680  6d 65 73 6e 74 78 20 45  51 55 53 20 20 20 20 22  |mesntx EQUS    "|
00000690  53 79 6e 74 61 78 20 3a  20 46 72 65 65 4d 65 22  |Syntax : FreeMe"|
000006a0  0d 02 44 19 20 20 20 20  20 20 20 20 20 20 20 20  |..D.            |
000006b0  45 51 55 42 20 20 20 20  30 0d 02 4e 42 2e 66 72  |EQUB    0..NB.fr|
000006c0  65 65 6d 65 68 65 6c 70  20 45 51 55 53 20 20 20  |eemehelp EQUS   |
000006d0  20 22 2a 46 72 65 65 4d  65 20 66 72 65 65 73 20  | "*FreeMe frees |
000006e0  61 73 20 6d 75 63 68 20  6d 65 6d 6f 72 79 20 61  |as much memory a|
000006f0  73 20 70 6f 73 73 69 62  6c 65 22 0d 02 58 19 20  |s possible"..X. |
00000700  20 20 20 20 20 20 20 20  20 20 20 45 51 55 42 20  |           EQUB |
00000710  20 20 20 30 0d 02 62 05  5d 0d 02 6c 23 f1 22 50  |   0..b.]..l#."P|
00000720  61 73 73 20 22 3b 70 61  73 73 2f 32 2d 31 3b 22  |ass ";pass/2-1;"|
00000730  20 73 75 63 63 65 73 73  66 75 6c 22 0d 02 76 0a  | successful"..v.|
00000740  ed 20 70 61 73 73 0d 02  80 05 f1 0d 02 8a 17 f1  |. pass..........|
00000750  22 53 61 76 69 6e 67 20  6d 6f 64 75 6c 65 2e 2e  |"Saving module..|
00000760  2e 22 0d 02 94 2a c8 99  22 4f 53 5f 46 69 6c 65  |."...*.."OS_File|
00000770  22 2c 31 30 2c 22 46 72  65 65 64 6f 6d 22 2c 26  |",10,"Freedom",&|
00000780  46 46 41 2c 2c 63 6f 64  65 2c 4f 25 0d 02 9e 16  |FFA,,code,O%....|
00000790  f1 22 53 61 76 65 20 73  75 63 63 65 73 73 66 75  |."Save successfu|
000007a0  6c 22 0d ff                                       |l"..|
000007a4