home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 1
/
GoldFishApril1994_CD1.img
/
d2xx
/
d245
/
reversi
/
revcomp.asm
< prev
next >
Wrap
Assembly Source File
|
1989-09-06
|
41KB
|
2,308 lines
* --------------------
* - 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