home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1994-03-12 | 3.5 KB | 138 lines |
- ' *************************************
- ' * *
- ' * Demo 3 V1.0 *
- ' * Written by Chris Hodges *
- ' * *
- ' *************************************
- '
- Dim B(3),C(3)
- Hide On
- Unpack 11 To 0 : Screen Hide 0
- For A=0 To 58
- Get Block A+1,(A mod 10)*32,(A/10)*32,32,32
- Next
- Screen Open 1,356,34,16,0 : Screen Hide 1
- Curs Off : Paper 0 : Pen 1 : Flash Off : Cls 0
- Print : Print " HOD ROD!"
- Get Palette 0
- For A=0 To 3
- C(A)=Logbase(A)
- Next
- Unpack 10 To 0 : Screen Hide 0
- For A=0 To 3
- B(A)=Logbase(A)
- Next
- Copper Off
- Cop Reset
- For A=0 To 7
- Cop Movel $120+A*4,Leek(Start(15)+A*4)
- Next
- Cop Move $100,0
- Cop Wait $80,$2E
- Gosub LINE
- For A=0 To 15
- Cop Move $180+A*2,Colour(A)
- Next
- Cop Movel $108,0 : Rem BPL1MOD BPL2MOD
- Cop Movel $102,0 : Rem BPLCON1 BPLCON2
- Cop Move $8E,$3081 : Rem DIWSTRT
- Cop Move $90,$F0C1 : Rem DIWSTOP
- Cop Move $92,$38 : Rem DDFSTRT
- Cop Move $94,$D0 : Rem DFFSTOP
- Cop Move $E0,B(0)/$10000
- Cop Move $E2,B(0) and $FFFF
- Cop Move $E4,B(1)/$10000
- Cop Move $E6,B(1) and $FFFF
- Cop Move $E8,B(2)/$10000
- Cop Move $EA,B(2) and $FFFF
- Cop Move $EC,B(3)/$10000
- Cop Move $EE,B(3) and $FFFF
- Cop Move $100,$4200 : Rem BLPCON0
- Cop Move $96,$8180 : Rem DMACON
- Cop Wait 0,$80
- Cop Move $100,0 : Rem DMACON
- Cop Wait $80,$81
- Gosub LINE
- Screen 1
- For A=0 To 15
- Cop Move $180+A*2,Colour(A)
- Next
- Cop Wait $10,$B3
- Cop Movel $108,$40004
- Cop Movel $E0,C(0)
- Cop Movel $E4,C(1)
- Cop Movel $E8,C(2)
- Cop Movel $EC,C(3)
- Cop Wait $10,$B4
- Cop Move $100,$4200
- For A=0 To 16
- Cop Wait $10,$C4+A
- Cop Move $180,Min(A,15)
- Next
- For A=1 To 15
- Cop Move $180+A*2,(Colour(A) or 15)-$500
- Next
- Cop Wait $80,$D4
- Cop Movel $108,$FFACFFAC
- Cop Wait $10,$F0
- Cop Move $180,0
- Cop Wait $80,$F1
- Gosub LINE
- Cop Wait $FE,$FF
- ADR=Cop Logic : AD=ADR
- Cop Swap
- Repeat
- Add AD,2
- Until Deek(AD)=$E0
- BP1=0 : BP2=0 : BP3=0 : SCROL=0
- S$=S$+"HOTSOFT PRESENTS ANOTHER INTRO! BUT THIS TIME "
- S$=S$+"I USED A LOT OF COPPER INSTRUCTIONS TO GET SUCH NEAT "
- S$=S$+"EFFECTS LIKE THE GRAPHICS ABOVE! IT WAS PRETTY "
- S$=S$+"HARD, BUT YOU KNOW HOTSOFT IS ABLE TO "
- S$=S$+"DO NEARLY EVERYTHING! NOW GREETINGS TO ALL MY "
- S$=S$+"FRIENDS. "
- S$=S$+"THERE ARE SOME THINGS I WOULD LIKE TO HAVE IN FUTHER "
- S$=S$+"VERSIONS OF AMOS: LIKE A COMMAND WHERE YOU CAN ADD A "
- S$=S$+"COPPER INSTRUCTION TO THE NORMAL COPPERLIST FOR EXAMPLE "
- S$=S$+"TO CHANGE THE MODULO VALUES TO PRODUCE SUCH NICE MIRROR "
- S$=S$+"EFFECTS OR A FUNCTION WITH CONVERTS A INTEGER VALUE "
- S$=S$+"INTO A STRING OF INTERNAL FORMAT... AND THERE IS A "
- S$=S$+"MAJOR BUG IN AMOS 1.32. IF YOU PRESS THE HELP KEY, "
- S$=S$+"AMOS WILL LOAD THE HELP ACCESSORY INTO MEMORY AS MANY TIMES "
- S$=S$+"AS POSSIBLE AND STOP ONLY IF THERE IS NOT SUFFICIENT MEMORY "
- S$=S$+"ANYMORE! WHAT A BUG!!! THAT ALL! "
- S$=S$+"SCROLL RESTARTS "
- PB=1 : SC=32
- Screen 1
- Def Scroll 1,0,0 To 356,32,-4,0
- Music 1
- Repeat
- Wait Vbl
- Scroll 1
- COPL[AD+2,B(0)+BP1*40]
- COPL[AD+10,B(1)+BP2*40]
- COPL[AD+18,B(2)+(255-BP1)*40]
- Add BP1,-1,0 To 255
- Add BP2,2,0 To 255
- Add SC,4
- If SC>31 Then SC=0 : A=Asc(Mid$(S$,PB,1))-31 : Put Block A,320,0 : Add PB,1,1 To Len(S$)
- Until Mouse Key
- Music Off
- Copper On
- End
- LINE:
- For A=0 To 15
- Cop Move $180,A*$101
- Next
- For A=0 To 6
- Cop Move $180,$F0F
- Next
- For A=15 To 0 Step -1
- Cop Move $180,A*$101
- Next
- Cop Move $180,0
- Return
- Procedure COPL[ADR,V]
- Doke ADR,V/$10000
- Doke ADR+4,V and $FFFF
- End Proc