home *** CD-ROM | disk | FTP | other *** search
- ; scrollcode by Sharp
-
- Lines: equ 32
- Lines2: equ 96
- Words: equ 2
- Words2: equ 22
- Modules = (320/8) - (2*(32/16))
-
- Section Blitter,Code_C
-
- o: move.l #Bild,a0
- move.w #51200,d0
- m: move.b #0,(a0)+
- dbra d0,m
- jsr gfxopen
- move.w #$4000,$dff09a
- p: tst.b $dff006
- bne p
- move.w $dff002,dmasaf
- bset #7,dmasaf
- move.w #$7fff,$dff096
- move.w #$83C0,$dff096
- move.l #Copper,$dff080
- clr.w $dff088
- move.l #text,point
-
- jsr logoin
-
- move.l #9,d4
- setloop:
- jsr setup
- dbra d4,setloop
-
- jsr next
-
- Main:
- move.b $dff006,d6
- cmp.b #$f0,d6
- bne Main
- btst #$0,$dff005
- bne Main
-
- jsr Blitter
-
- btst #6,$bfe001
- bne Main
-
- out:
- move.l 4,a6
- clr.w d0
- lea gfxname,a1
- jsr -552(a6)
- move.l d0,a0
- move.l 38(a0),$dff080
- clr.w $dff088
- move.w dmasaf,$dff096
- move.w $c000,$dff096
- clr.l d0
- rts
-
- logoin:
- lea PLANER,a0
-
- move.l #Bild,d0
- move.l #5,d1
- PLLOOP:
- move.w d0,6(a0)
-
- swap d0
- move.w d0,2(a0)
-
- swap d0
- add.l #56000/5,d0
-
- add.l #8,a0
-
- subq.l #1,d1
- bne.s PLLOOP
-
- move.l #Col,a0
-
- lea FARVER,a1
- move.l #32,d0
- PRLOOP:
- move.w (a0)+,2(a1)
- add.l #4,a1
-
- subq.l #1,d0
- bne.s PRLOOP
-
- rts
-
- gfxopen:
- move.l 4,a6
- lea gfxname(pc),a1
- jsr -408(a6)
- move.l d0,gfxbase
- rts
-
- setup
- move.w #0,blitt
- move.l #6,d1
-
- set1: cmp.b #0,pass3
- bne set2
-
- move.l #Bild,a3
- move.b #1,pass3
-
- bra clear2
- set2: cmp.b #1,pass3
- bne set3
-
- move.l #Bild+4,a3
- move.b #2,pass3
-
- bra clear2
- set3: cmp.b #2,pass3
- bne set4
-
- move.l #Bild+8,a3
- move.b #3,pass3
-
- bra clear2
- set4: cmp.b #3,pass3
- bne set5
-
- move.l #Bild+12,a3
- move.b #4,pass3
-
- bra clear2
- set5: cmp.b #4,pass3
- bne set6
-
- move.l #Bild+16,a3
- move.b #5,pass3
-
- bra clear2
- set6: cmp.b #5,pass3
- bne set7
-
- move.l #Bild+20,a3
- move.b #6,pass3
-
- bra clear2
- set7: cmp.b #6,pass3
- bne set8
-
- move.l #Bild+24,a3
- move.b #7,pass3
-
- bra clear2
- set8: cmp.b #7,pass3
- bne set9
-
- move.l #Bild+28,a3
- move.b #8,pass3
-
- bra clear2
- set9: cmp.b #8,pass3
- bne set10
-
- move.l #Bild+32,a3
- move.b #9,pass3
-
- bra clear2
- set10: cmp.b #9,pass3
- bne trust
-
- move.l #Bild+36,a3
- move.b #10,pass3
-
- bra clear2
-
- clear2:
- move.l point,a0
- clr.l d0
- clr.l d1
- clr.l d2
- move.b (a0)+,d0
- cmp.w #"`",d0
- bne forts2
- move.l #text,point
- bra clear2
-
- forts2: move.l a0,point
- sub.l #32,d0
- rol.w #1,d0
- lea Charpos,a0
- lea Read,a1
- move.w (a0,d0.w),d1
- move.w d1,d2
- move.l a1,a2
- add.l d2,a2
-
-
- srow1: cmp.b #0,pass
- bne srow2
-
- move.b #1,pass
-
- bra blitt_back_block2
- srow2: cmp.b #1,pass
- bne srow3
-
- sub.l #44800,a3
- add.l #1408,a3
- move.b #2,pass
-
- bra blitt_back_block2
- srow3: cmp.b #2,pass
- bne srow4
-
- sub.l #44800,a3
- add.l #1408,a3
- move.b #3,pass
-
- bra blitt_back_block2
- srow4: cmp.b #3,pass
- bne srow5
-
- sub.l #44800,a3
- add.l #1408,a3
- move.b #4,pass
-
- bra blitt_back_block2
- srow5: cmp.b #4,pass
- bne srow6
-
- sub.l #44800,a3
- add.l #1408,a3
- move.b #5,pass
-
- bra blitt_back_block2
- srow6: cmp.b #5,pass
- bne srow7
-
- sub.l #44800,a3
- add.l #1408,a3
- move.b #6,pass
-
- bra blitt_back_block2
- srow7: cmp.b #6,pass
- bne swrongv
-
- sub.l #44800,a3
- add.l #1408,a3
- move.b #7,pass
-
- bra blitt_back_block2
-
- swrongv:
- move.b #0,pass
- rts
-
- blitt_back_block2
- move.l #$09f00000,$dff040
- move.l #$ffffffff,$dff044
- move.l a2,$dff050
- move.l a3,$dff054
- move.w #36,$dff064
- move.w #40,$dff066
- move.w #64*Lines+Words,$dff058
- bsr Waitblitt
-
- add.l #8000,a2
- add.l #11200,a3
-
- move.l a2,$dff050
- move.l a3,$dff054
- move.w #64*Lines+Words,$dff058
- bsr Waitblitt
-
- add.l #8000,a2
- add.l #11200,a3
-
- move.l a2,$dff050
- move.l a3,$dff054
- move.w #64*Lines+Words,$dff058
- bsr Waitblitt
-
- add.l #8000,a2
- add.l #11200,a3
-
- move.l a2,$dff050
- move.l a3,$dff054
- move.w #64*Lines+Words,$dff058
- bsr Waitblitt
-
- add.l #8000,a2
- add.l #11200,a3
-
- move.l a2,$dff050
- move.l a3,$dff054
- move.w #64*Lines+Words,$dff058
- bsr Waitblitt
- dbra d1,clear2
- trust: rts
-
- Blitter:
- move.l #3,d1
- cmp.b #0,scrollspeed
- bhi do_scroll
- rts
- do_scroll:
- moveq #$10,d0
- sub.b scrollspeed,d0
- and.l #$f,d0
- ror.l #4,d0
- add.l #$09f00000,d0
- move.l d0,$dff040
-
- cmp.b #0,pass2
- beq do1
- cmp.b #1,pass2
- beq do2
- cmp.b #2,pass2
- beq do3
- rts
-
- do1:
- lea Bild,a3
- move.b #1,pass2
- bra Control
- do2:
- lea Bild,a3
- add.l #4224,a3
- move.b #2,pass2
- bra Control2
-
- do3:
- lea Bild,a3
- add.l #5632,a3
- move.b #0,pass2
- bra Control
-
- Control
- move.l #$ffffffff,$dff044
- move.l a3,$dff050
- sub.l #2,a3
- move.l a3,$dff054
- add.l #2,a3
- Move.l #0,$dff064 ; Screen is $50 wide, font is $28 wide
- move.w #64*Lines2+Words2,$dff058
- bsr Waitblitt
-
- add.l #11200,a3
-
- move.l #$ffffffff,$dff044
- move.l a3,$dff050
- sub.l #2,a3
- move.l a3,$dff054
- add.l #2,a3
- Move.l #0,$dff064 ; Screen is $50 wide, font is $28 wide
- move.w #64*Lines2+Words2,$dff058
- bsr Waitblitt
-
- add.l #11200,a3
-
- move.l #$ffffffff,$dff044
- move.l a3,$dff050
- sub.l #2,a3
- move.l a3,$dff054
- add.l #2,a3
- Move.l #0,$dff064 ; Screen is $50 wide, font is $28 wide
- move.w #64*Lines2+Words2,$dff058
- bsr Waitblitt
-
- add.l #11200,a3
-
- move.l #$ffffffff,$dff044
- move.l a3,$dff050
- sub.l #2,a3
- move.l a3,$dff054
- add.l #2,a3
- Move.l #0,$dff064 ; Screen is $50 wide, font is $28 wide
- move.w #64*Lines2+Words2,$dff058
- bsr Waitblitt
-
- add.l #11200,a3
-
- move.l #$ffffffff,$dff044
- move.l a3,$dff050
- sub.l #2,a3
- move.l a3,$dff054
- add.l #2,a3
- Move.l #0,$dff064 ; Screen is $50 wide, font is $28 wide
- move.w #64*Lines2+Words2,$dff058
- bsr Waitblitt
-
- clr d0
- move.b scrollspeed,d0
- add.w #1,blitt
- cmp.w #30,blitt
- beq.w next
- rts
-
- Control2
- move.l #$ffffffff,$dff044
- move.l a3,$dff050
- sub.l #2,a3
- move.l a3,$dff054
- add.l #2,a3
- Move.l #0,$dff064 ; Screen is $50 wide, font is $28 wide
- move.w #64*Lines+Words2,$dff058
- bsr Waitblitt
-
- add.l #11200,a3
-
- move.l #$ffffffff,$dff044
- move.l a3,$dff050
- sub.l #2,a3
- move.l a3,$dff054
- add.l #2,a3
- Move.l #0,$dff064 ; Screen is $50 wide, font is $28 wide
- move.w #64*Lines+Words2,$dff058
- bsr Waitblitt
-
- add.l #11200,a3
-
- move.l #$ffffffff,$dff044
- move.l a3,$dff050
- sub.l #2,a3
- move.l a3,$dff054
- add.l #2,a3
- Move.l #0,$dff064 ; Screen is $50 wide, font is $28 wide
- move.w #64*Lines+Words2,$dff058
- bsr Waitblitt
-
- add.l #11200,a3
-
- move.l #$ffffffff,$dff044
- move.l a3,$dff050
- sub.l #2,a3
- move.l a3,$dff054
- add.l #2,a3
- Move.l #0,$dff064 ; Screen is $50 wide, font is $28 wide
- move.w #64*Lines+Words2,$dff058
- bsr Waitblitt
-
- add.l #11200,a3
-
- move.l #$ffffffff,$dff044
- move.l a3,$dff050
- sub.l #2,a3
- move.l a3,$dff054
- add.l #2,a3
- Move.l #0,$dff064 ; Screen is $50 wide, font is $28 wide
- move.w #64*Lines+Words2,$dff058
- bsr Waitblitt
-
- clr d0
- move.b scrollspeed,d0
- add.w #1,blitt
- cmp.w #30,blitt
- beq next
- rts
-
- next
- move.w #0,blitt
- move.l #6,d1
-
- clear: move.l point,a0
- clr.l d0
- clr.l d1
- clr.l d2
- move.b (a0)+,d0
- cmp.w #"`",d0
- bne forts
- move.l #text,point
- bra clear
-
- forts: move.l a0,point
- sub.l #32,d0
- rol.w #1,d0
- lea Charpos,a0
- lea Read,a1
- move.w (a0,d0.w),d1
- move.w d1,d2
- move.l a1,a2
- add.l d2,a2
-
- row1: cmp.b #0,pass
- bne row2
-
- move.l #Bild+40,a3
- move.b #1,pass
-
- bra blitt_back_block
- row2: cmp.b #1,pass
- bne row3
-
- move.l #Bild+40,a3
- add.l #1408,a3
- move.b #2,pass
-
- bra blitt_back_block
- row3: cmp.b #2,pass
- bne row4
-
- move.l #Bild+40,a3
- add.l #2816,a3
- move.b #3,pass
-
- bra blitt_back_block
- row4: cmp.b #3,pass
- bne row5
-
- move.l #Bild+40,a3
- add.l #4224,a3
- move.b #4,pass
-
- bra blitt_back_block
- row5: cmp.b #4,pass
- bne row6
-
- move.l #Bild+40,a3
- add.l #5632,a3
- move.b #5,pass
-
- bra blitt_back_block
- row6: cmp.b #5,pass
- bne row7
-
- move.l #Bild+40,a3
- add.l #7040,a3
- move.b #6,pass
-
- bra blitt_back_block
- row7: cmp.b #6,pass
- bne wrongv
-
- move.l #Bild+40,a3
- add.l #8448,a3
- move.b #7,pass
-
- bra blitt_back_block
-
- wrongv:
- move.b #0,pass
- rts
-
- blitt_back_block
- move.l #$09f00000,$dff040
- move.l #$ffffffff,$dff044
- move.l a2,$dff050
- move.l a3,$dff054
- move.w #36,$dff064
- move.w #40,$dff066
- move.w #64*Lines+Words,$dff058
- bsr Waitblitt
-
- add.l #8000,a2
- add.l #11200,a3
-
- move.l a2,$dff050
- move.l a3,$dff054
- move.w #64*Lines+Words,$dff058
- bsr Waitblitt
-
- add.l #8000,a2
- add.l #11200,a3
-
- move.l a2,$dff050
- move.l a3,$dff054
- move.w #64*Lines+Words,$dff058
- bsr Waitblitt
-
- add.l #8000,a2
- add.l #11200,a3
-
- move.l a2,$dff050
- move.l a3,$dff054
- move.w #64*Lines+Words,$dff058
- bsr Waitblitt
-
- add.l #8000,a2
- add.l #11200,a3
-
- move.l a2,$dff050
- move.l a3,$dff054
- move.w #64*Lines+Words,$dff058
- bsr Waitblitt
- dbra d1,clear
- rts
-
- Waitblitt:
- btst #6,$dff002
- bne.s Waitblitt
- rts
-
- pass: dc.b 0
- pass2: dc.b 0
- pass3: dc.b 0
- dmasaf: dc.w 0
- gfxname: dc.b 'graphics.library',0
- even
- gfxbase: dc.l 0
-
- Col: dc.w $000,$AAA,$555,$FFF,$808,$000,$420,$620
- dc.w $950,$C90,$FE0,$080,$0D0,$0CC,$06F,$C08
- dc.w $620,$E52,$A52,$FCA,$333,$444,$555,$666
- dc.w $777,$888,$999,$AAA,$CCC,$DDD,$EEE,$FFF
-
- Copper:
- dc.w $008e,$1a64,$0090,$41d1
- dc.w $0092,$0038,$0094,$00d0
- dc.w $0102,$0000
- dc.w $0108
- dc.w $0004
- dc.w $010a
- dc.w $0004
- dc.w $0180,$0000,$0100,$0200
- dc.w $0182,$0000
- dc.w $2e01,$fffe
-
- dc.w $0180,$0000
-
- FARVER:
- dc.w $0180,$0000,$0182,$0000,$0184,$0000,$0186,$0000
- dc.w $0188,$0000,$018a,$0000,$018c,$0000,$018e,$0000
- dc.w $0190,$0000,$0192,$0000,$0194,$0000,$0196,$0000
- dc.w $0198,$0000,$019a,$0000,$019c,$0000,$019e,$0000
- dc.w $01a0,$0000,$01a2,$0000,$01a4,$0000,$01a6,$0000
- dc.w $01a8,$0000,$01aa,$0000,$01ac,$0000,$01ae,$0000
- dc.w $01b0,$0000,$01b2,$0000,$01b4,$0000,$01b6,$0000
- dc.w $01b8,$0000,$01ba,$0000,$01bc,$0000,$01be,$0000
-
- PLANER:
- dc.w $00e0,$0007,$00e2,$0000
- dc.w $00e4,$0007,$00e6,$0000
- dc.w $00e8,$0007,$00ea,$0000
- dc.w $00ec,$0007,$00ee,$0000
- dc.w $00f0,$0007,$00f2,$0000
- dc.w $3011,$fffe,$0100,$5200
-
- dc.w $ffe1,$fffe
- dc.w $0011,$fffe
-
- dc.w $1401,$fffe
-
- dc.w $0100,$0200
- dc.w $0180,$0000
- dc.w $ffff,$fffe
-
- point: dc.l 0
- blitt: dc.w 0
- scrollspeed: dc.b $3
-
- text:
- dc.b 'F<<H$.J '
- dc.b 'P!!I%/K '
- dc.b 'F<<H*<J '
- dc.b 'P!!I+!K '
- dc.b 'F<<H*<J '
- dc.b 'P!!I+!K '
- dc.b 'F<<6@<J '
- dc.b 'P!!7A!K '
- dc.b 'F)3=GQJ '
- dc.b 'P!!!!!K '
- dc.b 'F<<<<<J '
- dc.b 'P)3=GQK '
- dc.b 'F<<4><J '
- dc.b 'P!!5?!K '
- dc.b 'F&0H*<J '
- dc.b "P'1I+!K "
- dc.b 'F<<H*<J '
- dc.b 'P!!I+!K '
- dc.b 'F&0H*<J '
- dc.b "P'1I+!K "
- dc.b 'F<<6@<J '
- dc.b 'P!!7A!K '
- dc.b 'F)3=GQJ '
- dc.b 'P!!!!!K '
- dc.b 'F<<<<<J '
- dc.b 'P!!!!!K '
- dc.b 'F<<<<<J '
- dc.b 'P!!!!!K '
- dc.b 'F<<<<<J '
- dc.b 'P!!!!!K '
- dc.b 'F<<<<<J '
- dc.b 'P)3=GQK '
- dc.b 'F<<4><J '
- dc.b 'P!!5?!K '
- dc.b 'F(2H*<J '
- dc.b 'P!!I+!K '
- dc.b 'F&0H*<J '
- dc.b "P'1I+!K "
- dc.b 'F<<H*<J '
- dc.b 'P(2I+!K '
- dc.b 'F<<6@<J '
- dc.b 'P!!7A!K '
- dc.b 'F)3=GQJ '
- dc.b 'P!!!!!K '
- dc.b 'F<<<<<J '
- dc.b 'P)3=GQK '
- dc.b 'F<<4><J '
- dc.b 'P!!5?!K '
- dc.b 'F<<H*<J '
- dc.b 'P!!I+!K '
- dc.b 'F<<H*<J '
- dc.b 'P!!I+!K '
- dc.b 'F<<H",J '
- dc.b 'P!!I#-K '
- dc.b "`"
- even
-
- Charpos dc.w 0,4,8,12,16,20,24,28,32,36 ; !"#$%&'()
- dc.w 1600,1604,1608,1612,1616,1620,1624,1628,1632,1636 ; *+,-./0123
- dc.w 3200,3204,3208,3212,3216,3220,3224,3228,3232,3236 ; 456789:;<=
- dc.w 4800,4804,4808,4812,4816,4820,4824,4828,4832,4836 ; >?@ABCDEFG
- dc.w 6400,6404,6408,6412,6416,6420,6424,6428,6432,6436 ; HIJKLMNOPQ
- dc.w 8000,8004,8008,8012,8016,8020,8024,8028,8032,8036 ; RSTUVWXYZ[
- dc.w 0,9604,9608,9612 ; \]^_
-
- Read:
- incbin "Asmdisk2:logo/Map.raw"
- even
-
- Bild: ds.b 56000
-
-
-