home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 200-299 / ff245.lzh / Reversi / RevComp.asm < prev    next >
Assembly Source File  |  1989-09-06  |  41KB  |  2,308 lines

  1. * --------------------
  2. * -     Rev 1.2      -
  3. * -        by        -
  4. * -  Marc  Fischlin  -
  5. * -        in        -
  6. * -       2/88       -
  7. * --------------------
  8.     incdir    "ram:include/"
  9.     include    intuition/intuition.i
  10.     include    intuition/intuition_lib.i
  11.     include    exec/exec_lib.i
  12.     include    graphics/graphics_lib.i
  13.     include    libraries/dos.i
  14.     include    libraries/dos_lib.i
  15.     include    misc/easystart.i
  16.     jmp    staaart
  17. *  TextMacro :
  18. * -------------
  19. PRINT        MACRO
  20.         clr.l        d5
  21.         clr.l        d6
  22.         clr.l        d0
  23.         lea        \1,a4
  24. notlenred_\@    move.b        (a4)+,d5
  25.         tst.l        d5
  26.         beq        prilenred_\@
  27.         add        #1,d0
  28.         jmp        notlenred_\@
  29. prilenred_\@    move.w        d0,d6
  30.         move.l        wptr,a1
  31.         move.l        wd_RPort(a1),a1
  32.         move.w        #1,d0
  33.         CALLGRAF    SetAPen
  34.         move.w        \2,d0
  35.         move.w        \3,d1
  36.         move.l        wptr,a1
  37.         move.l        wd_RPort(a1),a1
  38.         CALLGRAF    Move
  39.         move.l        wptr,a1
  40.         move.l        wd_RPort(a1),a1
  41.         move.w        d6,d0
  42.         lea        \1,a0
  43.         CALLGRAF    Text
  44.         endm
  45. *  GadgetMacro :
  46. * ---------------
  47. GADGET        move.l        d0,(a0)
  48.         add.w        #131,d1
  49.         move.w        d1,$04(a0)
  50.         add        #2,d2
  51.         move.w        d2,$06(a0)
  52.         move.w        #29,$08(a0)
  53.         move.w        #14,$0a(a0)
  54.         move.w        #GADGHCOMP,$0c(a0)
  55.         move.w        #RELVERIFY,$0e(a0)
  56.         move.w        #1,$10(a0)
  57.         move.l        #border,$12(a0)
  58.         move.l        #0,$16(a0)
  59.         move.l        #0,$1a(a0)
  60.         move.l        #0,$1e(a0)
  61.         move.l        #0,$22(a0)
  62.         move.w        d3,$26(a0)
  63.         move.l        #0,$28(a0)
  64.         rts
  65. *  FillMacro :
  66. * -------------------
  67. FILL        MACRO
  68.         move.l        wptr,a1
  69.         move.l        wd_RPort(a1),a1
  70.         move.w        \3,d0
  71.         CALLGRAF    SetAPen
  72.         move.w        \1,d0
  73.         add        #131,d0
  74.         move.w        \2,d1
  75.         add        #2,d1
  76.         move.w        \1,d2
  77.         add        #159,d2
  78.         move.w        \2,d3
  79.         add        #15,d3
  80.         move.l        wptr,a1
  81.         move.l        wd_RPort(a1),a1
  82.         CALLGRAF    RectFill    
  83.         endm
  84. *  BlueMacro :
  85. * -------------
  86. ASK        MACRO
  87.         lea        \1,a0        ;ist der Platz noch frei ?
  88.         move.l        \2,d0
  89.         move.b        0(a0,d0),d1
  90.         cmp.b        #0,d1
  91.         beq        \4
  92.         jmp        \3
  93.         endm
  94. *  Change :
  95. * ----------
  96. CHANGE        MACRO                ;was wird um-
  97.         clr.l        d5        ;gedreht ?
  98.         clr.l        d3
  99.         clr.l        d2
  100.         clr.l        d6
  101.         move.b        byte,d6
  102.         move.b        offset,d5
  103.         lea        tableII,a3
  104.         move.l        0(a3,d5),a5
  105.         move.b        \4,0(a5,d6)
  106.         move        d5,d3
  107.         move        d6,d2
  108.         mulu        #30,d2
  109.         add        #2,d2
  110.         move.w        d2,xfill
  111.         lsr        #2,d3
  112.         mulu        #15,d3
  113.         add        #11,d3
  114.         move.w        d3,yfill
  115.         FILL        xfill,yfill,\5
  116. cb_\@        sub        \1,d5
  117.         sub        \2,d6
  118.         cmp        #0,d5
  119.         blt        cds_\@
  120.         cmp        #28,d5
  121.         bgt        cds_\@
  122.         cmp        #0,d6
  123.         blt        cds_\@
  124.         cmp        #7,d6
  125.         bgt        cds_\@
  126.         lea        tableII,a3
  127.         move.l        0(a3,d5),a5
  128.         move.b        0(a5,d6),d4
  129.         cmp.b        \3,d4
  130.         beq        reach_\@
  131.         jmp        cds_\@
  132. reach_\@    move.b        \4,0(a5,d6)
  133.         move        d5,d3
  134.         move        d6,d2
  135.         mulu        #30,d2
  136.         add        #2,d2
  137.         move.w        d2,xfill
  138.         lsr        #2,d3
  139.         mulu        #15,d3
  140.         add        #11,d3
  141.         move.w        d3,yfill
  142.         FILL        xfill,yfill,\5
  143.         jmp        cb_\@
  144. cds_\@        nop        
  145.         endm
  146. *  PossibleMacro :
  147. * -----------------
  148. POSSIBLE    MACRO                ;ist der zug möglich ?
  149.         clr.l        d5
  150.         clr.l        d6
  151.         move.b        offset,d5
  152.         move.b        byte,d6
  153.         lea        counter,a3
  154.         move        #0,(a3)
  155.         lea        tableII,a5
  156.         sub        \1,d5
  157.         sub        \2,d6
  158.         move.l        0(a5,d5),a4
  159.         move.b        0(a4,d6),d3
  160.         move.b        fab1,d4        
  161.         cmp.b        d4,d3
  162.         beq        voryep_\@
  163.         jmp        pback_\@
  164. voryep_\@    add.b        #1,(a3)    
  165. yep_\@        sub        \1,d5
  166.         cmp        #0,d5
  167.         blt        pback_\@
  168.         cmp        #28,d5
  169.         bgt        pback_\@
  170.         sub        \2,d6
  171.         cmp        #0,d6
  172.         blt        pback_\@
  173.         cmp        #7,d6
  174.         bgt        pback_\@
  175.         move.l        0(a5,d5),a4
  176.         move.b        0(a4,d6),d3        
  177.         move.b        fab1,d4
  178.         cmp.b        d4,d3
  179.         beq        voryep_\@
  180.         move.b        fab2,d4
  181.         cmp.b        d4,d3
  182.         beq        pok_\@
  183.         jmp        pback_\@
  184. pok_\@        lea        \3,a0
  185.         move.b        #1,(a0)
  186.         move.b        endcounter,d2
  187.         lea        endcounter,a3
  188.         move.b        counter,d3
  189.         add.b        d3,d2
  190.         move.b        d2,(a3)        
  191.         jmp        preally_\@
  192. pback_\@    lea        \3,a0
  193.         move.b        #0,(a0)
  194. preally_\@    nop
  195.         endm    
  196. *  HexerMacro :
  197. * --------------
  198. HEXER        MACRO
  199.         lea        \1,a5
  200.         move.b        \2,d5
  201.         and.l        #$ffff,d5
  202.         divs        #10,d5
  203.         add.b        #"0",d5
  204.         move.b        d5,(a5)+
  205.         swap        d5
  206.         and.l        #$ffff,d5
  207.         add.b        #"0",d5
  208.         move.b        d5,(a5)+
  209.         PRINT        \1,#81,\3
  210.         endm
  211. *  Intuition oeffnen :
  212. * ---------------------
  213. staaart        lea        intname,a1
  214.         moveq        #0,d0
  215.         CALLEXEC    OpenLibrary
  216.         move.l        d0,_IntuitionBase
  217. *  Graphics oeffnen :
  218. * --------------------
  219.         lea        grafname,a1
  220.         moveq        #0,d0
  221.         CALLEXEC    OpenLibrary
  222.         move.l        d0,_GfxBase
  223. *  DOS oeffnen :
  224. * ---------------
  225.         lea        DOSname,a1
  226.         moveq        #0,d0
  227.         CALLEXEC    OpenLibrary
  228.         move.l        d0,_DOSBase    
  229. *  OpenMainWindow :
  230. * ------------------
  231.     lea    gadget1,a0
  232.     move.l    #gadget2,d0    ;alle Gadgets initialisieren
  233.     move.l    #2,d1
  234.     move.l    #11,d2
  235.     move.l    #1,d3
  236.     jsr    GADGET
  237.     lea    gadget2,a0
  238.     move.l    #gadget3,d0
  239.     move.l    #32,d1
  240.     move.l    #11,d2
  241.     move.l    #9,d3
  242.     jsr    GADGET
  243.     lea    gadget3,a0
  244.     move.l    #gadget4,d0
  245.     move.l    #62,d1
  246.     move.l    #11,d2
  247.     move.l    #17,d3
  248.     jsr    GADGET
  249.     lea    gadget4,a0
  250.     move.l    #gadget5,d0
  251.     move.l    #92,d1
  252.     move.l    #11,d2
  253.     move.l    #25,d3
  254.     jsr    GADGET
  255.     lea    gadget5,a0
  256.     move.l    #gadget6,d0
  257.     move.l    #122,d1
  258.     move.l    #11,d2
  259.     move.l    #33,d3
  260.     jsr    GADGET
  261.     lea    gadget6,a0
  262.     move.l    #gadget7,d0
  263.     move.l    #152,d1
  264.     move.l    #11,d2
  265.     move.l    #41,d3
  266.     jsr    GADGET
  267.     lea    gadget7,a0
  268.     move.l    #gadget8,d0
  269.     move.l    #182,d1
  270.     move.l    #11,d2
  271.     move.l    #49,d3
  272.     jsr    GADGET
  273.     lea    gadget8,a0
  274.     move.l    #gadget9,d0
  275.     move.l    #212,d1
  276.     move.l    #11,d2
  277.     move.l    #57,d3
  278.     jsr    GADGET
  279.     lea    gadget9,a0
  280.     move.l    #gadget10,d0
  281.     move.l    #2,d1
  282.     move.l    #26,d2
  283.     move.l    #2,d3
  284.     jsr    GADGET
  285.     lea    gadget10,a0
  286.     move.l    #gadget11,d0
  287.     move.l    #32,d1
  288.     move.l    #26,d2
  289.     move.l    #10,d3
  290.     jsr    GADGET
  291.     lea    gadget11,a0
  292.     move.l    #gadget12,d0
  293.     move.l    #62,d1
  294.     move.l    #26,d2
  295.     move.l    #18,d3
  296.     jsr    GADGET
  297.     lea    gadget12,a0
  298.     move.l    #gadget13,d0
  299.     move.l    #92,d1
  300.     move.l    #26,d2
  301.     move.l    #26,d3
  302.     jsr    GADGET
  303.     lea    gadget13,a0
  304.     move.l    #gadget14,d0
  305.     move.l    #122,d1
  306.     move.l    #26,d2
  307.     move.l    #34,d3
  308.     jsr    GADGET
  309.     lea    gadget14,a0
  310.     move.l    #gadget15,d0
  311.     move.l    #152,d1
  312.     move.l    #26,d2
  313.     move.l    #42,d3
  314.     jsr    GADGET
  315.     lea    gadget15,a0
  316.     move.l    #gadget16,d0
  317.     move.l    #182,d1
  318.     move.l    #26,d2
  319.     move.l    #50,d3
  320.     jsr    GADGET
  321.     lea    gadget16,a0
  322.     move.l    #gadget17,d0
  323.     move.l    #212,d1
  324.     move.l    #26,d2
  325.     move.l    #58,d3
  326.     jsr    GADGET
  327.     lea    gadget17,a0
  328.     move.l    #gadget18,d0
  329.     move.l    #2,d1
  330.     move.l    #41,d2
  331.     move.l    #3,d3
  332.     jsr    GADGET
  333.     lea    gadget18,a0
  334.     move.l    #gadget19,d0
  335.     move.l    #32,d1
  336.     move.l    #41,d2
  337.     move.l    #11,d3
  338.     jsr    GADGET
  339.     lea    gadget19,a0
  340.     move.l    #gadget20,d0
  341.     move.l    #62,d1
  342.     move.l    #41,d2
  343.     move.l    #19,d3
  344.     jsr    GADGET
  345.     lea    gadget20,a0
  346.     move.l    #gadget21,d0
  347.     move.l    #92,d1
  348.     move.l    #41,d2
  349.     move.l    #27,d3
  350.     jsr    GADGET
  351.     lea    gadget21,a0
  352.     move.l    #gadget22,d0
  353.     move.l    #122,d1
  354.     move.l    #41,d2
  355.     move.l    #35,d3
  356.     jsr    GADGET
  357.     lea    gadget22,a0
  358.     move.l    #gadget23,d0
  359.     move.l    #152,d1
  360.     move.l    #41,d2
  361.     move.l    #43,d3
  362.     jsr    GADGET
  363.     lea    gadget23,a0
  364.     move.l    #gadget24,d0
  365.     move.l    #182,d1
  366.     move.l    #41,d2
  367.     move.l    #51,d3
  368.     jsr    GADGET
  369.     lea    gadget24,a0
  370.     move.l    #gadget25,d0
  371.     move.l    #212,d1
  372.     move.l    #41,d2
  373.     move.l    #59,d3
  374.     jsr    GADGET
  375.     lea    gadget25,a0
  376.     move.l    #gadget26,d0
  377.     move.l    #2,d1
  378.     move.l    #56,d2
  379.     move.l    #4,d3
  380.     jsr    GADGET
  381.     lea    gadget26,a0
  382.     move.l    #gadget27,d0
  383.     move.l    #32,d1
  384.     move.l    #56,d2
  385.     move.l    #12,d3
  386.     jsr    GADGET
  387.     lea    gadget27,a0
  388.     move.l    #gadget28,d0
  389.     move.l    #62,d1
  390.     move.l    #56,d2
  391.     move.l    #20,d3
  392.     jsr    GADGET
  393.     lea    gadget28,a0
  394.     move.l    #gadget29,d0
  395.     move.l    #92,d1
  396.     move.l    #56,d2
  397.     move.l    #28,d3
  398.     jsr    GADGET
  399.     lea    gadget29,a0
  400.     move.l    #gadget30,d0
  401.     move.l    #122,d1
  402.     move.l    #56,d2
  403.     move.l    #36,d3
  404.     jsr    GADGET
  405.     lea    gadget30,a0
  406.     move.l    #gadget31,d0
  407.     move.l    #152,d1
  408.     move.l    #56,d2
  409.     move.l    #44,d3
  410.     jsr    GADGET
  411.     lea    gadget31,a0
  412.     move.l    #gadget32,d0
  413.     move.l    #182,d1
  414.     move.l    #56,d2
  415.     move.l    #52,d3
  416.     jsr    GADGET
  417.     lea    gadget32,a0
  418.     move.l    #gadget33,d0
  419.     move.l    #212,d1
  420.     move.l    #56,d2
  421.     move.l    #60,d3
  422.     jsr    GADGET
  423.     lea    gadget33,a0
  424.     move.l    #gadget34,d0
  425.     move.l    #2,d1
  426.     move.l    #71,d2
  427.     move.l    #5,d3
  428.     jsr    GADGET
  429.     lea    gadget34,a0
  430.     move.l    #gadget35,d0
  431.     move.l    #32,d1
  432.     move.l    #71,d2
  433.     move.l    #13,d3
  434.     jsr    GADGET
  435.     lea    gadget35,a0
  436.     move.l    #gadget36,d0
  437.     move.l    #62,d1
  438.     move.l    #71,d2
  439.     move.l    #21,d3
  440.     jsr    GADGET
  441.     lea    gadget36,a0
  442.     move.l    #gadget37,d0
  443.     move.l    #92,d1
  444.     move.l    #71,d2
  445.     move.l    #29,d3
  446.     jsr    GADGET
  447.     lea    gadget37,a0
  448.     move.l    #gadget38,d0
  449.     move.l    #122,d1
  450.     move.l    #71,d2
  451.     move.l    #37,d3
  452.     jsr    GADGET
  453.     lea    gadget38,a0
  454.     move.l    #gadget39,d0
  455.     move.l    #152,d1
  456.     move.l    #71,d2
  457.     move.l    #45,d3
  458.     jsr    GADGET
  459.     lea    gadget39,a0
  460.     move.l    #gadget40,d0
  461.     move.l    #182,d1
  462.     move.l    #71,d2
  463.     move.l    #53,d3
  464.     jsr    GADGET
  465.     lea    gadget40,a0
  466.     move.l    #gadget41,d0
  467.     move.l    #212,d1
  468.     move.l    #71,d2
  469.     move.l    #61,d3
  470.     jsr    GADGET
  471.     lea    gadget41,a0
  472.     move.l    #gadget42,d0
  473.     move.l    #2,d1
  474.     move.l    #86,d2
  475.     move.l    #6,d3
  476.     jsr    GADGET
  477.     lea    gadget42,a0
  478.     move.l    #gadget43,d0
  479.     move.l    #32,d1
  480.     move.l    #86,d2
  481.     move.l    #14,d3
  482.     jsr    GADGET
  483.     lea    gadget43,a0
  484.     move.l    #gadget44,d0
  485.     move.l    #62,d1
  486.     move.l    #86,d2
  487.     move.l    #22,d3
  488.     jsr    GADGET
  489.     lea    gadget44,a0
  490.     move.l    #gadget45,d0
  491.     move.l    #92,d1
  492.     move.l    #86,d2
  493.     move.l    #30,d3
  494.     jsr    GADGET
  495.     lea    gadget45,a0
  496.     move.l    #gadget46,d0
  497.     move.l    #122,d1
  498.     move.l    #86,d2
  499.     move.l    #38,d3
  500.     jsr    GADGET
  501.     lea    gadget46,a0
  502.     move.l    #gadget47,d0
  503.     move.l    #152,d1
  504.     move.l    #86,d2
  505.     move.l    #46,d3
  506.     jsr    GADGET
  507.     lea    gadget47,a0
  508.     move.l    #gadget48,d0
  509.     move.l    #182,d1
  510.     move.l    #86,d2
  511.     move.l    #54,d3
  512.     jsr    GADGET
  513.     lea    gadget48,a0
  514.     move.l    #gadget49,d0
  515.     move.l    #212,d1
  516.     move.l    #86,d2
  517.     move.l    #62,d3
  518.     jsr    GADGET
  519.     lea    gadget49,a0
  520.     move.l    #gadget50,d0
  521.     move.l    #2,d1
  522.     move.l    #101,d2
  523.     move.l    #7,d3
  524.     jsr    GADGET
  525.     lea    gadget50,a0
  526.     move.l    #gadget51,d0
  527.     move.l    #32,d1
  528.     move.l    #101,d2
  529.     move.l    #15,d3
  530.     jsr    GADGET
  531.     lea    gadget51,a0
  532.     move.l    #gadget52,d0
  533.     move.l    #62,d1
  534.     move.l    #101,d2
  535.     move.l    #23,d3
  536.     jsr    GADGET
  537.     lea    gadget52,a0
  538.     move.l    #gadget53,d0
  539.     move.l    #92,d1
  540.     move.l    #101,d2
  541.     move.l    #31,d3
  542.     jsr    GADGET
  543.     lea    gadget53,a0
  544.     move.l    #gadget54,d0
  545.     move.l    #122,d1
  546.     move.l    #101,d2
  547.     move.l    #39,d3
  548.     jsr    GADGET
  549.     lea    gadget54,a0
  550.     move.l    #gadget55,d0
  551.     move.l    #152,d1
  552.     move.l    #101,d2
  553.     move.l    #47,d3
  554.     jsr    GADGET
  555.     lea    gadget55,a0
  556.     move.l    #gadget56,d0
  557.     move.l    #182,d1
  558.     move.l    #101,d2
  559.     move.l    #55,d3
  560.     jsr    GADGET
  561.     lea    gadget56,a0
  562.     move.l    #gadget57,d0
  563.     move.l    #212,d1
  564.     move.l    #101,d2
  565.     move.l    #63,d3
  566.     jsr    GADGET
  567.     lea    gadget57,a0
  568.     move.l    #gadget58,d0
  569.     move.l    #2,d1
  570.     move.l    #116,d2
  571.     move.l    #8,d3
  572.     jsr    GADGET
  573.     lea    gadget58,a0
  574.     move.l    #gadget59,d0
  575.     move.l    #32,d1
  576.     move.l    #116,d2
  577.     move.l    #16,d3
  578.     jsr    GADGET
  579.     lea    gadget59,a0
  580.     move.l    #gadget60,d0
  581.     move.l    #62,d1
  582.     move.l    #116,d2
  583.     move.l    #24,d3
  584.     jsr    GADGET
  585.     lea    gadget60,a0
  586.     move.l    #gadget61,d0
  587.     move.l    #92,d1
  588.     move.l    #116,d2
  589.     move.l    #32,d3
  590.     jsr    GADGET
  591.     lea    gadget61,a0
  592.     move.l    #gadget62,d0
  593.     move.l    #122,d1
  594.     move.l    #116,d2
  595.     move.l    #40,d3
  596.     jsr    GADGET
  597.     lea    gadget62,a0
  598.     move.l    #gadget63,d0
  599.     move.l    #152,d1
  600.     move.l    #116,d2
  601.     move.l    #48,d3
  602.     jsr    GADGET
  603.     lea    gadget63,a0
  604.     move.l    #gadget64,d0
  605.     move.l    #182,d1
  606.     move.l    #116,d2
  607.     move.l    #56,d3
  608.     jsr    GADGET
  609.     lea    gadget64,a0
  610.     move.l    #bts,d0
  611.     move.l    #212,d1
  612.     move.l    #116,d2
  613.     move.l    #64,d3
  614.     jsr    GADGET
  615.         lea        wdef,a0
  616.         CALLINT         OpenWindow
  617.         move.l        d0,wptr
  618.         FILL        #92,#56,#3
  619.         FILL        #122,#56,#2
  620.         FILL        #92,#71,#2
  621.         FILL        #122,#71,#3
  622.         PRINT        msg1,#33,#90
  623.         PRINT        msg4,#33,#104
  624. vorevent    move.b        #0,upper
  625.         move.b        #0,drupper
  626.         move.b        #0,righter
  627.         move.b        #0,drowner
  628.         move.b        #0,downer
  629.         move.b        #0,dlowner
  630.         move.b        #0,lefter
  631.         move.b        #0,dlupper
  632.         move.b        #2,mode
  633.         move.b        #0,ou
  634. event2        clr.l        d5
  635.         clr.l        d4
  636.         move.b        ou,d4
  637.         move.b        #1,d5
  638.         add.b        d5,d4
  639.         lea        ou,a5
  640.         move.b        d4,(a5)
  641.         clr.l        d5
  642.         move.b        ou,d5
  643.         cmp.b        #61,d5        ;ist schon alles voll ?
  644.         beq        youpass
  645.         lea        offset,a3
  646.         lea        byte,a4
  647.         lea        tableIV,a0
  648.         lsl        #2,d5
  649.         move.l        0(a0,d5),a0
  650.         jmp        (a0)
  651. eve4        move.b        endcounter,d0
  652.         cmp.b        #0,d0
  653.         beq        event2
  654.         move.b        #0,endcounter
  655.         move.b        #0,mode
  656.         jmp        event
  657. youpass        move.b        passone,d0
  658.         cmp.b        #1,d0
  659.         beq        yopa2
  660.         jmp        u3
  661. yopa2        move.b        #0,mode
  662.         move.b        #0,endcounter
  663.         move.b        you,d0
  664.         move.b        cpu,d1
  665.         sub.b        d0,d1
  666.         add.b        #64,d1
  667.         cmp.b        #64,d1
  668.         beq        yep1
  669.         cmp.b        #64,d1
  670.         bgt        yep2
  671.         PRINT        msg5,#22,#126
  672.         jmp        event
  673. yep1        PRINT        msg6,#6,#126
  674.         jmp        event
  675. yep2        PRINT        msg7,#18,#126
  676.         jmp        event
  677. pe1        ASK        one,#0,pe2,iwi1     ;was ist frei ?
  678. pe2        ASK        eight,#0,pe3,iwi8
  679. pe3        ASK        one,#7,pe4,iwi57b
  680. pe4        ASK        eight,#7,pl1,iwi64b
  681. pl1        ASK        one,#2,pl2,iwi17
  682. pl2        ASK        one,#3,pl3,iwi25
  683. pl3        ASK        one,#4,pl4,iwi33be
  684. pl4        ASK        one,#5,pl5,iwi41be
  685. pl5        ASK        two,#2,pl6,iwi18
  686. pl6        ASK        two,#3,pl7,iwi26
  687. pl7        ASK        two,#4,pl8,iwi34be
  688. pl8        ASK        two,#5,pl9,iwi42b
  689. pl9        ASK        three,#0,pl10,iwi3
  690. pl10        ASK        three,#1,pl11,iwi11
  691. pl11        ASK        three,#2,pl12,iwi19
  692. pl12        ASK        three,#3,pl13,iwi27
  693. pl13        ASK        three,#4,pl14,iwi35be
  694. pl14        ASK        three,#5,pl15,iwi43b
  695. pl15        ASK        three,#6,pl16,iwi51b
  696. pl16        ASK        three,#7,pl17,iwi59b
  697. pl17        ASK        four,#0,pl18,iwi4
  698. pl18        ASK        four,#1,pl19,iwi12
  699. pl19        ASK        four,#2,pl20,iwi20
  700. pl20        ASK        four,#5,pl21,iwi44b
  701. pl21        ASK        four,#6,pl22,iwi52b
  702. pl22        ASK        four,#7,pl23,iwi60b
  703. pl23        ASK        five,#0,pl24,iwi5
  704. pl24        ASK        five,#1,pl25,iwi13
  705. pl25        ASK        five,#2,pl26,iwi21
  706. pl26        ASK        five,#5,pl27,iwi45b
  707. pl27        ASK        five,#6,pl28,iwi53b
  708. pl28        ASK        five,#7,pl29,iwi61b
  709. pl29        ASK        six,#0,pl30,iwi6
  710. pl30        ASK        six,#1,pl31,iwi14
  711. pl31        ASK        six,#2,pl32,iwi22
  712. pl32        ASK        six,#3,pl33,iwi30
  713. pl33        ASK        six,#4,pl34,iwi38be
  714. pl34        ASK        six,#5,pl35,iwi46b
  715. pl35        ASK        six,#6,pl36,iwi54b
  716. pl36        ASK        six,#7,pl37,iwi62b
  717. pl37        ASK        seven,#2,pl38,iwi23
  718. pl38        ASK        seven,#3,pl39,iwi31
  719. pl39        ASK        seven,#4,pl40,iwi39be
  720. pl40        ASK        seven,#5,pl41,iwi47b
  721. pl41        ASK        eight,#2,pl42,iwi24
  722. pl42        ASK        eight,#3,pl43,iwi32
  723. pl43        ASK        eight,#4,pl44,iwi40be
  724. pl44        ASK        eight,#5,pl45,iwi48b
  725. pl45        ASK        one,#1,pl46,iwi9
  726. pl46        ASK        two,#0,pl47,iwi2
  727. pl47        ASK        two,#1,pl48,iwi10
  728. pl48        ASK        eight,#1,pl49,iwi16
  729. pl49        ASK        seven,#0,pl50,iwi7
  730. pl50        ASK        seven,#1,pl51,iwi15
  731. pl51        ASK        one,#6,pl52,iwi49b
  732. pl52        ASK        two,#7,pl53,iwi58b
  733. pl53        ASK        two,#6,pl54,iwi50b
  734. pl54        ASK        eight,#6,pl55,iwi56b
  735. pl55        ASK        seven,#7,pl56,iwi63b
  736. pl56        ASK        seven,#6,eve4,iwi55b
  737. event        move.b        #0,upper
  738.         move.b        #0,drupper
  739.         move.b        #0,righter
  740.         move.b        #0,drowner
  741.         move.b        #0,downer
  742.         move.b        #0,dlowner
  743.         move.b        #0,lefter
  744.         move.b        #0,dlupper
  745.         move.l        wptr,a0
  746.         move.l        wd_UserPort(a0),a0
  747.         move.l        a0,a5
  748.         CALLEXEC    WaitPort
  749.         move.l        a5,a0
  750.         CALLEXEC    GetMsg
  751.         move.l        d0,a1
  752.         move.l        im_Class(a1),d4
  753.         move.w        im_Code(a1),d5
  754.         move.l        im_IAddress(a1),a4
  755.         CALLEXEC    ReplyMsg
  756.         cmp.l        #CLOSEWINDOW,d4
  757.         beq        dubblepseudo
  758.         move.w        gg_GadgetID(a4),d0
  759.         sub        #1,d0
  760.         lsl        #2,d0
  761.         lea.l        table,a0
  762.         move.l        0(a0,d0),a0
  763.         lea        offset,a3
  764.         lea        byte,a4
  765.         jmp        (a0)
  766. * Your move :                    
  767. * ------------
  768. iw1        ASK        one,#0,event,iwi1
  769. iwi1        move.b        #0,(a3)            ;was willst du ziehen ?
  770.         move.b        #0,(a4)
  771.         jsr        poss
  772.         jmp        zwischen
  773. iw2        ASK        two,#0,event,iwi2
  774. iwi2        move.b        #4,(a3)
  775.         move.b        #0,(a4)
  776.         jsr        poss
  777.         jmp        zwischen
  778. dubblepseudo    jmp        pseudoclosemain
  779. iw3        ASK        three,#0,event,iwi3
  780. iwi3        move.b        #8,(a3)
  781.         move.b        #0,(a4)
  782.         jsr        poss
  783.         jmp        zwischen
  784. iw4        ASK        four,#0,event,iwi4
  785. iwi4        move.b        #12,(a3)
  786.         move.b        #0,(a4)
  787.         jsr        poss
  788.         jmp        zwischen
  789. iw5        ASK        five,#0,event,iwi5
  790. iwi5        move.b        #16,(a3)
  791.         move.b        #0,(a4)
  792.         jsr        poss
  793.         jmp        zwischen
  794. pseudoevent    jmp        vorevent
  795. iw6        ASK        six,#0,event,iwi6
  796. iwi6        move.b        #20,(a3)
  797.         move.b        #0,(a4)
  798.         jsr        poss
  799.         jmp        zwischen
  800. iw7        ASK        seven,#0,event,iwi7
  801. iwi7        move.b        #24,(a3)
  802.         move.b        #0,(a4)
  803.         jsr        poss
  804.         jmp        zwischen
  805. iw8        ASK        eight,#0,event,iwi8
  806. iwi8        move.b        #28,(a3)
  807.         move.b        #0,(a4)
  808.         jsr        poss        
  809.         jmp        zwischen
  810. iw9        ASK        one,#1,event,iwi9
  811. iwi9        move.b        #0,(a3)
  812.         move.b        #1,(a4)
  813.         jsr        poss
  814.         jmp        zwischen
  815. backy1        jmp        backy2
  816. bts1        jmp        bts2
  817. ots1        jmp        ots2
  818. iw10        ASK        two,#1,event,iwi10
  819. iwi10        move.b        #4,(a3)
  820.         move.b        #1,(a4)
  821.         jsr        poss
  822.         jmp        zwischen
  823. iw11        ASK        three,#1,event,iwi11
  824. iwi11        move.b        #8,(a3)
  825.         move.b        #1,(a4)
  826.         jsr        poss
  827.         jmp        zwischen
  828. iw12        ASK        four,#1,pseudoevent,iwi12
  829. iwi12        move.b        #12,(a3)
  830.         move.b        #1,(a4)
  831.         jsr        poss
  832.         jmp        zwischen
  833. iw13        ASK        five,#1,pseudoevent,iwi13
  834. iwi13        move.b        #16,(a3)
  835.         move.b        #1,(a4)
  836.         jsr        poss
  837.         jmp        zwischen
  838. iw14        ASK        six,#1,pseudoevent,iwi14
  839. iwi14        move.b        #20,(a3)
  840.         move.b        #1,(a4)
  841.         jsr        poss
  842.         jmp        zwischen
  843. iw15        ASK        seven,#1,pseudoevent,iwi15
  844. iwi15        move.b        #24,(a3)
  845.         move.b        #1,(a4)
  846.         jsr        poss
  847.         jmp        zwischen
  848. iw16        ASK        eight,#1,pseudoevent,iwi16
  849. iwi16        move.b        #28,(a3)
  850.         move.b        #1,(a4)
  851.         jsr        poss
  852.         jmp        zwischen
  853. iw17        ASK        one,#2,pseudoevent,iwi17
  854. iwi17        move.b        #0,(a3)
  855.         move.b        #2,(a4)
  856.         jsr        poss
  857.         jmp        zwischen
  858. iw18        ASK        two,#2,pseudoevent,iwi18
  859. iwi18        move.b        #4,(a3)
  860.         move.b        #2,(a4)
  861.         jsr        poss
  862.         jmp        zwischen
  863. iw19        ASK        three,#2,pseudoevent,iwi19
  864. iwi19        move.b        #8,(a3)
  865.         move.b        #2,(a4)
  866.         jsr        poss
  867.         jmp        zwischen
  868. iw20        ASK        four,#2,pseudoevent,iwi20
  869. iwi20        move.b        #12,(a3)
  870.         move.b        #2,(a4)
  871.         jsr        poss
  872.         jmp        zwischen
  873. iw21        ASK        five,#2,pseudoevent,iwi21
  874. iwi21        move.b        #16,(a3)
  875.         move.b        #2,(a4)
  876.         jsr        poss
  877.         jmp        zwischen
  878. iwi33be        jmp        iwi33
  879. iwi34be        jmp        iwi34
  880. iwi35be        jmp        iwi35
  881. iwi38be        jmp        iwi38
  882. iwi39be        jmp        iwi39
  883. iwi40be        jmp        iwi40
  884. iw22        ASK        six,#2,pseudoevent,iwi22
  885. iwi22        move.b        #20,(a3)
  886.         move.b        #2,(a4)
  887.         jsr        poss
  888.         jmp        zwischen
  889. iw23        ASK        seven,#2,pseudoevent,iwi23
  890. iwi23        move.b        #24,(a3)
  891.         move.b        #2,(a4)
  892.         jsr        poss
  893.         jmp        zwischen
  894. u3        jmp        u4
  895. iwi41be        jmp        iwi41
  896. iwi42b        jmp        iwi42
  897. iwi43b        jmp        iwi43
  898. iwi44b        jmp        iwi44
  899. iwi45b        jmp        iwi45
  900. iwi46b        jmp        iwi46
  901. iwi47b        jmp        iwi47
  902. iwi48b        jmp        iwi48
  903. iwi49b        jmp        iwi49
  904. iwi50b        jmp        iwi50
  905. iw24        ASK        eight,#2,pseudoevent,iwi24
  906. iwi24        move.b        #28,(a3)
  907.         move.b        #2,(a4)
  908.         jsr        poss
  909.         jmp        zwischen
  910. depsef        jmp        pseudoevent
  911. iw25        ASK        one,#3,depsef,iwi25
  912. iwi25        move.b        #0,(a3)
  913.         move.b        #3,(a4)
  914.         jsr        poss
  915.         jmp        zwischen
  916. iw26        ASK        two,#3,depsef,iwi26
  917. iwi26        move.b        #4,(a3)
  918.         move.b        #3,(a4)
  919.         jsr        poss
  920.         jmp        zwischen
  921. iwi51b        jmp        iwi51
  922. iwi52b        jmp        iwi52
  923. iwi53b        jmp        iwi53
  924. iwi54b        jmp        iwi54
  925. iwi55b        jmp        iwi55
  926. iwi56b        jmp        iwi56
  927. iwi57b        jmp        iwi57
  928. iwi58b        jmp        iwi58
  929. iwi59b        jmp        iwi59
  930. iwi60b        jmp        iwi60
  931. iwi61b        jmp        iwi61
  932. iwi62b        jmp        iwi62
  933. iwi63b        jmp        iwi63
  934. iwi64b        jmp        iwi64
  935. iw27        ASK        three,#3,depsef,iwi27
  936. iwi27        move.b        #8,(a3)
  937.         move.b        #3,(a4)
  938.         jsr        poss
  939.         jmp        zwischen
  940. iw28        ASK        four,#3,depsef,depsef
  941.         jmp        depsef
  942. iw29        ASK        five,#3,depsef,depsef
  943.         jmp        depsef
  944. pseudoclosemain    jmp        closemain
  945. iw30        ASK        six,#3,depsef,iwi30
  946. iwi30        move.b        #20,(a3)
  947.         move.b        #3,(a4)
  948.         jsr        poss
  949.         jmp        zwischen
  950. iw31        ASK        seven,#3,depsef,iwi31
  951. iwi31        move.b        #24,(a3)
  952.         move.b        #3,(a4)
  953.         jsr        poss
  954.         jmp        zwischen
  955. iw32        ASK        eight,#3,depsef,iwi32
  956. iwi32        move.b        #28,(a3)
  957.         move.b        #3,(a4)
  958.         jsr        poss
  959.         jmp        zwischen
  960. eve5        jmp        eve4
  961. iw33        ASK        one,#4,depsef,iwi33
  962. iwi33        move.b        #0,(a3)
  963.         move.b        #4,(a4)
  964.         jsr        poss
  965.         jmp        zwischen
  966. iw34        ASK        two,#4,depsef,iwi34
  967. iwi34        move.b        #4,(a3)
  968.         move.b        #4,(a4)
  969.         jsr        poss
  970.         jmp        zwischen
  971. iw35        ASK        three,#4,depsef,iwi35
  972. iwi35        move.b        #8,(a3)
  973.         move.b        #4,(a4)
  974.         jsr        poss
  975.         jmp        zwischen
  976. iw36        ASK        four,#4,depsef,depsef
  977.         jmp        depsef
  978. iw37        ASK        five,#4,depsef,depsef
  979.         jmp        depsef
  980. iw38        ASK        six,#4,depsef,iwi38
  981. iwi38        move.b        #20,(a3)
  982.         move.b        #4,(a4)
  983.         jsr        poss
  984.         jmp        zwischen
  985. iw39        ASK        seven,#4,depsef,iwi39
  986. iwi39        move.b        #24,(a3)
  987.         move.b        #4,(a4)
  988.         jsr        poss
  989.         jmp        zwischen
  990. backy2        jmp        backy3
  991. bts2        jmp        bts3
  992. ots2        jmp        ots3
  993. iw40        ASK        eight,#4,depsef,iwi40
  994. iwi40        move.b        #28,(a3)
  995.         move.b        #4,(a4)
  996.         jsr        poss
  997.         jmp        zwischen
  998. iw41        ASK        one,#5,depsef,iwi41
  999. iwi41        move.b        #0,(a3)
  1000.         move.b        #5,(a4)
  1001.         jsr        poss
  1002.         jmp        zwischen
  1003. iw42        ASK        two,#5,depsef,iwi42
  1004. iwi42        move.b        #4,(a3)
  1005.         move.b        #5,(a4)
  1006.         jsr        poss
  1007.         jmp        zwischen
  1008. iw43        ASK        three,#5,depsef,iwi43
  1009. iwi43        move.b        #8,(a3)
  1010.         move.b        #5,(a4)
  1011.         jsr        poss
  1012.         jmp        zwischen
  1013. iw44        ASK        four,#5,depsef,iwi44
  1014. iwi44        move.b        #12,(a3)
  1015.         move.b        #5,(a4)
  1016.         jsr        poss
  1017.         jmp        zwischen
  1018. iw45        ASK        five,#5,depsef,iwi45
  1019. iwi45        move.b        #16,(a3)
  1020.         move.b        #5,(a4)
  1021.         jsr        poss
  1022.         jmp        zwischen
  1023. iw46        ASK        six,#5,depsef,iwi46
  1024. iwi46        move.b        #20,(a3)
  1025.         move.b        #5,(a4)
  1026.         jsr        poss
  1027.         jmp        zwischen
  1028. iw47        ASK        seven,#5,depsef,iwi47
  1029. iwi47        move.b        #24,(a3)
  1030.         move.b        #5,(a4)
  1031.         jsr        poss
  1032.         jmp        zwischen
  1033. iwi1b        jmp        iwi1
  1034. iwi2b        jmp        iwi2
  1035. iwi3b        jmp        iwi3
  1036. iwi4b        jmp        iwi4
  1037. iwi5b        jmp        iwi5
  1038. iwi6b        jmp        iwi6
  1039. iw48        ASK        eight,#5,depsef,iwi48
  1040. iwi48        move.b        #28,(a3)
  1041.         move.b        #5,(a4)
  1042.         jsr        poss
  1043.         jmp        zwischen
  1044. iw49        ASK        one,#6,depsef,iwi49
  1045. iwi49        move.b        #0,(a3)
  1046.         move.b        #6,(a4)
  1047.         jsr        poss
  1048.         jmp        zwischen
  1049. iw50        ASK        two,#6,depsef,iwi50
  1050. iwi50        move.b        #4,(a3)
  1051.         move.b        #6,(a4)
  1052.         jsr        poss
  1053.         jmp        zwischen
  1054. iwi7b        jmp        iwi7
  1055. iwi8b        jmp        iwi8
  1056. iwi9b        jmp        iwi9
  1057. iwi10b        jmp        iwi10
  1058. iwi11b        jmp        iwi11
  1059. iwi12b        jmp        iwi12
  1060. iw51        ASK        three,#6,depsef,iwi51
  1061. iwi51        move.b        #8,(a3)
  1062.         move.b        #6,(a4)
  1063.         jsr        poss
  1064.         jmp        zwischen
  1065. iw52        ASK        four,#6,depsef,iwi52
  1066. iwi52        move.b        #12,(a3)
  1067.         move.b        #6,(a4)
  1068.         jsr        poss
  1069.         jmp        zwischen
  1070. iwi13b        jmp        iwi13
  1071. iwi14b        jmp        iwi14
  1072. iwi15b        jmp        iwi15
  1073. iwi16b        jmp        iwi16
  1074. iwi17b        jmp        iwi17
  1075. iwi18b        jmp        iwi18
  1076. iwi19b        jmp        iwi19
  1077. iwi20b        jmp        iwi20
  1078. iw53        ASK        five,#6,depsef,iwi53
  1079. iwi53        move.b        #16,(a3)
  1080.         move.b        #6,(a4)
  1081.         jsr        poss
  1082.         jmp        zwischen
  1083. iw54        ASK        six,#6,depsef,iwi54
  1084. iwi54        move.b        #20,(a3)
  1085.         move.b        #6,(a4)
  1086.         jsr        poss
  1087.         jmp        zwischen
  1088. iwi21b        jmp        iwi21
  1089. iwi22b        jmp        iwi22
  1090. iwi23b        jmp        iwi23
  1091. iwi24b        jmp        iwi24
  1092. iwi25b        jmp        iwi25
  1093. iwi26b        jmp        iwi26
  1094. iwi27b        jmp        iwi27
  1095. iw55        ASK        seven,#6,depsef,iwi55
  1096. iwi55        move.b        #24,(a3)
  1097.         move.b        #6,(a4)
  1098.         jsr        poss
  1099.         jmp        zwischen
  1100. iwi30b        jmp        iwi30
  1101. iwi31b        jmp        iwi31
  1102. iwi32b        jmp        iwi32
  1103. iwi33b        jmp        iwi33
  1104. iwi34b        jmp        iwi34
  1105. iwi35b        jmp        iwi35
  1106. iwi38b        jmp        iwi38
  1107. iwi39b        jmp        iwi39
  1108. iwi40b        jmp        iwi40
  1109. iwi41b        jmp        iwi41
  1110. iw56        ASK        eight,#6,depsef,iwi56
  1111. iwi56        move.b        #28,(a3)
  1112.         move.b        #6,(a4)
  1113.         jsr        poss
  1114.         jmp        zwischen
  1115. iw57        ASK        one,#7,depsef,iwi57
  1116. iwi57        move.b        #0,(a3)
  1117.         move.b        #7,(a4)
  1118.         jsr        poss
  1119.         jmp        zwischen
  1120. u4        jmp        u5
  1121. iw58        ASK        two,#7,depsef,iwi58
  1122. iwi58        move.b        #4,(a3)
  1123.         move.b        #7,(a4)
  1124.         jsr        poss
  1125.         jmp        zwischen
  1126. iw59        ASK        three,#7,depsef,iwi59
  1127. iwi59        move.b        #8,(a3)
  1128.         move.b        #7,(a4)
  1129.         jsr        poss
  1130.         jmp        zwischen
  1131. iw60        ASK        four,#7,depsef,iwi60
  1132. iwi60        move.b        #12,(a3)
  1133.         move.b        #7,(a4)
  1134.         jsr        poss
  1135.         jmp        zwischen
  1136. iw61        ASK        five,#7,depsef,iwi61
  1137. iwi61        move.b        #16,(a3)
  1138.         move.b        #7,(a4)
  1139.         jsr        poss
  1140.         jmp        zwischen
  1141. rucksack    jmp        depsef
  1142. iw62        ASK        six,#7,depsef,iwi62
  1143. iwi62        move.b        #20,(a3)
  1144.         move.b        #7,(a4)
  1145.         jsr        poss
  1146.         jmp        zwischen
  1147. iw63        ASK        seven,#7,depsef,iwi63
  1148. iwi63        move.b        #24,(a3)
  1149.         move.b        #7,(a4)
  1150.         jsr        poss
  1151.         jmp        zwischen
  1152. iw64        ASK        eight,#7,depsef,iwi64
  1153. iwi64        move.b        #28,(a3)
  1154.         move.b        #7,(a4)
  1155.         jsr        poss
  1156. zwischen    move.b        mode,d0
  1157.         cmp.b        #1,d0
  1158.         beq        movein
  1159.         cmp.b        #2,d0
  1160.         beq        eve5
  1161.         move.b        endcounter,d0
  1162.         cmp.b        #0,d0
  1163.         beq        rucksack
  1164.         lea        cop1,a5
  1165.         lea        one,a4
  1166.         jsr        chab
  1167.         lea        cop2,a5
  1168.         lea        two,a4
  1169.         jsr        chab
  1170.         lea        cop3,a5
  1171.         lea        three,a4
  1172.         jsr        chab
  1173.         lea        cop4,a5
  1174.         lea        four,a4
  1175.         jsr        chab
  1176.         lea        cop5,a5
  1177.         lea        five,a4
  1178.         jsr        chab
  1179.         lea        cop6,a5
  1180.         lea        six,a4
  1181.         jsr        chab
  1182.         lea        cop7,a5
  1183.         lea        seven,a4
  1184.         jsr        chab
  1185.         lea        cop8,a5
  1186.         lea        eight,a4
  1187.         jsr        chab
  1188.         move.b        upper,d0
  1189.         cmp.b        #0,d0
  1190.         beq        n1
  1191.         CHANGE        #4,#0,#2,#1,#3
  1192. n1        move.b        drupper,d0
  1193.         cmp.b        #0,d0
  1194.         beq        n2
  1195.         CHANGE        #4,#-1,#2,#1,#3
  1196. n2        move.b        righter,d0
  1197.         cmp.b        #0,d0
  1198.         beq        n3
  1199.         CHANGE        #0,#-1,#2,#1,#3
  1200. n3        move.b        drowner,d0
  1201.         cmp.b        #0,d0
  1202.         beq        n4
  1203.         CHANGE        #-4,#-1,#2,#1,#3
  1204. n4        move.b        downer,d0
  1205.         cmp.b        #0,d0
  1206.         beq        n5
  1207.         CHANGE        #-4,#0,#2,#1,#3
  1208. n5        move.b        dlowner,d0
  1209.         cmp.b        #0,d0
  1210.         beq        n6
  1211.         CHANGE        #-4,#1,#2,#1,#3
  1212. n6        move.b        lefter,d0
  1213.         cmp.b        #0,d0
  1214.         beq        n7
  1215.         CHANGE        #0,#1,#2,#1,#3
  1216. n7        move.b        dlupper,d0
  1217.         cmp.b        #0,d0
  1218.         beq        fxs
  1219.         CHANGE        #4,#1,#2,#1,#3
  1220. fxs        lea        mode,a0
  1221.         move.b        #1,(a0)
  1222.         jsr        count
  1223.         HEXER        msg2,you,#90
  1224.         HEXER        msg3,cpu,#104
  1225. u5        move.b        cpu,d0        ;der Computer zieht !
  1226.         cmp.b        #0,d0
  1227.         beq        r2
  1228.         move.b        #0,passone
  1229.         lea        hicounter,a0
  1230.         move.b        #0,(a0)
  1231.         lea        endcounter,a0
  1232.         move.b        #0,(a0)
  1233.         move.b        #0,abagain
  1234.         lea        mode,a0
  1235.         move.b        #1,(a0)
  1236.         move.b        #1,fab1
  1237.         move.b        #2,fab2
  1238. u7        lea        ou,a0
  1239.         move.b        #0,(a0)
  1240. uptohim        move.b        #0,upper
  1241.         move.b        #0,drupper
  1242.         move.b        #0,righter
  1243.         move.b        #0,dlupper
  1244.         move.b        #0,downer
  1245.         move.b        #0,dlowner
  1246.         move.b        #0,lefter
  1247.         move.b        #0,dlupper
  1248.         clr.l        d5
  1249.         clr.l        d4
  1250.         move.b        ou,d4
  1251.         move.b        #1,d5
  1252.         add.b        d5,d4
  1253.         lea        ou,a5
  1254.         move.b        d4,(a5)
  1255.         clr.l        d5
  1256.         move.b        ou,d5
  1257.         cmp.b        #61,d5
  1258.         beq        executeit
  1259.         cmp.b        #5,d5
  1260.         beq        m5
  1261.         cmp.b        #29,d5
  1262.         beq        m11
  1263. u2        lea        offset,a3
  1264.         lea        byte,a4
  1265.         lea        tableIII,a0
  1266.         move.b        ou,d5
  1267.         lsl        #2,d5
  1268.         move.l        0(a0,d5),a0
  1269.         jmp        (a0)
  1270. e1        ASK        one,#0,e2,iwi1b        ;was ist frei ?
  1271. e2        ASK        eight,#0,e3,iwi8b
  1272. e3        ASK        one,#7,e4,iwi57
  1273. e4        ASK        eight,#7,l1,iwi64
  1274. l1        ASK        one,#2,l2,iwi17b
  1275. l2        ASK        one,#3,l3,iwi25b
  1276. l3        ASK        one,#4,l4,iwi33b
  1277. l4        ASK        one,#5,l5,iwi41b
  1278. l5        ASK        three,#0,l6,iwi3b
  1279. l6        ASK        four,#0,l7,iwi4b
  1280. l7        ASK        five,#0,l8,iwi5b
  1281. l8        ASK        six,#0,l9,iwi6b
  1282. l9        ASK        eight,#2,l10,iwi24b
  1283. l10        ASK        eight,#3,l11,iwi32b
  1284. l11        ASK        eight,#4,l12,iwi40b
  1285. l12        ASK        eight,#5,l13,iwi48
  1286. l13        ASK        four,#7,l14,iwi60
  1287. l14        ASK        five,#7,l15,iwi61
  1288. l15        ASK        six,#7,l16,iwi62
  1289. l16        ASK        three,#7,l17,iwi59
  1290. l17        ASK        one,#1,l18,iwi9b
  1291. l18        ASK        two,#0,l19,iwi2b
  1292. l19        ASK        eight,#1,l20,iwi16b
  1293. l20        ASK        seven,#0,l21,iwi7b
  1294. l21        ASK        one,#6,l22,iwi49
  1295. l22        ASK        two,#7,l23,iwi58
  1296. l23        ASK        eight,#6,l24,iwi56
  1297. l24        ASK        seven,#7,l25,iwi63
  1298. l25        ASK        five,#2,l26,iwi21b
  1299. l26        ASK        five,#5,l27,iwi45
  1300. l27        ASK        five,#6,l28,iwi53
  1301. l28        ASK        three,#5,l29,iwi43
  1302. l29        ASK        two,#5,l30,iwi42
  1303. l30        ASK        six,#1,l31,iwi14b
  1304. l31        ASK        six,#2,l32,iwi22b
  1305. l32        ASK        six,#3,l33,iwi30b
  1306. l33        ASK        six,#4,l34,iwi38b
  1307. l34        ASK        six,#5,l35,iwi46
  1308. l35        ASK        six,#6,l36,iwi54
  1309. l36        ASK        three,#6,l37,iwi51
  1310. l37        ASK        seven,#2,l38,iwi23b
  1311. l38        ASK        seven,#3,l39,iwi31b
  1312. l39        ASK        seven,#4,l40,iwi39b
  1313. l40        ASK        seven,#5,l41,iwi47
  1314. l41        ASK        two,#2,l42,iwi18b
  1315. l42        ASK        three,#1,l43,iwi11b
  1316. l43        ASK        three,#2,l44,iwi19b
  1317. l44        ASK        three,#3,l45,iwi27b
  1318. l45        ASK        two,#3,l46,iwi26b
  1319. l46        ASK        four,#1,l47,iwi12b
  1320. l47        ASK        four,#2,l48,iwi20b
  1321. l48        ASK        four,#5,l49,iwi44
  1322. l49        ASK        four,#6,l50,iwi52
  1323. l50        ASK        three,#4,l51,iwi35b
  1324. l51        ASK        two,#4,l52,iwi34b
  1325. l52        ASK        five,#1,l53,iwi13b
  1326. l53        ASK        two,#6,l54,iwi50
  1327. l54        ASK        seven,#1,l55,iwi15b
  1328. l55        ASK        two,#1,l56,iwi10b
  1329. l56        ASK        seven,#6,movein,iwi55
  1330. movein        move.b        endcounter,d0
  1331.         cmp.b        #0,d0
  1332.         beq        uptohim
  1333.         add.b        #1,d0
  1334.         move.b        d0,endcounter
  1335.         move.b        ou,d0
  1336.         cmp.b        #57,d0
  1337.         bge        m8
  1338. m7        move.b        hicounter,d1
  1339.         move.b        endcounter,d0
  1340.         sub.b        d1,d0
  1341.         add.b        #63,d0
  1342.         cmp.b        #63,d0
  1343.         beq        m40
  1344.         cmp.b        #63,d0
  1345.         bge        m2
  1346. m3        move.b        #0,endcounter
  1347.         jmp        uptohim
  1348. m2        lea        hicounter,a0
  1349.         move.b        endcounter,d0
  1350.         move.b        d0,(a0)
  1351.         move.b        #0,endcounter
  1352.         move.b        offset,d2
  1353.         move.b        d2,highoff
  1354.         move.b        byte,d2
  1355.         move.b        d2,highbyte
  1356.         move.b        upper,d2
  1357.         move.b        d2,hiupper
  1358.         move.b        drupper,d2
  1359.         move.b        d2,hidrupper
  1360.         move.b        righter,d2
  1361.         move.b        d2,hirighter
  1362.         move.b        drowner,d2
  1363.         move.b        d2,hidrowner
  1364.         move.b        downer,d2
  1365.         move.b        d2,hidowner
  1366.         move.b        dlowner,d2
  1367.         move.b        d2,hidlowner
  1368.         move.b        lefter,d2
  1369.         move.b        d2,hilefter
  1370.         move.b        dlupper,d2
  1371.         move.b        d2,hidlupper
  1372.         jmp        m3
  1373. m40        move.b        $dff007,d0
  1374.         btst        #1,d0
  1375.         beq        m3
  1376.         jmp        m2
  1377. m8        move.b        #1,endcounter
  1378.         jmp        m7
  1379. m5        move.b        hicounter,d0
  1380.         cmp.b        #0,d0
  1381.         beq        u2
  1382.         jmp        executeit
  1383. m11        move.b        hicounter,d0
  1384.         cmp.b        #0,d0
  1385.         beq        u2
  1386.         move.b        highbyte,d0
  1387.         cmp.b        #0,d0
  1388.         beq        m12
  1389.         cmp.b        #7,d0
  1390.         beq        m12
  1391.         move.b        hirighter,d0
  1392.         cmp.b        #0,d0
  1393.         beq        m13
  1394.         jmp        m18
  1395. m13        clr.l        d2
  1396.         clr.l        d3
  1397.         move.b        highoff,d2
  1398.         lea        tableII,a4
  1399.         move.l        0(a4,d2),a5
  1400.         move.b        highbyte,d3
  1401.         add        #1,d3
  1402.         move.b        0(a5,d3),d4
  1403.         cmp.b        #1,d4
  1404.         beq        m16
  1405.         jmp        m18
  1406. m16        move.b        #1,hicounter
  1407.         jmp        u2    
  1408. m18        move.b        hilefter,d0
  1409.         cmp.b        #0,d0
  1410.         beq        m19
  1411.         jmp        executeit
  1412. m19        clr.l        d2
  1413.         clr.l        d3
  1414.         move.b        highoff,d2
  1415.         lea        tableII,a4
  1416.         move.l        0(a4,d2),a5
  1417.         move.b        highbyte,d3
  1418.         sub        #1,d3
  1419.         move.b        0(a5,d3),d4
  1420.         cmp.b        #1,d4
  1421.         beq        m22
  1422.         jmp        executeit
  1423. m22        move.b        #1,hicounter
  1424.         jmp        u2        
  1425. m12        move.b        hidowner,d0
  1426.         cmp.b        #0,d0
  1427.         beq        m23
  1428.         jmp        m28
  1429. m23        clr.l        d2
  1430.         clr.l        d3
  1431.         move.b        highoff,d2
  1432.         add        #4,d2
  1433.         lea        tableII,a4
  1434.         move.l        0(a4,d2),a5
  1435.         move.b        highbyte,d3
  1436.         move.b        0(a5,d3),d4
  1437.         cmp.b        #1,d4
  1438.         beq        m26
  1439.         jmp        m28
  1440. m26        move.b        #1,hicounter
  1441.         jmp        u2    
  1442. m28        move.b        hiupper,d0
  1443.         cmp.b        #0,d0
  1444.         beq        m29
  1445.         jmp        executeit
  1446. m29        clr.l        d2
  1447.         clr.l        d3
  1448.         move.b        highoff,d2
  1449.         sub        #4,d2
  1450.         lea        tableII,a4
  1451.         move.l        0(a4,d2),a5
  1452.         move.b        highbyte,d3
  1453.         move.b        0(a5,d3),d4
  1454.         cmp.b        #1,d4
  1455.         beq        m32
  1456.         jmp        executeit
  1457. m32        move.b        #1,hicounter
  1458.         jmp        u2        
  1459. m6        move.b        #0,mode
  1460.         jmp        rucksack
  1461. executeit    move.b        hicounter,d0
  1462.         cmp.b        #0,d0
  1463.         beq        r3
  1464.         move.b        abagain,d0
  1465.         cmp.b        #0,d0
  1466.         beq        ex2
  1467.         jsr        blink
  1468.         move.b        highoff,d2
  1469.         move.b        d2,offset
  1470.         move.b        highbyte,d2
  1471.         move.b        d2,byte
  1472.         move.b        hiupper,d0
  1473.         cmp.b        #0,d0
  1474.         beq        n1b
  1475.         CHANGE        #4,#0,#1,#2,#2
  1476. n1b        move.b        hidrupper,d0
  1477.         cmp.b        #0,d0
  1478.         beq        n2b
  1479.         CHANGE        #4,#-1,#1,#2,#2
  1480. n2b        move.b        hirighter,d0
  1481.         cmp.b        #0,d0
  1482.         beq        n3b
  1483.         CHANGE        #0,#-1,#1,#2,#2
  1484. n3b        move.b        hidrowner,d0
  1485.         cmp.b        #0,d0
  1486.         beq        n4b
  1487.         CHANGE        #-4,#-1,#1,#2,#2
  1488. n4b        move.b        hidowner,d0
  1489.         cmp.b        #0,d0
  1490.         beq        n5b
  1491.         CHANGE        #-4,#0,#1,#2,#2
  1492. n5b        move.b        hidlowner,d0
  1493.         cmp.b        #0,d0
  1494.         beq        n6b
  1495.         CHANGE        #-4,#1,#1,#2,#2
  1496. n6b        move.b        hilefter,d0
  1497.         cmp.b        #0,d0
  1498.         beq        n7b
  1499.         CHANGE        #0,#1,#1,#2,#2
  1500. n7b        move.b        hidlupper,d0
  1501.         cmp.b        #0,d0
  1502.         beq        fxsb
  1503.         CHANGE        #4,#1,#1,#2,#2
  1504. fxsb        jsr        count
  1505.         HEXER        msg2,you,#90
  1506.         HEXER        msg3,cpu,#104
  1507.         jmp        r2
  1508. r3        move.b        #1,passone
  1509. r2        move.b        #2,fab1
  1510.         move.b        #1,fab2
  1511.         move.b        #0,mode
  1512.         jmp        rucksack
  1513. ex2        move.b        #1,abagain
  1514.         jmp        u7
  1515. bts3        jsr        clear
  1516.         jmp        u5
  1517. ots3        jsr        clear
  1518.         jmp        rucksack
  1519. *  ChangeOld :
  1520. * -------------
  1521. chab        move.l        #8,d5
  1522. ch2        move.b        (a4)+,(a5)+
  1523.         sub        #1,d5
  1524.         beq        ch3
  1525.         jmp        ch2
  1526. ch3        rts
  1527. *  Back :
  1528. * --------                    ;wenn "Back" gedrückt wurde
  1529. backy3        lea        one,a4
  1530.         lea        cop1,a5
  1531.         move.l        #8,d4
  1532. bac1        move.b        (a5)+,(a4)+
  1533.         sub        #1,d4
  1534.         beq        bac2
  1535.         jmp        bac1
  1536. bac2        lea        two,a4
  1537.         lea        cop2,a5
  1538.         move.l        #8,d4
  1539. bac3        move.b        (a5)+,(a4)+
  1540.         sub        #1,d4
  1541.         beq        bac4
  1542.         jmp        bac3
  1543. bac4        lea        three,a4
  1544.         lea        cop3,a5
  1545.         move.l        #8,d4
  1546. bac5        move.b        (a5)+,(a4)+
  1547.         sub        #1,d4
  1548.         beq        bac6
  1549.         jmp        bac5
  1550. bac6        lea        four,a4
  1551.         lea        cop4,a5
  1552.         move.l        #8,d4
  1553. bac7        move.b        (a5)+,(a4)+
  1554.         sub        #1,d4
  1555.         beq        bac8
  1556.         jmp        bac7        
  1557. bac8        lea        five,a4
  1558.         lea        cop5,a5
  1559.         move.l        #8,d4
  1560. bac9        move.b        (a5)+,(a4)+
  1561.         sub        #1,d4
  1562.         beq        bac10
  1563.         jmp        bac9
  1564. bac10        lea        six,a4
  1565.         lea        cop6,a5
  1566.         move.l        #8,d4
  1567. bac11        move.b        (a5)+,(a4)+
  1568.         sub        #1,d4
  1569.         beq        bac12
  1570.         jmp        bac11
  1571. bac12        lea        seven,a4
  1572.         lea        cop7,a5
  1573.         move.l        #8,d4
  1574. bac13        move.b        (a5)+,(a4)+
  1575.         sub        #1,d4
  1576.         beq        bac14
  1577.         jmp        bac13
  1578. bac14        lea        eight,a4
  1579.         lea        cop8,a5
  1580.         move.l        #8,d4
  1581. bac15        move.b        (a5)+,(a4)+
  1582.         sub        #1,d4
  1583.         beq        bac16
  1584.         jmp        bac15
  1585.         jmp        rucksack
  1586. bac16        move.l        wptr,a1
  1587.         move.l        wd_RPort(a1),a1
  1588.         move.l        #0,d0
  1589.         CALLGRAF    SetAPen
  1590.         move.l        wptr,a1
  1591.         move.l        wd_RPort(a1),a1
  1592.         move.l        #133,d0
  1593.         move.l        #13,d1
  1594.         move.l        #377,d2
  1595.         move.l        #131,d3
  1596.         CALLGRAF    RectFill
  1597.         move.l        gadget1,a0
  1598.         move.l        wptr,a1
  1599.         move.l        #0,a2
  1600.         CALLINT        RefreshGadget
  1601.         clr.l        d5
  1602.         clr.l        d6
  1603. btouch        lea        tableII,a3
  1604.         move.l        0(a3,d5),a3
  1605.         move.l        #8,d4
  1606. bwhich        move.b        (a3)+,d6
  1607.         cmp.b        #0,d6
  1608.         beq        bnext
  1609.         cmp.b        #2,d6
  1610.         beq        bacblac
  1611.         cmp.b        #1,d6
  1612.         beq        bacora
  1613. brunter        add        #4,d5
  1614.         cmp        #32,d5
  1615.         beq        brrret
  1616.         jmp        btouch
  1617. bacora        move.l        #8,d3
  1618.         sub        d4,d3
  1619.         mulu        #30,d3
  1620.         add        #2,d3
  1621.         move.w        d3,xfill
  1622.         move.l        d5,d3
  1623.         lsr        #2,d3
  1624.         mulu        #15,d3
  1625.         add        #11,d3
  1626.         move.w        d3,yfill
  1627.         FILL        xfill,yfill,#3
  1628.         jmp        bnext
  1629. bacblac        move.l        #8,d3
  1630.         sub        d4,d3
  1631.         mulu        #30,d3
  1632.         add        #2,d3
  1633.         move.w        d3,xfill
  1634.         move.l        d5,d2
  1635.         lsr        #2,d2
  1636.         mulu        #15,d2
  1637.         add        #11,d2
  1638.         move.w        d2,yfill
  1639.         FILL        xfill,yfill,#2
  1640. bnext        sub        #1,d4
  1641.         beq        brunter
  1642.         jmp        bwhich
  1643. brrret        jsr        count
  1644.         HEXER        msg2,you,#90
  1645.         HEXER        msg2,cpu,#104
  1646.         PRINT        msg9,#6,#126
  1647.         jmp        rucksack
  1648. *  Blinker :
  1649. * -----------                    ;blink mal kurz (s/w)
  1650. blink        clr.l        d2
  1651.         clr.l        d3
  1652.         move.b        highbyte,d2
  1653.         mulu        #30,d2
  1654.         add        #2,d2
  1655.         move.w        d2,xfill
  1656.         move.b        highoff,d3
  1657.         lsr        #2,d3
  1658.         mulu        #15,d3
  1659.         add        #11,d3
  1660.         move.w        d3,yfill
  1661.         move.l        #4,d5
  1662. b4        sub        #1,d5
  1663.         cmp        #0,d5
  1664.         beq        bret
  1665.         FILL        xfill,yfill,#1
  1666.         move.l        #20000,d6
  1667. b1        sub        #1,d6
  1668.         cmp        #0,d6
  1669.         beq        b2
  1670.         jmp        b1
  1671. b2        FILL        xfill,yfill,#2
  1672.         move.l        #20000,d6
  1673. b5        sub        #1,d6
  1674.         cmp        #0,d6
  1675.         beq        b4
  1676.         jmp        b5
  1677. bret        rts
  1678. *  Possnotmac :
  1679. * --------------
  1680. poss        POSSIBLE    #4,#0,upper    ;möglich ?
  1681.         POSSIBLE    #4,#-1,drupper
  1682.         POSSIBLE    #0,#-1,righter
  1683.         POSSIBLE    #-4,#-1,drowner
  1684.         POSSIBLE    #-4,#0,downer
  1685.         POSSIBLE    #-4,#1,dlowner
  1686.         POSSIBLE    #0,#1,lefter
  1687.         POSSIBLE    #4,#1,dlupper
  1688.         rts
  1689. *  Counter :
  1690. * -----------                    ;durchzählen
  1691. count        clr.l        d5
  1692.         clr.l        d6
  1693.         lea        you,a5
  1694.         lea        cpu,a4
  1695.         move.b        #0,(a5)
  1696.         move.b        #0,(a4)
  1697. touchdown    lea        tableII,a3
  1698.         move.l        0(a3,d5),a3
  1699.         move.l        #8,d2
  1700. which        move.b        (a3)+,d3
  1701.         cmp.b        #0,d3
  1702.         beq        next
  1703.         cmp.b        #2,d3
  1704.         beq        toblack
  1705.         cmp.b        #1,d3
  1706.         beq        toorange
  1707. toblack        add.b        #1,(a4)
  1708.         jmp        next
  1709. toorange    add.b        #1,(a5)
  1710. next        sub        #1,d2
  1711.         tst        d2
  1712.         beq        runter
  1713.         jmp        which
  1714. runter        add        #4,d5
  1715.         cmp        #32,d5
  1716.         beq        cret
  1717.         jmp        touchdown
  1718. cret        rts
  1719. *  Clear :
  1720. * ---------
  1721. clear        move.l        wptr,a1
  1722.         move.l        wd_RPort(a1),a1
  1723.         move.l        #0,d0
  1724.         CALLGRAF    SetAPen
  1725.         move.l        wptr,a1
  1726.         move.l        wd_RPort(a1),a1
  1727.         move.l        #133,d0
  1728.         move.l        #13,d1
  1729.         move.l        #377,d2
  1730.         move.l        #131,d3
  1731.         CALLGRAF    RectFill
  1732.         move.l        gadget1,a0
  1733.         move.l        wptr,a1
  1734.         move.l        #0,a2
  1735.         CALLINT        RefreshGadget
  1736.         lea        one,a0
  1737.         lea        two,a1
  1738.         lea        three,a2
  1739.         lea        six,a3
  1740.         lea        seven,a4
  1741.         lea        eight,a5
  1742.         move.l        #8,d0
  1743. cl2        move.b        #0,(a0)+
  1744.         move.b        #0,(a1)+
  1745.         move.b        #0,(a2)+        
  1746.         move.b        #0,(a3)+
  1747.         move.b        #0,(a4)+
  1748.         move.b        #0,(a5)+
  1749.         sub        #1,d0
  1750.         tst        d0
  1751.         beq        cl6
  1752.         jmp        cl2
  1753. cl6        lea        cop1,a0
  1754.         lea        cop2,a1
  1755.         lea        cop3,a2
  1756.         lea        cop6,a3
  1757.         lea        cop7,a4
  1758.         lea        cop8,a5
  1759.         move.l        #8,d0
  1760. cl7        move.b        #0,(a0)+
  1761.         move.b        #0,(a1)+
  1762.         move.b        #0,(a2)+        
  1763.         move.b        #0,(a3)+
  1764.         move.b        #0,(a4)+
  1765.         move.b        #0,(a5)+
  1766.         sub        #1,d0
  1767.         tst        d0
  1768.         beq        cl3
  1769.         jmp        cl7
  1770. cl3        lea        four,a0
  1771.         lea        five,a1
  1772.         lea        cop4,a2
  1773.         lea        cop5,a3
  1774.         move.b        #0,(a0)+
  1775.         move.b        #0,(a1)+
  1776.         move.b        #0,(a0)+
  1777.         move.b        #0,(a1)+
  1778.         move.b        #0,(a0)+
  1779.         move.b        #0,(a1)+        
  1780.         move.b        #1,(a0)+
  1781.         move.b        #2,(a1)+
  1782.         move.b        #2,(a0)+
  1783.         move.b        #1,(a1)+
  1784.         move.b        #0,(a0)+
  1785.         move.b        #0,(a1)+
  1786.         move.b        #0,(a0)+
  1787.         move.b        #0,(a1)+
  1788.         move.b        #0,(a0)+
  1789.         move.b        #0,(a1)+
  1790.         move.b        #0,(a2)+
  1791.         move.b        #0,(a3)+
  1792.         move.b        #0,(a2)+
  1793.         move.b        #0,(a3)+
  1794.         move.b        #0,(a2)+
  1795.         move.b        #0,(a3)+        
  1796.         move.b        #1,(a2)+
  1797.         move.b        #2,(a3)+
  1798.         move.b        #2,(a2)+
  1799.         move.b        #1,(a3)+
  1800.         move.b        #0,(a2)+
  1801.         move.b        #0,(a3)+
  1802.         move.b        #0,(a2)+
  1803.         move.b        #0,(a3)+
  1804.         move.b        #0,(a2)+
  1805.         move.b        #0,(a3)+
  1806.         move.b        #2,you
  1807.         move.b        #2,cpu
  1808.         PRINT        msg1,#33,#90
  1809.         PRINT        msg4,#33,#104
  1810.         FILL        #92,#56,#3
  1811.         FILL        #122,#56,#2
  1812.         FILL        #92,#71,#2
  1813.         FILL        #122,#71,#3
  1814.         PRINT        msg9,#6,#126
  1815.         rts
  1816. *  finish activity :
  1817. * -------------------
  1818. closemain    move.l        wptr,a0
  1819.         CALLINT        CloseWindow
  1820. closeDOS    move.l        _DOSBase,a1
  1821.         CALLEXEC    CloseLibrary
  1822. closegraf    move.l        _GfxBase,a1
  1823.         CALLEXEC    CloseLibrary
  1824. closeint    move.l        _IntuitionBase,a1
  1825.         CALLEXEC    CloseLibrary
  1826. stop_it        rts
  1827. W_gadgets equ    WINDOWCLOSE!WINDOWDRAG!WINDOWDEPTH
  1828. W_extras  equ   SMART_REFRESH!ACTIVATE
  1829. W_Title        dc.b    "  REVCOMP V1.2   by   MARC FISCHLIN  ",0
  1830.         even                         
  1831. wdef        dc.w    130,32
  1832.         dc.w    380,136
  1833.         dc.b    2,1
  1834.         dc.l     GADGETUP!CLOSEWINDOW
  1835.         dc.l    W_gadgets!W_extras
  1836.         dc.l    gadget1
  1837.         dc.l    0
  1838.         dc.l    W_Title
  1839.         dc.l    0,0
  1840.         dc.w    50,50,400,200
  1841.         dc.w    WBENCHSCREEN
  1842. intname        INTNAME
  1843. grafname      GRAFNAME
  1844. DOSname        DOSNAME
  1845. _IntuitionBase    ds.l    1
  1846. _GfxBase    ds.l    1
  1847. _DOSBase     ds.l    1
  1848. wptr        ds.l    1
  1849. counter        dc.w    0
  1850. endcounter    dc.w    0
  1851. xfill        dc.w    0
  1852. yfill        dc.w    0
  1853. ou        dc.b    0
  1854. abx        dc.b    0
  1855. ab1        dc.b    0
  1856. abagain        dc.b    0
  1857. test        dc.b    0
  1858. highoff        dc.b    0
  1859. highbyte    dc.b    0
  1860. hicounter    dc.b    0
  1861. ecke        dc.b    0
  1862. hiupper        dc.b    0
  1863. hidrupper    dc.b    0
  1864. hirighter    dc.b    0
  1865. hidrowner    dc.b    0
  1866. hidowner    dc.b    0
  1867. hidlowner    dc.b    0
  1868. hilefter    dc.b    0
  1869. hidlupper    dc.b    0
  1870. passone        dc.b    0
  1871. upper        dc.b    0
  1872. drupper        dc.b    0
  1873. righter        dc.b    0
  1874. drowner        dc.b    0
  1875. downer        dc.b    0
  1876. dlowner        dc.b    0
  1877. lefter        dc.b    0
  1878. dlupper        dc.b    0
  1879. you        dc.b    0
  1880. cpu        dc.b    0
  1881. offset        dc.b    0
  1882. byte        dc.b    0
  1883. mode        dc.b    0
  1884. fab1        dc.b    2
  1885. fab2        dc.b    1
  1886.         even        
  1887. one        dc.b    0,0,0,0,0,0,0,0
  1888. two        dc.b    0,0,0,0,0,0,0,0
  1889. three        dc.b    0,0,0,0,0,0,0,0
  1890. four        dc.b    0,0,0,1,2,0,0,0
  1891. five        dc.b    0,0,0,2,1,0,0,0
  1892. six        dc.b    0,0,0,0,0,0,0,0
  1893. seven        dc.b    0,0,0,0,0,0,0,0
  1894. eight        dc.b    0,0,0,0,0,0,0,0
  1895.         even
  1896. cop1        dc.b    0,0,0,0,0,0,0,0
  1897. cop2        dc.b    0,0,0,0,0,0,0,0
  1898. cop3        dc.b    0,0,0,0,0,0,0,0
  1899. cop4        dc.b    0,0,0,1,2,0,0,0
  1900. cop5        dc.b    0,0,0,2,1,0,0,0
  1901. cop6        dc.b    0,0,0,0,0,0,0,0
  1902. cop7        dc.b    0,0,0,0,0,0,0,0
  1903. cop8        dc.b    0,0,0,0,0,0,0,0
  1904.         even
  1905. tableIV        dc.l    0
  1906.         dc.l    pe1
  1907.         dc.l    pe2
  1908.         dc.l    pe3
  1909.         dc.l    pe4
  1910.         dc.l    pl1
  1911.         dc.l    pl2
  1912.         dc.l    pl3
  1913.         dc.l    pl4
  1914.         dc.l    pl5
  1915.         dc.l    pl6
  1916.         dc.l    pl7
  1917.         dc.l    pl8
  1918.         dc.l    pl9
  1919.         dc.l    pl10
  1920.         dc.l    pl11
  1921.         dc.l    pl12
  1922.         dc.l    pl13
  1923.         dc.l    pl14
  1924.         dc.l    pl15
  1925.         dc.l    pl16
  1926.         dc.l    pl17
  1927.         dc.l    pl18
  1928.         dc.l    pl19
  1929.         dc.l    pl20
  1930.         dc.l    pl21
  1931.         dc.l    pl22
  1932.         dc.l    pl23
  1933.         dc.l    pl24
  1934.         dc.l    pl25
  1935.         dc.l    pl26
  1936.         dc.l    pl27
  1937.         dc.l    pl28
  1938.         dc.l    pl29
  1939.         dc.l    pl30
  1940.         dc.l    pl31
  1941.         dc.l    pl32
  1942.         dc.l    pl33
  1943.         dc.l    pl34
  1944.         dc.l    pl35
  1945.         dc.l    pl36
  1946.         dc.l    pl37
  1947.         dc.l    pl38
  1948.         dc.l    pl39
  1949.         dc.l    pl40
  1950.         dc.l    pl41
  1951.         dc.l    pl42
  1952.         dc.l    pl43
  1953.         dc.l    pl44
  1954.         dc.l    pl45
  1955.         dc.l    pl46
  1956.         dc.l    pl47
  1957.         dc.l    pl48
  1958.         dc.l    pl49
  1959.         dc.l    pl50
  1960.         dc.l    pl51
  1961.         dc.l    pl52
  1962.         dc.l    pl53
  1963.         dc.l    pl54
  1964.         dc.l    pl55
  1965.         dc.l    pl56
  1966. tableIII    dc.l    0
  1967.         dc.l    e1
  1968.         dc.l    e2
  1969.         dc.l    e3
  1970.         dc.l    e4
  1971.         dc.l    l1
  1972.         dc.l    l2
  1973.         dc.l    l3
  1974.         dc.l    l4
  1975.         dc.l    l5
  1976.         dc.l    l6
  1977.         dc.l    l7
  1978.         dc.l    l8
  1979.         dc.l    l9
  1980.         dc.l    l10
  1981.         dc.l    l11
  1982.         dc.l    l12
  1983.         dc.l    l13
  1984.         dc.l    l14
  1985.         dc.l    l15
  1986.         dc.l    l16
  1987.         dc.l    l17
  1988.         dc.l    l18
  1989.         dc.l    l19
  1990.         dc.l    l20
  1991.         dc.l    l21
  1992.         dc.l    l22
  1993.         dc.l    l23
  1994.         dc.l    l24
  1995.         dc.l    l25
  1996.         dc.l    l26
  1997.         dc.l    l27
  1998.         dc.l    l28
  1999.         dc.l    l29
  2000.         dc.l    l30
  2001.         dc.l    l31
  2002.         dc.l    l32
  2003.         dc.l    l33
  2004.         dc.l    l34
  2005.         dc.l    l35
  2006.         dc.l    l36
  2007.         dc.l    l37
  2008.         dc.l    l38
  2009.         dc.l    l39
  2010.         dc.l    l40
  2011.         dc.l    l41
  2012.         dc.l    l42
  2013.         dc.l    l43
  2014.         dc.l    l44
  2015.         dc.l    l45
  2016.         dc.l    l46
  2017.         dc.l    l47
  2018.         dc.l    l48
  2019.         dc.l    l49
  2020.         dc.l    l50
  2021.         dc.l    l51
  2022.         dc.l    l52
  2023.         dc.l    l53
  2024.         dc.l    l54
  2025.         dc.l    l55
  2026.         dc.l    l56
  2027. tableII        dc.l    one
  2028.         dc.l    two
  2029.         dc.l    three
  2030.         dc.l    four
  2031.         dc.l    five
  2032.         dc.l    six
  2033.         dc.l    seven
  2034.         dc.l    eight
  2035. table        dc.l    iw1
  2036.         dc.l    iw2
  2037.         dc.l    iw3
  2038.         dc.l    iw4
  2039.         dc.l    iw5
  2040.         dc.l    iw6
  2041.         dc.l    iw7
  2042.         dc.l    iw8
  2043.         dc.l    iw9
  2044.         dc.l    iw10
  2045.         dc.l    iw11
  2046.         dc.l    iw12
  2047.         dc.l    iw13
  2048.         dc.l    iw14
  2049.         dc.l    iw15
  2050.         dc.l    iw16
  2051.         dc.l    iw17
  2052.         dc.l    iw18
  2053.         dc.l    iw19
  2054.         dc.l    iw20
  2055.         dc.l    iw21
  2056.         dc.l    iw22
  2057.         dc.l    iw23
  2058.         dc.l    iw24
  2059.         dc.l    iw25
  2060.         dc.l    iw26
  2061.         dc.l    iw27
  2062.         dc.l    iw28
  2063.         dc.l    iw29
  2064.         dc.l    iw30
  2065.         dc.l    iw31
  2066.         dc.l    iw32
  2067.         dc.l    iw33
  2068.         dc.l    iw34
  2069.         dc.l    iw35
  2070.         dc.l    iw36
  2071.         dc.l    iw37
  2072.         dc.l    iw38
  2073.         dc.l    iw39
  2074.         dc.l    iw40
  2075.         dc.l    iw41
  2076.         dc.l    iw42
  2077.         dc.l    iw43
  2078.         dc.l    iw44
  2079.         dc.l    iw45
  2080.         dc.l    iw46
  2081.         dc.l    iw47
  2082.         dc.l    iw48
  2083.         dc.l    iw49
  2084.         dc.l    iw50
  2085.         dc.l    iw51
  2086.         dc.l    iw52
  2087.         dc.l    iw53
  2088.         dc.l    iw54
  2089.         dc.l    iw55
  2090.         dc.l    iw56
  2091.         dc.l    iw57
  2092.         dc.l    iw58
  2093.         dc.l    iw59
  2094.         dc.l    iw60
  2095.         dc.l    iw61
  2096.         dc.l    iw62
  2097.         dc.l    iw63
  2098.         dc.l    iw64
  2099.         dc.l    bts1
  2100.         dc.l    ots1
  2101.         dc.l    backy1
  2102. *  Messages :
  2103. * ------------
  2104. msg1        dc.b    "YOU : 02",0
  2105. msg4        dc.b    "CPU : 02",0
  2106. msg2        dc.b    "  ",0
  2107. msg3        dc.b    "  ",0
  2108. msg5        dc.b    "- You win -",0
  2109. msg6        dc.b    "- Game's tied -",0
  2110. msg7        dc.b    "- You lose -",0
  2111. msg9        dc.b    "               ",0
  2112.         even
  2113. *  Gadgets :
  2114. * -----------
  2115. border        dc.w    0,0
  2116.         dc.b    1,0,0,5
  2117.         dc.l    koord
  2118.         dc.l     0
  2119. koord        dc.w    -1,-1
  2120.         dc.w    29,-1
  2121.         dc.w    29,14
  2122.         dc.w    -1,14
  2123.         dc.w    -1,-1
  2124. gadget1        ds.b $2c
  2125.         even
  2126. gadget2        ds.b $2c
  2127.         even
  2128. gadget3        ds.b $2c
  2129.         even
  2130. gadget4        ds.b $2c
  2131.         even
  2132. gadget5        ds.b $2c
  2133.         even
  2134. gadget6        ds.b $2c
  2135.         even
  2136. gadget7        ds.b $2c
  2137.         even
  2138. gadget8        ds.b $2c
  2139.         even
  2140. gadget9        ds.b $2c
  2141.         even
  2142. gadget10    ds.b $2c
  2143.         even
  2144. gadget11    ds.b $2c
  2145.         even
  2146. gadget12    ds.b $2c
  2147.         even
  2148. gadget13    ds.b $2c
  2149.         even
  2150. gadget14    ds.b $2c
  2151.         even
  2152. gadget15    ds.b $2c
  2153.         even
  2154. gadget16    ds.b $2c
  2155.         even
  2156. gadget17    ds.b $2c
  2157.         even
  2158. gadget18    ds.b $2c
  2159.         even
  2160. gadget19    ds.b $2c
  2161.         even
  2162. gadget20    ds.b $2c
  2163.         even
  2164. gadget21    ds.b $2c
  2165.         even
  2166. gadget22    ds.b $2c
  2167.         even
  2168. gadget23    ds.b $2c
  2169.         even
  2170. gadget24    ds.b $2c
  2171.         even
  2172. gadget25    ds.b $2c
  2173.         even
  2174. gadget26    ds.b $2c
  2175.         even
  2176. gadget27    ds.b $2c
  2177.         even
  2178. gadget28    ds.b $2c
  2179.         even
  2180. gadget29    ds.b $2c
  2181.         even
  2182. gadget30    ds.b $2c
  2183.         even
  2184. gadget31    ds.b $2c
  2185.         even
  2186. gadget32    ds.b $2c
  2187.         even
  2188. gadget33    ds.b $2c
  2189.         even
  2190. gadget34    ds.b $2c
  2191.         even
  2192. gadget35    ds.b $2c
  2193.         even
  2194. gadget36    ds.b $2c
  2195.         even
  2196. gadget37    ds.b $2c
  2197.         even
  2198. gadget38    ds.b $2c
  2199.         even
  2200. gadget39    ds.b $2c
  2201.         even
  2202. gadget40    ds.b $2c
  2203.         even
  2204. gadget41    ds.b $2c
  2205.         even
  2206. gadget42    ds.b $2c
  2207.         even
  2208. gadget43    ds.b $2c
  2209.         even
  2210. gadget44    ds.b $2c
  2211.         even
  2212. gadget45    ds.b $2c
  2213.         even
  2214. gadget46    ds.b $2c
  2215.         even
  2216. gadget47    ds.b $2c
  2217.         even
  2218. gadget48    ds.b $2c
  2219.         even
  2220. gadget49    ds.b $2c
  2221.         even
  2222. gadget50    ds.b $2c
  2223.         even
  2224. gadget51    ds.b $2c
  2225.         even
  2226. gadget52    ds.b $2c
  2227.         even
  2228. gadget53    ds.b $2c
  2229.         even
  2230. gadget54    ds.b $2c
  2231.         even
  2232. gadget55    ds.b $2c
  2233.         even
  2234. gadget56    ds.b $2c
  2235.         even
  2236. gadget57    ds.b $2c
  2237.         even
  2238. gadget58    ds.b $2c
  2239.         even
  2240. gadget59    ds.b $2c
  2241.         even
  2242. gadget60    ds.b $2c
  2243.         even
  2244. gadget61    ds.b $2c
  2245.         even
  2246. gadget62    ds.b $2c
  2247.         even
  2248. gadget63    ds.b $2c
  2249.         even
  2250. gadget64    ds.b $2c
  2251. bts        dc.l    ots
  2252.         dc.w    5,20,123,9
  2253.         dc.w    GADGHCOMP
  2254.         dc.w    RELVERIFY
  2255.         dc.w    1
  2256.         dc.l    border2
  2257.         dc.l    0
  2258.         dc.l    bts_text
  2259.         dc.l    0,0
  2260.         dc.w    65
  2261.         dc.l    0
  2262. bts_text    dc.b    1,0,0,0
  2263.         dc.w    2,1
  2264.         dc.l    0
  2265.         dc.l    bts_real
  2266.         dc.l    0
  2267. bts_real    dc.b    " Black  starts",0
  2268.         even                    
  2269. border2        dc.w    0,0
  2270.         dc.b    1,0,0,5
  2271.         dc.l    koords2
  2272.         dc.l    0
  2273. koords2        dc.w    -1,-1,123,-1,123,9,-1,9,-1,-1
  2274. ots        dc.l    backy
  2275.         dc.w    5,40,123,9
  2276.         dc.w    GADGHCOMP
  2277.         dc.w    RELVERIFY
  2278.         dc.w    1
  2279.         dc.l    border2
  2280.         dc.l    0
  2281.         dc.l    ots_text
  2282.         dc.l    0,0
  2283.         dc.w    66
  2284.         dc.l    0
  2285. ots_text    dc.b    1,0,0,0
  2286.         dc.w    2,1
  2287.         dc.l    0
  2288.         dc.l    ots_real
  2289.         dc.l    0
  2290. ots_real    dc.b    " Orange starts",0
  2291. backy        dc.l    0
  2292.         dc.w    5,60,123,9
  2293.         dc.w    GADGHCOMP
  2294.         dc.w    RELVERIFY
  2295.         dc.w    1
  2296.         dc.l    border2
  2297.         dc.l    0
  2298.         dc.l    backy_text
  2299.         dc.l    0,0
  2300.         dc.w    67
  2301.         dc.l    0
  2302. backy_text    dc.b    1,0,0,0
  2303.         dc.w    6,1
  2304.         dc.l    0
  2305.         dc.l    backy_real
  2306.         dc.l    0        
  2307. backy_real    dc.b    "     Back     ",0
  2308.