;APS00000000000000000000000000000000000000000000000000000000000000000000000000000000 ;Intro#6 coded by Oddie (6-Jul-97) ; ;You can contact me at this EMail: melkevej@post6.tele.dk (attn: Oddie) ; ;I would like to say sorry for those who have written to me at ;melke@post6.tele.dk. The administrator of the Internet computer I'm ;using, had got the wrong information... ; ;So if you have written something to me at this address, I haven't ;recived it (please Re-Mail me)! ; ;AsmOne Format include 'asmpro:sources/intro6/hardware.i' TernW = 352/8 TernH = 78 TFontW = 448/8 TFontH = 14 TFontD = 2 TFontBp = TFontW*TFontH WScrW = 44 WScrH = TFontH*5+2+TFontH ;70+2+14 = 86 WScrD = 2 WScrBp = WScrW*WScrH ScrW = 40 ScrH = 104 ScrD = 1 ScrBp = ScrW*ScrH LogoW = 320/8 LogoH = 71 LogoD = 6 LogoBp = LogoW*LogoH WaitBlt: MACRO btst #14,dmaconr(a6) .w\@: btst #14,dmaconr(a6) bne .w\@ ENDM Run: lea custom,a6 bsr.b Setup Loop: btst #6,ciaapra bne.b Loop bra.b GetBack ***** Setup ***** Setup: bsr.b TakeSystem move.l #MyLev3,$6c.w move.l #Copper,cop1lch(a6) move.l #NTS,d0 ;Setup planes for NTS logo lea LBp1+2,a0 moveq #LogoD-1,d7 .LoLp: move d0,4(a0) swap d0 move d0,(a0) swap d0 add.l #LogoBp,d0 addq.l #8,a0 dbf d7,.LoLp move.l #WScreen,d0 ;Setup planes for WRITER lea WBp2+2,a0 moveq #WScrD-1,d7 .WLp: move d0,4(a0) swap d0 move d0,(a0) swap d0 add.l #WScrBp,d0 addq.l #8,a0 dbf d7,.WLp bsr.w InitGelBuf move #$c7e0,dmacon(a6) move #$c020,intena(a6) rts ***** Get system back ***** GetBack:bra.w RestoreSystem include 'asmpro:sources/intro6/TakeSystem.s' ;A pretty good startup routine ;(Not coded by me) ***** Level 3 Interrupt ***** MyLev3: movem.l d0-d7/a0-a6,-(sp) lea custom,a6 move intreqr(a6),d0 btst #5,d0 beq.b .NoV bsr.b Scroller bsr.w DoGelly move #$20,intreq(a6) .NoV: movem.l (sp)+,d0-d7/a0-a6 rte ;================= Scroller ==================== GelLines = WScrH-TFontH ;Number of GellyLines MaxY = GelLines*WScrW ;Structure for CharBuffer: rsreset _X: rs.w 1 ;X pos _Chk: rs.w 1 ;CheckMark _FontPtr: rs.l 1 ;FontOffset _ListPtr: rs.l 1 ;MoveListOffset _OldY: rs.w 1 ;OldY (For delete) _Sizeof: rs.b 0 NumOfChars = 40 X: dc.w 0 Chk: dc.w 0 ;CheckMark Chk1: dc.w 0 ;Pause, or be finish CCnt: dc.w 0 ;CharBuf counter LCnt: dc.w 0 ;MoveList counter Pause: dc.w 0 ;Pause counter Scroller: tst Chk ;New char? bne.w CopyCharBuffer ;No new, only copy old tst Pause ;Take a break? beq.b .NoBreak ; cmp #1,Chk1 ;Still more? ; beq CopyCharBuffer move #2,Chk1 ;Clear page when the break subq #1,Pause ;is over rts .NoBreak: cmp #2,Chk1 ;Clear page? beq.w ClearPage move.l TextPtr(pc),a0 moveq #0,d0 move.b (a0)+,d0 bne.b .NotEnd move.b (a0)+,d0 ;Get pause lsl #3,d0 move d0,Pause move.l #Text,TextPtr ;Restart text clr X clr LCnt clr CCnt move #1,Chk bra.w CopyCharBuffer .NotEnd:cmp.b #$ff,d0 ;New page? bne.b .NoNP move.b (a0)+,d0 ;Get pause move.l a0,TextPtr lsl #3,d0 move d0,Pause clr X clr LCnt clr CCnt move #1,Chk bra.w CopyCharBuffer .NoNP: move.l a0,TextPtr cmp.b #10,d0 ;LineFeed? bne.b .NoLF clr X clr CCnt addq #4,LCnt ;Move to next MoveListPtr move #1,Chk ;Okay, do this line bra.b CopyCharBuffer .NoLF: sub.b #32,d0 lea FontList(pc),a0 add d0,a0 move.b (a0),d0 add.l #TFont,d0 lea CharBuffer,a0 move CCnt(pc),d1 add d1,a0 ;Move buf offset add #_Sizeof,d1 cmp #_Sizeof*NumOfChars,d1 ;Safety check bne.b .1 ;- Capable to run without these moveq #0,d1 ;3 lines (but beware!) .1: move d1,CCnt ;Save values to CharBuffer... move.l d0,_FontPtr(a0) ;Save Font Offset lea MoveListPtr(pc),a1 add LCnt(pc),a1 move.l (a1),_ListPtr(a0) ;Save List Offset move X(pc),_X(a0) move #MaxY,_OldY(a0) move #1,_Chk(a0) ;Ready for use addq #1,X ;============== Copy Char Buffer to Screen =========== CopyCharBuffer: lea CharBuffer,a0 lea WScreen+2+WScrW,a1 moveq #0,d6 moveq #NumOfChars-1,d7 .Lp: tst _Chk(a0) ;In use? beq.b .Next move.l _ListPtr(a0),a2 move (a2)+,d0 bpl.b .NotEnd clr _Chk(a0) ;Done with this bra.b .Next .NotEnd: move.l a2,_ListPtr(a0) ;Save new offset move _OldY(a0),d1 move d0,_Oldy(a0) add _X(a0),d0 add _X(a0),d1 lea (a1,d1),a2 ;a2: Screen moveq #TFontH-1,d2 moveq #0,d1 .Clr: move.b d1,(a2) move.b d1,WScrBp(a2) lea WScrW(a2),a2 dbf d2,.Clr lea (a1,d0),a2 ;a2: Screen move.l _FontPtr(a0),a3 ;a3: Font moveq #TFontH-1,d0 .Copy: move.b (a3),(a2) move.b TFontBp(a3),WScrBp(a2) lea TFontW(a3),a3 lea WScrW(a2),a2 dbf d0,.Copy moveq #1,d6 ;Not total done yet .Next: lea _Sizeof(a0),a0 dbf d7,.Lp ; move d6,Chk1 tst d6 bne.b .v move d6,Chk .v: rts ;=========== Clear Page ============= MaskCnt: dc.w 0 MMcnt: dc.w 0 ClearPage: lea MaskAnim,a0 move MaskCnt(pc),d0 add d0,a0 add #40*75,d0 cmp #40*75*8,d0 bne.b .NotLast clr Chk1 moveq #0,d0 .NotLast: move d0,MaskCnt move.l #WScreen+2+WScrW,d0 move.l d0,bltdpth(a6) move.l d0,bltapth(a6) move.l a0,bltbpth(a6) move #WScrW-40,bltdmod(a6) move #WScrW-40,bltamod(a6) move #0,bltbmod(a6) move.l #-1,bltafwm(a6) move.l #$0d300000,bltcon0(a6) move #72*64+40/2,d1 move d1,bltsize(a6) WaitBlt add.l #WScrBp,d0 move.l d0,bltdpth(a6) move.l d0,bltapth(a6) move.l a0,bltbpth(a6) move d1,bltsize(a6) WaitBlt rts TextPtr: dc.l Text Text: ; dc.b "0123456789012345678901234567890123456789" dc.b 10,10 dc.b " ODDIE PRESENTS IN THE YEAR OF 1997" dc.b $ff,10 dc.b 10,10 dc.b " ANOTHER WAY COOL INTRO" dc.b $ff,10 dc.b 10 dc.b " CREDITS FOR THE NTS LOGO MUST GO TO",10,10 dc.b " CMC" dc.b $ff,10 dc.b 10 dc.b " EVERYTHING ELSE IS MADE BY",10,10 dc.b " ME" dc.b $ff,10 dc.b " YOU CAN CONTACT ME AT THIS E-MAIL:",10,10 dc.b " MELKEVEJ[]POST6.TELE.DK",10,10 dc.b " ATTN: ODDIE" dc.b $ff,40 dc.b 10,10 dc.b " ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" dc.b $ff,7 dc.b 10 dc.b " YOU CAN FIND THE SOURCE CODE FOR THIS",10,10 dc.b " WAY COOL INTRO ON THE INTERNET" dc.b $ff,20 dc.b 10 dc.b " CHECK OUT THIS COOL ASSEMBLER SITE:",10,10 dc.b " HTTP://HOME.SOL.NO/SVJOHAN/ASSEM/" dc.b $ff,30 dc.b 10,10 dc.b " WELL..." dc.b $ff,25 dc.b 10,10 dc.b " BORED?" dc.b $ff,10 dc.b 10,10 dc.b " I AM!" dc.b $ff,10 dc.b 10 dc.b " THIS INTRO IS NOTHING SPECIAL",10,10 dc.b " IT'S JUST CODED FOR FUN" dc.b $ff,15 dc.b 10 dc.b " IF YOU WANNA ADD SOMETHING INTERSTING",10 dc.b " - DO IT",10,10 dc.b " AND MAIL IT TO ME!" dc.b $ff,20 dc.b 10,10 dc.b " I HAVE NOMORE TO SAY!" dc.b $ff,20 dc.b 10,10 dc.b " TEXT RESTARTS..." dc.b 0,20 even MoveListPtr: dc.l MoveList dc.l MoveList2 dc.l MoveList3 dc.l MoveList4 dc.l MoveList5 MoveList: dc.w 71*WScrW,66*WScrW,61*WScrW,56*WScrW,51*WScrW,47*WScrW dc.w 43*WScrW,39*WScrW,35*WScrW,31*WScrW,28*WScrW,25*WScrW dc.w 22*WScrW,19*WScrW,16*WScrW,12*WScrW,10*WScrW,08*WScrW dc.w 06*WScrW,04*WScrW,03*WScrW,02*WScrW,01*WScrW,00*WScrW dc.w -1 MoveList2: dc.w 71*WScrW,68*WScrW,63*WScrW,58*WScrW,54*WScrW,51*WScrW dc.w 47*WScrW,43*WScrW,40*WScrW,37*WScrW,34*WScrW,31*WScrW dc.w 28*WScrW,26*WScrW,24*WScrW,22*WScrW,20*WScrW,18*WScrW dc.w 17*WScrW,16*WScrW,15*WScrW,14*WScrW dc.w -1 MoveList3: dc.w 71*WScrW,64*WScrW,60*WScrW,56*WScrW,52*WScrW,48*WScrW dc.w 45*WScrW,42*WScrW,39*WScrW,37*WScrW,35*WScrW,33*WScrW dc.w 32*WScrW,31*WScrW,30*WScrW,29*WScrW,28*WScrW dc.w -1 MoveList4: dc.w 71*WScrW,67*WScrW,64*WScrW,61*WScrW,57*WScrW,54*WScrW dc.w 51*WScrW,49*WScrW,47*WScrW,45*WScrW,44*WScrW,43*WScrW dc.w 42*WScrW dc.w -1 MoveList5: dc.w 71*WScrW,67*WScrW,65*WScrW,63*WScrW,61*WScrW,59*WScrW dc.w 58*WScrW,57*WScrW,56*WScrW dc.w -1 FontList: dc.b 53 ; dc.b 36 ;! dc.b 37 ;" dc.b 0 ;# dc.b 0 ;$ dc.b 0 ;% dc.b 0 ;& dc.b 38 ;' dc.b 39 ;( dc.b 40 ;) dc.b 0 ;* dc.b 41 ;+ dc.b 42 ;, dc.b 43 ;- dc.b 44 ;. dc.b 45 ;/ dc.b 26 ;0 dc.b 27 ;1 dc.b 28 ;2 dc.b 29 ;3 dc.b 30 ;4 dc.b 31 ;5 dc.b 32 ;6 dc.b 33 ;7 dc.b 34 ;8 dc.b 35 ;9 dc.b 46 ;: dc.b 0 ;; dc.b 47 ;< dc.b 48 ;= dc.b 49 ;> dc.b 50 ;? dc.b 0 ;@ dc.b 0 ;A... dc.b 1 ; dc.b 2 ; dc.b 3 ; dc.b 4 ; dc.b 5 ; dc.b 6 ; dc.b 7 ; dc.b 8 ; dc.b 9 ; dc.b 10 ; dc.b 11 ; dc.b 12 ; dc.b 13 ; dc.b 14 ; dc.b 15 ; dc.b 16 ; dc.b 17 ; dc.b 18 ; dc.b 19 ; dc.b 20 ; dc.b 21 ; dc.b 22 ; dc.b 23 ; dc.b 24 ; dc.b 25 ;...Z dc.b 51 ;[ (@) dc.b 0 dc.b 52 even ;dc.w $xx01,$fffe,$e0,$00,$e2,$00,$180,$00,$182,$00 ; 0 2 4 6 8 10 12 ;================ Gelly Fx ==================== CCHig = 6+3+3 Col1: dc.w $78c Col2: dc.w $67a CCCnt: dc.w CCHig-1 DoGelly: lea GelBuf+6,a0 ;a0: GelBuf move.l SinusPtr(pc),a1 ;a1: Sinus move.l Sinus2Ptr(pc),a2 ;a2: Sinus2 movem.w Col1(pc),d3/d4/d6 ;d3: Col1; d4: Col2; d6: CCCnt moveq #0,d5 moveq #GelLines-1,d7 .Lp: move.l #Tern,d0 ;Get Sin Values... ;---------------------------- moveq #0,d1 move (a1)+,d2 bpl.b .SinOk lea Sinus(pc),a1 move (a1)+,d2 .SinOk: move (a2)+,d1 bpl.b .Sin2Ok lea Sinus2(pc),a2 move (a2)+,d1 .Sin2Ok:add d2,d1 mulu #WScrW,d1 add.l d1,d0 ;Add Sin Offset ;Save to CopperList... ;---------------------------- move d0,4(a0) ;Bp Low swap d0 move d0,(a0) ;Bp High sub d5,d3 sub d5,d4 move d3,8(a0) ;Col00 move d4,12(a0) ;Col01 add d5,d3 add d5,d4 ;Color Loop ;---------------------------- dbf d6,.ColLp exg d3,d4 ;Exchange Colors add #$101,d5 moveq #CChig-1,d6 .ColLp: ;Do Next Line... ;---------------------------- lea 20(a0),a0 dbf d7,.Lp ;Move Offsets... ;---------------------------- ; addq #1,d6 ;Make the colors "run" subq #1,d6 bpl.b .v0 moveq #CCHig-1,d6 exg d3,d4 .v0: movem d3/d4/d6,Col1 ;Save New Col + CCCnt move.l SinusPtr(pc),a0 addq.l #4,a0 cmp #-1,(a0) bne.b .v lea Sinus(pc),a0 .v: move.l a0,SinusPtr move.l Sinus2Ptr(pc),a0 addq.l #8,a0 cmp #-1,(a0) bne.b .v2 lea Sinus2(pc),a0 .v2: move.l a0,Sinus2Ptr rts ;================= Initialize GellyBuffer ================= InitGelBuf: lea GelBuf,a0 move.l a0,a1 move.l #$e401fffe,d0 ;RasterPos move.l #$00e00000,d1 move.l #$00e20000,d2 move.l #$01800000,d3 move.l #$01820000,d4 moveq #GelLines-1,d7 .Lp: movem.l d0-d4,(a0) lea 20(a0),a0 add.l #$01000000,d0 ;Next RasterLine dbf d7,.Lp move.l #$ffdffffe,28*20(a1) ;Enable PAL rts SinusPtr: dc.l Sinus Sinus: dc.w 85,87,90,93,96,98,101,104,107,109,112,115,117,120,122 dc.w 125,127,130,132,134,137,139,141,143,145,147,149,151 dc.w 152,154,156,157,159,160,161,162,163,164,165,166,167,168 dc.w 168,169,169,169,169,169,169,169,169,169,169,168,168,167 dc.w 166,165,164,163,162,161,160,159,157,156,154,152,151 dc.w 149,147,145,143,141,139,137,134,132,130,127,125,122 dc.w 120,117,115,112,109,107,104,101,98,96,93,90,87,85,82 dc.w 79,76,73,71,68,65,62,60,57,54,52,49,47,44,42,39,37,35 dc.w 32,30,28,26,24,22,20,18,17,15,13,12,10 dc.w 9,8,7,6,5,4,3,2,1,1,0,0,0,0,0,0,0,0,0,0,1,1,2,3 dc.w 4,5,6,7,8,9,10,12,13,15,17,18,20,22,24,26,28,30 dc.w 32,35,37,39,42,44,47,49,52,54,57,60,62,65,68,71 dc.w 73,76,79,82,84,87,90,93,96,98 dc.w 101,104,107,109,112,115,117,120,122,125 dc.w 127,130,132,134,137,139,141,143,145,147,149,151 dc.w 152,154,156,157,159,160,161,162,163,164,165,166 dc.w 167,168,168,169,169,169,169,169,169,169,169 dc.w 169,169,168,168,167,166,165,164,163,162,161,160 dc.w 159,157,156,154,152,151,149,147,145,143,141 dc.w 139,137,134,132,130,127,125,122,120,117,115,112,109,107 dc.w 104,101,98,93,90,87,84,82,79,76,73,71,68,65,62,60,57,54 dc.w 52,49,47,44,42,39,37,35,32,30,28,26,24,22,20,18,17,15 dc.w 13,12,10,9,8,7,6,5,4,3,2,1,1,0,0,0,0,0,0,0,0,0,0,1,1,2 dc.w 3,4,5,6,7,8,9,10,12,13,15,17,18,20,22,24,26,28,30,32 dc.w 35,37,39,42,44,47,49,52,54,57,60,62,65,68,71,73,76,79 dc.w 82,84,87,90,93,96,98,101,104,107,109,112,115,117,120,122 dc.w 125,127,130,132,134,137,139,141,143,145,147,149,151,152 dc.w 154,156,157,159,160,161,162,163,164,165,166,167,168,168 dc.w 169,169,169,169,169,169,169,169,169,169,168,168,167,166 dc.w 165,164,163,162,161,160,159,157,156,154,152,151,149,147 dc.w 145,143,141,139,137,134,132,130,127,125 dc.w 122,120,117,115,112,109,107,104,101,98,96,94,92,90 dc.w 89,87,85 dc.w 84,84,84,84,84 dc.l -1,-1,-1,-1,-1,-1,-1 Sinus2Ptr: dc.l Sinus2 Sinus2: dc.w 43,43,44,45,46,47,48,49,50,51,51,52,53,54,55 dc.w 56,57,57,58,59,60,61,62,62,63,64,65,66,66,67,68,68 dc.w 69,70,71,71,72,73,73,74,74,75,76,76,77,77,78,78,79,79,80 dc.w 80,81,81,81,82,82,82,83,83,83,84,84,84,84,85,85,85 dc.w 85,85,85,85,85,85,85,86,85,85,85,85,85,85,85,85,85,85,84 dc.w 84,84,84,83,83,83,82,82,82,81,81,81,80,80,79,79,78,78 dc.w 77,77,76,76,75,74,74,73,73,72,71,71,70,69,68,68,67,66 dc.w 66,65,64,63,62,62,61,60,59,58,57,57,56,55,54,53,52,51 dc.w 51,50,49,48,47,46,45,44,43,43,42,41,40,39,38,37,36,35 dc.w 34,34,33,32,31,30,29,28,28,27,26,25,24,23,23,22,21,20 dc.w 19,19,18,17,17,16,15,14,14,13,12,12,11,11,10,9,9,8 dc.w 8,7,7,6,6,5,5,4,4,4,3,3,3,2,2,2,1,1,1,1,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,3,3,3 dc.w 4,4,4,5,5,6,6,7,7,8,8,9,9,10,11,11,12,12,13,14,14 dc.w 15,16,17,17,18,19,19,20,21,22,23,23,24,25,26,27,28 dc.w 28,29,30,31,32,33,34,34,35,36,37,38,39,40,41,42,43 dc.w 43,44,45,46,47,48,49,50,51,51,52,53,54,55,56,57,57 dc.w 58,59,60,61,62,62,63,64,65,66,66,67,68,68,69,70,71 dc.w 71,72,73,73,74,74,75,76,76,77,77,78,78,79,79,80,80 dc.w 81,81,81,82,82,82,83,83,83,84,84,84,84,85,85,85,85 dc.w 85,85,85,85,85,85,86,85,85,85,85,85,85,85,85,85,85 dc.w 84,84,84,84,83,83,83,82,82,82,81,81,81,80,80,79,79 dc.w 78,78,77,77,76,76,75,74,74,73,73,72,71,71,70,69,68 dc.w 68,67,66,66,65,64,63,62,62,61,60,59,58,57,57,56 dc.w 55,54,53,52,51,51,50,49,48,47,46,45,44,43,42 dc.w 42,41,40,39,38,37,36,35,34,34,33,32,31,30,29,28,28 dc.w 27,26,25,24,23,23,22,21,20,19,19,18,17,17,16,15 dc.w 14,14,13,12,12,11,11,10,9,9,8,8,7,7,6,6,5,5,4 dc.w 4,4,3,3,3,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2 dc.w 2,2,3,3,3,4,4,4,5,5,6,6,7,7,8,8,9,9,10 dc.w 11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20 dc.w 20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29 dc.w 30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38 dc.w 39,39,40,40,41,41,42 dc.l -1,-1,-1,-1,-1,-1,-1 ***** CopperList ***** Section Data_in_Chip,Data_C Copper: dc.w $008e,$2c71,$0090,$2cd1 dc.w $0092,$0038,$0094,$00d0 ;=========== Copper for NTS logo ============== dc.w $0102,$0000 dc.w $0104,$0000 dc.w $0108,$0000 dc.w $010a,$0000 dc.w $0100,$6200 SSpr0: dc.w $0120,$0000,$0122,$0000 SSpr1: dc.w $0124,$0000,$0126,$0000 SSpr2: dc.w $0128,$0000,$012a,$0000 SSpr3: dc.w $012c,$0000,$012e,$0000 SSpr4: dc.w $0130,$0000,$0132,$0000 SSpr5: dc.w $0134,$0000,$0136,$0000 SSpr6: dc.w $0138,$0000,$013a,$0000 SSpr7: dc.w $013c,$0000,$013e,$0000 LBp1: dc.w $00e0,$0000,$00e2,$0000 LBp2: dc.w $00e4,$0000,$00e6,$0000 LBp3: dc.w $00e8,$0000,$00ea,$0000 LBp4: dc.w $00ec,$0000,$00ee,$0000 LBp5: dc.w $00f0,$0000,$00f2,$0000 LBp6: dc.w $00f4,$0000,$00f6,$0000 LogoColors: dc.w $0180,$0123,$0182,$0ba9,$0184,$0211,$0186,$0321 dc.w $0188,$0323,$018a,$0323,$018c,$0545,$018e,$0654 dc.w $0190,$0764,$0192,$0764,$0194,$0755,$0196,$0755 dc.w $0198,$0755,$019a,$0755,$019c,$0765,$019e,$0765 dc.w $01a0,$0755,$01a2,$0776,$01a4,$0865,$01a6,$0865 dc.w $01a8,$0776,$01aa,$0876,$01ac,$0876,$01ae,$0976 dc.w $01b0,$0887,$01b2,$0987,$01b4,$0a87,$01b6,$0a87 dc.w $01b8,$0a98,$01ba,$0b98,$01bc,$0221,$01be,$0cba dc.w $7307,$fffe,$0180,$0fff dc.w $0100,$0200 ***************************************************** ;============ Copper for MainScreen ================= ***************************************************** dc.w $7407,$fffe,$0180,$0345 dc.w $e307,$fffe,$0180,$0fff dc.w $0100,$0200 dc.w $0184,$0808 dc.w $0186,$0a0a dc.w $0188,$0d0e dc.w $018a,$0f0f dc.w $018c,$0000 dc.w $018e,$0222 ***************************************************** ;============= Copper for TextScreen ================ ***************************************************** dc.w $e401,$fffe,$0180,$0345 dc.w $0092,$0030,$0094,$00d8 WBp2: dc.w $00e4,$0000,$00e6,$0000 WBp3: dc.w $00e8,$0000,$00ea,$0000 dc.w $0100,$3200 ;dc.w $xx01,$fffe,$e0,$00,$e2,$00,$180,$00,$182,$00 GelBuf: ds.w 10*GelLines dc.w $2c07,$fffe,$0180,$0fff dc.w $0100,$0200 ;=============== Copper End ==================== dc.w $2d07,$fffe,$0180,$0123 dc.l -2,-2 incdir 'asmpro:sources/intro6/' Tern: incbin tern.RAW TFont: incbin TFont.RAW ;* Can be placed in any mem MaskAnim: incbin MaskAnim NTS: incbin Neurotics.RAW ***************************************************** Section BSS_In_AnyMem,BSS CharBuffer: ds.b _Sizeof*NumOfChars ***************************************************** Section BSS_In_Chip,BSS_C WScreen: ds.b WScrBp*WScrD Screen: ds.b ScrBp*ScrD .