* -------------------- * - Rev 1.2 - * - by - * - Marc Fischlin - * - in - * - 2/88 - * -------------------- incdir "ram:include/" include intuition/intuition.i include intuition/intuition_lib.i include exec/exec_lib.i include graphics/graphics_lib.i include libraries/dos.i include libraries/dos_lib.i include misc/easystart.i jmp staaart * TextMacro : * ------------- PRINT MACRO clr.l d5 clr.l d6 clr.l d0 lea \1,a4 notlenred_\@ move.b (a4)+,d5 tst.l d5 beq prilenred_\@ add #1,d0 jmp notlenred_\@ prilenred_\@ move.w d0,d6 move.l wptr,a1 move.l wd_RPort(a1),a1 move.w #1,d0 CALLGRAF SetAPen move.w \2,d0 move.w \3,d1 move.l wptr,a1 move.l wd_RPort(a1),a1 CALLGRAF Move move.l wptr,a1 move.l wd_RPort(a1),a1 move.w d6,d0 lea \1,a0 CALLGRAF Text endm * GadgetMacro : * --------------- GADGET move.l d0,(a0) add.w #131,d1 move.w d1,$04(a0) add #2,d2 move.w d2,$06(a0) move.w #29,$08(a0) move.w #14,$0a(a0) move.w #GADGHCOMP,$0c(a0) move.w #RELVERIFY,$0e(a0) move.w #1,$10(a0) move.l #border,$12(a0) move.l #0,$16(a0) move.l #0,$1a(a0) move.l #0,$1e(a0) move.l #0,$22(a0) move.w d3,$26(a0) move.l #0,$28(a0) rts * FillMacro : * ------------------- FILL MACRO move.l wptr,a1 move.l wd_RPort(a1),a1 move.w \3,d0 CALLGRAF SetAPen move.w \1,d0 add #131,d0 move.w \2,d1 add #2,d1 move.w \1,d2 add #159,d2 move.w \2,d3 add #15,d3 move.l wptr,a1 move.l wd_RPort(a1),a1 CALLGRAF RectFill endm * BlueMacro : * ------------- ASK MACRO lea \1,a0 ;ist der Platz noch frei ? move.l \2,d0 move.b 0(a0,d0),d1 cmp.b #0,d1 beq \4 jmp \3 endm * Change : * ---------- CHANGE MACRO ;was wird um- clr.l d5 ;gedreht ? clr.l d3 clr.l d2 clr.l d6 move.b byte,d6 move.b offset,d5 lea tableII,a3 move.l 0(a3,d5),a5 move.b \4,0(a5,d6) move d5,d3 move d6,d2 mulu #30,d2 add #2,d2 move.w d2,xfill lsr #2,d3 mulu #15,d3 add #11,d3 move.w d3,yfill FILL xfill,yfill,\5 cb_\@ sub \1,d5 sub \2,d6 cmp #0,d5 blt cds_\@ cmp #28,d5 bgt cds_\@ cmp #0,d6 blt cds_\@ cmp #7,d6 bgt cds_\@ lea tableII,a3 move.l 0(a3,d5),a5 move.b 0(a5,d6),d4 cmp.b \3,d4 beq reach_\@ jmp cds_\@ reach_\@ move.b \4,0(a5,d6) move d5,d3 move d6,d2 mulu #30,d2 add #2,d2 move.w d2,xfill lsr #2,d3 mulu #15,d3 add #11,d3 move.w d3,yfill FILL xfill,yfill,\5 jmp cb_\@ cds_\@ nop endm * PossibleMacro : * ----------------- POSSIBLE MACRO ;ist der zug möglich ? clr.l d5 clr.l d6 move.b offset,d5 move.b byte,d6 lea counter,a3 move #0,(a3) lea tableII,a5 sub \1,d5 sub \2,d6 move.l 0(a5,d5),a4 move.b 0(a4,d6),d3 move.b fab1,d4 cmp.b d4,d3 beq voryep_\@ jmp pback_\@ voryep_\@ add.b #1,(a3) yep_\@ sub \1,d5 cmp #0,d5 blt pback_\@ cmp #28,d5 bgt pback_\@ sub \2,d6 cmp #0,d6 blt pback_\@ cmp #7,d6 bgt pback_\@ move.l 0(a5,d5),a4 move.b 0(a4,d6),d3 move.b fab1,d4 cmp.b d4,d3 beq voryep_\@ move.b fab2,d4 cmp.b d4,d3 beq pok_\@ jmp pback_\@ pok_\@ lea \3,a0 move.b #1,(a0) move.b endcounter,d2 lea endcounter,a3 move.b counter,d3 add.b d3,d2 move.b d2,(a3) jmp preally_\@ pback_\@ lea \3,a0 move.b #0,(a0) preally_\@ nop endm * HexerMacro : * -------------- HEXER MACRO lea \1,a5 move.b \2,d5 and.l #$ffff,d5 divs #10,d5 add.b #"0",d5 move.b d5,(a5)+ swap d5 and.l #$ffff,d5 add.b #"0",d5 move.b d5,(a5)+ PRINT \1,#81,\3 endm * Intuition oeffnen : * --------------------- staaart lea intname,a1 moveq #0,d0 CALLEXEC OpenLibrary move.l d0,_IntuitionBase * Graphics oeffnen : * -------------------- lea grafname,a1 moveq #0,d0 CALLEXEC OpenLibrary move.l d0,_GfxBase * DOS oeffnen : * --------------- lea DOSname,a1 moveq #0,d0 CALLEXEC OpenLibrary move.l d0,_DOSBase * OpenMainWindow : * ------------------ lea gadget1,a0 move.l #gadget2,d0 ;alle Gadgets initialisieren move.l #2,d1 move.l #11,d2 move.l #1,d3 jsr GADGET lea gadget2,a0 move.l #gadget3,d0 move.l #32,d1 move.l #11,d2 move.l #9,d3 jsr GADGET lea gadget3,a0 move.l #gadget4,d0 move.l #62,d1 move.l #11,d2 move.l #17,d3 jsr GADGET lea gadget4,a0 move.l #gadget5,d0 move.l #92,d1 move.l #11,d2 move.l #25,d3 jsr GADGET lea gadget5,a0 move.l #gadget6,d0 move.l #122,d1 move.l #11,d2 move.l #33,d3 jsr GADGET lea gadget6,a0 move.l #gadget7,d0 move.l #152,d1 move.l #11,d2 move.l #41,d3 jsr GADGET lea gadget7,a0 move.l #gadget8,d0 move.l #182,d1 move.l #11,d2 move.l #49,d3 jsr GADGET lea gadget8,a0 move.l #gadget9,d0 move.l #212,d1 move.l #11,d2 move.l #57,d3 jsr GADGET lea gadget9,a0 move.l #gadget10,d0 move.l #2,d1 move.l #26,d2 move.l #2,d3 jsr GADGET lea gadget10,a0 move.l #gadget11,d0 move.l #32,d1 move.l #26,d2 move.l #10,d3 jsr GADGET lea gadget11,a0 move.l #gadget12,d0 move.l #62,d1 move.l #26,d2 move.l #18,d3 jsr GADGET lea gadget12,a0 move.l #gadget13,d0 move.l #92,d1 move.l #26,d2 move.l #26,d3 jsr GADGET lea gadget13,a0 move.l #gadget14,d0 move.l #122,d1 move.l #26,d2 move.l #34,d3 jsr GADGET lea gadget14,a0 move.l #gadget15,d0 move.l #152,d1 move.l #26,d2 move.l #42,d3 jsr GADGET lea gadget15,a0 move.l #gadget16,d0 move.l #182,d1 move.l #26,d2 move.l #50,d3 jsr GADGET lea gadget16,a0 move.l #gadget17,d0 move.l #212,d1 move.l #26,d2 move.l #58,d3 jsr GADGET lea gadget17,a0 move.l #gadget18,d0 move.l #2,d1 move.l #41,d2 move.l #3,d3 jsr GADGET lea gadget18,a0 move.l #gadget19,d0 move.l #32,d1 move.l #41,d2 move.l #11,d3 jsr GADGET lea gadget19,a0 move.l #gadget20,d0 move.l #62,d1 move.l #41,d2 move.l #19,d3 jsr GADGET lea gadget20,a0 move.l #gadget21,d0 move.l #92,d1 move.l #41,d2 move.l #27,d3 jsr GADGET lea gadget21,a0 move.l #gadget22,d0 move.l #122,d1 move.l #41,d2 move.l #35,d3 jsr GADGET lea gadget22,a0 move.l #gadget23,d0 move.l #152,d1 move.l #41,d2 move.l #43,d3 jsr GADGET lea gadget23,a0 move.l #gadget24,d0 move.l #182,d1 move.l #41,d2 move.l #51,d3 jsr GADGET lea gadget24,a0 move.l #gadget25,d0 move.l #212,d1 move.l #41,d2 move.l #59,d3 jsr GADGET lea gadget25,a0 move.l #gadget26,d0 move.l #2,d1 move.l #56,d2 move.l #4,d3 jsr GADGET lea gadget26,a0 move.l #gadget27,d0 move.l #32,d1 move.l #56,d2 move.l #12,d3 jsr GADGET lea gadget27,a0 move.l #gadget28,d0 move.l #62,d1 move.l #56,d2 move.l #20,d3 jsr GADGET lea gadget28,a0 move.l #gadget29,d0 move.l #92,d1 move.l #56,d2 move.l #28,d3 jsr GADGET lea gadget29,a0 move.l #gadget30,d0 move.l #122,d1 move.l #56,d2 move.l #36,d3 jsr GADGET lea gadget30,a0 move.l #gadget31,d0 move.l #152,d1 move.l #56,d2 move.l #44,d3 jsr GADGET lea gadget31,a0 move.l #gadget32,d0 move.l #182,d1 move.l #56,d2 move.l #52,d3 jsr GADGET lea gadget32,a0 move.l #gadget33,d0 move.l #212,d1 move.l #56,d2 move.l #60,d3 jsr GADGET lea gadget33,a0 move.l #gadget34,d0 move.l #2,d1 move.l #71,d2 move.l #5,d3 jsr GADGET lea gadget34,a0 move.l #gadget35,d0 move.l #32,d1 move.l #71,d2 move.l #13,d3 jsr GADGET lea gadget35,a0 move.l #gadget36,d0 move.l #62,d1 move.l #71,d2 move.l #21,d3 jsr GADGET lea gadget36,a0 move.l #gadget37,d0 move.l #92,d1 move.l #71,d2 move.l #29,d3 jsr GADGET lea gadget37,a0 move.l #gadget38,d0 move.l #122,d1 move.l #71,d2 move.l #37,d3 jsr GADGET lea gadget38,a0 move.l #gadget39,d0 move.l #152,d1 move.l #71,d2 move.l #45,d3 jsr GADGET lea gadget39,a0 move.l #gadget40,d0 move.l #182,d1 move.l #71,d2 move.l #53,d3 jsr GADGET lea gadget40,a0 move.l #gadget41,d0 move.l #212,d1 move.l #71,d2 move.l #61,d3 jsr GADGET lea gadget41,a0 move.l #gadget42,d0 move.l #2,d1 move.l #86,d2 move.l #6,d3 jsr GADGET lea gadget42,a0 move.l #gadget43,d0 move.l #32,d1 move.l #86,d2 move.l #14,d3 jsr GADGET lea gadget43,a0 move.l #gadget44,d0 move.l #62,d1 move.l #86,d2 move.l #22,d3 jsr GADGET lea gadget44,a0 move.l #gadget45,d0 move.l #92,d1 move.l #86,d2 move.l #30,d3 jsr GADGET lea gadget45,a0 move.l #gadget46,d0 move.l #122,d1 move.l #86,d2 move.l #38,d3 jsr GADGET lea gadget46,a0 move.l #gadget47,d0 move.l #152,d1 move.l #86,d2 move.l #46,d3 jsr GADGET lea gadget47,a0 move.l #gadget48,d0 move.l #182,d1 move.l #86,d2 move.l #54,d3 jsr GADGET lea gadget48,a0 move.l #gadget49,d0 move.l #212,d1 move.l #86,d2 move.l #62,d3 jsr GADGET lea gadget49,a0 move.l #gadget50,d0 move.l #2,d1 move.l #101,d2 move.l #7,d3 jsr GADGET lea gadget50,a0 move.l #gadget51,d0 move.l #32,d1 move.l #101,d2 move.l #15,d3 jsr GADGET lea gadget51,a0 move.l #gadget52,d0 move.l #62,d1 move.l #101,d2 move.l #23,d3 jsr GADGET lea gadget52,a0 move.l #gadget53,d0 move.l #92,d1 move.l #101,d2 move.l #31,d3 jsr GADGET lea gadget53,a0 move.l #gadget54,d0 move.l #122,d1 move.l #101,d2 move.l #39,d3 jsr GADGET lea gadget54,a0 move.l #gadget55,d0 move.l #152,d1 move.l #101,d2 move.l #47,d3 jsr GADGET lea gadget55,a0 move.l #gadget56,d0 move.l #182,d1 move.l #101,d2 move.l #55,d3 jsr GADGET lea gadget56,a0 move.l #gadget57,d0 move.l #212,d1 move.l #101,d2 move.l #63,d3 jsr GADGET lea gadget57,a0 move.l #gadget58,d0 move.l #2,d1 move.l #116,d2 move.l #8,d3 jsr GADGET lea gadget58,a0 move.l #gadget59,d0 move.l #32,d1 move.l #116,d2 move.l #16,d3 jsr GADGET lea gadget59,a0 move.l #gadget60,d0 move.l #62,d1 move.l #116,d2 move.l #24,d3 jsr GADGET lea gadget60,a0 move.l #gadget61,d0 move.l #92,d1 move.l #116,d2 move.l #32,d3 jsr GADGET lea gadget61,a0 move.l #gadget62,d0 move.l #122,d1 move.l #116,d2 move.l #40,d3 jsr GADGET lea gadget62,a0 move.l #gadget63,d0 move.l #152,d1 move.l #116,d2 move.l #48,d3 jsr GADGET lea gadget63,a0 move.l #gadget64,d0 move.l #182,d1 move.l #116,d2 move.l #56,d3 jsr GADGET lea gadget64,a0 move.l #bts,d0 move.l #212,d1 move.l #116,d2 move.l #64,d3 jsr GADGET lea wdef,a0 CALLINT OpenWindow move.l d0,wptr FILL #92,#56,#3 FILL #122,#56,#2 FILL #92,#71,#2 FILL #122,#71,#3 PRINT msg1,#33,#90 PRINT msg4,#33,#104 vorevent move.b #0,upper move.b #0,drupper move.b #0,righter move.b #0,drowner move.b #0,downer move.b #0,dlowner move.b #0,lefter move.b #0,dlupper move.b #2,mode move.b #0,ou event2 clr.l d5 clr.l d4 move.b ou,d4 move.b #1,d5 add.b d5,d4 lea ou,a5 move.b d4,(a5) clr.l d5 move.b ou,d5 cmp.b #61,d5 ;ist schon alles voll ? beq youpass lea offset,a3 lea byte,a4 lea tableIV,a0 lsl #2,d5 move.l 0(a0,d5),a0 jmp (a0) eve4 move.b endcounter,d0 cmp.b #0,d0 beq event2 move.b #0,endcounter move.b #0,mode jmp event youpass move.b passone,d0 cmp.b #1,d0 beq yopa2 jmp u3 yopa2 move.b #0,mode move.b #0,endcounter move.b you,d0 move.b cpu,d1 sub.b d0,d1 add.b #64,d1 cmp.b #64,d1 beq yep1 cmp.b #64,d1 bgt yep2 PRINT msg5,#22,#126 jmp event yep1 PRINT msg6,#6,#126 jmp event yep2 PRINT msg7,#18,#126 jmp event pe1 ASK one,#0,pe2,iwi1 ;was ist frei ? pe2 ASK eight,#0,pe3,iwi8 pe3 ASK one,#7,pe4,iwi57b pe4 ASK eight,#7,pl1,iwi64b pl1 ASK one,#2,pl2,iwi17 pl2 ASK one,#3,pl3,iwi25 pl3 ASK one,#4,pl4,iwi33be pl4 ASK one,#5,pl5,iwi41be pl5 ASK two,#2,pl6,iwi18 pl6 ASK two,#3,pl7,iwi26 pl7 ASK two,#4,pl8,iwi34be pl8 ASK two,#5,pl9,iwi42b pl9 ASK three,#0,pl10,iwi3 pl10 ASK three,#1,pl11,iwi11 pl11 ASK three,#2,pl12,iwi19 pl12 ASK three,#3,pl13,iwi27 pl13 ASK three,#4,pl14,iwi35be pl14 ASK three,#5,pl15,iwi43b pl15 ASK three,#6,pl16,iwi51b pl16 ASK three,#7,pl17,iwi59b pl17 ASK four,#0,pl18,iwi4 pl18 ASK four,#1,pl19,iwi12 pl19 ASK four,#2,pl20,iwi20 pl20 ASK four,#5,pl21,iwi44b pl21 ASK four,#6,pl22,iwi52b pl22 ASK four,#7,pl23,iwi60b pl23 ASK five,#0,pl24,iwi5 pl24 ASK five,#1,pl25,iwi13 pl25 ASK five,#2,pl26,iwi21 pl26 ASK five,#5,pl27,iwi45b pl27 ASK five,#6,pl28,iwi53b pl28 ASK five,#7,pl29,iwi61b pl29 ASK six,#0,pl30,iwi6 pl30 ASK six,#1,pl31,iwi14 pl31 ASK six,#2,pl32,iwi22 pl32 ASK six,#3,pl33,iwi30 pl33 ASK six,#4,pl34,iwi38be pl34 ASK six,#5,pl35,iwi46b pl35 ASK six,#6,pl36,iwi54b pl36 ASK six,#7,pl37,iwi62b pl37 ASK seven,#2,pl38,iwi23 pl38 ASK seven,#3,pl39,iwi31 pl39 ASK seven,#4,pl40,iwi39be pl40 ASK seven,#5,pl41,iwi47b pl41 ASK eight,#2,pl42,iwi24 pl42 ASK eight,#3,pl43,iwi32 pl43 ASK eight,#4,pl44,iwi40be pl44 ASK eight,#5,pl45,iwi48b pl45 ASK one,#1,pl46,iwi9 pl46 ASK two,#0,pl47,iwi2 pl47 ASK two,#1,pl48,iwi10 pl48 ASK eight,#1,pl49,iwi16 pl49 ASK seven,#0,pl50,iwi7 pl50 ASK seven,#1,pl51,iwi15 pl51 ASK one,#6,pl52,iwi49b pl52 ASK two,#7,pl53,iwi58b pl53 ASK two,#6,pl54,iwi50b pl54 ASK eight,#6,pl55,iwi56b pl55 ASK seven,#7,pl56,iwi63b pl56 ASK seven,#6,eve4,iwi55b event move.b #0,upper move.b #0,drupper move.b #0,righter move.b #0,drowner move.b #0,downer move.b #0,dlowner move.b #0,lefter move.b #0,dlupper move.l wptr,a0 move.l wd_UserPort(a0),a0 move.l a0,a5 CALLEXEC WaitPort move.l a5,a0 CALLEXEC GetMsg move.l d0,a1 move.l im_Class(a1),d4 move.w im_Code(a1),d5 move.l im_IAddress(a1),a4 CALLEXEC ReplyMsg cmp.l #CLOSEWINDOW,d4 beq dubblepseudo move.w gg_GadgetID(a4),d0 sub #1,d0 lsl #2,d0 lea.l table,a0 move.l 0(a0,d0),a0 lea offset,a3 lea byte,a4 jmp (a0) * Your move : * ------------ iw1 ASK one,#0,event,iwi1 iwi1 move.b #0,(a3) ;was willst du ziehen ? move.b #0,(a4) jsr poss jmp zwischen iw2 ASK two,#0,event,iwi2 iwi2 move.b #4,(a3) move.b #0,(a4) jsr poss jmp zwischen dubblepseudo jmp pseudoclosemain iw3 ASK three,#0,event,iwi3 iwi3 move.b #8,(a3) move.b #0,(a4) jsr poss jmp zwischen iw4 ASK four,#0,event,iwi4 iwi4 move.b #12,(a3) move.b #0,(a4) jsr poss jmp zwischen iw5 ASK five,#0,event,iwi5 iwi5 move.b #16,(a3) move.b #0,(a4) jsr poss jmp zwischen pseudoevent jmp vorevent iw6 ASK six,#0,event,iwi6 iwi6 move.b #20,(a3) move.b #0,(a4) jsr poss jmp zwischen iw7 ASK seven,#0,event,iwi7 iwi7 move.b #24,(a3) move.b #0,(a4) jsr poss jmp zwischen iw8 ASK eight,#0,event,iwi8 iwi8 move.b #28,(a3) move.b #0,(a4) jsr poss jmp zwischen iw9 ASK one,#1,event,iwi9 iwi9 move.b #0,(a3) move.b #1,(a4) jsr poss jmp zwischen backy1 jmp backy2 bts1 jmp bts2 ots1 jmp ots2 iw10 ASK two,#1,event,iwi10 iwi10 move.b #4,(a3) move.b #1,(a4) jsr poss jmp zwischen iw11 ASK three,#1,event,iwi11 iwi11 move.b #8,(a3) move.b #1,(a4) jsr poss jmp zwischen iw12 ASK four,#1,pseudoevent,iwi12 iwi12 move.b #12,(a3) move.b #1,(a4) jsr poss jmp zwischen iw13 ASK five,#1,pseudoevent,iwi13 iwi13 move.b #16,(a3) move.b #1,(a4) jsr poss jmp zwischen iw14 ASK six,#1,pseudoevent,iwi14 iwi14 move.b #20,(a3) move.b #1,(a4) jsr poss jmp zwischen iw15 ASK seven,#1,pseudoevent,iwi15 iwi15 move.b #24,(a3) move.b #1,(a4) jsr poss jmp zwischen iw16 ASK eight,#1,pseudoevent,iwi16 iwi16 move.b #28,(a3) move.b #1,(a4) jsr poss jmp zwischen iw17 ASK one,#2,pseudoevent,iwi17 iwi17 move.b #0,(a3) move.b #2,(a4) jsr poss jmp zwischen iw18 ASK two,#2,pseudoevent,iwi18 iwi18 move.b #4,(a3) move.b #2,(a4) jsr poss jmp zwischen iw19 ASK three,#2,pseudoevent,iwi19 iwi19 move.b #8,(a3) move.b #2,(a4) jsr poss jmp zwischen iw20 ASK four,#2,pseudoevent,iwi20 iwi20 move.b #12,(a3) move.b #2,(a4) jsr poss jmp zwischen iw21 ASK five,#2,pseudoevent,iwi21 iwi21 move.b #16,(a3) move.b #2,(a4) jsr poss jmp zwischen iwi33be jmp iwi33 iwi34be jmp iwi34 iwi35be jmp iwi35 iwi38be jmp iwi38 iwi39be jmp iwi39 iwi40be jmp iwi40 iw22 ASK six,#2,pseudoevent,iwi22 iwi22 move.b #20,(a3) move.b #2,(a4) jsr poss jmp zwischen iw23 ASK seven,#2,pseudoevent,iwi23 iwi23 move.b #24,(a3) move.b #2,(a4) jsr poss jmp zwischen u3 jmp u4 iwi41be jmp iwi41 iwi42b jmp iwi42 iwi43b jmp iwi43 iwi44b jmp iwi44 iwi45b jmp iwi45 iwi46b jmp iwi46 iwi47b jmp iwi47 iwi48b jmp iwi48 iwi49b jmp iwi49 iwi50b jmp iwi50 iw24 ASK eight,#2,pseudoevent,iwi24 iwi24 move.b #28,(a3) move.b #2,(a4) jsr poss jmp zwischen depsef jmp pseudoevent iw25 ASK one,#3,depsef,iwi25 iwi25 move.b #0,(a3) move.b #3,(a4) jsr poss jmp zwischen iw26 ASK two,#3,depsef,iwi26 iwi26 move.b #4,(a3) move.b #3,(a4) jsr poss jmp zwischen iwi51b jmp iwi51 iwi52b jmp iwi52 iwi53b jmp iwi53 iwi54b jmp iwi54 iwi55b jmp iwi55 iwi56b jmp iwi56 iwi57b jmp iwi57 iwi58b jmp iwi58 iwi59b jmp iwi59 iwi60b jmp iwi60 iwi61b jmp iwi61 iwi62b jmp iwi62 iwi63b jmp iwi63 iwi64b jmp iwi64 iw27 ASK three,#3,depsef,iwi27 iwi27 move.b #8,(a3) move.b #3,(a4) jsr poss jmp zwischen iw28 ASK four,#3,depsef,depsef jmp depsef iw29 ASK five,#3,depsef,depsef jmp depsef pseudoclosemain jmp closemain iw30 ASK six,#3,depsef,iwi30 iwi30 move.b #20,(a3) move.b #3,(a4) jsr poss jmp zwischen iw31 ASK seven,#3,depsef,iwi31 iwi31 move.b #24,(a3) move.b #3,(a4) jsr poss jmp zwischen iw32 ASK eight,#3,depsef,iwi32 iwi32 move.b #28,(a3) move.b #3,(a4) jsr poss jmp zwischen eve5 jmp eve4 iw33 ASK one,#4,depsef,iwi33 iwi33 move.b #0,(a3) move.b #4,(a4) jsr poss jmp zwischen iw34 ASK two,#4,depsef,iwi34 iwi34 move.b #4,(a3) move.b #4,(a4) jsr poss jmp zwischen iw35 ASK three,#4,depsef,iwi35 iwi35 move.b #8,(a3) move.b #4,(a4) jsr poss jmp zwischen iw36 ASK four,#4,depsef,depsef jmp depsef iw37 ASK five,#4,depsef,depsef jmp depsef iw38 ASK six,#4,depsef,iwi38 iwi38 move.b #20,(a3) move.b #4,(a4) jsr poss jmp zwischen iw39 ASK seven,#4,depsef,iwi39 iwi39 move.b #24,(a3) move.b #4,(a4) jsr poss jmp zwischen backy2 jmp backy3 bts2 jmp bts3 ots2 jmp ots3 iw40 ASK eight,#4,depsef,iwi40 iwi40 move.b #28,(a3) move.b #4,(a4) jsr poss jmp zwischen iw41 ASK one,#5,depsef,iwi41 iwi41 move.b #0,(a3) move.b #5,(a4) jsr poss jmp zwischen iw42 ASK two,#5,depsef,iwi42 iwi42 move.b #4,(a3) move.b #5,(a4) jsr poss jmp zwischen iw43 ASK three,#5,depsef,iwi43 iwi43 move.b #8,(a3) move.b #5,(a4) jsr poss jmp zwischen iw44 ASK four,#5,depsef,iwi44 iwi44 move.b #12,(a3) move.b #5,(a4) jsr poss jmp zwischen iw45 ASK five,#5,depsef,iwi45 iwi45 move.b #16,(a3) move.b #5,(a4) jsr poss jmp zwischen iw46 ASK six,#5,depsef,iwi46 iwi46 move.b #20,(a3) move.b #5,(a4) jsr poss jmp zwischen iw47 ASK seven,#5,depsef,iwi47 iwi47 move.b #24,(a3) move.b #5,(a4) jsr poss jmp zwischen iwi1b jmp iwi1 iwi2b jmp iwi2 iwi3b jmp iwi3 iwi4b jmp iwi4 iwi5b jmp iwi5 iwi6b jmp iwi6 iw48 ASK eight,#5,depsef,iwi48 iwi48 move.b #28,(a3) move.b #5,(a4) jsr poss jmp zwischen iw49 ASK one,#6,depsef,iwi49 iwi49 move.b #0,(a3) move.b #6,(a4) jsr poss jmp zwischen iw50 ASK two,#6,depsef,iwi50 iwi50 move.b #4,(a3) move.b #6,(a4) jsr poss jmp zwischen iwi7b jmp iwi7 iwi8b jmp iwi8 iwi9b jmp iwi9 iwi10b jmp iwi10 iwi11b jmp iwi11 iwi12b jmp iwi12 iw51 ASK three,#6,depsef,iwi51 iwi51 move.b #8,(a3) move.b #6,(a4) jsr poss jmp zwischen iw52 ASK four,#6,depsef,iwi52 iwi52 move.b #12,(a3) move.b #6,(a4) jsr poss jmp zwischen iwi13b jmp iwi13 iwi14b jmp iwi14 iwi15b jmp iwi15 iwi16b jmp iwi16 iwi17b jmp iwi17 iwi18b jmp iwi18 iwi19b jmp iwi19 iwi20b jmp iwi20 iw53 ASK five,#6,depsef,iwi53 iwi53 move.b #16,(a3) move.b #6,(a4) jsr poss jmp zwischen iw54 ASK six,#6,depsef,iwi54 iwi54 move.b #20,(a3) move.b #6,(a4) jsr poss jmp zwischen iwi21b jmp iwi21 iwi22b jmp iwi22 iwi23b jmp iwi23 iwi24b jmp iwi24 iwi25b jmp iwi25 iwi26b jmp iwi26 iwi27b jmp iwi27 iw55 ASK seven,#6,depsef,iwi55 iwi55 move.b #24,(a3) move.b #6,(a4) jsr poss jmp zwischen iwi30b jmp iwi30 iwi31b jmp iwi31 iwi32b jmp iwi32 iwi33b jmp iwi33 iwi34b jmp iwi34 iwi35b jmp iwi35 iwi38b jmp iwi38 iwi39b jmp iwi39 iwi40b jmp iwi40 iwi41b jmp iwi41 iw56 ASK eight,#6,depsef,iwi56 iwi56 move.b #28,(a3) move.b #6,(a4) jsr poss jmp zwischen iw57 ASK one,#7,depsef,iwi57 iwi57 move.b #0,(a3) move.b #7,(a4) jsr poss jmp zwischen u4 jmp u5 iw58 ASK two,#7,depsef,iwi58 iwi58 move.b #4,(a3) move.b #7,(a4) jsr poss jmp zwischen iw59 ASK three,#7,depsef,iwi59 iwi59 move.b #8,(a3) move.b #7,(a4) jsr poss jmp zwischen iw60 ASK four,#7,depsef,iwi60 iwi60 move.b #12,(a3) move.b #7,(a4) jsr poss jmp zwischen iw61 ASK five,#7,depsef,iwi61 iwi61 move.b #16,(a3) move.b #7,(a4) jsr poss jmp zwischen rucksack jmp depsef iw62 ASK six,#7,depsef,iwi62 iwi62 move.b #20,(a3) move.b #7,(a4) jsr poss jmp zwischen iw63 ASK seven,#7,depsef,iwi63 iwi63 move.b #24,(a3) move.b #7,(a4) jsr poss jmp zwischen iw64 ASK eight,#7,depsef,iwi64 iwi64 move.b #28,(a3) move.b #7,(a4) jsr poss zwischen move.b mode,d0 cmp.b #1,d0 beq movein cmp.b #2,d0 beq eve5 move.b endcounter,d0 cmp.b #0,d0 beq rucksack lea cop1,a5 lea one,a4 jsr chab lea cop2,a5 lea two,a4 jsr chab lea cop3,a5 lea three,a4 jsr chab lea cop4,a5 lea four,a4 jsr chab lea cop5,a5 lea five,a4 jsr chab lea cop6,a5 lea six,a4 jsr chab lea cop7,a5 lea seven,a4 jsr chab lea cop8,a5 lea eight,a4 jsr chab move.b upper,d0 cmp.b #0,d0 beq n1 CHANGE #4,#0,#2,#1,#3 n1 move.b drupper,d0 cmp.b #0,d0 beq n2 CHANGE #4,#-1,#2,#1,#3 n2 move.b righter,d0 cmp.b #0,d0 beq n3 CHANGE #0,#-1,#2,#1,#3 n3 move.b drowner,d0 cmp.b #0,d0 beq n4 CHANGE #-4,#-1,#2,#1,#3 n4 move.b downer,d0 cmp.b #0,d0 beq n5 CHANGE #-4,#0,#2,#1,#3 n5 move.b dlowner,d0 cmp.b #0,d0 beq n6 CHANGE #-4,#1,#2,#1,#3 n6 move.b lefter,d0 cmp.b #0,d0 beq n7 CHANGE #0,#1,#2,#1,#3 n7 move.b dlupper,d0 cmp.b #0,d0 beq fxs CHANGE #4,#1,#2,#1,#3 fxs lea mode,a0 move.b #1,(a0) jsr count HEXER msg2,you,#90 HEXER msg3,cpu,#104 u5 move.b cpu,d0 ;der Computer zieht ! cmp.b #0,d0 beq r2 move.b #0,passone lea hicounter,a0 move.b #0,(a0) lea endcounter,a0 move.b #0,(a0) move.b #0,abagain lea mode,a0 move.b #1,(a0) move.b #1,fab1 move.b #2,fab2 u7 lea ou,a0 move.b #0,(a0) uptohim move.b #0,upper move.b #0,drupper move.b #0,righter move.b #0,dlupper move.b #0,downer move.b #0,dlowner move.b #0,lefter move.b #0,dlupper clr.l d5 clr.l d4 move.b ou,d4 move.b #1,d5 add.b d5,d4 lea ou,a5 move.b d4,(a5) clr.l d5 move.b ou,d5 cmp.b #61,d5 beq executeit cmp.b #5,d5 beq m5 cmp.b #29,d5 beq m11 u2 lea offset,a3 lea byte,a4 lea tableIII,a0 move.b ou,d5 lsl #2,d5 move.l 0(a0,d5),a0 jmp (a0) e1 ASK one,#0,e2,iwi1b ;was ist frei ? e2 ASK eight,#0,e3,iwi8b e3 ASK one,#7,e4,iwi57 e4 ASK eight,#7,l1,iwi64 l1 ASK one,#2,l2,iwi17b l2 ASK one,#3,l3,iwi25b l3 ASK one,#4,l4,iwi33b l4 ASK one,#5,l5,iwi41b l5 ASK three,#0,l6,iwi3b l6 ASK four,#0,l7,iwi4b l7 ASK five,#0,l8,iwi5b l8 ASK six,#0,l9,iwi6b l9 ASK eight,#2,l10,iwi24b l10 ASK eight,#3,l11,iwi32b l11 ASK eight,#4,l12,iwi40b l12 ASK eight,#5,l13,iwi48 l13 ASK four,#7,l14,iwi60 l14 ASK five,#7,l15,iwi61 l15 ASK six,#7,l16,iwi62 l16 ASK three,#7,l17,iwi59 l17 ASK one,#1,l18,iwi9b l18 ASK two,#0,l19,iwi2b l19 ASK eight,#1,l20,iwi16b l20 ASK seven,#0,l21,iwi7b l21 ASK one,#6,l22,iwi49 l22 ASK two,#7,l23,iwi58 l23 ASK eight,#6,l24,iwi56 l24 ASK seven,#7,l25,iwi63 l25 ASK five,#2,l26,iwi21b l26 ASK five,#5,l27,iwi45 l27 ASK five,#6,l28,iwi53 l28 ASK three,#5,l29,iwi43 l29 ASK two,#5,l30,iwi42 l30 ASK six,#1,l31,iwi14b l31 ASK six,#2,l32,iwi22b l32 ASK six,#3,l33,iwi30b l33 ASK six,#4,l34,iwi38b l34 ASK six,#5,l35,iwi46 l35 ASK six,#6,l36,iwi54 l36 ASK three,#6,l37,iwi51 l37 ASK seven,#2,l38,iwi23b l38 ASK seven,#3,l39,iwi31b l39 ASK seven,#4,l40,iwi39b l40 ASK seven,#5,l41,iwi47 l41 ASK two,#2,l42,iwi18b l42 ASK three,#1,l43,iwi11b l43 ASK three,#2,l44,iwi19b l44 ASK three,#3,l45,iwi27b l45 ASK two,#3,l46,iwi26b l46 ASK four,#1,l47,iwi12b l47 ASK four,#2,l48,iwi20b l48 ASK four,#5,l49,iwi44 l49 ASK four,#6,l50,iwi52 l50 ASK three,#4,l51,iwi35b l51 ASK two,#4,l52,iwi34b l52 ASK five,#1,l53,iwi13b l53 ASK two,#6,l54,iwi50 l54 ASK seven,#1,l55,iwi15b l55 ASK two,#1,l56,iwi10b l56 ASK seven,#6,movein,iwi55 movein move.b endcounter,d0 cmp.b #0,d0 beq uptohim add.b #1,d0 move.b d0,endcounter move.b ou,d0 cmp.b #57,d0 bge m8 m7 move.b hicounter,d1 move.b endcounter,d0 sub.b d1,d0 add.b #63,d0 cmp.b #63,d0 beq m40 cmp.b #63,d0 bge m2 m3 move.b #0,endcounter jmp uptohim m2 lea hicounter,a0 move.b endcounter,d0 move.b d0,(a0) move.b #0,endcounter move.b offset,d2 move.b d2,highoff move.b byte,d2 move.b d2,highbyte move.b upper,d2 move.b d2,hiupper move.b drupper,d2 move.b d2,hidrupper move.b righter,d2 move.b d2,hirighter move.b drowner,d2 move.b d2,hidrowner move.b downer,d2 move.b d2,hidowner move.b dlowner,d2 move.b d2,hidlowner move.b lefter,d2 move.b d2,hilefter move.b dlupper,d2 move.b d2,hidlupper jmp m3 m40 move.b $dff007,d0 btst #1,d0 beq m3 jmp m2 m8 move.b #1,endcounter jmp m7 m5 move.b hicounter,d0 cmp.b #0,d0 beq u2 jmp executeit m11 move.b hicounter,d0 cmp.b #0,d0 beq u2 move.b highbyte,d0 cmp.b #0,d0 beq m12 cmp.b #7,d0 beq m12 move.b hirighter,d0 cmp.b #0,d0 beq m13 jmp m18 m13 clr.l d2 clr.l d3 move.b highoff,d2 lea tableII,a4 move.l 0(a4,d2),a5 move.b highbyte,d3 add #1,d3 move.b 0(a5,d3),d4 cmp.b #1,d4 beq m16 jmp m18 m16 move.b #1,hicounter jmp u2 m18 move.b hilefter,d0 cmp.b #0,d0 beq m19 jmp executeit m19 clr.l d2 clr.l d3 move.b highoff,d2 lea tableII,a4 move.l 0(a4,d2),a5 move.b highbyte,d3 sub #1,d3 move.b 0(a5,d3),d4 cmp.b #1,d4 beq m22 jmp executeit m22 move.b #1,hicounter jmp u2 m12 move.b hidowner,d0 cmp.b #0,d0 beq m23 jmp m28 m23 clr.l d2 clr.l d3 move.b highoff,d2 add #4,d2 lea tableII,a4 move.l 0(a4,d2),a5 move.b highbyte,d3 move.b 0(a5,d3),d4 cmp.b #1,d4 beq m26 jmp m28 m26 move.b #1,hicounter jmp u2 m28 move.b hiupper,d0 cmp.b #0,d0 beq m29 jmp executeit m29 clr.l d2 clr.l d3 move.b highoff,d2 sub #4,d2 lea tableII,a4 move.l 0(a4,d2),a5 move.b highbyte,d3 move.b 0(a5,d3),d4 cmp.b #1,d4 beq m32 jmp executeit m32 move.b #1,hicounter jmp u2 m6 move.b #0,mode jmp rucksack executeit move.b hicounter,d0 cmp.b #0,d0 beq r3 move.b abagain,d0 cmp.b #0,d0 beq ex2 jsr blink move.b highoff,d2 move.b d2,offset move.b highbyte,d2 move.b d2,byte move.b hiupper,d0 cmp.b #0,d0 beq n1b CHANGE #4,#0,#1,#2,#2 n1b move.b hidrupper,d0 cmp.b #0,d0 beq n2b CHANGE #4,#-1,#1,#2,#2 n2b move.b hirighter,d0 cmp.b #0,d0 beq n3b CHANGE #0,#-1,#1,#2,#2 n3b move.b hidrowner,d0 cmp.b #0,d0 beq n4b CHANGE #-4,#-1,#1,#2,#2 n4b move.b hidowner,d0 cmp.b #0,d0 beq n5b CHANGE #-4,#0,#1,#2,#2 n5b move.b hidlowner,d0 cmp.b #0,d0 beq n6b CHANGE #-4,#1,#1,#2,#2 n6b move.b hilefter,d0 cmp.b #0,d0 beq n7b CHANGE #0,#1,#1,#2,#2 n7b move.b hidlupper,d0 cmp.b #0,d0 beq fxsb CHANGE #4,#1,#1,#2,#2 fxsb jsr count HEXER msg2,you,#90 HEXER msg3,cpu,#104 jmp r2 r3 move.b #1,passone r2 move.b #2,fab1 move.b #1,fab2 move.b #0,mode jmp rucksack ex2 move.b #1,abagain jmp u7 bts3 jsr clear jmp u5 ots3 jsr clear jmp rucksack * ChangeOld : * ------------- chab move.l #8,d5 ch2 move.b (a4)+,(a5)+ sub #1,d5 beq ch3 jmp ch2 ch3 rts * Back : * -------- ;wenn "Back" gedrückt wurde backy3 lea one,a4 lea cop1,a5 move.l #8,d4 bac1 move.b (a5)+,(a4)+ sub #1,d4 beq bac2 jmp bac1 bac2 lea two,a4 lea cop2,a5 move.l #8,d4 bac3 move.b (a5)+,(a4)+ sub #1,d4 beq bac4 jmp bac3 bac4 lea three,a4 lea cop3,a5 move.l #8,d4 bac5 move.b (a5)+,(a4)+ sub #1,d4 beq bac6 jmp bac5 bac6 lea four,a4 lea cop4,a5 move.l #8,d4 bac7 move.b (a5)+,(a4)+ sub #1,d4 beq bac8 jmp bac7 bac8 lea five,a4 lea cop5,a5 move.l #8,d4 bac9 move.b (a5)+,(a4)+ sub #1,d4 beq bac10 jmp bac9 bac10 lea six,a4 lea cop6,a5 move.l #8,d4 bac11 move.b (a5)+,(a4)+ sub #1,d4 beq bac12 jmp bac11 bac12 lea seven,a4 lea cop7,a5 move.l #8,d4 bac13 move.b (a5)+,(a4)+ sub #1,d4 beq bac14 jmp bac13 bac14 lea eight,a4 lea cop8,a5 move.l #8,d4 bac15 move.b (a5)+,(a4)+ sub #1,d4 beq bac16 jmp bac15 jmp rucksack bac16 move.l wptr,a1 move.l wd_RPort(a1),a1 move.l #0,d0 CALLGRAF SetAPen move.l wptr,a1 move.l wd_RPort(a1),a1 move.l #133,d0 move.l #13,d1 move.l #377,d2 move.l #131,d3 CALLGRAF RectFill move.l gadget1,a0 move.l wptr,a1 move.l #0,a2 CALLINT RefreshGadget clr.l d5 clr.l d6 btouch lea tableII,a3 move.l 0(a3,d5),a3 move.l #8,d4 bwhich move.b (a3)+,d6 cmp.b #0,d6 beq bnext cmp.b #2,d6 beq bacblac cmp.b #1,d6 beq bacora brunter add #4,d5 cmp #32,d5 beq brrret jmp btouch bacora move.l #8,d3 sub d4,d3 mulu #30,d3 add #2,d3 move.w d3,xfill move.l d5,d3 lsr #2,d3 mulu #15,d3 add #11,d3 move.w d3,yfill FILL xfill,yfill,#3 jmp bnext bacblac move.l #8,d3 sub d4,d3 mulu #30,d3 add #2,d3 move.w d3,xfill move.l d5,d2 lsr #2,d2 mulu #15,d2 add #11,d2 move.w d2,yfill FILL xfill,yfill,#2 bnext sub #1,d4 beq brunter jmp bwhich brrret jsr count HEXER msg2,you,#90 HEXER msg2,cpu,#104 PRINT msg9,#6,#126 jmp rucksack * Blinker : * ----------- ;blink mal kurz (s/w) blink clr.l d2 clr.l d3 move.b highbyte,d2 mulu #30,d2 add #2,d2 move.w d2,xfill move.b highoff,d3 lsr #2,d3 mulu #15,d3 add #11,d3 move.w d3,yfill move.l #4,d5 b4 sub #1,d5 cmp #0,d5 beq bret FILL xfill,yfill,#1 move.l #20000,d6 b1 sub #1,d6 cmp #0,d6 beq b2 jmp b1 b2 FILL xfill,yfill,#2 move.l #20000,d6 b5 sub #1,d6 cmp #0,d6 beq b4 jmp b5 bret rts * Possnotmac : * -------------- poss POSSIBLE #4,#0,upper ;möglich ? POSSIBLE #4,#-1,drupper POSSIBLE #0,#-1,righter POSSIBLE #-4,#-1,drowner POSSIBLE #-4,#0,downer POSSIBLE #-4,#1,dlowner POSSIBLE #0,#1,lefter POSSIBLE #4,#1,dlupper rts * Counter : * ----------- ;durchzählen count clr.l d5 clr.l d6 lea you,a5 lea cpu,a4 move.b #0,(a5) move.b #0,(a4) touchdown lea tableII,a3 move.l 0(a3,d5),a3 move.l #8,d2 which move.b (a3)+,d3 cmp.b #0,d3 beq next cmp.b #2,d3 beq toblack cmp.b #1,d3 beq toorange toblack add.b #1,(a4) jmp next toorange add.b #1,(a5) next sub #1,d2 tst d2 beq runter jmp which runter add #4,d5 cmp #32,d5 beq cret jmp touchdown cret rts * Clear : * --------- clear move.l wptr,a1 move.l wd_RPort(a1),a1 move.l #0,d0 CALLGRAF SetAPen move.l wptr,a1 move.l wd_RPort(a1),a1 move.l #133,d0 move.l #13,d1 move.l #377,d2 move.l #131,d3 CALLGRAF RectFill move.l gadget1,a0 move.l wptr,a1 move.l #0,a2 CALLINT RefreshGadget lea one,a0 lea two,a1 lea three,a2 lea six,a3 lea seven,a4 lea eight,a5 move.l #8,d0 cl2 move.b #0,(a0)+ move.b #0,(a1)+ move.b #0,(a2)+ move.b #0,(a3)+ move.b #0,(a4)+ move.b #0,(a5)+ sub #1,d0 tst d0 beq cl6 jmp cl2 cl6 lea cop1,a0 lea cop2,a1 lea cop3,a2 lea cop6,a3 lea cop7,a4 lea cop8,a5 move.l #8,d0 cl7 move.b #0,(a0)+ move.b #0,(a1)+ move.b #0,(a2)+ move.b #0,(a3)+ move.b #0,(a4)+ move.b #0,(a5)+ sub #1,d0 tst d0 beq cl3 jmp cl7 cl3 lea four,a0 lea five,a1 lea cop4,a2 lea cop5,a3 move.b #0,(a0)+ move.b #0,(a1)+ move.b #0,(a0)+ move.b #0,(a1)+ move.b #0,(a0)+ move.b #0,(a1)+ move.b #1,(a0)+ move.b #2,(a1)+ move.b #2,(a0)+ move.b #1,(a1)+ move.b #0,(a0)+ move.b #0,(a1)+ move.b #0,(a0)+ move.b #0,(a1)+ move.b #0,(a0)+ move.b #0,(a1)+ move.b #0,(a2)+ move.b #0,(a3)+ move.b #0,(a2)+ move.b #0,(a3)+ move.b #0,(a2)+ move.b #0,(a3)+ move.b #1,(a2)+ move.b #2,(a3)+ move.b #2,(a2)+ move.b #1,(a3)+ move.b #0,(a2)+ move.b #0,(a3)+ move.b #0,(a2)+ move.b #0,(a3)+ move.b #0,(a2)+ move.b #0,(a3)+ move.b #2,you move.b #2,cpu PRINT msg1,#33,#90 PRINT msg4,#33,#104 FILL #92,#56,#3 FILL #122,#56,#2 FILL #92,#71,#2 FILL #122,#71,#3 PRINT msg9,#6,#126 rts * finish activity : * ------------------- closemain move.l wptr,a0 CALLINT CloseWindow closeDOS move.l _DOSBase,a1 CALLEXEC CloseLibrary closegraf move.l _GfxBase,a1 CALLEXEC CloseLibrary closeint move.l _IntuitionBase,a1 CALLEXEC CloseLibrary stop_it rts W_gadgets equ WINDOWCLOSE!WINDOWDRAG!WINDOWDEPTH W_extras equ SMART_REFRESH!ACTIVATE W_Title dc.b " REVCOMP V1.2 by MARC FISCHLIN ",0 even wdef dc.w 130,32 dc.w 380,136 dc.b 2,1 dc.l GADGETUP!CLOSEWINDOW dc.l W_gadgets!W_extras dc.l gadget1 dc.l 0 dc.l W_Title dc.l 0,0 dc.w 50,50,400,200 dc.w WBENCHSCREEN intname INTNAME grafname GRAFNAME DOSname DOSNAME _IntuitionBase ds.l 1 _GfxBase ds.l 1 _DOSBase ds.l 1 wptr ds.l 1 counter dc.w 0 endcounter dc.w 0 xfill dc.w 0 yfill dc.w 0 ou dc.b 0 abx dc.b 0 ab1 dc.b 0 abagain dc.b 0 test dc.b 0 highoff dc.b 0 highbyte dc.b 0 hicounter dc.b 0 ecke dc.b 0 hiupper dc.b 0 hidrupper dc.b 0 hirighter dc.b 0 hidrowner dc.b 0 hidowner dc.b 0 hidlowner dc.b 0 hilefter dc.b 0 hidlupper dc.b 0 passone dc.b 0 upper dc.b 0 drupper dc.b 0 righter dc.b 0 drowner dc.b 0 downer dc.b 0 dlowner dc.b 0 lefter dc.b 0 dlupper dc.b 0 you dc.b 0 cpu dc.b 0 offset dc.b 0 byte dc.b 0 mode dc.b 0 fab1 dc.b 2 fab2 dc.b 1 even one dc.b 0,0,0,0,0,0,0,0 two dc.b 0,0,0,0,0,0,0,0 three dc.b 0,0,0,0,0,0,0,0 four dc.b 0,0,0,1,2,0,0,0 five dc.b 0,0,0,2,1,0,0,0 six dc.b 0,0,0,0,0,0,0,0 seven dc.b 0,0,0,0,0,0,0,0 eight dc.b 0,0,0,0,0,0,0,0 even cop1 dc.b 0,0,0,0,0,0,0,0 cop2 dc.b 0,0,0,0,0,0,0,0 cop3 dc.b 0,0,0,0,0,0,0,0 cop4 dc.b 0,0,0,1,2,0,0,0 cop5 dc.b 0,0,0,2,1,0,0,0 cop6 dc.b 0,0,0,0,0,0,0,0 cop7 dc.b 0,0,0,0,0,0,0,0 cop8 dc.b 0,0,0,0,0,0,0,0 even tableIV dc.l 0 dc.l pe1 dc.l pe2 dc.l pe3 dc.l pe4 dc.l pl1 dc.l pl2 dc.l pl3 dc.l pl4 dc.l pl5 dc.l pl6 dc.l pl7 dc.l pl8 dc.l pl9 dc.l pl10 dc.l pl11 dc.l pl12 dc.l pl13 dc.l pl14 dc.l pl15 dc.l pl16 dc.l pl17 dc.l pl18 dc.l pl19 dc.l pl20 dc.l pl21 dc.l pl22 dc.l pl23 dc.l pl24 dc.l pl25 dc.l pl26 dc.l pl27 dc.l pl28 dc.l pl29 dc.l pl30 dc.l pl31 dc.l pl32 dc.l pl33 dc.l pl34 dc.l pl35 dc.l pl36 dc.l pl37 dc.l pl38 dc.l pl39 dc.l pl40 dc.l pl41 dc.l pl42 dc.l pl43 dc.l pl44 dc.l pl45 dc.l pl46 dc.l pl47 dc.l pl48 dc.l pl49 dc.l pl50 dc.l pl51 dc.l pl52 dc.l pl53 dc.l pl54 dc.l pl55 dc.l pl56 tableIII dc.l 0 dc.l e1 dc.l e2 dc.l e3 dc.l e4 dc.l l1 dc.l l2 dc.l l3 dc.l l4 dc.l l5 dc.l l6 dc.l l7 dc.l l8 dc.l l9 dc.l l10 dc.l l11 dc.l l12 dc.l l13 dc.l l14 dc.l l15 dc.l l16 dc.l l17 dc.l l18 dc.l l19 dc.l l20 dc.l l21 dc.l l22 dc.l l23 dc.l l24 dc.l l25 dc.l l26 dc.l l27 dc.l l28 dc.l l29 dc.l l30 dc.l l31 dc.l l32 dc.l l33 dc.l l34 dc.l l35 dc.l l36 dc.l l37 dc.l l38 dc.l l39 dc.l l40 dc.l l41 dc.l l42 dc.l l43 dc.l l44 dc.l l45 dc.l l46 dc.l l47 dc.l l48 dc.l l49 dc.l l50 dc.l l51 dc.l l52 dc.l l53 dc.l l54 dc.l l55 dc.l l56 tableII dc.l one dc.l two dc.l three dc.l four dc.l five dc.l six dc.l seven dc.l eight table dc.l iw1 dc.l iw2 dc.l iw3 dc.l iw4 dc.l iw5 dc.l iw6 dc.l iw7 dc.l iw8 dc.l iw9 dc.l iw10 dc.l iw11 dc.l iw12 dc.l iw13 dc.l iw14 dc.l iw15 dc.l iw16 dc.l iw17 dc.l iw18 dc.l iw19 dc.l iw20 dc.l iw21 dc.l iw22 dc.l iw23 dc.l iw24 dc.l iw25 dc.l iw26 dc.l iw27 dc.l iw28 dc.l iw29 dc.l iw30 dc.l iw31 dc.l iw32 dc.l iw33 dc.l iw34 dc.l iw35 dc.l iw36 dc.l iw37 dc.l iw38 dc.l iw39 dc.l iw40 dc.l iw41 dc.l iw42 dc.l iw43 dc.l iw44 dc.l iw45 dc.l iw46 dc.l iw47 dc.l iw48 dc.l iw49 dc.l iw50 dc.l iw51 dc.l iw52 dc.l iw53 dc.l iw54 dc.l iw55 dc.l iw56 dc.l iw57 dc.l iw58 dc.l iw59 dc.l iw60 dc.l iw61 dc.l iw62 dc.l iw63 dc.l iw64 dc.l bts1 dc.l ots1 dc.l backy1 * Messages : * ------------ msg1 dc.b "YOU : 02",0 msg4 dc.b "CPU : 02",0 msg2 dc.b " ",0 msg3 dc.b " ",0 msg5 dc.b "- You win -",0 msg6 dc.b "- Game's tied -",0 msg7 dc.b "- You lose -",0 msg9 dc.b " ",0 even * Gadgets : * ----------- border dc.w 0,0 dc.b 1,0,0,5 dc.l koord dc.l 0 koord dc.w -1,-1 dc.w 29,-1 dc.w 29,14 dc.w -1,14 dc.w -1,-1 gadget1 ds.b $2c even gadget2 ds.b $2c even gadget3 ds.b $2c even gadget4 ds.b $2c even gadget5 ds.b $2c even gadget6 ds.b $2c even gadget7 ds.b $2c even gadget8 ds.b $2c even gadget9 ds.b $2c even gadget10 ds.b $2c even gadget11 ds.b $2c even gadget12 ds.b $2c even gadget13 ds.b $2c even gadget14 ds.b $2c even gadget15 ds.b $2c even gadget16 ds.b $2c even gadget17 ds.b $2c even gadget18 ds.b $2c even gadget19 ds.b $2c even gadget20 ds.b $2c even gadget21 ds.b $2c even gadget22 ds.b $2c even gadget23 ds.b $2c even gadget24 ds.b $2c even gadget25 ds.b $2c even gadget26 ds.b $2c even gadget27 ds.b $2c even gadget28 ds.b $2c even gadget29 ds.b $2c even gadget30 ds.b $2c even gadget31 ds.b $2c even gadget32 ds.b $2c even gadget33 ds.b $2c even gadget34 ds.b $2c even gadget35 ds.b $2c even gadget36 ds.b $2c even gadget37 ds.b $2c even gadget38 ds.b $2c even gadget39 ds.b $2c even gadget40 ds.b $2c even gadget41 ds.b $2c even gadget42 ds.b $2c even gadget43 ds.b $2c even gadget44 ds.b $2c even gadget45 ds.b $2c even gadget46 ds.b $2c even gadget47 ds.b $2c even gadget48 ds.b $2c even gadget49 ds.b $2c even gadget50 ds.b $2c even gadget51 ds.b $2c even gadget52 ds.b $2c even gadget53 ds.b $2c even gadget54 ds.b $2c even gadget55 ds.b $2c even gadget56 ds.b $2c even gadget57 ds.b $2c even gadget58 ds.b $2c even gadget59 ds.b $2c even gadget60 ds.b $2c even gadget61 ds.b $2c even gadget62 ds.b $2c even gadget63 ds.b $2c even gadget64 ds.b $2c bts dc.l ots dc.w 5,20,123,9 dc.w GADGHCOMP dc.w RELVERIFY dc.w 1 dc.l border2 dc.l 0 dc.l bts_text dc.l 0,0 dc.w 65 dc.l 0 bts_text dc.b 1,0,0,0 dc.w 2,1 dc.l 0 dc.l bts_real dc.l 0 bts_real dc.b " Black starts",0 even border2 dc.w 0,0 dc.b 1,0,0,5 dc.l koords2 dc.l 0 koords2 dc.w -1,-1,123,-1,123,9,-1,9,-1,-1 ots dc.l backy dc.w 5,40,123,9 dc.w GADGHCOMP dc.w RELVERIFY dc.w 1 dc.l border2 dc.l 0 dc.l ots_text dc.l 0,0 dc.w 66 dc.l 0 ots_text dc.b 1,0,0,0 dc.w 2,1 dc.l 0 dc.l ots_real dc.l 0 ots_real dc.b " Orange starts",0 backy dc.l 0 dc.w 5,60,123,9 dc.w GADGHCOMP dc.w RELVERIFY dc.w 1 dc.l border2 dc.l 0 dc.l backy_text dc.l 0,0 dc.w 67 dc.l 0 backy_text dc.b 1,0,0,0 dc.w 6,1 dc.l 0 dc.l backy_real dc.l 0 backy_real dc.b " Back ",0