Home » Archimedes archive » Micro User » MU 1992-02.adf » PD » Twilight/Overview

Twilight/Overview

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 » Micro User » MU 1992-02.adf » PD
Filename: Twilight/Overview
Read OK:
File size: 0F77 bytes
Load address: 0000
Exec address: 0000
File contents
Twilight Programmers Reference Disc
Overview


This disc contains information and programs to enable you to write new
effects for Twilight. Source code for one of the effects surplied with
Twilight is given.

To write an effect, you will need to be able to program in ARM code. This
disc is not intended as a tutorial for programming, but to give just enought
information for programmers to be able to write their own effects. If you
need more information on some aspect, please contact the Really Good
Software Company. Appendix A on page 1723 of the RISC OS 2 PRM is a quick
introduction to ARM code, and there are several books available to help you
learn ARM code.

An effect is basically a chunck of ARM code combined with other data about
the effect. The data describing the parameters used in the control panel is
appended to the effect from a text file by the program 'controldes'.

The Twilight code has be written so that there is as little work as possible
to be done by the effect - just drawing things on the screen and asking for
workspace from the RMA.

A effect has three main entries - the initialise, poll and finialise
entries, and these are called by the Twilight module. Information about the
current environment, the parameters for the effect and address of a random
and division routine are passed to the effect by the Twilight module, and
information can be passed back from the effect to the Twilight module.

An effect should be able to work in any 16 or less colour mode. If the
effect is started when a 256 colour mode is selected, Twilight will force
the screen mode to one which is the same size and resolution but which has
16 colours (if one is availiable).

If any workspace is needed by the effect other than the private word of
workspace surplied, memory should be claimed from the RMA on initialise and
freed on the finalise, and the address stored in this word (like a module).

The code for effects on this disc is writen with the Acorn Assembler. This
is similar to the BASIC assembler. It has slight diffences in syntax to the
BASIC assembler, but is genereally the same. The Acorn Assembler is NOT
necessary to write an effect. Any assembler which can output ARM code with
no additional information in the file is suitiable. The BASIC assembler is
fine.


Effect filetype
~~~~~~~~~~~~~~~
Twilight uses the filetype &3C1 to recognise effects. This is not an Acorn
allocated filetype, but is in the user allocation. It is not essential that
is has a unique filetype as double clicking on one does not launch a editor
application, and having one allocated would 'waste' one of the few remaining
filetypes.

For those who haven't heard, the new filetype ranges are:
  &E00-&FFF  Acorn
  &400-&DFF  Developer (&400-7FF reclaimed from users)
  &100-&3FF  User distibuted (PD etc)
  &000-&0FF  User non-distributed

I think we might possibly be running out of them...


Another use for Twilight
~~~~~~~~~~~~~~~~~~~~~~~~
As Twilight only takes over the computer when it is not being used, you
could write an effect to perform a complex task which takes a long time, for
example ray tracing. The task would be done in small chunks, loading and
saving the data to a file on the initialise and finialise entries to be able
to continue where it left off. This would enable these long calcualations to
be done when the computer is not being used. It would be a good idea if an
effect of this kind put a message on the screen when it was active.


