home *** CD-ROM | disk | FTP | other *** search
- org $40000
- load $40000
-
- s:
- movem.l a0-a6/d0-d7,-(sp)
- bsr Start ; Init screen stuff
- bsr MAIN ; Do main stuff
- bsr Reset ; Reset screen stuff
- movem.l (sp)+,a0-a6/d0-d7
- clr.l d0
- rts
- ***********************************************************
-
- Start:
- lea $5a000,a0
- lea $7f000,a1
- RAMclear:
- clr.l (A0)+
- cmpa.l A1,A0
- bne.s RAMclear
-
- lea cpwait,a0 ; Temporary ptr
- move.w #$2c01,d0
- move.w d0,(a0)+ ; $ff01
- move.w #$0001,(a0)+ ; $2b01,$ff01 = jump to this row
-
- move.w #210,d1
- move.l a0,copptr
- coplp:
- move.w #$0180,(a0)+
- move.w #0,(a0)+
- add.w #$0100,d0
- move.w d0,(a0)+
- move.w #$fffe,(a0)+
- dbf d1,coplp
-
- move.l $4,a6
- lea GfxName(pc),a1
- moveq #0,d0
- jsr -408(a6) ; Open Gfx Library
- move.l d0,GfxBase
-
- move.l d0,a6
- move.w #$03e0,$dff096
- move.l $32(a6),OldCop
- move.l #Coplist,$32(a6) ; Set coplist pointer
- move.w #$83c0,$dff096
- rts
-
- Reset:
- move.l GfxBase,a6
- ;move.w #$0100,$dff096 ; nur beim BOOT
- move.l OldCop,$32(a6)
- move.l gfxbase,a1
- move.l $4,a6
- jsr -414(a6)
- rts
-
- CopList:
- dc.w $00e0
- hibmptr:
- dc.w $0007,$00e2
- lowbmptr:
- dc.w $0000
- dc.w $00e4,$0006,$00e6,$2000
- dc.w $00e8,$0006,$00ea,$5000
- dc.w $00ec,$0006,$00ee,$8000
- dc.w $00f0,$0005,$00f2,$b870
- dc.w $00f4,$0005,$00f6,$b898
-
- dc.w $0180,$0000
- dc.w $0182,$0fff
- dc.w $0184,$0244
- dc.w $0186,$0455
- dc.w $0188,$08aa
- dc.w $018a,$0ddd
- dc.w $018c,$0000
- dc.w $018e,$0000
- dc.w $0190,$0000
- dc.w $0192,$0000
- dc.w $0194,$0000
- dc.w $0196,$0000
- dc.w $0198,$0000
- dc.w $019a,$0000
- dc.w $019c,$0000
- dc.w $019e,$0000
- dc.w $01a0,$0f30
- dc.w $01a2,$002c
- dc.w $01a4,$0000
- dc.w $01a6,$0000
- dc.w $01a8,$0000
- dc.w $01aa,$0000
- dc.w $01ac,$0000
- dc.w $01ae,$0000
- dc.w $01b0,$0000
- dc.w $01b2,$0000
- dc.w $01b4,$0000
- dc.w $01b6,$0000
- dc.w $01b8,$0000
- dc.w $01ba,$0000
- dc.w $01bc,$0000
- dc.w $01be,$0000
-
- dc.w $0100,$6200,$0102,$0001
- dc.w $0108,$0000,$010a,$0000
- dc.w $008e,$2981
- dc.w $0090,$29c1
- dc.w $0092,$0038
- dc.w $0094,$00d0
- dc.w $2901,$fffe
-
- cpwait: blk.w 846,0
-
- dc.w $ffff,$fffe
-
- GfxName:
- dc "graphics.library",0
- even
-
- GfxBase:dc.l 0
-
- OldCop:dc.l 0
-
- Main:
- bsr boot
- bsr Sternevorbereiten
-
- clr.b $bfec01
-
- mainlop1:
- nob:
- cmpi.b #240,$dff006
- bne.s nob
-
- bsr bars
- bsr starsmove
-
- clr.l D0
- move.b $bfec01,D0
- not.b D0
- lsr.b #1,D0
- cmpi.b #$4f,D0
- bls.s mainlop1
- cmpi.b #$55,D0
- bhi.s mainlop1
- subi.w #$0050,D0
- move.l D0,$0080
-
- mainend:
- bsr mist1
- rts
-
- starsmove:
- lea starmovement1,A4
- move.w #$0075,D3
- lea starmovement2,A5
- ROUTINE2:
- move.w (A4)+,D4
- move.w (A4)+,D5
- move.w (A4),D6
- subi.w #$0006,(A4)+
- tst.w D6
- ble.l CALC2
- ext.l D4
- divs D6,D4
- addi.w #$00a0,D4
- ext.l D5
- divs D6,D5
- addi.w #$0070,D5
- tst.w D4
- blt.l CALC2
- tst.w D5
- blt.l CALC2
- cmpi.w #$013f,D4
- bgt.l CALC2
- cmpi.w #$00ff,D5
- bgt.l CALC2
- move.w (A5),D0
- move.w D4,(A5)+
- move.w (A5),D1
- move.w D5,(A5)+
- bsr.l star_clear
- move.w D4,D0
- move.w D5,D1
- mulu #$0028,D1
- move.w D0,D2
- asr.w #3,D2
- add.w D2,D1
- asl.w #3,D2
- sub.w D0,D2
- subq.b #1,D2
- cmpi.w #$0150,D6
- bgt.s sprung1
- cmpi.w #$010c,D6
- bgt.s sprung2
- bra.s sprung3
- sprung1:
- move.l #$00062000,A1
- adda.l D1,A1
- bset D2,(A1)
- bra.s R2_ende
- sprung2:
- move.l #$00065000,A1
- adda.l D1,A1
- bset D2,(A1)
- bra.s R2_ende
- sprung3:
- move.l #$00062000,A1
- adda.l D1,A1
- bset D2,(A1)
- move.l #$00065000,A1
- adda.l D1,A1
- bset D2,(A1)
- R2_ende:
- dbf D3,ROUTINE2
- rts
-
- star_clear:
- mulu #$0028,D1
- move.w D0,D2
- asr.w #3,D2
- add.w D2,D1
- asl.w #3,D2
- sub.w D0,D2
- subq.b #1,D2
- move.l #$00062000,A1
- adda.l D1,A1
- bclr D2,(A1)
- move.l #$00065000,A1
- adda.l D1,A1
- bclr D2,(A1)
- rts
-
- STERNEvorbereiten:
- move.w #$0075,D3
- lea starmovement1,A0
- schreiben: ; Sternwerte in
- bsr.l CALC1 ;
- move.w D0,(A0)+ ;
- bsr.l CALC1 ;
- move.w D0,(A0)+ ; in starmovement1 speichern
- bsr.l CALC1 ;
- andi.w #$01ff,D0 ;
- move.w D0,(A0)+ ;
- dbf D3,schreiben
- rts
- CALC1:
- move.w $dff006,D0
- lea VHPOSR_speicher(PC),A3
- muls (A3),D0
- addi.w #$249,D0
- ext.l D0
- lea VHPOSR_speicher(PC),A3
- move.w D0,(A3)
- rts
-
- CALC2:
- suba.l #$00000006,A4
- bsr.l CALC1
- move.w D0,(A4)+
- bsr.l CALC1
- move.w D0,(A4)+
- move.w #$0258,(A4)+
- bra.l R2_ende
-
- Starmovement1:
- blk.b $800,0
- Starmovement2:
- blk.b $800,0
-
- VHPOSR_speicher:
- blk.b 2,0
-
-
- BOOT:
- lea $07e000,A0
- move.l #$00000001,D0
- move.l #$00000280,D1
- move.l #$00000100,D2
- jsr -390(A6)
- move.l #$0005b000,$07e008
- lea $07e100,A1
- jsr -198(A6)
- move.l #$0007e000,$07e104
- lea $07e100,A1
- move.w #$0001,D0
- jsr -342(A6)
- lea TEXTANFANG,A5
- DEPP2:
- lea $07e100,A1
- clr.l D4
- move.l #$0000004,D3 ;Zeilenanfang
- move.b (A5)+,D4
- beq.s RETURN
- bsr.s DEPP1
- addi.l #$00000140,D3
- bsr.s DEPP1
- adda.l #$000001f,A5
- bra.l DEPP2
- RETURN:
- rts
-
- DEPP1:
- lea $07e100,A1
- move.l D3,D0
- move.l D4,D1
- jsr -240(A6)
- lea $07e100,A1
- move.l A5,A0
- move.l #$0000001f,D0
- jsr -60(A6)
- rts
-
- TEXTANFANG:
- dc.b $30," --- >>> THE PANTIES <<< --- "
- dc.b $90," Compactings No. 02 "
- dc.b $50," [ F1 ] --- PANZERFAUST --- "
- dc.b $58," [ F2 ] -- FIRST INTRO -- "
- dc.b $60," [ F3 ] -- SCANNERS -- "
- dc.b $68," [ F4 ] - EXAACT - "
- dc.b $70," [ F5 ] - BAND - "
- dc.b $78," [ F6 ] ECLIPSE INTRO "
- dc.b 0,0
-
- MIST1:
- clr.l d0
- move.l $80.w,d0
- mulu #$0004,d0
- rts
-
- bars:
- move.l copptr,a0
- move.w #210,d0
- clearlp:
- clr.w 2(a0)
- addq.w #8,a0
- dbf d0,clearlp
-
- lea infront,a6
- lea intable,a5
- lea thycols,a4
- lea sine,a3
- moveq #0,d0 ; First bar
- blp:
- move.l copptr,a2
- move.w (a5)+,d7
- tst.b (a6)+
- bne.s nonow
- addq.b #3,-1(a5)
- move.b (a3,d7.w),d1 ; Y Position
- and.w #$ff,d1
- asl.w #3,d1 ;*8(each coplist entry=8bytes)
- move.w d0,d6
- asl.w #5,d6 ; *16 each colorlist e = 16
- moveq #7,d5
- mclp:
- move.w (a4,d6.w),2(a2,d1.w)
- addq.l #8,a2
- addq.l #2,d6
- dbf d5,mclp
- nonow:
- addq.l #1,d0
- cmpi.b #8,d0
- bne.s blp
- lea infront,a6
- lea intable,a5
- lea thycols,a4
- lea sine,a3
- moveq #0,d0 ; First bar
- blp2:
- move.l copptr,a2
- move.w (a5)+,d7
- tst.b (a6)+
- beq.s nonow2
- addq.b #3,-1(a5)
- move.b (a3,d7.w),d1 ; Y Position
- and.w #$ff,d1
- asl.w #3,d1 ;*8(each coplist entry=8bytes)
- move.w d0,d6
- asl.w #5,d6 ; *16 each colorlist e = 16
- moveq #7,d5
- mclp2:
- move.w (a4,d6.w),2(a2,d1.w)
- addq.l #8,a2
- addq.l #2,d6
- dbf d5,mclp2
- nonow2:
- addq.l #1,d0
- cmpi.b #8,d0
- bne.s blp2
- rts
-
- intable:dc.w 5,10,15,20,125,130,135,140
- infront:dc.b 0,0,0,0,0,0,0,1
- thycols:
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
- dc.w $0004,$0016,$022a,$033e,$033e,$022a,$0016,$0004
-
- sine:
- dc.b 95,97,99,101,104,106,108,111,113,115,118,120,122,124,127
- dc.b 129,131,133,135,137,139,141,143,145,147,149,151,153,155,157
- dc.b 158,160,162,163,165,166,168,169,171,172,173,175,176,177,178
- dc.b 179,180,181,182,183,184,185,185,186,187,187,188,188,188,189
- dc.b 189,189,189,189,190,189,189,189,189,189,188,188,188,187,187
- dc.b 186,185,185,184,183,182,181,180,179,178,177,176,175,173,172
- dc.b 171,169,168,166,165,163,162,160,158,157,155,153,151,149,147
- dc.b 145,143,141,139,137,135,133,131,129,127,124,122,120,118,115
- dc.b 113,111,108,106,104,101,99,97,94,92,90,88,85,83,81
- dc.b 78,76,74,71,69,67,65,62,60,58,56,54,52,50,48
- dc.b 46,44,42,40,38,36,34,32,31,29,27,26,24,23,21
- dc.b 20,18,17,16,14,13,12,11,10,9,8,7,6,5,4
- dc.b 4,3,2,2,1,1,1,0,0,0,0,0,0,0,0
- dc.b 0,0,0,1,1,1,2,2,3,4,4,5,6,7,8
- dc.b 9,10,11,12,13,14,16,17,18,20,21,23,24,26,27
- dc.b 29,31,32,34,36,38,40,42,44,46,48,50,52,54,56
- dc.b 58,60,62,65,67,69,71,74,76,78,81,83,85,88,90
- dc.b 92
-
- copptr:dc.l 0