home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / GXY-INF.LHA / infos / tmenu.s < prev    next >
Encoding:
Text File  |  1996-03-09  |  7.8 KB  |  351 lines

  1. *******************************************************
  2. *** TrainerMenu#1 by Big Brother of Scoopex Germany ***
  3. *******************************************************
  4. *** needed memory : S to ALLEND ! The rest is free  ***
  5. *******************************************************
  6. *** use any ORG + LOAD adr and it will run fine     ***
  7. *******************************************************
  8. *** enter the right amount of funct. and it'll work ***
  9. *******************************************************
  10. *** anzahl der zeilen inBOARD muessen immer 14 sein ***
  11. *** in the label ACTION bits are set or not         ***
  12. *** if bit 0 is set then the first menu point is off***
  13. *** if bit not set then function is on !!!          ***
  14. *******************************************************
  15. *** if bit1 is set no trainer for 2. point          ***
  16. *** if bit1 is not set => trainer                   ***
  17. *** same with the bits (0-4) (Anz der Funktionen-1) ***
  18. *******************************************************
  19.  
  20. Anzahl_der_functions = 5
  21.  
  22.         org    $40000
  23.         load    $40000
  24. s:        movem.l    a0-a6/d0-d7,-(sp)
  25.         move.l    $80,oldirq
  26.         move.l    #start,$80
  27.         trap    #0            ;DO MENU
  28.         move.l    #oldirq,$80
  29.         movem.l    (sp)+,a0-a6/d0-d7
  30. *************** here you can start the game with   ***
  31. *************** JMP x or with another program      ***
  32. *************** otherwise he will go back to cli   ***
  33.         rts
  34.  
  35. start:        lea    adr(pc),a0
  36.         move.l    #planes,d0
  37.         move.w    d0,22(a0)
  38.         swap    d0
  39.         move.w    d0,18(a0)
  40.         move.l    #planes+$50,d0
  41.         move.w    d0,6(a0)
  42.         swap    d0
  43.         move.w    d0,2(a0)
  44.  
  45.         clr.w    $100
  46.         lea    planes(pc),a0
  47.         lea    allend(pc),a1
  48. cloop1:        clr.l    (a0)+
  49.         cmp.l    a0,a1
  50.         bne.s    cloop1
  51.  
  52.         bsr.L    writecop1
  53.         bsr.L    makeline
  54.  
  55.         lea    $dff000,a6
  56.         move.w    2(a6),help
  57.         move.w    28(a6),help+2
  58.         move.w    #$3fff,154(a6)
  59.         move.w    #$87e0,150(a6)
  60.         move.l    #newclist,128(a6)
  61.         move.w    136(a6),d0
  62.  
  63. maus:        lea    $dff000,a5
  64.         cmp.b    #$ff,$6(a5)
  65.         bne.s    maus
  66.  
  67.         moveq    #0,d1
  68.         move.w    $100,d0
  69.         move.w    d0,d1
  70.         lea    board+80,a0
  71.         mulu    #40,d1
  72.         add.l    d1,a0
  73.  
  74.         btst    d0,action+1
  75.         beq.s    no_bit0
  76.  
  77.         move.b    #"f",34(a0)
  78.         move.b    #"f",35(a0)
  79.         bra.s    no_bits_all
  80.  
  81. no_bit0:    move.b    #"n",34(a0)
  82.         move.b    #" ",35(a0)
  83.  
  84. no_bits_all:    moveq    #anzahl_der_functions-1,d6
  85.         lea    board+80,a0
  86.         lea    planes+$50+[2*[7*40]],a1
  87.         bsr.L    overjump
  88.         bsr.L    check
  89.         bsr.L    scrollcolors
  90.         bsr.L    scrollcolors
  91.         bsr.L    writecol1
  92.  
  93.         btst    #6,$bfe001
  94.         bne.s    maus
  95. waitmaus:    btst    #6,$bfe001
  96.         beq.s    waitmaus
  97.  
  98.         cmp.w    #anzahl_der_functions,$100
  99.         beq.s    real_exit
  100.  
  101.         move.w    $100,d0
  102.         bchg    d0,action+1
  103.         bra.L    maus
  104.  
  105. real_exit:    move.l    $4.w,a6
  106.         lea    gfxbase(pc),a1
  107.         jsr    -408(a6)
  108.         lea    $dff000,a6
  109.         move.l    d0,a0
  110.         move.w    #$7fff,150(a6)
  111.         move.l    38(a0),128(a6)
  112.         move.w    136(a6),d0
  113.         or.l    #$80008000,help
  114.         move.w    help,150(a6)
  115.         move.w    help+2,154(a6)
  116.         move.w    #$2700,SR
  117.         rte            ;Out of Trap
  118.  
  119. makeline:    move.l    #endboard-board,d6
  120.         divu    #40,d6
  121.         subq.l    #1,d6
  122.  
  123.         lea    board(pc),a0
  124.         lea    planes+$50,a1
  125. overjump:
  126. Wholeboard:    moveq    #39,d0
  127. Wholeline:    move.b    (a0)+,d1
  128.         bsr.s    getchar
  129.         addq.l    #1,a1
  130.         dbf    d0,Wholeline
  131.         add.l    #40*5+40,a1
  132.         dbf    d6,wholeboard
  133.         rts
  134.  
  135. Getchar:    moveq    #-5,d2
  136.         lea    ascii(pc),a2
  137.         lea    charset(pc),a3
  138. loop:        addq.l    #5,d2
  139.         cmp.b    (a2)+,d1
  140.         bne.s    loop
  141.         add.l    d2,a3
  142.         moveq    #4,d2
  143. loop2:        move.b    (a3)+,(a1)
  144.         add.l    #40,a1
  145.         dbf    d2,loop2
  146.         sub.l    #$c8,a1
  147.         rts
  148.  
  149. Help:        dc.l    0
  150. gfxbase:    dc.b    "graphics.library",0,0
  151. oldirq:        dc.l    0
  152.  
  153. newclist:
  154.     dc.w    $008e,$7081,$0090,$d2c1,$0092,$0038,$0094,$00d0
  155.     dc.w    $0102,$0040,$0104,$0000,$0108,$0000,$0100,$2400
  156.     dc.w    $0108,0
  157.     dc.w    $120,0,$122,0,$124,0,$126,0,$128,0,$12a,0,$12c,0,$12e,0
  158.     dc.w    $130,0,$132,0,$134,0,$136,0,$138,0,$13a,0,$13c,0,$13e,0
  159. adr:
  160.     dc.w    $00e0,$0006,$00e2,$0050,$0180,$0000,$0182,$eee
  161.     dc.w    $00e4,$0006,$00e6,$0000,$0192,$0666
  162.     dc.w    $6811,$fffe,$0180,$0eee
  163.     dc.w    $6911,$fffe,$0180,$0999
  164.  
  165. coolone:    blk.l    [5*42],0
  166.  
  167.     ;dc.w    $7e11,$fffe,$0182,$0
  168.     ;dc.w    $8411,$fffe,$0182,$eee
  169.  
  170.     dc.w    $d811,$fffe,$0180,$0666
  171.     dc.w    $d911,$fffe,$0180,$0000
  172.     dc.w    $ffff,$fffe
  173.  
  174. ascii:
  175.     dc.b    "abcdefghijklmnopqrstuvwxyz0123456789!: -"
  176.  
  177. charset:
  178.     dc.b    $7F,$03,$7F,$63,$63
  179.     dc.b    $7F,$03,$7E,$63,$7F
  180.     dc.b    $7F,$00,$60,$60,$7F
  181.     dc.b    $7E,$03,$63,$63,$7E
  182.     dc.b    $7F,$00,$78,$60,$7F
  183.     dc.b    $7F,$00,$78,$60,$60
  184.     dc.b    $7F,$00,$63,$61,$7F
  185.     dc.b    $63,$63,$7F,$63,$63
  186.     dc.b    $7E,$18,$18,$18,$7E
  187.     dc.b    $1F,$06,$06,$66,$7E
  188.     dc.b    $63,$66,$7C,$66,$63
  189.     dc.b    $60,$60,$60,$63,$7F
  190.     dc.b    $63,$77,$7F,$6B,$63
  191.     dc.b    $73,$7B,$6F,$67,$63
  192.     dc.b    $7F,$03,$63,$63,$7F
  193.     dc.b    $7E,$06,$7E,$60,$60
  194.     dc.b    $7F,$03,$63,$67,$7F
  195.     dc.b    $7F,$03,$7F,$66,$63
  196.     dc.b    $7F,$00,$7F,$03,$7F
  197.     dc.b    $FF,$18,$18,$18,$18
  198.     dc.b    $63,$63,$63,$63,$7F
  199.     dc.b    $63,$63,$63,$36,$1C
  200.     dc.b    $63,$6B,$7F,$77,$63
  201.     dc.b    $63,$3E,$1C,$3E,$63
  202.     dc.b    $63,$63,$7F,$03,$7F
  203.     dc.b    $7F,$07,$1C,$70,$7F
  204.     dc.b    $7F,$67,$6B,$73,$7F
  205.     dc.b    $38,$18,$18,$18,$7E
  206.     dc.b    $7F,$03,$7F,$60,$7F
  207.     dc.b    $7F,$03,$0F,$03,$7F
  208.     dc.b    $60,$66,$7F,$06,$06
  209.     dc.b    $7F,$60,$7F,$03,$7F
  210.     dc.b    $7F,$60,$7F,$63,$7F
  211.     dc.b    $7F,$06,$0C,$0C,$0C
  212.     dc.b    $7F,$63,$7F,$63,$7F
  213.     dc.b    $7F,$60,$7F,$03,$03
  214.     dc.b    $38,$38,$38,$00,$38
  215.     dc.b    $00,$38,$00,$38,$00
  216.     dc.b    $00,$00,$00,$00,$00
  217.     dc.b    $00,$00,$ff,$00,$00
  218. board:
  219.     dc.b    "----------------- name -----------------"
  220.     dc.b    "                                        "
  221.     dc.b    "      infinite energy          - on     "
  222.     dc.b    "      infinite lives           - on     "
  223.     dc.b    "      infinite ghosters        - on     "
  224.     dc.b    "      infinite ghosters2       - on     "
  225.     dc.b    "      infinite ghosters2       - on     "
  226.     dc.b    "         ----- start game -----         "
  227.     dc.b    "                                        "
  228.     dc.b    "           cracked by quartex           "
  229.     dc.b    "           trained by scoopex           "
  230.     dc.b    "                                        "
  231.     
  232.     dc.b    "       call our boards in usa at:       "
  233.     dc.b    "usa-804-499-2266   or   usa-313-847-1941"
  234. endboard:
  235. code:    dc.b    "Code by Big Brother/Chris : 02202/36903"
  236.  
  237. even
  238.  
  239. writecop1:    lea    coolone(pc),a0
  240.         move.l    #$7e3ffffe,d0
  241.         move.l    #$01820f00,d1
  242.         moveq    #4,d4
  243. nextline:    moveq    #39,d2
  244.         move.l    d0,(a0)+
  245. loop2btc:    move.l    d1,(a0)+
  246.         subq.l    #2,d1
  247.         dbf    d2,loop2btc
  248.         move.l    #$01820eee,(a0)+
  249.         add.l    #$01000000,d0
  250.         dbf    d4,nextline
  251.         rts
  252.  
  253. writecol1:    lea    coolone+6,a1
  254.         lea    colors(pc),a0
  255.         moveq    #4,d1
  256. nextcline:    move.l    a0,a2
  257.         moveq    #39,d0
  258. newone:        move.w    (a2)+,(a1)
  259.         addq.l    #4,a1
  260.         dbf    d0,newone
  261.         addq.l    #8,a1
  262.         addq.l    #2,a0
  263.         dbf    d1,nextcline
  264.         rts
  265.  
  266. scrollcolors:    lea    colors(pc),a0
  267.         lea    ecolors(pc),a1
  268.         move.w    (a0),d0
  269. wait2:        move.w    2(a0),(a0)+
  270.         cmp.l    a0,a1
  271.         bne.s    wait2
  272.         move.w    d0,ecolors-2
  273.         rts
  274.  
  275. check:        move.b    $dff00a,d0
  276.         move.b    btc4,d1
  277.         cmp.b    d0,d1
  278.         beq.s    b180
  279.         bge.s    b18a
  280.         ble.s    b1de
  281. b180:        move.b    d0,btc4
  282.         moveq    #0,d0
  283. b188:        rts
  284.  
  285. b18a:        move.w    btca,d3
  286.         addq.w    #1,btc6
  287.         cmp.w    btc6,d3
  288.         bne.s    b1da
  289.  
  290.         clr.w    btc6
  291.         clr.w    btc8
  292.         clr.w    d5
  293.  
  294.         move.w    #$100,d4
  295.         cmp.w    d5,d4
  296.         beq.s    b1da
  297.         tst.w    $100
  298.         beq.s    b180
  299.         subq.w    #1,$100
  300.         sub.w    #$0700,coolone
  301.         sub.w    #$0700,coolone+168
  302.         sub.w    #$0700,coolone+[2*168]
  303.         sub.w    #$0700,coolone+[3*168]
  304.         sub.w    #$0700,coolone+[4*168]
  305. b1da:        bra.s    b180
  306. b1de:        move.w    btca,d2
  307.         addq.w    #1,btc8
  308.         cmp.w    btc8,d2
  309.         bne.s    b230
  310.         clr.w    btc8
  311.         clr.w    btc6
  312.         move.w    btcc,d5
  313.         move.w    #$100,d4
  314.         cmp.w    d4,d5
  315.         beq.s    b230
  316.         move.l    #endboard-board,d4
  317.         divu    #64,d4
  318.         subq.l    #3,d4
  319.         ;cmp.w    $100,d4
  320.         cmp.w    #anzahl_der_functions,$100
  321.         beq.L    b180
  322.         addq.w    #1,$100
  323.         add.w    #$0700,coolone+[0*168]
  324.         add.w    #$0700,coolone+[1*168]
  325.         add.w    #$0700,coolone+[2*168]
  326.         add.w    #$0700,coolone+[3*168]
  327.         add.w    #$0700,coolone+[4*168]
  328. b230:        bra.L    b180
  329.         rts
  330.  
  331. colors:
  332.     dc.w    $100,$200,$300,$400,$500,$600,$700,$800,$900,$a00,$b00
  333.     dc.w    $c00,$d00,$e00,$f00,$f10,$f20,$f30,$f40,$f50,$f60,$f70
  334.     dc.w    $f80,$f90,$fa0,$fb0,$fc0,$fd0,$fe0,$ff0,$ef0,$df0,$cf0
  335.     dc.w    $bf0,$af0,$9f0,$8f0,$7f0,$6f0,$5f0,$4f0,$3f0,$2f0,$1f0;44
  336.     dc.w    $f0,$f1,$f2,$f3,$f4,$f5,$f6,$f7,$f8,$f9,$fa,$fb,$fc,$fd
  337.     dc.w    $fe,$ff,$ef,$df,$cf,$bf,$af,$9f,$8f,$7f,$6f,$5f,$4f,$3f
  338.     dc.w    $2f,$1f,$0f,$0e,$d,$c,$b,$a,9,8,7,6,5,4,3,2,1    ;89
  339. ecolors:
  340.  
  341. btc4:        dc.b    $ac,0
  342. btc6:        dc.b    0,0
  343. btc8:        dc.b    0,0
  344. btca:        dc.w    2
  345. btcc:        dc.w    3
  346. helper:        dc.w    0
  347. action:        dc.w    0
  348. planes:        blk.b    [40*7*14]+120
  349. allend:
  350.  
  351.