Main diffeneces between the syntax of BASIC & Acorn Assemblers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Labels do not start with a '.', just are at the start of a line.
ADR/LDR/STR Rn,variable can be accessed relative to a register (set using
LTORG, ^, and # directives)
DCD -> EQUD
DCB -> EQUB
DCB can also be used as EQUS
Can do ADRs of data too far away for one instruction with ADRL.

Apart from these, the syntax is mainly the same as the BASIC assembler.

00000000  54 77 69 6c 69 67 68 74  20 50 72 6f 67 72 61 6d  |Twilight Program|
00000010  6d 65 72 73 20 52 65 66  65 72 65 6e 63 65 20 44  |mers Reference D|
00000020  69 73 63 0a 4f 76 65 72  76 69 65 77 0a 0a 0a 54  |isc.Overview...T|
00000030  68 69 73 20 64 69 73 63  20 63 6f 6e 74 61 69 6e  |his disc contain|
00000040  73 20 69 6e 66 6f 72 6d  61 74 69 6f 6e 20 61 6e  |s information an|
00000050  64 20 70 72 6f 67 72 61  6d 73 20 74 6f 20 65 6e  |d programs to en|
00000060  61 62 6c 65 20 79 6f 75  20 74 6f 20 77 72 69 74  |able you to writ|
00000070  65 20 6e 65 77 0a 65 66  66 65 63 74 73 20 66 6f  |e new.effects fo|
00000080  72 20 54 77 69 6c 69 67  68 74 2e 20 53 6f 75 72  |r Twilight. Sour|
00000090  63 65 20 63 6f 64 65 20  66 6f 72 20 6f 6e 65 20  |ce code for one |
000000a0  6f 66 20 74 68 65 20 65  66 66 65 63 74 73 20 73  |of the effects s|
000000b0  75 72 70 6c 69 65 64 20  77 69 74 68 0a 54 77 69  |urplied with.Twi|
000000c0  6c 69 67 68 74 20 69 73  20 67 69 76 65 6e 2e 0a  |light is given..|
000000d0  0a 54 6f 20 77 72 69 74  65 20 61 6e 20 65 66 66  |.To write an eff|
000000e0  65 63 74 2c 20 79 6f 75  20 77 69 6c 6c 20 6e 65  |ect, you will ne|
000000f0  65 64 20 74 6f 20 62 65  20 61 62 6c 65 20 74 6f  |ed to be able to|
00000100  20 70 72 6f 67 72 61 6d  20 69 6e 20 41 52 4d 20  | program in ARM |
00000110  63 6f 64 65 2e 20 54 68  69 73 0a 64 69 73 63 20  |code. This.disc |
00000120  69 73 20 6e 6f 74 20 69  6e 74 65 6e 64 65 64 20  |is not intended |
00000130  61 73 20 61 20 74 75 74  6f 72 69 61 6c 20 66 6f  |as a tutorial fo|
00000140  72 20 70 72 6f 67 72 61  6d 6d 69 6e 67 2c 20 62  |r programming, b|
00000150  75 74 20 74 6f 20 67 69  76 65 20 6a 75 73 74 20  |ut to give just |
00000160  65 6e 6f 75 67 68 74 0a  69 6e 66 6f 72 6d 61 74  |enought.informat|
00000170  69 6f 6e 20 66 6f 72 20  70 72 6f 67 72 61 6d 6d  |ion for programm|
00000180  65 72 73 20 74 6f 20 62  65 20 61 62 6c 65 20 74  |ers to be able t|
00000190  6f 20 77 72 69 74 65 20  74 68 65 69 72 20 6f 77  |o write their ow|
000001a0  6e 20 65 66 66 65 63 74  73 2e 20 49 66 20 79 6f  |n effects. If yo|
000001b0  75 0a 6e 65 65 64 20 6d  6f 72 65 20 69 6e 66 6f  |u.need more info|
000001c0  72 6d 61 74 69 6f 6e 20  6f 6e 20 73 6f 6d 65 20  |rmation on some |
000001d0  61 73 70 65 63 74 2c 20  70 6c 65 61 73 65 20 63  |aspect, please c|
000001e0  6f 6e 74 61 63 74 20 74  68 65 20 52 65 61 6c 6c  |ontact the Reall|
000001f0  79 20 47 6f 6f 64 0a 53  6f 66 74 77 61 72 65 20  |y Good.Software |
00000200  43 6f 6d 70 61 6e 79 2e  20 41 70 70 65 6e 64 69  |Company. Appendi|
00000210  78 20 41 20 6f 6e 20 70  61 67 65 20 31 37 32 33  |x A on page 1723|
00000220  20 6f 66 20 74 68 65 20  52 49 53 43 20 4f 53 20  | of the RISC OS |
00000230  32 20 50 52 4d 20 69 73  20 61 20 71 75 69 63 6b  |2 PRM is a quick|
00000240  0a 69 6e 74 72 6f 64 75  63 74 69 6f 6e 20 74 6f  |.introduction to|
00000250  20 41 52 4d 20 63 6f 64  65 2c 20 61 6e 64 20 74  | ARM code, and t|
00000260  68 65 72 65 20 61 72 65  20 73 65 76 65 72 61 6c  |here are several|
00000270  20 62 6f 6f 6b 73 20 61  76 61 69 6c 61 62 6c 65  | books available|
00000280  20 74 6f 20 68 65 6c 70  20 79 6f 75 0a 6c 65 61  | to help you.lea|
00000290  72 6e 20 41 52 4d 20 63  6f 64 65 2e 0a 0a 41 6e  |rn ARM code...An|
000002a0  20 65 66 66 65 63 74 20  69 73 20 62 61 73 69 63  | effect is basic|
000002b0  61 6c 6c 79 20 61 20 63  68 75 6e 63 6b 20 6f 66  |ally a chunck of|
000002c0  20 41 52 4d 20 63 6f 64  65 20 63 6f 6d 62 69 6e  | ARM code combin|
000002d0  65 64 20 77 69 74 68 20  6f 74 68 65 72 20 64 61  |ed with other da|
000002e0  74 61 20 61 62 6f 75 74  0a 74 68 65 20 65 66 66  |ta about.the eff|
000002f0  65 63 74 2e 20 54 68 65  20 64 61 74 61 20 64 65  |ect. The data de|
00000300  73 63 72 69 62 69 6e 67  20 74 68 65 20 70 61 72  |scribing the par|
00000310  61 6d 65 74 65 72 73 20  75 73 65 64 20 69 6e 20  |ameters used in |
00000320  74 68 65 20 63 6f 6e 74  72 6f 6c 20 70 61 6e 65  |the control pane|
00000330  6c 20 69 73 0a 61 70 70  65 6e 64 65 64 20 74 6f  |l is.appended to|
00000340  20 74 68 65 20 65 66 66  65 63 74 20 66 72 6f 6d  | the effect from|
00000350  20 61 20 74 65 78 74 20  66 69 6c 65 20 62 79 20  | a text file by |
00000360  74 68 65 20 70 72 6f 67  72 61 6d 20 27 63 6f 6e  |the program 'con|
00000370  74 72 6f 6c 64 65 73 27  2e 0a 0a 54 68 65 20 54  |troldes'...The T|
00000380  77 69 6c 69 67 68 74 20  63 6f 64 65 20 68 61 73  |wilight code has|
00000390  20 62 65 20 77 72 69 74  74 65 6e 20 73 6f 20 74  | be written so t|
000003a0  68 61 74 20 74 68 65 72  65 20 69 73 20 61 73 20  |hat there is as |
000003b0  6c 69 74 74 6c 65 20 77  6f 72 6b 20 61 73 20 70  |little work as p|
000003c0  6f 73 73 69 62 6c 65 0a  74 6f 20 62 65 20 64 6f  |ossible.to be do|
000003d0  6e 65 20 62 79 20 74 68  65 20 65 66 66 65 63 74  |ne by the effect|
000003e0  20 2d 20 6a 75 73 74 20  64 72 61 77 69 6e 67 20  | - just drawing |
000003f0  74 68 69 6e 67 73 20 6f  6e 20 74 68 65 20 73 63  |things on the sc|
00000400  72 65 65 6e 20 61 6e 64  20 61 73 6b 69 6e 67 20  |reen and asking |
00000410  66 6f 72 0a 77 6f 72 6b  73 70 61 63 65 20 66 72  |for.workspace fr|
00000420  6f 6d 20 74 68 65 20 52  4d 41 2e 0a 0a 41 20 65  |om the RMA...A e|
00000430  66 66 65 63 74 20 68 61  73 20 74 68 72 65 65 20  |ffect has three |
00000440  6d 61 69 6e 20 65 6e 74  72 69 65 73 20 2d 20 74  |main entries - t|
00000450  68 65 20 69 6e 69 74 69  61 6c 69 73 65 2c 20 70  |he initialise, p|
00000460  6f 6c 6c 20 61 6e 64 20  66 69 6e 69 61 6c 69 73  |oll and finialis|
00000470  65 0a 65 6e 74 72 69 65  73 2c 20 61 6e 64 20 74  |e.entries, and t|
00000480  68 65 73 65 20 61 72 65  20 63 61 6c 6c 65 64 20  |hese are called |
00000490  62 79 20 74 68 65 20 54  77 69 6c 69 67 68 74 20  |by the Twilight |
000004a0  6d 6f 64 75 6c 65 2e 20  49 6e 66 6f 72 6d 61 74  |module. Informat|
000004b0  69 6f 6e 20 61 62 6f 75  74 20 74 68 65 0a 63 75  |ion about the.cu|
000004c0  72 72 65 6e 74 20 65 6e  76 69 72 6f 6e 6d 65 6e  |rrent environmen|
000004d0  74 2c 20 74 68 65 20 70  61 72 61 6d 65 74 65 72  |t, the parameter|
000004e0  73 20 66 6f 72 20 74 68  65 20 65 66 66 65 63 74  |s for the effect|
000004f0  20 61 6e 64 20 61 64 64  72 65 73 73 20 6f 66 20  | and address of |
00000500  61 20 72 61 6e 64 6f 6d  0a 61 6e 64 20 64 69 76  |a random.and div|
00000510  69 73 69 6f 6e 20 72 6f  75 74 69 6e 65 20 61 72  |ision routine ar|
00000520  65 20 70 61 73 73 65 64  20 74 6f 20 74 68 65 20  |e passed to the |
00000530  65 66 66 65 63 74 20 62  79 20 74 68 65 20 54 77  |effect by the Tw|
00000540  69 6c 69 67 68 74 20 6d  6f 64 75 6c 65 2c 20 61  |ilight module, a|
00000550  6e 64 0a 69 6e 66 6f 72  6d 61 74 69 6f 6e 20 63  |nd.information c|
00000560  61 6e 20 62 65 20 70 61  73 73 65 64 20 62 61 63  |an be passed bac|
00000570  6b 20 66 72 6f 6d 20 74  68 65 20 65 66 66 65 63  |k from the effec|
00000580  74 20 74 6f 20 74 68 65  20 54 77 69 6c 69 67 68  |t to the Twiligh|
00000590  74 20 6d 6f 64 75 6c 65  2e 0a 0a 41 6e 20 65 66  |t module...An ef|
000005a0  66 65 63 74 20 73 68 6f  75 6c 64 20 62 65 20 61  |fect should be a|
000005b0  62 6c 65 20 74 6f 20 77  6f 72 6b 20 69 6e 20 61  |ble to work in a|
000005c0  6e 79 20 31 36 20 6f 72  20 6c 65 73 73 20 63 6f  |ny 16 or less co|
000005d0  6c 6f 75 72 20 6d 6f 64  65 2e 20 49 66 20 74 68  |lour mode. If th|
000005e0  65 0a 65 66 66 65 63 74  20 69 73 20 73 74 61 72  |e.effect is star|
000005f0  74 65 64 20 77 68 65 6e  20 61 20 32 35 36 20 63  |ted when a 256 c|
00000600  6f 6c 6f 75 72 20 6d 6f  64 65 20 69 73 20 73 65  |olour mode is se|
00000610  6c 65 63 74 65 64 2c 20  54 77 69 6c 69 67 68 74  |lected, Twilight|
00000620  20 77 69 6c 6c 20 66 6f  72 63 65 0a 74 68 65 20  | will force.the |
00000630  73 63 72 65 65 6e 20 6d  6f 64 65 20 74 6f 20 6f  |screen mode to o|
00000640  6e 65 20 77 68 69 63 68  20 69 73 20 74 68 65 20  |ne which is the |
00000650  73 61 6d 65 20 73 69 7a  65 20 61 6e 64 20 72 65  |same size and re|
00000660  73 6f 6c 75 74 69 6f 6e  20 62 75 74 20 77 68 69  |solution but whi|
00000670  63 68 20 68 61 73 0a 31  36 20 63 6f 6c 6f 75 72  |ch has.16 colour|
00000680  73 20 28 69 66 20 6f 6e  65 20 69 73 20 61 76 61  |s (if one is ava|
00000690  69 6c 69 61 62 6c 65 29  2e 0a 0a 49 66 20 61 6e  |iliable)...If an|
000006a0  79 20 77 6f 72 6b 73 70  61 63 65 20 69 73 20 6e  |y workspace is n|
000006b0  65 65 64 65 64 20 62 79  20 74 68 65 20 65 66 66  |eeded by the eff|
000006c0  65 63 74 20 6f 74 68 65  72 20 74 68 61 6e 20 74  |ect other than t|
000006d0  68 65 20 70 72 69 76 61  74 65 20 77 6f 72 64 20  |he private word |
000006e0  6f 66 0a 77 6f 72 6b 73  70 61 63 65 20 73 75 72  |of.workspace sur|
000006f0  70 6c 69 65 64 2c 20 6d  65 6d 6f 72 79 20 73 68  |plied, memory sh|
00000700  6f 75 6c 64 20 62 65 20  63 6c 61 69 6d 65 64 20  |ould be claimed |
00000710  66 72 6f 6d 20 74 68 65  20 52 4d 41 20 6f 6e 20  |from the RMA on |
00000720  69 6e 69 74 69 61 6c 69  73 65 20 61 6e 64 0a 66  |initialise and.f|
00000730  72 65 65 64 20 6f 6e 20  74 68 65 20 66 69 6e 61  |reed on the fina|
00000740  6c 69 73 65 2c 20 61 6e  64 20 74 68 65 20 61 64  |lise, and the ad|
00000750  64 72 65 73 73 20 73 74  6f 72 65 64 20 69 6e 20  |dress stored in |
00000760  74 68 69 73 20 77 6f 72  64 20 28 6c 69 6b 65 20  |this word (like |
00000770  61 20 6d 6f 64 75 6c 65  29 2e 0a 0a 54 68 65 20  |a module)...The |
00000780  63 6f 64 65 20 66 6f 72  20 65 66 66 65 63 74 73  |code for effects|
00000790  20 6f 6e 20 74 68 69 73  20 64 69 73 63 20 69 73  | on this disc is|
000007a0  20 77 72 69 74 65 6e 20  77 69 74 68 20 74 68 65  | writen with the|
000007b0  20 41 63 6f 72 6e 20 41  73 73 65 6d 62 6c 65 72  | Acorn Assembler|
000007c0  2e 20 54 68 69 73 0a 69  73 20 73 69 6d 69 6c 61  |. This.is simila|
000007d0  72 20 74 6f 20 74 68 65  20 42 41 53 49 43 20 61  |r to the BASIC a|
000007e0  73 73 65 6d 62 6c 65 72  2e 20 49 74 20 68 61 73  |ssembler. It has|
000007f0  20 73 6c 69 67 68 74 20  64 69 66 66 65 6e 63 65  | slight diffence|
00000800  73 20 69 6e 20 73 79 6e  74 61 78 20 74 6f 20 74  |s in syntax to t|
00000810  68 65 0a 42 41 53 49 43  20 61 73 73 65 6d 62 6c  |he.BASIC assembl|
00000820  65 72 2c 20 62 75 74 20  69 73 20 67 65 6e 65 72  |er, but is gener|
00000830  65 61 6c 6c 79 20 74 68  65 20 73 61 6d 65 2e 20  |eally the same. |
00000840  54 68 65 20 41 63 6f 72  6e 20 41 73 73 65 6d 62  |The Acorn Assemb|
00000850  6c 65 72 20 69 73 20 4e  4f 54 0a 6e 65 63 65 73  |ler is NOT.neces|
00000860  73 61 72 79 20 74 6f 20  77 72 69 74 65 20 61 6e  |sary to write an|
00000870  20 65 66 66 65 63 74 2e  20 41 6e 79 20 61 73 73  | effect. Any ass|
00000880  65 6d 62 6c 65 72 20 77  68 69 63 68 20 63 61 6e  |embler which can|
00000890  20 6f 75 74 70 75 74 20  41 52 4d 20 63 6f 64 65  | output ARM code|
000008a0  20 77 69 74 68 0a 6e 6f  20 61 64 64 69 74 69 6f  | with.no additio|
000008b0  6e 61 6c 20 69 6e 66 6f  72 6d 61 74 69 6f 6e 20  |nal information |
000008c0  69 6e 20 74 68 65 20 66  69 6c 65 20 69 73 20 73  |in the file is s|
000008d0  75 69 74 69 61 62 6c 65  2e 20 54 68 65 20 42 41  |uitiable. The BA|
000008e0  53 49 43 20 61 73 73 65  6d 62 6c 65 72 20 69 73  |SIC assembler is|
000008f0  0a 66 69 6e 65 2e 0a 0a  0a 45 66 66 65 63 74 20  |.fine....Effect |
00000900  66 69 6c 65 74 79 70 65  0a 7e 7e 7e 7e 7e 7e 7e  |filetype.~~~~~~~|
00000910  7e 7e 7e 7e 7e 7e 7e 7e  0a 54 77 69 6c 69 67 68  |~~~~~~~~.Twiligh|
00000920  74 20 75 73 65 73 20 74  68 65 20 66 69 6c 65 74  |t uses the filet|
00000930  79 70 65 20 26 33 43 31  20 74 6f 20 72 65 63 6f  |ype &3C1 to reco|
00000940  67 6e 69 73 65 20 65 66  66 65 63 74 73 2e 20 54  |gnise effects. T|
00000950  68 69 73 20 69 73 20 6e  6f 74 20 61 6e 20 41 63  |his is not an Ac|
00000960  6f 72 6e 0a 61 6c 6c 6f  63 61 74 65 64 20 66 69  |orn.allocated fi|
00000970  6c 65 74 79 70 65 2c 20  62 75 74 20 69 73 20 69  |letype, but is i|
00000980  6e 20 74 68 65 20 75 73  65 72 20 61 6c 6c 6f 63  |n the user alloc|
00000990  61 74 69 6f 6e 2e 20 49  74 20 69 73 20 6e 6f 74  |ation. It is not|
000009a0  20 65 73 73 65 6e 74 69  61 6c 20 74 68 61 74 0a  | essential that.|
000009b0  69 73 20 68 61 73 20 61  20 75 6e 69 71 75 65 20  |is has a unique |
000009c0  66 69 6c 65 74 79 70 65  20 61 73 20 64 6f 75 62  |filetype as doub|
000009d0  6c 65 20 63 6c 69 63 6b  69 6e 67 20 6f 6e 20 6f  |le clicking on o|
000009e0  6e 65 20 64 6f 65 73 20  6e 6f 74 20 6c 61 75 6e  |ne does not laun|
000009f0  63 68 20 61 20 65 64 69  74 6f 72 0a 61 70 70 6c  |ch a editor.appl|
00000a00  69 63 61 74 69 6f 6e 2c  20 61 6e 64 20 68 61 76  |ication, and hav|
00000a10  69 6e 67 20 6f 6e 65 20  61 6c 6c 6f 63 61 74 65  |ing one allocate|
00000a20  64 20 77 6f 75 6c 64 20  27 77 61 73 74 65 27 20  |d would 'waste' |
00000a30  6f 6e 65 20 6f 66 20 74  68 65 20 66 65 77 20 72  |one of the few r|
00000a40  65 6d 61 69 6e 69 6e 67  0a 66 69 6c 65 74 79 70  |emaining.filetyp|
00000a50  65 73 2e 0a 0a 46 6f 72  20 74 68 6f 73 65 20 77  |es...For those w|
00000a60  68 6f 20 68 61 76 65 6e  27 74 20 68 65 61 72 64  |ho haven't heard|
00000a70  2c 20 74 68 65 20 6e 65  77 20 66 69 6c 65 74 79  |, the new filety|
00000a80  70 65 20 72 61 6e 67 65  73 20 61 72 65 3a 0a 20  |pe ranges are:. |
00000a90  20 26 45 30 30 2d 26 46  46 46 20 20 41 63 6f 72  | &E00-&FFF  Acor|
00000aa0  6e 0a 20 20 26 34 30 30  2d 26 44 46 46 20 20 44  |n.  &400-&DFF  D|
00000ab0  65 76 65 6c 6f 70 65 72  20 28 26 34 30 30 2d 37  |eveloper (&400-7|
00000ac0  46 46 20 72 65 63 6c 61  69 6d 65 64 20 66 72 6f  |FF reclaimed fro|
00000ad0  6d 20 75 73 65 72 73 29  0a 20 20 26 31 30 30 2d  |m users).  &100-|
00000ae0  26 33 46 46 20 20 55 73  65 72 20 64 69 73 74 69  |&3FF  User disti|
00000af0  62 75 74 65 64 20 28 50  44 20 65 74 63 29 0a 20  |buted (PD etc). |
00000b00  20 26 30 30 30 2d 26 30  46 46 20 20 55 73 65 72  | &000-&0FF  User|
00000b10  20 6e 6f 6e 2d 64 69 73  74 72 69 62 75 74 65 64  | non-distributed|
00000b20  0a 0a 49 20 74 68 69 6e  6b 20 77 65 20 6d 69 67  |..I think we mig|
00000b30  68 74 20 70 6f 73 73 69  62 6c 79 20 62 65 20 72  |ht possibly be r|
00000b40  75 6e 6e 69 6e 67 20 6f  75 74 20 6f 66 20 74 68  |unning out of th|
00000b50  65 6d 2e 2e 2e 0a 0a 0a  41 6e 6f 74 68 65 72 20  |em......Another |
00000b60  75 73 65 20 66 6f 72 20  54 77 69 6c 69 67 68 74  |use for Twilight|
00000b70  0a 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |.~~~~~~~~~~~~~~~|
00000b80  7e 7e 7e 7e 7e 7e 7e 7e  7e 0a 41 73 20 54 77 69  |~~~~~~~~~.As Twi|
00000b90  6c 69 67 68 74 20 6f 6e  6c 79 20 74 61 6b 65 73  |light only takes|
00000ba0  20 6f 76 65 72 20 74 68  65 20 63 6f 6d 70 75 74  | over the comput|
00000bb0  65 72 20 77 68 65 6e 20  69 74 20 69 73 20 6e 6f  |er when it is no|
00000bc0  74 20 62 65 69 6e 67 20  75 73 65 64 2c 20 79 6f  |t being used, yo|
00000bd0  75 0a 63 6f 75 6c 64 20  77 72 69 74 65 20 61 6e  |u.could write an|
00000be0  20 65 66 66 65 63 74 20  74 6f 20 70 65 72 66 6f  | effect to perfo|
00000bf0  72 6d 20 61 20 63 6f 6d  70 6c 65 78 20 74 61 73  |rm a complex tas|
00000c00  6b 20 77 68 69 63 68 20  74 61 6b 65 73 20 61 20  |k which takes a |
00000c10  6c 6f 6e 67 20 74 69 6d  65 2c 20 66 6f 72 0a 65  |long time, for.e|
00000c20  78 61 6d 70 6c 65 20 72  61 79 20 74 72 61 63 69  |xample ray traci|
00000c30  6e 67 2e 20 54 68 65 20  74 61 73 6b 20 77 6f 75  |ng. The task wou|
00000c40  6c 64 20 62 65 20 64 6f  6e 65 20 69 6e 20 73 6d  |ld be done in sm|
00000c50  61 6c 6c 20 63 68 75 6e  6b 73 2c 20 6c 6f 61 64  |all chunks, load|
00000c60  69 6e 67 20 61 6e 64 0a  73 61 76 69 6e 67 20 74  |ing and.saving t|
00000c70  68 65 20 64 61 74 61 20  74 6f 20 61 20 66 69 6c  |he data to a fil|
00000c80  65 20 6f 6e 20 74 68 65  20 69 6e 69 74 69 61 6c  |e on the initial|
00000c90  69 73 65 20 61 6e 64 20  66 69 6e 69 61 6c 69 73  |ise and finialis|
00000ca0  65 20 65 6e 74 72 69 65  73 20 74 6f 20 62 65 20  |e entries to be |
00000cb0  61 62 6c 65 0a 74 6f 20  63 6f 6e 74 69 6e 75 65  |able.to continue|
00000cc0  20 77 68 65 72 65 20 69  74 20 6c 65 66 74 20 6f  | where it left o|
00000cd0  66 66 2e 20 54 68 69 73  20 77 6f 75 6c 64 20 65  |ff. This would e|
00000ce0  6e 61 62 6c 65 20 74 68  65 73 65 20 6c 6f 6e 67  |nable these long|
00000cf0  20 63 61 6c 63 75 61 6c  61 74 69 6f 6e 73 20 74  | calcualations t|
00000d00  6f 0a 62 65 20 64 6f 6e  65 20 77 68 65 6e 20 74  |o.be done when t|
00000d10  68 65 20 63 6f 6d 70 75  74 65 72 20 69 73 20 6e  |he computer is n|
00000d20  6f 74 20 62 65 69 6e 67  20 75 73 65 64 2e 20 49  |ot being used. I|
00000d30  74 20 77 6f 75 6c 64 20  62 65 20 61 20 67 6f 6f  |t would be a goo|
00000d40  64 20 69 64 65 61 20 69  66 20 61 6e 0a 65 66 66  |d idea if an.eff|
00000d50  65 63 74 20 6f 66 20 74  68 69 73 20 6b 69 6e 64  |ect of this kind|
00000d60  20 70 75 74 20 61 20 6d  65 73 73 61 67 65 20 6f  | put a message o|
00000d70  6e 20 74 68 65 20 73 63  72 65 65 6e 20 77 68 65  |n the screen whe|
00000d80  6e 20 69 74 20 77 61 73  20 61 63 74 69 76 65 2e  |n it was active.|
00000d90  0a 0a 0a 4d 61 69 6e 20  64 69 66 66 65 6e 65 63  |...Main diffenec|
00000da0  65 73 20 62 65 74 77 65  65 6e 20 74 68 65 20 73  |es between the s|
00000db0  79 6e 74 61 78 20 6f 66  20 42 41 53 49 43 20 26  |yntax of BASIC &|
00000dc0  20 41 63 6f 72 6e 20 41  73 73 65 6d 62 6c 65 72  | Acorn Assembler|
00000dd0  73 0a 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |s.~~~~~~~~~~~~~~|
00000de0  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |~~~~~~~~~~~~~~~~|
*
00000e10  0a 4c 61 62 65 6c 73 20  64 6f 20 6e 6f 74 20 73  |.Labels do not s|
00000e20  74 61 72 74 20 77 69 74  68 20 61 20 27 2e 27 2c  |tart with a '.',|
00000e30  20 6a 75 73 74 20 61 72  65 20 61 74 20 74 68 65  | just are at the|
00000e40  20 73 74 61 72 74 20 6f  66 20 61 20 6c 69 6e 65  | start of a line|
00000e50  2e 0a 41 44 52 2f 4c 44  52 2f 53 54 52 20 52 6e  |..ADR/LDR/STR Rn|
00000e60  2c 76 61 72 69 61 62 6c  65 20 63 61 6e 20 62 65  |,variable can be|
00000e70  20 61 63 63 65 73 73 65  64 20 72 65 6c 61 74 69  | accessed relati|
00000e80  76 65 20 74 6f 20 61 20  72 65 67 69 73 74 65 72  |ve to a register|
00000e90  20 28 73 65 74 20 75 73  69 6e 67 0a 4c 54 4f 52  | (set using.LTOR|
00000ea0  47 2c 20 5e 2c 20 61 6e  64 20 23 20 64 69 72 65  |G, ^, and # dire|
00000eb0  63 74 69 76 65 73 29 0a  44 43 44 20 2d 3e 20 45  |ctives).DCD -> E|
00000ec0  51 55 44 0a 44 43 42 20  2d 3e 20 45 51 55 42 0a  |QUD.DCB -> EQUB.|
00000ed0  44 43 42 20 63 61 6e 20  61 6c 73 6f 20 62 65 20  |DCB can also be |
00000ee0  75 73 65 64 20 61 73 20  45 51 55 53 0a 43 61 6e  |used as EQUS.Can|
00000ef0  20 64 6f 20 41 44 52 73  20 6f 66 20 64 61 74 61  | do ADRs of data|
00000f00  20 74 6f 6f 20 66 61 72  20 61 77 61 79 20 66 6f  | too far away fo|
00000f10  72 20 6f 6e 65 20 69 6e  73 74 72 75 63 74 69 6f  |r one instructio|
00000f20  6e 20 77 69 74 68 20 41  44 52 4c 2e 0a 0a 41 70  |n with ADRL...Ap|
00000f30  61 72 74 20 66 72 6f 6d  20 74 68 65 73 65 2c 20  |art from these, |
00000f40  74 68 65 20 73 79 6e 74  61 78 20 69 73 20 6d 61  |the syntax is ma|
00000f50  69 6e 6c 79 20 74 68 65  20 73 61 6d 65 20 61 73  |inly the same as|
00000f60  20 74 68 65 20 42 41 53  49 43 20 61 73 73 65 6d  | the BASIC assem|
00000f70  62 6c 65 72 2e 0a 0a                              |bler...|
00000f77