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