Home » Personal collection » Acorn ADFS disks » Greaseweazled » adfs_IJJOBS21.adf » Plasma2
Plasma2
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 ADFS disks » Greaseweazled » adfs_IJJOBS21.adf |
Filename: | Plasma2 |
Read OK: | ✔ |
File size: | 052D bytes |
Load address: | FFFFFB47 |
Exec address: | 2F8A4F11 |
Duplicates
There are 2 duplicate copies of this file in the archive:
- Personal collection » Acorn ADFS disks » Archimedes » IJJOBS21.ADF » Plasma2
- Personal collection » Acorn ADFS disks » Greaseweazled » adfs_IJJOBS21.adf » Plasma2
- Personal collection » Acorn hard disk » misc » dcfprogs » Plasma2
File contents
10MODE 15 20ON ERROR REPORT:PRINT;" @ ";ERL:END 30PROCass 40FORr=0TO255:?(rantab+r)=0:NEXT 50FORr=1TO255:REPEAT 60ad=rantab+RND(256)-1 70IF?ad<>0 THEN UNTIL FALSE ELSE UNTIL TRUE 80?ad=r 90NEXT 100CALL plasma 110REPEAT UNTIL FALSE 120: 130DEFPROCass 140DIM space &1000 150FORpass=0TO2STEP2 160P%=space 170[OPT pass 180.plasma STMFD R13!,{R14} 190MOV R0,#1 200ADR R1,xpos 210STR R0,[R1] 220.yloop MOV R0,#1 230ADR R1,ypos 240STR R0,[R1] 250.xloop ADR R10,xpos 260STR R0,[R10] 270ADR R10,ypos 280STR R1,[R10] 290: 300BL getmem 310.getlop BL getran 320\LDR R1,[R0,#-1] 330\LDR R2,[R0] 340\SUB R1,R1,R2 350\CMP R1,#-2 360\BCS getlop 370\CMP R1,#2 380\BCS getlop 390STR R1,[R0] 400: 410ADR R10,xpos 420LDR R0,[R10] 430ADR R10,ypos 440LDR R1,[R10] 450: 460ADD R0,R0,#1 470CMP R0,#639 480BNExloop 490ADD R1,R1,#1 500CMP R1,#255 510BNEyloop 520. 530LDMFD R13!,{PC} 540: 550.getmem ADR R0,screen 560LDR R0,[R0] 570ADR R1,xpos 580LDR R1,[R1] 590ADD R0,R0,R1 600ADR R1,ypos 610LDR R1,[R1] 620MOV R2,#&280 630MUL R3,R1,R2 640ADD R0,R0,R3 650MOV PC,R14 660: 670.getran ADR R1,ranno 680LDRB R0,[R1] 690EOR R0,R0,#&73 700ADD R0,R0,#&45 710AND R0,R0,#&FF 720ADR R2,rantab 730LDRB R0,[R2,R0] 740STRB R0,[R1] 750LDR R0,[R2,R0] 760.ranlop CMP R0,#7 770BCC rangot 780SUB R0,R0,#5 790B ranlop 800.rangot SUB R1,R0,#3 810MOV PC,R14 820: 830.ranno EQUB 0 840.screen EQUD &1FD8000 850.xpos EQUD 1 860.ypos EQUD 1 870.rantab 880]:NEXT 890ENDPROC
� 15 � � �:�;" @ ";�:� �ass (�r=0�255:?(rantab+r)=0:� 2�r=1�255:� <ad=rantab+�(256)-1 F�?ad<>0 � � � � � � P ?ad=r Z� d� plasma n � � � x: � ��ass �� space &1000 ��pass=0�2�2 �P%=space � [OPT pass �.plasma STMFD R13!,{R14} � MOV R0,#1 �ADR R1,xpos �STR R0,[R1] �.yloop MOV R0,#1 �ADR R1,ypos �STR R0,[R1] �.xloop ADR R10,xpos STR R0,[R10] ADR R10,ypos STR R1,[R10] ": , BL getmem 6.getlop BL getran @\LDR R1,[R0,#-1] J\LDR R2,[R0] T\SUB R1,R1,R2 ^\CMP R1,#-2 h\BCS getlop r\CMP R1,#2 |\BCS getlop �STR R1,[R0] �: �ADR R10,xpos �LDR R0,[R10] �ADR R10,ypos �LDR R1,[R10] �: �ADD R0,R0,#1 �CMP R0,#639 �BNExloop �ADD R1,R1,#1 �CMP R1,#255 �BNEyloop . LDMFD R13!,{PC} : &.getmem ADR R0,screen 0LDR R0,[R0] :ADR R1,xpos DLDR R1,[R1] NADD R0,R0,R1 XADR R1,ypos bLDR R1,[R1] lMOV R2,#&280 vMUL R3,R1,R2 �ADD R0,R0,R3 �MOV PC,R14 �: �.getran ADR R1,ranno �LDRB R0,[R1] �� R0,R0,#&73 �ADD R0,R0,#&45 �� R0,R0,#&FF �ADR R2,rantab �LDRB R0,[R2,R0] �STRB R0,[R1] �LDR R0,[R2,R0] �.ranlop CMP R0,#7 BCC rangot SUB R0,R0,#5 B ranlop .rangot SUB R1,R0,#3 *MOV PC,R14 4: >.ranno EQUB 0 H.screen EQUD &1FD8000 R.xpos EQUD 1 \.ypos EQUD 1 f.rantab p]:� z� �
00000000 0d 00 0a 08 eb 20 31 35 0d 00 14 15 ee 20 85 20 |..... 15..... . | 00000010 f6 3a f1 3b 22 20 40 20 22 3b 9e 3a e0 0d 00 1e |.:.;" @ ";.:....| 00000020 08 f2 61 73 73 0d 00 28 1c e3 72 3d 30 b8 32 35 |..ass..(..r=0.25| 00000030 35 3a 3f 28 72 61 6e 74 61 62 2b 72 29 3d 30 3a |5:?(rantab+r)=0:| 00000040 ed 0d 00 32 0e e3 72 3d 31 b8 32 35 35 3a f5 0d |...2..r=1.255:..| 00000050 00 3c 16 61 64 3d 72 61 6e 74 61 62 2b b3 28 32 |.<.ad=rantab+.(2| 00000060 35 36 29 2d 31 0d 00 46 17 e7 3f 61 64 3c 3e 30 |56)-1..F..?ad<>0| 00000070 20 8c 20 fd 20 a3 20 8b 20 fd 20 b9 0d 00 50 09 | . . . . . ...P.| 00000080 3f 61 64 3d 72 0d 00 5a 05 ed 0d 00 64 0c d6 20 |?ad=r..Z....d.. | 00000090 70 6c 61 73 6d 61 0d 00 6e 09 f5 20 fd 20 a3 0d |plasma..n.. . ..| 000000a0 00 78 05 3a 0d 00 82 09 dd f2 61 73 73 0d 00 8c |.x.:......ass...| 000000b0 11 de 20 73 70 61 63 65 20 26 31 30 30 30 0d 00 |.. space &1000..| 000000c0 96 0f e3 70 61 73 73 3d 30 b8 32 88 32 0d 00 a0 |...pass=0.2.2...| 000000d0 0c 50 25 3d 73 70 61 63 65 0d 00 aa 0d 5b 4f 50 |.P%=space....[OP| 000000e0 54 20 70 61 73 73 0d 00 b4 1c 2e 70 6c 61 73 6d |T pass.....plasm| 000000f0 61 20 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 31 |a STMFD R13!,{R1| 00000100 34 7d 0d 00 be 0d 4d 4f 56 20 52 30 2c 23 31 0d |4}....MOV R0,#1.| 00000110 00 c8 0f 41 44 52 20 52 31 2c 78 70 6f 73 0d 00 |...ADR R1,xpos..| 00000120 d2 0f 53 54 52 20 52 30 2c 5b 52 31 5d 0d 00 dc |..STR R0,[R1]...| 00000130 14 2e 79 6c 6f 6f 70 20 4d 4f 56 20 52 30 2c 23 |..yloop MOV R0,#| 00000140 31 0d 00 e6 0f 41 44 52 20 52 31 2c 79 70 6f 73 |1....ADR R1,ypos| 00000150 0d 00 f0 0f 53 54 52 20 52 30 2c 5b 52 31 5d 0d |....STR R0,[R1].| 00000160 00 fa 17 2e 78 6c 6f 6f 70 20 41 44 52 20 52 31 |....xloop ADR R1| 00000170 30 2c 78 70 6f 73 0d 01 04 10 53 54 52 20 52 30 |0,xpos....STR R0| 00000180 2c 5b 52 31 30 5d 0d 01 0e 10 41 44 52 20 52 31 |,[R10]....ADR R1| 00000190 30 2c 79 70 6f 73 0d 01 18 10 53 54 52 20 52 31 |0,ypos....STR R1| 000001a0 2c 5b 52 31 30 5d 0d 01 22 05 3a 0d 01 2c 0d 42 |,[R10]..".:..,.B| 000001b0 4c 20 67 65 74 6d 65 6d 0d 01 36 15 2e 67 65 74 |L getmem..6..get| 000001c0 6c 6f 70 20 42 4c 20 67 65 74 72 61 6e 0d 01 40 |lop BL getran..@| 000001d0 14 5c 4c 44 52 20 52 31 2c 5b 52 30 2c 23 2d 31 |.\LDR R1,[R0,#-1| 000001e0 5d 0d 01 4a 10 5c 4c 44 52 20 52 32 2c 5b 52 30 |]..J.\LDR R2,[R0| 000001f0 5d 0d 01 54 11 5c 53 55 42 20 52 31 2c 52 31 2c |]..T.\SUB R1,R1,| 00000200 52 32 0d 01 5e 0f 5c 43 4d 50 20 52 31 2c 23 2d |R2..^.\CMP R1,#-| 00000210 32 0d 01 68 0f 5c 42 43 53 20 67 65 74 6c 6f 70 |2..h.\BCS getlop| 00000220 0d 01 72 0e 5c 43 4d 50 20 52 31 2c 23 32 0d 01 |..r.\CMP R1,#2..| 00000230 7c 0f 5c 42 43 53 20 67 65 74 6c 6f 70 0d 01 86 ||.\BCS getlop...| 00000240 0f 53 54 52 20 52 31 2c 5b 52 30 5d 0d 01 90 05 |.STR R1,[R0]....| 00000250 3a 0d 01 9a 10 41 44 52 20 52 31 30 2c 78 70 6f |:....ADR R10,xpo| 00000260 73 0d 01 a4 10 4c 44 52 20 52 30 2c 5b 52 31 30 |s....LDR R0,[R10| 00000270 5d 0d 01 ae 10 41 44 52 20 52 31 30 2c 79 70 6f |]....ADR R10,ypo| 00000280 73 0d 01 b8 10 4c 44 52 20 52 31 2c 5b 52 31 30 |s....LDR R1,[R10| 00000290 5d 0d 01 c2 05 3a 0d 01 cc 10 41 44 44 20 52 30 |]....:....ADD R0| 000002a0 2c 52 30 2c 23 31 0d 01 d6 0f 43 4d 50 20 52 30 |,R0,#1....CMP R0| 000002b0 2c 23 36 33 39 0d 01 e0 0c 42 4e 45 78 6c 6f 6f |,#639....BNExloo| 000002c0 70 0d 01 ea 10 41 44 44 20 52 31 2c 52 31 2c 23 |p....ADD R1,R1,#| 000002d0 31 0d 01 f4 0f 43 4d 50 20 52 31 2c 23 32 35 35 |1....CMP R1,#255| 000002e0 0d 01 fe 0c 42 4e 45 79 6c 6f 6f 70 0d 02 08 05 |....BNEyloop....| 000002f0 2e 0d 02 12 13 4c 44 4d 46 44 20 52 31 33 21 2c |.....LDMFD R13!,| 00000300 7b 50 43 7d 0d 02 1c 05 3a 0d 02 26 19 2e 67 65 |{PC}....:..&..ge| 00000310 74 6d 65 6d 20 41 44 52 20 52 30 2c 73 63 72 65 |tmem ADR R0,scre| 00000320 65 6e 0d 02 30 0f 4c 44 52 20 52 30 2c 5b 52 30 |en..0.LDR R0,[R0| 00000330 5d 0d 02 3a 0f 41 44 52 20 52 31 2c 78 70 6f 73 |]..:.ADR R1,xpos| 00000340 0d 02 44 0f 4c 44 52 20 52 31 2c 5b 52 31 5d 0d |..D.LDR R1,[R1].| 00000350 02 4e 10 41 44 44 20 52 30 2c 52 30 2c 52 31 0d |.N.ADD R0,R0,R1.| 00000360 02 58 0f 41 44 52 20 52 31 2c 79 70 6f 73 0d 02 |.X.ADR R1,ypos..| 00000370 62 0f 4c 44 52 20 52 31 2c 5b 52 31 5d 0d 02 6c |b.LDR R1,[R1]..l| 00000380 10 4d 4f 56 20 52 32 2c 23 26 32 38 30 0d 02 76 |.MOV R2,#&280..v| 00000390 10 4d 55 4c 20 52 33 2c 52 31 2c 52 32 0d 02 80 |.MUL R3,R1,R2...| 000003a0 10 41 44 44 20 52 30 2c 52 30 2c 52 33 0d 02 8a |.ADD R0,R0,R3...| 000003b0 0e 4d 4f 56 20 50 43 2c 52 31 34 0d 02 94 05 3a |.MOV PC,R14....:| 000003c0 0d 02 9e 18 2e 67 65 74 72 61 6e 20 41 44 52 20 |.....getran ADR | 000003d0 52 31 2c 72 61 6e 6e 6f 0d 02 a8 10 4c 44 52 42 |R1,ranno....LDRB| 000003e0 20 52 30 2c 5b 52 31 5d 0d 02 b2 10 82 20 52 30 | R0,[R1]..... R0| 000003f0 2c 52 30 2c 23 26 37 33 0d 02 bc 12 41 44 44 20 |,R0,#&73....ADD | 00000400 52 30 2c 52 30 2c 23 26 34 35 0d 02 c6 10 80 20 |R0,R0,#&45..... | 00000410 52 30 2c 52 30 2c 23 26 46 46 0d 02 d0 11 41 44 |R0,R0,#&FF....AD| 00000420 52 20 52 32 2c 72 61 6e 74 61 62 0d 02 da 13 4c |R R2,rantab....L| 00000430 44 52 42 20 52 30 2c 5b 52 32 2c 52 30 5d 0d 02 |DRB R0,[R2,R0]..| 00000440 e4 10 53 54 52 42 20 52 30 2c 5b 52 31 5d 0d 02 |..STRB R0,[R1]..| 00000450 ee 12 4c 44 52 20 52 30 2c 5b 52 32 2c 52 30 5d |..LDR R0,[R2,R0]| 00000460 0d 02 f8 15 2e 72 61 6e 6c 6f 70 20 43 4d 50 20 |.....ranlop CMP | 00000470 52 30 2c 23 37 0d 03 02 0e 42 43 43 20 72 61 6e |R0,#7....BCC ran| 00000480 67 6f 74 0d 03 0c 10 53 55 42 20 52 30 2c 52 30 |got....SUB R0,R0| 00000490 2c 23 35 0d 03 16 0c 42 20 72 61 6e 6c 6f 70 0d |,#5....B ranlop.| 000004a0 03 20 18 2e 72 61 6e 67 6f 74 20 53 55 42 20 52 |. ..rangot SUB R| 000004b0 31 2c 52 30 2c 23 33 0d 03 2a 0e 4d 4f 56 20 50 |1,R0,#3..*.MOV P| 000004c0 43 2c 52 31 34 0d 03 34 05 3a 0d 03 3e 11 2e 72 |C,R14..4.:..>..r| 000004d0 61 6e 6e 6f 20 45 51 55 42 20 30 0d 03 48 19 2e |anno EQUB 0..H..| 000004e0 73 63 72 65 65 6e 20 45 51 55 44 20 26 31 46 44 |screen EQUD &1FD| 000004f0 38 30 30 30 0d 03 52 10 2e 78 70 6f 73 20 45 51 |8000..R..xpos EQ| 00000500 55 44 20 31 0d 03 5c 10 2e 79 70 6f 73 20 45 51 |UD 1..\..ypos EQ| 00000510 55 44 20 31 0d 03 66 0b 2e 72 61 6e 74 61 62 0d |UD 1..f..rantab.| 00000520 03 70 07 5d 3a ed 0d 03 7a 05 e1 0d ff |.p.]:...z....| 0000052d