home *** CD-ROM | disk | FTP | other *** search
- *******************************************************
- *** TrainerMenu#1 by Big Brother of Scoopex Germany ***
- *******************************************************
- *** needed memory : S to ALLEND ! The rest is free ***
- *******************************************************
- *** use any ORG + LOAD adr and it will run fine ***
- *******************************************************
- *** enter the right amount of funct. and it'll work ***
- *******************************************************
- *** anzahl der zeilen inBOARD muessen immer 14 sein ***
- *** in the label ACTION bits are set or not ***
- *** if bit 0 is set then the first menu point is off***
- *** if bit not set then function is on !!! ***
- *******************************************************
- *** if bit1 is set no trainer for 2. point ***
- *** if bit1 is not set => trainer ***
- *** same with the bits (0-4) (Anz der Funktionen-1) ***
- *******************************************************
-
- Anzahl_der_functions = 5
-
- org $40000
- load $40000
- s: movem.l a0-a6/d0-d7,-(sp)
- move.l $80,oldirq
- move.l #start,$80
- trap #0 ;DO MENU
- move.l #oldirq,$80
- movem.l (sp)+,a0-a6/d0-d7
- *************** here you can start the game with ***
- *************** JMP x or with another program ***
- *************** otherwise he will go back to cli ***
- rts
-
- start: lea adr(pc),a0
- move.l #planes,d0
- move.w d0,22(a0)
- swap d0
- move.w d0,18(a0)
- move.l #planes+$50,d0
- move.w d0,6(a0)
- swap d0
- move.w d0,2(a0)
-
- clr.w $100
- lea planes(pc),a0
- lea allend(pc),a1
- cloop1: clr.l (a0)+
- cmp.l a0,a1
- bne.s cloop1
-
- bsr.L writecop1
- bsr.L makeline
-
- lea $dff000,a6
- move.w 2(a6),help
- move.w 28(a6),help+2
- move.w #$3fff,154(a6)
- move.w #$87e0,150(a6)
- move.l #newclist,128(a6)
- move.w 136(a6),d0
-
- maus: lea $dff000,a5
- cmp.b #$ff,$6(a5)
- bne.s maus
-
- moveq #0,d1
- move.w $100,d0
- move.w d0,d1
- lea board+80,a0
- mulu #40,d1
- add.l d1,a0
-
- btst d0,action+1
- beq.s no_bit0
-
- move.b #"f",34(a0)
- move.b #"f",35(a0)
- bra.s no_bits_all
-
- no_bit0: move.b #"n",34(a0)
- move.b #" ",35(a0)
-
- no_bits_all: moveq #anzahl_der_functions-1,d6
- lea board+80,a0
- lea planes+$50+[2*[7*40]],a1
- bsr.L overjump
- bsr.L check
- bsr.L scrollcolors
- bsr.L scrollcolors
- bsr.L writecol1
-
- btst #6,$bfe001
- bne.s maus
- waitmaus: btst #6,$bfe001
- beq.s waitmaus
-
- cmp.w #anzahl_der_functions,$100
- beq.s real_exit
-
- move.w $100,d0
- bchg d0,action+1
- bra.L maus
-
- real_exit: move.l $4.w,a6
- lea gfxbase(pc),a1
- jsr -408(a6)
- lea $dff000,a6
- move.l d0,a0
- move.w #$7fff,150(a6)
- move.l 38(a0),128(a6)
- move.w 136(a6),d0
- or.l #$80008000,help
- move.w help,150(a6)
- move.w help+2,154(a6)
- move.w #$2700,SR
- rte ;Out of Trap
-
- makeline: move.l #endboard-board,d6
- divu #40,d6
- subq.l #1,d6
-
- lea board(pc),a0
- lea planes+$50,a1
- overjump:
- Wholeboard: moveq #39,d0
- Wholeline: move.b (a0)+,d1
- bsr.s getchar
- addq.l #1,a1
- dbf d0,Wholeline
- add.l #40*5+40,a1
- dbf d6,wholeboard
- rts
-
- Getchar: moveq #-5,d2
- lea ascii(pc),a2
- lea charset(pc),a3
- loop: addq.l #5,d2
- cmp.b (a2)+,d1
- bne.s loop
- add.l d2,a3
- moveq #4,d2
- loop2: move.b (a3)+,(a1)
- add.l #40,a1
- dbf d2,loop2
- sub.l #$c8,a1
- rts
-
- Help: dc.l 0
- gfxbase: dc.b "graphics.library",0,0
- oldirq: dc.l 0
-
- newclist:
- dc.w $008e,$7081,$0090,$d2c1,$0092,$0038,$0094,$00d0
- dc.w $0102,$0040,$0104,$0000,$0108,$0000,$0100,$2400
- dc.w $0108,0
- dc.w $120,0,$122,0,$124,0,$126,0,$128,0,$12a,0,$12c,0,$12e,0
- dc.w $130,0,$132,0,$134,0,$136,0,$138,0,$13a,0,$13c,0,$13e,0
- adr:
- dc.w $00e0,$0006,$00e2,$0050,$0180,$0000,$0182,$eee
- dc.w $00e4,$0006,$00e6,$0000,$0192,$0666
- dc.w $6811,$fffe,$0180,$0eee
- dc.w $6911,$fffe,$0180,$0999
-
- coolone: blk.l [5*42],0
-
- ;dc.w $7e11,$fffe,$0182,$0
- ;dc.w $8411,$fffe,$0182,$eee
-
- dc.w $d811,$fffe,$0180,$0666
- dc.w $d911,$fffe,$0180,$0000
- dc.w $ffff,$fffe
-
- ascii:
- dc.b "abcdefghijklmnopqrstuvwxyz0123456789!: -"
-
- charset:
- dc.b $7F,$03,$7F,$63,$63
- dc.b $7F,$03,$7E,$63,$7F
- dc.b $7F,$00,$60,$60,$7F
- dc.b $7E,$03,$63,$63,$7E
- dc.b $7F,$00,$78,$60,$7F
- dc.b $7F,$00,$78,$60,$60
- dc.b $7F,$00,$63,$61,$7F
- dc.b $63,$63,$7F,$63,$63
- dc.b $7E,$18,$18,$18,$7E
- dc.b $1F,$06,$06,$66,$7E
- dc.b $63,$66,$7C,$66,$63
- dc.b $60,$60,$60,$63,$7F
- dc.b $63,$77,$7F,$6B,$63
- dc.b $73,$7B,$6F,$67,$63
- dc.b $7F,$03,$63,$63,$7F
- dc.b $7E,$06,$7E,$60,$60
- dc.b $7F,$03,$63,$67,$7F
- dc.b $7F,$03,$7F,$66,$63
- dc.b $7F,$00,$7F,$03,$7F
- dc.b $FF,$18,$18,$18,$18
- dc.b $63,$63,$63,$63,$7F
- dc.b $63,$63,$63,$36,$1C
- dc.b $63,$6B,$7F,$77,$63
- dc.b $63,$3E,$1C,$3E,$63
- dc.b $63,$63,$7F,$03,$7F
- dc.b $7F,$07,$1C,$70,$7F
- dc.b $7F,$67,$6B,$73,$7F
- dc.b $38,$18,$18,$18,$7E
- dc.b $7F,$03,$7F,$60,$7F
- dc.b $7F,$03,$0F,$03,$7F
- dc.b $60,$66,$7F,$06,$06
- dc.b $7F,$60,$7F,$03,$7F
- dc.b $7F,$60,$7F,$63,$7F
- dc.b $7F,$06,$0C,$0C,$0C
- dc.b $7F,$63,$7F,$63,$7F
- dc.b $7F,$60,$7F,$03,$03
- dc.b $38,$38,$38,$00,$38
- dc.b $00,$38,$00,$38,$00
- dc.b $00,$00,$00,$00,$00
- dc.b $00,$00,$ff,$00,$00
- board:
- dc.b "----------------- name -----------------"
- dc.b " "
- dc.b " infinite energy - on "
- dc.b " infinite lives - on "
- dc.b " infinite ghosters - on "
- dc.b " infinite ghosters2 - on "
- dc.b " infinite ghosters2 - on "
- dc.b " ----- start game ----- "
- dc.b " "
- dc.b " cracked by quartex "
- dc.b " trained by scoopex "
- dc.b " "
-
- dc.b " call our boards in usa at: "
- dc.b "usa-804-499-2266 or usa-313-847-1941"
- endboard:
- code: dc.b "Code by Big Brother/Chris : 02202/36903"
-
- even
-
- writecop1: lea coolone(pc),a0
- move.l #$7e3ffffe,d0
- move.l #$01820f00,d1
- moveq #4,d4
- nextline: moveq #39,d2
- move.l d0,(a0)+
- loop2btc: move.l d1,(a0)+
- subq.l #2,d1
- dbf d2,loop2btc
- move.l #$01820eee,(a0)+
- add.l #$01000000,d0
- dbf d4,nextline
- rts
-
- writecol1: lea coolone+6,a1
- lea colors(pc),a0
- moveq #4,d1
- nextcline: move.l a0,a2
- moveq #39,d0
- newone: move.w (a2)+,(a1)
- addq.l #4,a1
- dbf d0,newone
- addq.l #8,a1
- addq.l #2,a0
- dbf d1,nextcline
- rts
-
- scrollcolors: lea colors(pc),a0
- lea ecolors(pc),a1
- move.w (a0),d0
- wait2: move.w 2(a0),(a0)+
- cmp.l a0,a1
- bne.s wait2
- move.w d0,ecolors-2
- rts
-
- check: move.b $dff00a,d0
- move.b btc4,d1
- cmp.b d0,d1
- beq.s b180
- bge.s b18a
- ble.s b1de
- b180: move.b d0,btc4
- moveq #0,d0
- b188: rts
-
- b18a: move.w btca,d3
- addq.w #1,btc6
- cmp.w btc6,d3
- bne.s b1da
-
- clr.w btc6
- clr.w btc8
- clr.w d5
-
- move.w #$100,d4
- cmp.w d5,d4
- beq.s b1da
- tst.w $100
- beq.s b180
- subq.w #1,$100
- sub.w #$0700,coolone
- sub.w #$0700,coolone+168
- sub.w #$0700,coolone+[2*168]
- sub.w #$0700,coolone+[3*168]
- sub.w #$0700,coolone+[4*168]
- b1da: bra.s b180
- b1de: move.w btca,d2
- addq.w #1,btc8
- cmp.w btc8,d2
- bne.s b230
- clr.w btc8
- clr.w btc6
- move.w btcc,d5
- move.w #$100,d4
- cmp.w d4,d5
- beq.s b230
- move.l #endboard-board,d4
- divu #64,d4
- subq.l #3,d4
- ;cmp.w $100,d4
- cmp.w #anzahl_der_functions,$100
- beq.L b180
- addq.w #1,$100
- add.w #$0700,coolone+[0*168]
- add.w #$0700,coolone+[1*168]
- add.w #$0700,coolone+[2*168]
- add.w #$0700,coolone+[3*168]
- add.w #$0700,coolone+[4*168]
- b230: bra.L b180
- rts
-
- colors:
- dc.w $100,$200,$300,$400,$500,$600,$700,$800,$900,$a00,$b00
- dc.w $c00,$d00,$e00,$f00,$f10,$f20,$f30,$f40,$f50,$f60,$f70
- dc.w $f80,$f90,$fa0,$fb0,$fc0,$fd0,$fe0,$ff0,$ef0,$df0,$cf0
- dc.w $bf0,$af0,$9f0,$8f0,$7f0,$6f0,$5f0,$4f0,$3f0,$2f0,$1f0;44
- dc.w $f0,$f1,$f2,$f3,$f4,$f5,$f6,$f7,$f8,$f9,$fa,$fb,$fc,$fd
- dc.w $fe,$ff,$ef,$df,$cf,$bf,$af,$9f,$8f,$7f,$6f,$5f,$4f,$3f
- dc.w $2f,$1f,$0f,$0e,$d,$c,$b,$a,9,8,7,6,5,4,3,2,1 ;89
- ecolors:
-
- btc4: dc.b $ac,0
- btc6: dc.b 0,0
- btc8: dc.b 0,0
- btca: dc.w 2
- btcc: dc.w 3
- helper: dc.w 0
- action: dc.w 0
- planes: blk.b [40*7*14]+120
- allend:
-
-