home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 2001-01-14 | 11.5 KB | 280 lines |
- Rem****************************************
- Rem* *
- Rem* HERE'S THE CODE FOR THE VIDI DEMO *
- Rem* SORRY THAT THE BOB BANK IS MISSING *
- Rem* BUT I ERASED IT WITH OUT KNOWING *
- Rem* AND I HAVE NO BACK UP COPY *
- Rem* *
- Rem****************************************
- Set Buffer 10
- Cls 0 : Hide On
- Close Workbench : Close Editor : Break Off
- Bank Swap 1,14
- Auto View Off
- If Chip Free<400000
- Erase 15 : Erase 11 : Erase 5
- Unpack 13 To 7 : Screen Display 7,,,320,133 : Screen To Front 7
- Erase 13 : Wait Vbl : Amos To Front
- SETUP
- End If
- PBOB_INIT[15,16,112,97]
- For LOP=1 To 25
- PBOB[LOP,LOP]
- Next LOP
- PBOB_END
- Erase 15
- SART
- SETUP
- Procedure SART
- Screen Open 6,320,200,32,Lowres : Flash Off : Curs Off : Cls 0
- Unpack 11 To 6
- Erase 11
- Screen 6
- Screen Display 6,,,320,133
- Double Buffer
- For T=0 To 2
- Set Bob T,,%1111,%11001010
- Next T
- Bob 0,112,29,3
- Bob 1,160,80,1
- Bob 2,160,73,2
- For Z=0 To 2
- Limit Bob Z,80,28 To 250,125
- Next
- Wait Vbl
- Auto View On : Amos To Front : View
- Channel 0 To Bob 0
- Channel 1 To Bob 1
- Channel 2 To Bob 2
- Amal 0,"A 0,(3,3)(4,3)(5,3)(6,3) ; "
- Amal 1,"M 0,-53,159 ; "
- Amal 2,"M 0,53,159 ; "
- Led Off
- Wait 100 : Sam Play 15,1,8090 : Wait 10
- Amal On : Sam Loop On : Sam Play 15,2,8090
- Wait 159 : Sam Loop Off
- Amal Off 1 : Amal Off 2 : Wait 100 : Amal Off 0
- Bob Off 0
- Bob 10,112,29,7
- Limit Bob 10,112,29 To 250,125
- Palette $0,$111,$222,$333,$444,$555,$666,$777,$888,$999,$AAA,$BBB,$CCC,$DDD,$EEE,$FFF
- Channel 10 To Bob 10
- Amal 10,"A 0,(7,12)(8,12)(9,12)(10,12)(11,12)(12,12)(13,12)(14,12)(15,12)(16,12)(17,12)(18,13)(19,13)(20,12)(21,12)(22,12)(23,12)(24,12)(25,12000)"
- Amal On 10 : Wait 144
- Sam Play 15,3,9000 : Wait 130 : Bob Off 10 : Amal Off 10 : Wait Vbl : Bob 0,112,29,3
- Palette $0,$EA6,$E84,$C64,$446,$668,$88A,$ECE,$AAC,$224,$2,$400,$600,$720,$E20,$A42
- Amal 0,"A 0,(3,3)(4,3)(5,3)(6,3) ; "
- Amal 1,"M 0,53,159 ; "
- Amal 2,"M 0,-53,159 ; "
- Amal On : Sam Loop On : Sam Play 15,2,8090
- Wait 162 : Sam Loop Off : Amal Off : Sam Play 15,1,8090 : Wait Vbl
- Erase 1
- Unpack 13 To 7 : Screen Display 7,,,320,134 : Screen To Front 7 : Erase 5
- Screen Close 6
- Bob Off 1 : Bob Off 2
- Erase 13
- Wait Vbl
- End Proc
- Procedure SETUP
- Dim X$(46),X(46),Y(46)
- SCNT=1
- CNT=31
- SC$=" HEY DUDES WELCOME TO THE AUGUST "
- SC$=SC$+"MEGA ISSUE OF THE "
- SC$=SC$+"GADGET DISK MAGAZINE ONCE AGAIN I BRING YOU "
- SC$=SC$+"ANOTHER DISK INTRO "
- SC$=SC$+"THIS DEMO WAS CODED IN ABOUT 12 HOURS AND I HAD TO RUSH TO "
- SC$=SC$+"FINISH IT IN TIME (SORRY BRUCE FOR THE DELAY) I HAD ALREADY FINISHED "
- SC$=SC$+"ANOTHER INTRO AND ONLY NEEDED TO PUT IN THE GRAPHICS............"
- SC$=SC$+"BUT COULD NOT DECIDE ON WHAT TO USE SO I DUMPED IT DOWN THE TOILET AND STARTED AFRESH "
- SC$=SC$+"WITH A DIFFERENT FONT : GRAPHICS AND IDEAS "
- SC$=SC$+"AND I THINK THIS ONE IS ALOT BETTER.................ALTHOUGH IT IS "
- SC$=SC$+"INSPIRED BY MY MEGA DEMO IT IS TOTALLY RECODED ~EVEN THE GRAPHICS "
- SC$=SC$+"ARE REDRAWN' THE MUSIC IS SUPPLIED BY TITAN"
- SC$=SC$+"..........................REMEMBER IF YOU HAVE ANY MUSIC OR BRILL "
- SC$=SC$+"PICCY'S THAT YOU WOULD LIKE IN A DEMO THEN SEND THEM IN AND I WILL CODE "
- SC$=SC$+"THEM IN AND THROW YOUR NAME UP IN THE CREDITS...............SO GET OFF YOUR "
- SC$=SC$+"LAME ARSE'S AND SEND THEM IN....................SOME OF YOU OUT THERE HAVE NOT "
- SC$=SC$+"CONTRIBUTED YET TO THE GADGET DISK................SOME OF YOU HAVE 3000'S (WHY) "
- SC$=SC$+"IS IT BECAUSE EVERY ONE ELSE HAS ONE OR IS GETTING ONE AND YOU DONT WANT TO BE LEFT OUT"
- SC$=SC$+"..................IS IT A EXSPENSIVE GAMES MACHINE OR BETTER STILL.................A DOOR-STOP COME ON "
- SC$=SC$+"SHOW US WHY YOU BROUGHT IT AND SEND SOME PROGRAMS - MUSIC - GRAPHICS OR WHATEVER "
- SC$=SC$+"PHEONIX AND THE TERMINATOR HAVE BEEN SENDING IN QUITE A FEW PROGRAMS AND OTHER THINGS..............."
- SC$=SC$+"I HAVE ONLY BEEN LEARNING BASIC FOR ABOUT 9 MONTHS AND PHEONIX HAS ONLY BEEN CODING IN ~C' "
- SC$=SC$+"SINCE HE STARTED UNI THIS YEAR AND HE HAS ALREADY PRODUCED A FEW GOOD UTILITIES AND DEMO'S IN ~C' "
- SC$=SC$+"ANY WAY THAT'S ENOUGH ON THAT SUBJECT..........................I WAS GOING TO TELL "
- SC$=SC$+"YOU WHAT WAS TO HAPPEN AT TO-NIGHT'S MEETING BUT EVEN YOUR'S TRUELY HAS NO IDEA "
- SC$=SC$+" NEXT MONTH IF NOBODY SENDS ANY STUFF TO ME TO PUT IN THE DEMO "
- SC$=SC$+"I WILL PRODUCE A SOLID 3D VECTOR DEMO..................HEY JOHN WOULD YOU LIKE TO "
- SC$=SC$+"DESIGN A FEW STAR TREK OBJECT'S AND I WILL WORK OUT THE ROUTINES TO WIZZ THEM "
- SC$=SC$+"AROUND THE SCREEN TO BOLDLY GO WHERE NO VECTOR HAS GONE BEFORE "
- SC$=SC$+"BUT THAT'S NEXT MONTH.......................BY THEN MY MATE PHEONIX SHOULD HAVE SOME "
- SC$=SC$+"WIRE FRAME VECTOR DEMOS FINISHED FROM THE SOURCE CODE I GAVE HIM - THEY BETTER NOT "
- SC$=SC$+"BE BETTER THAN MY FIRST EFFORT...........................SHIT IT'S HARD TO THINK OF "
- SC$=SC$+"WHAT TO WRITE IN A SCROLL TEXT I MEAN YOU SPEND MANY HOURS WRITING "
- SC$=SC$+"THE CODE - DESIGNING THE GRAPHICS - EDITING SAMPLES AND COMPOSING MUSIC THEN WHEN IT COMES TO TYPING "
- SC$=SC$+"IN THE TEXT YOU FIND YOU HAVE NOTHING TO SAY...............FUNNY THING THAT................"
- SC$=SC$+"SO I WILL JUST CONTINUE TO BLAB ON AND ON AND ON SHIT THIS IS BORING "
- SC$=SC$+"HEY CHECK OUT THE GERK AT THE START OF THE DEMO IS HE WACKED OR WHAT "
- SC$=SC$+"ACTUALLY THE REASON I AM WEARING THE GLASSES IS BECAUSE I COULD NOT FIND ANY SUNNY'S..................."
- SC$=SC$+"SO I HAD TO USE A PAIR OF SAFTEY GLASSES WITH THE SHIELDS REMOVED AND I WAS THEN GOING TO PAINT IN THE GLASS LENS TO LOOK LIKE DARK SUNNY'S "
- SC$=SC$+"BUT AFTER AWHILE I GOT USE TO THE NERDY LOOK SO I LEFT IT AS IT IS NOW SINCE PUTTING IN THE "
- SC$=SC$+"VIDI SEQUENCE THIS DEMO'S FILE SIZE HAS JUST ABOUT DOUBLED.......................EVEN AFTER COMPRESSING THE BLITTER OBJECTS "
- SC$=SC$+"INTO RAW DATA.....................BUT THAT'S LIFE......................."
- SC$=SC$+"HEY HERES AN IDEA HOW ABOUT A GREETINGS LIST YEAH "
- SC$=SC$+"MEGA HELLO'S GO OUT TO BRUCE (YOU DO A GREAT JOB COMPILING THE DISK EACH MONTH) "
- SC$=SC$+"BIG G'DAYS ALSO TO JOHN - LEIGH - GAVIN - CHRIS - PAT - DON AND ALL YOU BASTARDS OUT THERE "
- SC$=SC$+"AND ANY OTHERS I HAVE MISSED......................SORRY BUT SINCE I HAVE NO NAMES THERE "
- SC$=SC$+"WILL BE A FEW I HAVE MISSED.......................OH I ALMOST FORGOT PAT HAS MOVED HIS "
- SC$=SC$+"~FUTURE DIMENSIONS' BBS TO TOOWOOMBA...................SO IF YOU ARE LIKE ME AND HAVE NOT GOT A "
- SC$=SC$+"MODEM HANGING OUT THE REAR OF YOUR MACHINE THEN BUY ONE AND HELP SUPPORT HIM..............."
- SC$=SC$+"GOOD ON YA PAT HEY IT MUST BE ABOUT THAT TIME FOR ME TO FINISH "
- SC$=SC$+"I THANK YOU FOR SEEING THIS DEMO THROUGH TO THE END UNTIL NEXT TIME "
- SC$=SC$+"HANG LOOSE "
- 'Screen Open 0,30,10,2,Lowres
- Auto View Off : Autoback 0
- Unpack 10 To 0 : Screen Hide 0 : Erase 10
- Screen Open 1,352,50,16,Lowres
- Screen Display 1,132,259,322,50 : Screen Hide 1
- Screen Open 2,320,65,4,Lowres : Flash Off : Curs Off : Cls 0
- Screen Display 2,,186,320,65
- Double Buffer
- Bank Swap 14,1 : Erase 14
- For D=1 To 4
- Set Bob D,0,%1,%11001010
- No Mask
- Next
- Channel 1 To Bob 1
- Bob 1,10,,1
- Limit Bob 1,0,0 To 320,65
- A$="Loop: If V("+Str$(0)+")<14 Jump Nosound else Let R1=RA ; Let R2=R1/3 ; Let R3=R2*2 ; Let Y=R3+3 "
- A$=A$+"Nosound: If Y > 66 Jump Downno else Let Y=Y+1"
- A$=A$+"Downno: Pause ; Jump Loop ;"
- Amal 1,A$
- Channel 2 To Bob 2
- Bob 2,30,,1
- Limit Bob 2,0,0 To 320,65
- A$="Loop: If V("+Str$(1)+")<14 Jump Nosound else Let R1=RA ; Let R2=R1/3 ; Let R3=R2*2 ; Let Y=R3+3 "
- A$=A$+"Nosound: If Y > 66 Jump Downno else Let Y=Y+1"
- A$=A$+"Downno: Pause ; Jump Loop ;"
- Amal 2,A$
- Channel 3 To Bob 3
- Bob 3,290,,1
- Limit Bob 3,0,0 To 320,65
- A$="Loop: If V("+Str$(2)+")<14 Jump Nosound else Let R1=RA ; Let R2=R1/3 ; Let R3=R2*2 ; Let Y=R3+3 "
- A$=A$+"Nosound: If Y > 66 Jump Downno else Let Y=Y+1"
- A$=A$+"Downno: Pause ; Jump Loop ;"
- Amal 3,A$
- Channel 4 To Bob 4
- Bob 4,310,,1
- Limit Bob 4,0,0 To 320,65
- A$="Loop: If V("+Str$(3)+")<14 Jump Nosound else Let R1=RA ; Let R2=R1/3 ; Let R3=R2*2 ; Let Y=R3+3 "
- A$=A$+"Nosound: If Y > 66 Jump Downno else Let Y=Y+1"
- A$=A$+"Downno: Pause ; Jump Loop ;"
- Amal 4,A$
- Amal On
- Set Rainbow 0,1,52,"","",""
- Rainbow 0,0,259,52
- For T=1 To 9
- Rain(0,T)=$F
- Next
- For Z=10 To 22 Step 1
- Read B
- Rain(0,Z)=B
- Next Z
- Data $2F,$3F,$4F,$5F,$6F,$7F,$8F,$9F,$AF,$BF,$CF,$DF,$EF
- For E=23 To 29
- Rain(0,E)=$FF
- Next
- For P=30 To 44 Step 1
- Read A
- Rain(0,P)=A
- Next P
- Data $EF,$DF,$CF,$BF,$AF,$9F,$8F,$7F,$6F,$5F,$4F,$3F,$2F,$1F,$F
- For W=45 To 51
- Rain(0,W)=$F0
- Next
- '
- X=3
- Set Rainbow 3,1,67,"","",""
- Rainbow 3,0,187,65
- For F=0 To 65 Step X
- Read A
- For I=0 To X-1
- Rain(3,F+I)=A
- Next I
- Next F
- Data $1FF,$2FF,$3FF,$4FF,$5FF,$6FF,$7FF,$8FF,$9FF,$AFF,$BFF,$CFF
- Data $DFF,$EFF,$FFF,$FFE,$FFD,$FFC,$FFB,$FFA,$FF9,$FF8,$FF7
- Set Rainbow 1,10,16,"","",""
- Rainbow 1,0,42,8
- For R=0 To 7
- Read G
- Rain(1,R)=G
- Next
- Data $555,$666,$777,$888,$777,$666,$555
- Led Off : Wait 20
- Music 1
- Auto View On : View : Screen To Front 1
- Def Scroll 1,1,0 To 353,41,-4,0
- Screen 1 : Curs Off : Cls 0 : Flash Off : Get Palette 0
- SCRL$="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!.- ()~'?:"
- Gosub PIXD
- Wait Vbl
- ROO:
- Gosub STEXT
- Wait Vbl
- Goto ROO
- PIXD:
- Restore EXT
- For F=1 To 46
- Read X$(F),X(F),Y(F)
- Next F
- Return
- EXT:
- Data "0",99,167,"1",99,126,"2",131,126,"3",163,126,"4",195,126
- Data "5",227,126,"6",259,126,"7",3,167,"8",35,167,"9",67,167
- Data "A",3,3,"B",35,3,"C",67,3,"D",99,3,"E",131,3,"F",163,3
- Data "G",195,3,"H",227,3,"I",259,3,"J",3,44,"K",35,44,"L",67,44
- Data "M",99,44,"N",131,44,"O",163,44,"P",195,44,"Q",227,44,"R",259,44
- Data "S",3,85,"T",35,85,"U",67,85,"V",99,85,"W",131,85,"X",163,85
- Data "Y",195,85,"Z",227,85,"!",35,126,".",3,126,"-",67,126," ",259,85
- Data "(",131,167,")",163,167,"~",195,167,"'",227,167,"?",259,167
- Data ":",3,208
- STEXT:
- Scroll 1
- Add CNT,4
- If SCNT=12 Then Screen Show 1
- If CNT>31 Then Gosub NCHAR : CNT=0 : Inc SCNT : If SCNT>Len(SC$) Then SCNT=1
- Return
- NCHAR:
- E$=Mid$(SC$,SCNT,1)
- E=Instr(SCRL$,E$)
- Screen Copy 0,X(E),Y(E),X(E)+33,Y(E)+42 To 1,320,0
- If Mouse Key<>0 Then Pop Proc
- Return
- End Proc
- Procedure PBOB_INIT[BANK,NCOL,MX,MY]
- Shared PB_BANK
- PB_BANK=BANK
- S=Screen
- Screen Open 7,MX,MY,NCOL,0
- Screen Hide
- Screen S
- End Proc
- Procedure PBOB[N,D]
- Shared PB_BANK
- Dec N
- A=Start(PB_BANK)+N*10
- If Deek(A)
- AB=Start(PB_BANK)+Deek(A)*2
- SX=Deek(A+2)*16 : SY=Deek(A+4)
- S=Screen : Screen 7
- Unpack AB,0,0 : Get Bob D,0,0 To SX,SY
- Screen S
- AA=Sprite Base(D) : Loke AA+6,Leek(A+6)
- End If
- End Proc
- Procedure PBOB_END
- Screen Close 7
- End Proc