Home » Archimedes archive » Acorn User » AU 1993-10.adf » !MorphDemo_MorphDemo » !MorphDemo/Resources/!Intro
!MorphDemo/Resources/!Intro
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 1993-10.adf » !MorphDemo_MorphDemo |
Filename: | !MorphDemo/Resources/!Intro |
Read OK: | ✔ |
File size: | 0586 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > <MorphDemo$Dir>.Resources.!Intro 20DIM b% 256,ST% 16,CT% 16,Spr% 50000,Work% 50000,In% 20000 30$b%="TASK":SYS"Wimp_Initialise",200,!b%,"Morpheus Demo Intro" TO ,Task% 40SYS"OS_ReadModeVariable",-1,3 TO ,,Colours% 50SYS"OS_ReadModeVariable",-1,4 TO ,,ShiftX% 60SYS"OS_ReadModeVariable",-1,5 TO ,,ShiftY% 70SYS"OS_ReadModeVariable",-1,11 TO ,,PixelsX% 80SYS"OS_ReadModeVariable",-1,12 TO ,,PixelsY% 90OSX%=PixelsX%<<ShiftX% 100OSY%=PixelsY%<<ShiftY% 110Spr%!0=50000 120IF ShiftY%<2 THEN 130 f$="<MorphDemo$Dir>.Resources.Intro22" 140 ImageShiftY%=1 150ELSE 160 f$="<MorphDemo$Dir>.Resources.Intro" 170 ImageShiftY%=2 180ENDIF 190ok%=FNLoadIntro(f$) 200IF ok% THEN 210 SYS"OS_SpriteOp",256+40,Spr%,"Morpheus" TO ,,,SizeX%,SizeY% 220 SizeX%=SizeX%*2:SizeY%=SizeY%<<ImageShiftY% 230 IF ShiftX%=1 AND ShiftY%=ImageShiftY% AND Colours%=15 THEN 240 REM SpriteOp 34 is much faster than SpriteOp 52 250 SYS"XOS_SpriteOp",256+34,Spr%,"Morpheus",(OSX%-SizeX%)/2,(OSY%-SizeY%)/2,0 260 ELSE 270 SYS"XWimp_ReadPixTrans",256+40,Spr%,"Morpheus",,,,ST%,CT% 280 SYS"XOS_SpriteOp",256+52,Spr%,"Morpheus",(OSX%-SizeX%)/2,(OSY%-SizeY%)/2,0,ST%,CT% 290 ENDIF 300ENDIF 310SYS"Wimp_CloseDown" 320QUIT 330 340DEFFNLoadIntro(f$) 350 LOCAL ok%,len%,type% 360 SYS"OS_File",23,f$ TO ok%,,,,len%,,type%:IF ok%<>1 THEN =FALSE 370 CASE type% OF 380 WHEN &FCA:SYS"XOS_File",255,f$,In% 390 SYS"XSquash_Decompress",%100,Work%,In%+20,len%-20,Spr%+4,In%!4 400 WHEN &FF9:SYS"XOS_SpriteOp",256+10,Spr%,f$ 410 ENDCASE 420=TRUE
(� > <MorphDemo$Dir>.Resources.!Intro ;� b% 256,ST% 16,CT% 16,Spr% 50000,Work% 50000,In% 20000 I$b%="TASK":ș"Wimp_Initialise",200,!b%,"Morpheus Demo Intro" � ,Task% (-ș"OS_ReadModeVariable",-1,3 � ,,Colours% 2,ș"OS_ReadModeVariable",-1,4 � ,,ShiftX% <,ș"OS_ReadModeVariable",-1,5 � ,,ShiftY% F.ș"OS_ReadModeVariable",-1,11 � ,,PixelsX% P.ș"OS_ReadModeVariable",-1,12 � ,,PixelsY% ZOSX%=PixelsX%<<ShiftX% dOSY%=PixelsY%<<ShiftY% nSpr%!0=50000 x� ShiftY%<2 � �+ f$="<MorphDemo$Dir>.Resources.Intro22" � ImageShiftY%=1 �� �) f$="<MorphDemo$Dir>.Resources.Intro" � ImageShiftY%=2 �� �ok%=�LoadIntro(f$) �� ok% � �> ș"OS_SpriteOp",256+40,Spr%,"Morpheus" � ,,,SizeX%,SizeY% �0 SizeX%=SizeX%*2:SizeY%=SizeY%<<ImageShiftY% �7 � ShiftX%=1 � ShiftY%=ImageShiftY% � Colours%=15 � �3 � SpriteOp 34 is much faster than SpriteOp 52 �O ș"XOS_SpriteOp",256+34,Spr%,"Morpheus",(OSX%-SizeX%)/2,(OSY%-SizeY%)/2,0 � > ș"XWimp_ReadPixTrans",256+40,Spr%,"Morpheus",,,,ST%,CT% W ș"XOS_SpriteOp",256+52,Spr%,"Morpheus",(OSX%-SizeX%)/2,(OSY%-SizeY%)/2,0,ST%,CT% " � ,� 6ș"Wimp_CloseDown" @Ș J TݤLoadIntro(f$) ^ � ok%,len%,type% h9 ș"OS_File",23,f$ � ok%,,,,len%,,type%:� ok%<>1 � =� r Ȏ type% � |$ � &FCA:ș"XOS_File",255,f$,In% �D ș"XSquash_Decompress",%100,Work%,In%+20,len%-20,Spr%+4,In%!4 �, � &FF9:ș"XOS_SpriteOp",256+10,Spr%,f$ � � �=� �
00000000 0d 00 0a 28 f4 20 3e 20 3c 4d 6f 72 70 68 44 65 |...(. > <MorphDe| 00000010 6d 6f 24 44 69 72 3e 2e 52 65 73 6f 75 72 63 65 |mo$Dir>.Resource| 00000020 73 2e 21 49 6e 74 72 6f 0d 00 14 3b de 20 62 25 |s.!Intro...;. b%| 00000030 20 32 35 36 2c 53 54 25 20 31 36 2c 43 54 25 20 | 256,ST% 16,CT% | 00000040 31 36 2c 53 70 72 25 20 35 30 30 30 30 2c 57 6f |16,Spr% 50000,Wo| 00000050 72 6b 25 20 35 30 30 30 30 2c 49 6e 25 20 32 30 |rk% 50000,In% 20| 00000060 30 30 30 0d 00 1e 49 24 62 25 3d 22 54 41 53 4b |000...I$b%="TASK| 00000070 22 3a c8 99 22 57 69 6d 70 5f 49 6e 69 74 69 61 |":.."Wimp_Initia| 00000080 6c 69 73 65 22 2c 32 30 30 2c 21 62 25 2c 22 4d |lise",200,!b%,"M| 00000090 6f 72 70 68 65 75 73 20 44 65 6d 6f 20 49 6e 74 |orpheus Demo Int| 000000a0 72 6f 22 20 b8 20 2c 54 61 73 6b 25 0d 00 28 2d |ro" . ,Task%..(-| 000000b0 c8 99 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 |.."OS_ReadModeVa| 000000c0 72 69 61 62 6c 65 22 2c 2d 31 2c 33 20 b8 20 2c |riable",-1,3 . ,| 000000d0 2c 43 6f 6c 6f 75 72 73 25 0d 00 32 2c c8 99 22 |,Colours%..2,.."| 000000e0 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 61 |OS_ReadModeVaria| 000000f0 62 6c 65 22 2c 2d 31 2c 34 20 b8 20 2c 2c 53 68 |ble",-1,4 . ,,Sh| 00000100 69 66 74 58 25 0d 00 3c 2c c8 99 22 4f 53 5f 52 |iftX%..<,.."OS_R| 00000110 65 61 64 4d 6f 64 65 56 61 72 69 61 62 6c 65 22 |eadModeVariable"| 00000120 2c 2d 31 2c 35 20 b8 20 2c 2c 53 68 69 66 74 59 |,-1,5 . ,,ShiftY| 00000130 25 0d 00 46 2e c8 99 22 4f 53 5f 52 65 61 64 4d |%..F..."OS_ReadM| 00000140 6f 64 65 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c |odeVariable",-1,| 00000150 31 31 20 b8 20 2c 2c 50 69 78 65 6c 73 58 25 0d |11 . ,,PixelsX%.| 00000160 00 50 2e c8 99 22 4f 53 5f 52 65 61 64 4d 6f 64 |.P..."OS_ReadMod| 00000170 65 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c 31 32 |eVariable",-1,12| 00000180 20 b8 20 2c 2c 50 69 78 65 6c 73 59 25 0d 00 5a | . ,,PixelsY%..Z| 00000190 1a 4f 53 58 25 3d 50 69 78 65 6c 73 58 25 3c 3c |.OSX%=PixelsX%<<| 000001a0 53 68 69 66 74 58 25 0d 00 64 1a 4f 53 59 25 3d |ShiftX%..d.OSY%=| 000001b0 50 69 78 65 6c 73 59 25 3c 3c 53 68 69 66 74 59 |PixelsY%<<ShiftY| 000001c0 25 0d 00 6e 10 53 70 72 25 21 30 3d 35 30 30 30 |%..n.Spr%!0=5000| 000001d0 30 0d 00 78 11 e7 20 53 68 69 66 74 59 25 3c 32 |0..x.. ShiftY%<2| 000001e0 20 8c 0d 00 82 2b 20 66 24 3d 22 3c 4d 6f 72 70 | ....+ f$="<Morp| 000001f0 68 44 65 6d 6f 24 44 69 72 3e 2e 52 65 73 6f 75 |hDemo$Dir>.Resou| 00000200 72 63 65 73 2e 49 6e 74 72 6f 32 32 22 0d 00 8c |rces.Intro22"...| 00000210 13 20 49 6d 61 67 65 53 68 69 66 74 59 25 3d 31 |. ImageShiftY%=1| 00000220 0d 00 96 05 cc 0d 00 a0 29 20 66 24 3d 22 3c 4d |........) f$="<M| 00000230 6f 72 70 68 44 65 6d 6f 24 44 69 72 3e 2e 52 65 |orphDemo$Dir>.Re| 00000240 73 6f 75 72 63 65 73 2e 49 6e 74 72 6f 22 0d 00 |sources.Intro"..| 00000250 aa 13 20 49 6d 61 67 65 53 68 69 66 74 59 25 3d |.. ImageShiftY%=| 00000260 32 0d 00 b4 05 cd 0d 00 be 16 6f 6b 25 3d a4 4c |2.........ok%=.L| 00000270 6f 61 64 49 6e 74 72 6f 28 66 24 29 0d 00 c8 0b |oadIntro(f$)....| 00000280 e7 20 6f 6b 25 20 8c 0d 00 d2 3e 20 c8 99 22 4f |. ok% ....> .."O| 00000290 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 35 36 2b |S_SpriteOp",256+| 000002a0 34 30 2c 53 70 72 25 2c 22 4d 6f 72 70 68 65 75 |40,Spr%,"Morpheu| 000002b0 73 22 20 b8 20 2c 2c 2c 53 69 7a 65 58 25 2c 53 |s" . ,,,SizeX%,S| 000002c0 69 7a 65 59 25 0d 00 dc 30 20 53 69 7a 65 58 25 |izeY%...0 SizeX%| 000002d0 3d 53 69 7a 65 58 25 2a 32 3a 53 69 7a 65 59 25 |=SizeX%*2:SizeY%| 000002e0 3d 53 69 7a 65 59 25 3c 3c 49 6d 61 67 65 53 68 |=SizeY%<<ImageSh| 000002f0 69 66 74 59 25 0d 00 e6 37 20 e7 20 53 68 69 66 |iftY%...7 . Shif| 00000300 74 58 25 3d 31 20 80 20 53 68 69 66 74 59 25 3d |tX%=1 . ShiftY%=| 00000310 49 6d 61 67 65 53 68 69 66 74 59 25 20 80 20 43 |ImageShiftY% . C| 00000320 6f 6c 6f 75 72 73 25 3d 31 35 20 8c 0d 00 f0 33 |olours%=15 ....3| 00000330 20 20 f4 20 53 70 72 69 74 65 4f 70 20 33 34 20 | . SpriteOp 34 | 00000340 69 73 20 6d 75 63 68 20 66 61 73 74 65 72 20 74 |is much faster t| 00000350 68 61 6e 20 53 70 72 69 74 65 4f 70 20 35 32 0d |han SpriteOp 52.| 00000360 00 fa 4f 20 20 c8 99 22 58 4f 53 5f 53 70 72 69 |..O .."XOS_Spri| 00000370 74 65 4f 70 22 2c 32 35 36 2b 33 34 2c 53 70 72 |teOp",256+34,Spr| 00000380 25 2c 22 4d 6f 72 70 68 65 75 73 22 2c 28 4f 53 |%,"Morpheus",(OS| 00000390 58 25 2d 53 69 7a 65 58 25 29 2f 32 2c 28 4f 53 |X%-SizeX%)/2,(OS| 000003a0 59 25 2d 53 69 7a 65 59 25 29 2f 32 2c 30 0d 01 |Y%-SizeY%)/2,0..| 000003b0 04 06 20 cc 0d 01 0e 3e 20 20 c8 99 22 58 57 69 |.. ....> .."XWi| 000003c0 6d 70 5f 52 65 61 64 50 69 78 54 72 61 6e 73 22 |mp_ReadPixTrans"| 000003d0 2c 32 35 36 2b 34 30 2c 53 70 72 25 2c 22 4d 6f |,256+40,Spr%,"Mo| 000003e0 72 70 68 65 75 73 22 2c 2c 2c 2c 53 54 25 2c 43 |rpheus",,,,ST%,C| 000003f0 54 25 0d 01 18 57 20 20 c8 99 22 58 4f 53 5f 53 |T%...W .."XOS_S| 00000400 70 72 69 74 65 4f 70 22 2c 32 35 36 2b 35 32 2c |priteOp",256+52,| 00000410 53 70 72 25 2c 22 4d 6f 72 70 68 65 75 73 22 2c |Spr%,"Morpheus",| 00000420 28 4f 53 58 25 2d 53 69 7a 65 58 25 29 2f 32 2c |(OSX%-SizeX%)/2,| 00000430 28 4f 53 59 25 2d 53 69 7a 65 59 25 29 2f 32 2c |(OSY%-SizeY%)/2,| 00000440 30 2c 53 54 25 2c 43 54 25 0d 01 22 06 20 cd 0d |0,ST%,CT%..". ..| 00000450 01 2c 05 cd 0d 01 36 16 c8 99 22 57 69 6d 70 5f |.,....6..."Wimp_| 00000460 43 6c 6f 73 65 44 6f 77 6e 22 0d 01 40 06 c8 98 |CloseDown"..@...| 00000470 0d 01 4a 04 0d 01 54 13 dd a4 4c 6f 61 64 49 6e |..J...T...LoadIn| 00000480 74 72 6f 28 66 24 29 0d 01 5e 15 20 ea 20 6f 6b |tro(f$)..^. . ok| 00000490 25 2c 6c 65 6e 25 2c 74 79 70 65 25 0d 01 68 39 |%,len%,type%..h9| 000004a0 20 c8 99 22 4f 53 5f 46 69 6c 65 22 2c 32 33 2c | .."OS_File",23,| 000004b0 66 24 20 b8 20 6f 6b 25 2c 2c 2c 2c 6c 65 6e 25 |f$ . ok%,,,,len%| 000004c0 2c 2c 74 79 70 65 25 3a e7 20 6f 6b 25 3c 3e 31 |,,type%:. ok%<>1| 000004d0 20 8c 20 3d a3 0d 01 72 0f 20 c8 8e 20 74 79 70 | . =...r. .. typ| 000004e0 65 25 20 ca 0d 01 7c 24 20 20 c9 20 26 46 43 41 |e% ...|$ . &FCA| 000004f0 3a c8 99 22 58 4f 53 5f 46 69 6c 65 22 2c 32 35 |:.."XOS_File",25| 00000500 35 2c 66 24 2c 49 6e 25 0d 01 86 44 20 20 20 c8 |5,f$,In%...D .| 00000510 99 22 58 53 71 75 61 73 68 5f 44 65 63 6f 6d 70 |."XSquash_Decomp| 00000520 72 65 73 73 22 2c 25 31 30 30 2c 57 6f 72 6b 25 |ress",%100,Work%| 00000530 2c 49 6e 25 2b 32 30 2c 6c 65 6e 25 2d 32 30 2c |,In%+20,len%-20,| 00000540 53 70 72 25 2b 34 2c 49 6e 25 21 34 0d 01 90 2c |Spr%+4,In%!4...,| 00000550 20 20 c9 20 26 46 46 39 3a c8 99 22 58 4f 53 5f | . &FF9:.."XOS_| 00000560 53 70 72 69 74 65 4f 70 22 2c 32 35 36 2b 31 30 |SpriteOp",256+10| 00000570 2c 53 70 72 25 2c 66 24 0d 01 9a 06 20 cb 0d 01 |,Spr%,f$.... ...| 00000580 a4 06 3d b9 0d ff |..=...| 00000586