home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-03-06 | 43.1 KB | 2,555 lines |
- * --------------------
- * - Rev 2.0 -
- * - by -
- * - Marc Fischlin -
- * - in -
- * - 11/89 -
- * --------------------
- incdir "vd0: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
- moveq.l #0,d5
- moveq.l #0,d6
- moveq.l #0,d0
- lea \1,a4
- notlenred_\@ move.b (a4)+,d5
- tst.b d5
- beq prilenred_\@
- addq.b #1,d0
- bra 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
-
- * 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(pc),a0 ;ist der Platz noch frei ?
- moveq.l \2,d0
- move.b (a0,d0),d1
- tst.b d1
- beq \4
- jmp \3
- endm
-
- * Change :
- * ----------
- CHANGE MACRO ;was wird um-
- moveq.l #0,d5 ;gedreht ?
- moveq.l #0,d3
- moveq.l #0,d2
- moveq.l #0,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 ?
- moveq.l #0,d5
- moveq.l #0,d6
- move.b offset(pc),d5
- move.b byte,d6
- lea counter(pc),a3
- move #0,(a3)
- lea tableII(pc),a5
- sub \1,d5
- sub \2,d6
- move.l (a5,d5),a4
- move.b (a4,d6),d3
- move.b fab1,d4
- cmp.b d4,d3
- beq voryep_\@
- jmp pback_\@
- voryep_\@ add.b #1,(a3)
- yep_\@ sub \1,d5
- tst.b d5
- blt pback_\@
- cmp.b #28,d5
- bgt pback_\@
- sub \2,d6
- tst.b d6
- blt pback_\@
- cmp.b #7,d6
- bgt pback_\@
- move.l (a5,d5),a4
- move.b (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_\@ move.b #1,\3
- move.b endcounter,d2
- move.b counter,d3
- add.b d3,d2
- move.b d2,endcounter
- jmp preally_\@
- pback_\@ move.b #0,\3
- 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
-
- * DrawLines :
- * ---------------
- Lines move.l #132,d5
- move.l wptr,a1
- move.l wd_RPort(a1),a1
- move.l a1,a5
- moveq.l #1,d0
- CALLGRAF SetAPen ;weiße Linie
- .xlines move.l a5,a1
- move.l d5,d0
- move.l #13,d1
- CALLGRAF Move
- move.l a5,a1
- move.l d5,d0
- move.l #132,d1
- CALLGRAF Draw
- add #30,d5
- cmp #402,d5
- beq .ylines
- bra .xlines
- .ylines move.l #12,d5
- .yret move.l a5,a1
- move.l d5,d1
- move.l #132,d0
- CALLGRAF Move
- move.l a5,a1
- move.l d5,d1
- move.l #372,d0
- CALLGRAF Draw
- add #15,d5
- cmp.b #147,d5
- beq .rete
- bra .yret
- .rete rts
-
-
- * 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 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
- PRINT msg11,#71,#56
- PRINT msg15,#75,#68
- jsr Lines
- move.b #1,dots
- move.b #3,levelbyte
- move.b #0,moves
- move.b #0,backs
- 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
- move.b #0,now
- event2 moveq.l #0,d5
- moveq.l #0,d4
- move.b ou,d4
- addq.b #1,d4
- move.b d4,ou
- move.b d4,d5
- cmp.b #61,d5 ;ist schon alles voll ?
- beq youpass
- lea offset(pc),a3
- lea byte(pc),a4
- lea tableIV(pc),a0
- lsl #2,d5
- move.l (a0,d5),a0
- jmp (a0)
- eve4 move.b endcounter,d0
- tst.b d0
- beq.s event2 ;jetzt mit "."
- move.b #1,now
- cmp.b #0,dots
- beq.s event2
- jsr drawDot
- bra event2
- geht_OK move.b #0,endcounter
- move.b #0,mode
- bra event
- youpass cmp.b #1,now
- beq geht_OK
- move.b passone,d0
- cmp.b #1,d0
- beq.s 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
- bra event
- yep1 PRINT msg6,#6,#126
- bra event
- yep2 PRINT msg7,#18,#126
- bra 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
- tst.b d0
- beq .welchesG
- .ret lsl #2,d0
- lea.l table,a0
- move.l (a0,d0),a0
- lea offset,a3
- lea byte,a4
- jmp (a0)
-
- .welchesG move.l wptr,a0
- moveq.l #0,d0
- moveq.l #0,d1
- move.w 12(a0),d1
- move.w 14(a0),d0
- sub #13,d1
- sub #133,d0
- divu #30,d0
- and.l #$f,d0
- lsl #3,d0
- divu #15,d1
- and.l #$f,d1
- add.b d1,d0
- bra .ret
-
- * 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
- tst.b d0
- beq rucksack
- moveq.l #0,d0
- move.b moves,d0
- divu #10,d0
- swap d0
- and.l #$f,d0
- lsl #2,d0
- lea tableX(pc),a0
- move.l (a0,d0),a0 ;in welchen move ?
- move.l (a0)+,a5
- lea one(pc),a4
- jsr chab
- move.l (a0)+,a5
- lea two(pc),a4
- jsr chab
- move.l (a0)+,a5
- lea three(pc),a4
- jsr chab
- move.l (a0)+,a5
- lea four(pc),a4
- jsr chab
- move.l (a0)+,a5
- lea five(pc),a4
- jsr chab
- move.l (a0)+,a5
- lea six(pc),a4
- jsr chab
- move.l (a0)+,a5
- lea seven(pc),a4
- jsr chab
- move.l (a0)+,a5
- lea eight(pc),a4
- jsr chab
- move.b upper,d0
- tst.b d0
- beq n1
- CHANGE #4,#0,#2,#1,#3
- n1 move.b drupper,d0
- tst.b d0
- beq n2
- CHANGE #4,#-1,#2,#1,#3
- n2 move.b righter,d0
- tst.b d0
- beq n3
- CHANGE #0,#-1,#2,#1,#3
- n3 move.b drowner,d0
- tst.b d0
- beq n4
- CHANGE #-4,#-1,#2,#1,#3
- n4 move.b downer,d0
- tst.b d0
- beq n5
- CHANGE #-4,#0,#2,#1,#3
- n5 move.b dlowner,d0
- tst.b d0
- beq n6
- CHANGE #-4,#1,#2,#1,#3
- n6 move.b lefter,d0
- tst.b d0
- beq n7
- CHANGE #0,#1,#2,#1,#3
- n7 move.b dlupper,d0
- tst.b d0
- beq fxs
- CHANGE #4,#1,#2,#1,#3
- fxs move.b #1,mode
- move.b moves,d0
- addq.b #1,d0
- move.b d0,moves
- move.b backs,d0
- cmp.b #10,d0
- beq .label1
- addq.b #1,d0
- move.b d0,backs
- .label1 jsr count
- HEXER msg2,you,#90
- HEXER msg3,cpu,#104
- jsr clearDots
- u5 move.b cpu,d0 ;der Computer zieht !
- tst.b d0
- beq r2 ;CPU verliert
- move.b #0,TwentyEight
- move.b #0,passone
- move.b #0,hicounter
- move.b #0,endcounter
- move.b #1,mode
- move.b #1,fab1
- move.b #2,fab2 ;Farben zum Vergleichen !
- u7 move.b #0,ou
- 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
- moveq.l #0,d4
- move.b ou,d4
- addq.b #1,d4
- move.b d4,ou
- moveq.l #0,d5
- move.b ou,d5
- cmp.b #61,d5
- beq executeit
- u2 lea offset(pc),a3
- lea byte(pc),a4
- lea tableIII(pc),a0
- moveq.l #0,d5
- move.b ou,d5
- lsl #2,d5
- move.l (a0,d5),a0
- jmp (a0)
- e1 ASK one,#0,movein,iwi1b ;was ist frei ?
- e2 ASK eight,#0,movein,iwi8b
- e3 ASK one,#7,movein,iwi57 ;die Ecken vielleicht ?
- e4 ASK eight,#7,movein,iwi64
- l1 ASK one,#1,movein,iwi9b ;oder die Randfelder ?
- l2 ASK one,#2,movein,iwi17b
- l3 ASK one,#3,movein,iwi25b
- l4 ASK one,#4,movein,iwi33b
- l5 ASK one,#5,movein,iwi41b
- l6 ASK one,#6,movein,iwi49b
- l7 ASK eight,#1,movein,iwi16b
- l8 ASK eight,#2,movein,iwi24b
- l9 ASK eight,#3,movein,iwi32b
- l10 ASK eight,#4,movein,iwi40b
- l11 ASK eight,#5,movein,iwi48
- l12 ASK eight,#6,movein,iwi56
- l13 ASK two,#0,movein,iwi2b
- l14 ASK three,#0,movein,iwi3b
- l15 ASK four,#0,movein,iwi4b
- l16 ASK five,#0,movein,iwi5b
- l17 ASK six,#0,movein,iwi6b
- l18 ASK seven,#0,movein,iwi7b
- l19 ASK two,#7,movein,iwi58
- l20 ASK three,#7,movein,iwi59
- l21 ASK four,#7,movein,iwi60
- l22 ASK five,#7,movein,iwi61
- l23 ASK six,#7,movein,iwi62
- l24 ASK seven,#7,movein,iwi63
- l25 ASK three,#2,movein,iwi19b ;die Innenfelder (4x4) !?
- l26 ASK three,#3,movein,iwi27b
- l27 ASK three,#4,movein,iwi35b
- l28 ASK three,#5,movein,iwi43
- l29 ASK four,#2,movein,iwi20b
- l30 ASK four,#5,movein,iwi44
- l31 ASK five,#2,movein,iwi21b
- l32 ASK five,#5,movein,iwi45
- l33 ASK six,#2,movein,iwi22b
- l34 ASK six,#3,movein,iwi30b
- l35 ASK six,#4,movein,iwi38b
- l36 ASK six,#5,movein,iwi46
- l37 ASK two,#2,movein,iwi18b ;dann die übrigen Felder ?
- l38 ASK two,#3,movein,iwi26b
- l39 ASK two,#4,movein,iwi34b
- l40 ASK two,#5,movein,iwi42
- l41 ASK three,#1,movein,iwi11b
- l42 ASK three,#6,movein,iwi51
- l43 ASK four,#1,movein,iwi12b
- l44 ASK four,#6,movein,iwi52
- l45 ASK five,#1,movein,iwi13b
- l46 ASK five,#6,movein,iwi53
- l47 ASK six,#1,movein,iwi14b
- l48 ASK six,#6,movein,iwi54
- l49 ASK seven,#2,movein,iwi23b
- l50 ASK seven,#3,movein,iwi31b
- l51 ASK seven,#4,movein,iwi39b
- l52 ASK seven,#5,movein,iwi47
- l53 ASK seven,#1,movein,iwi15b ;nicht die Voreckfelder !
- l54 ASK two,#1,movein,iwi10b
- l55 ASK two,#6,movein,iwi50
- l56 ASK seven,#6,movein,iwi55
-
- movein cmp.b #3,levelbyte
- bne .Max
- cmp.b #29,ou
- bne .Min
- cmp.b #6,hicounter ;eins der Randfelder frei ?
- bge executeit
- .Min cmp.b #1,levelbyte
- beq .Max
- cmp.b #2,levelbyte
- beq .Min2
- cmp.b #41,ou
- bne .Max
- cmp.b #4,hicounter ;Innenfeld (4x4)
- bge executeit
- bra .Max
- .Min2 cmp.b #41,ou ;bei Level 2
- bge .Max
- cmp.b #28,ou
- bls .Max
- cmp.b #0,endcounter
- bne m67
- .Max move.b endcounter,d0 ;Rückkehr
- tst.b d0
- beq uptohim
- cmp.b #1,levelbyte
- beq .skip1
- cmp.b #4,ou ;is'ne Ecke frei ?
- bls m67
- .skip1 addq.b #3,d0 ;erhöht um 3 für better blanks
- move.b d0,endcounter
- move.b ou,d0
- cmp.b #3,levelbyte
- bne .skip2
- cmp.b #16,d0
- bls mTV1
- cmp.b #28,d0
- bls mTV2
- .skip2 cmp.b #1,levelbyte
- beq m7
- cmp.b #57,d0 ;Voreckfelder
- beq m8
- cmp.b #58,d0
- beq m8b
- cmp.b #59,d0
- beq m8c
- cmp.b #60,d0
- beq m8d
- m7 move.b hicounter,d1
- move.b endcounter,d0
- cmp.b d1,d0
- beq m40
- cmp.b d1,d0
- bge m2
- m3 move.b #0,endcounter
- jmp uptohim
- m2 move.b endcounter,hicounter
- move.b offset,highoff
- move.b byte,highbyte
- move.b upper,hiupper
- move.b drupper,hidrupper
- move.b righter,hirighter
- move.b drowner,hidrowner
- move.b downer,hidowner
- move.b dlowner,hidlowner
- move.b lefter,hilefter
- move.b dlupper,hidlupper
- bra m3
- m40 move.b $dff007,d0 ;was soll DAS ???
- btst #1,d0 ;Ah , Zufall !
- beq m3
- bra m2
- m8 lea eight(pc),a6
- move.b (a6),d0
- m8all cmp.b #2,d0 ;Status der Ecke
- beq m7
- move.b #1,endcounter ;schon von Schwarz genommen
- tst.b d0
- beq m7 ;noch frei
- move.b #2,endcounter
- bra m7 ;schon von Orange genommen
- m8d lea eight(pc),a6
- move.b 7(a6),d0
- bra m8all
- m8c lea one(pc),a6
- move.b 7(a6),d0
- bra m8all
- m8b lea one(pc),a6
- move.b (a6),d0
- bra m8all
- m11 move.b hicounter,d0
- tst.b d0
- beq u2
- move.b highbyte,d0
- tst.b d0
- beq m12
- cmp.b #7,d0
- beq m12
- move.b hirighter,d0
- tst.b d0
- beq m13
- bra m18
- m13 moveq.l #0,d2
- moveq.l #0,d3
- move.b highoff,d2
- lea tableII(pc),a4
- move.l (a4,d2),a5
- move.b highbyte,d3
- addq.b #1,d3
- move.b (a5,d3),d4
- cmp.b #1,d4
- beq.s m16
- bra m18
- m16 move.b #1,hicounter
- jmp u2
- m18 move.b hilefter,d0
- tst.b d0
- beq.s m19
- bra executeit
- m19 moveq.l #0,d2
- moveq.l #0,d3
- move.b highoff,d2
- lea tableII(pc),a4
- move.l (a4,d2),a5
- move.b highbyte,d3
- subq.b #1,d3
- move.b (a5,d3),d4
- cmp.b #1,d4
- beq.s m22
- bra executeit
- m22 move.b #1,hicounter
- jmp u2
- m12 move.b hidowner,d0
- tst.b d0
- beq.s m23
- bra m28
- m23 moveq.l #0,d2
- moveq.l #0,d3
- move.b highoff,d2
- addq.b #4,d2
- lea tableII(pc),a4
- move.l (a4,d2),a5
- move.b highbyte,d3
- move.b (a5,d3),d4
- cmp.b #1,d4
- beq.s m26
- bra m28
- m26 move.b #1,hicounter
- jmp u2
- m28 move.b hiupper,d0
- tst.b d0
- beq m29
- bra executeit
- m29 moveq.l #0,d2
- moveq.l #0,d3
- move.b highoff,d2
- subq.b #4,d2
- lea tableII(pc),a4
- move.l (a4,d2),a5
- move.b highbyte,d3
- move.b (a5,d3),d4
- cmp.b #1,d4
- beq.s m32
- bra executeit
- m32 move.b #1,hicounter
- jmp u2
- m6 move.b #0,mode
- jmp rucksack
-
-
- mTV1 bra special_case
- mTV1back moveq.l #0,d0 ;Randfelder checken
- moveq.l #0,d5
- move.b offset(pc),d0
- lea tableII(pc),a2
- move.l (a2,d0),a0
- moveq.l #0,d1
- move.b byte,d1
- move.l d1,d6 ;retten
- subq.b #1,d1
- .label2q move.b (a0,d1),d2 ;nach links
- moveq.b #1,d5
- tst.b d2
- beq to_the_right ;d5 = 1 - geht OK
- moveq.b #0,d5 ;d5 = 0 - no way
- cmp.b #2,d2
- bne .label1q
- subq.b #1,d1
- cmp.b #-1,d1
- beq m7
- bra .label2q
- .label1q cmp.b #0,lefter
- bne .label3q
- moveq.b #0,d5 ;Orange !!!
- bra to_the_right
- .label3q subq.b #1,d1 ;umdrehbar
- move.b (a0,d1),d2
- cmp.b #2,d2
- bne .label3q
- .label4q subq.b #1,d1 ;und danach ?
- cmp.b #-1,d1
- beq m67
- move.b (a0,d1),d2
- moveq.b #2,d5 ;d5 = 2 - umdrehbar
- tst.b d2
- beq to_the_right
- moveq.b #0,d5
- cmp.b #1,d2 ;wieder Orange ?
- beq to_the_right ;dann NEIN !
- bra .label4q
-
- to_the_right
- move.l d6,d1
- addq.b #1,d1
- .label2q move.b (a0,d1),d2 ;nach rechts
- tst.b d2
- beq .ask_for
- cmp.b #2,d2
- bne .label1q
- addq.b #1,d1
- cmp.b #8,d1
- beq .ask_for
- bra .label2q
- .label1q cmp.b #0,righter
- bne .label3q
- .nein move.b #3,endcounter
- .no1 moveq.l #0,d0
- move.b byte,d0
- cmp.b #1,d0
- bne .no2
- moveq.b #0,d0
- .no_all move.b (a0,d0),d2
- tst.b d2
- bne .no3
- cmp.b #2,d5
- beq m67
- move.b #1,endcounter
- bra m7
- .no3 cmp.b #2,d2
- beq m7
- move.b #2,endcounter
- bra m7
- .no2 cmp.b #6,byte
- bne m7
- moveq.b #7,d0
- bra .no_all
- .label3q addq.b #1,d1 ;umdrehbar
- move.b (a0,d1),d2
- cmp.b #2,d2
- bne .label3q
- .label4q addq.b #1,d1 ;und danach ?
- cmp.b #8,d1
- beq m67 ;dann hab ich die Ecke !
- move.b (a0,d1),d2
- tst.b d2
- bne .label5q
- tst.b d5
- beq .ask_for
- moveq.b #2,d5
- bra .ask_for
- .label5q cmp.b #1,d2 ;wieder Orange ?
- beq .nein ;dann NEIN !
- bra .label4q
-
- .ask_for tst.b d5 ;d5 = 0 - nein
- beq .nein
- cmp.b #1,byte
- beq .no1
- cmp.b #6,byte
- beq .no1
- cmp.b #2,d5
- beq m67
- bra m7
-
- special_case ;Ecke frei-orange-frei-orange-frei
- lea one(pc),a0
- cmp.b #0,offset
- beq .sc1
- lea eight(pc),a0
- .sc1 move.b (a0),d2 ;Ecke frei ?
- tst.b d2
- bne .scR
- move.b 1(a0),d2
- cmp.b #1,d2 ;Voreckfeld orange ?
- bne .scR
- moveq.l #1,d0
- .scLoop addq.b #1,d0
- cmp.b #8,d0
- beq .scR
- move.b (a0,d0),d2
- cmp.b #1,d2
- beq .scLoop
- tst.b d2 ;danach frei ?
- bne .scR
- move.b byte,d5
- cmp.b d0,d5 ;is'es das Feld ?
- bne .scR
- addq.b #1,d0
- cmp.b #8,d0
- beq .scR
- move.b (a0,d0),d2
- cmp.b #1,d2 ;danach orange ?
- bne .scR
- .scLoop2 addq.b #1,d0
- cmp.b #8,d0
- beq m67 ;frei oder Ecke !
- move.b (a0,d0),d2
- tst.b d2
- beq m67
- cmp.b #1,d2
- bne .scR
- bra .scLoop2
- .scR lea one(pc),a0 ;die rechte Ecke ?
- cmp.b #0,offset
- beq .sc3
- lea eight(pc),a0
- .sc3 move.b 7(a0),d2 ;Ecke frei ?
- tst.b d2
- bne .scNo
- move.b 6(a0),d2
- cmp.b #1,d2 ;Voreckfeld orange ?
- bne .scNo
- moveq.l #6,d0
- .scLoop3 subq.b #1,d0
- cmp.b #-1,d0
- beq .scNo
- move.b (a0,d0),d2
- cmp.b #1,d2
- beq .scLoop3
- tst.b d2 ;danach frei ?
- bne .scNo
- move.b byte,d5
- cmp.b d0,d5
- bne .scNo
- subq.b #1,d0
- cmp.b #-1,d0
- beq .scNo
- move.b (a0,d0),d2
- cmp.b #1,d2 ;danach orange ?
- bne .scNo
- .scLoop4 subq.b #1,d0
- cmp.b #-1,d0
- beq m67 ;frei oder Ecke !
- move.b (a0,d0),d2
- tst.b d2
- beq m67
- cmp.b #1,d2
- bne .scNo
- bra .scLoop4
- .scNo bra mTV1back
-
-
-
-
- mTV2 bra special_caseII
- mTV2back moveq.l #0,d1 ;Randfelder checken
- moveq.l #0,d5
- move.b offset(pc),d1
- lea tableII(pc),a2
- moveq.l #0,d0
- move.b byte,d0
- move.l d1,d6 ;retten
- subq.b #4,d1
- .label2q move.l (a2,d1),a0
- move.b (a0,d0),d2 ;nach oben
- moveq.b #1,d5
- tst.b d2
- beq to_the_down ;d5 = 1 - geht OK
- moveq.b #0,d5 ;d5 = 0 - no way
- cmp.b #2,d2
- bne .label1q
- subq.b #4,d1
- cmp.b #-4,d1
- beq m7
- bra .label2q
- .label1q cmp.b #0,upper
- bne .label3q
- moveq.b #0,d5 ;Orange !!!
- bra to_the_down
- .label3q subq.b #4,d1
- move.l (a2,d1),a0 ;umdrehbar
- move.b (a0,d0),d2
- cmp.b #2,d2
- bne .label3q
- .label4q subq.b #4,d1 ;und danach ?
- cmp.b #-4,d1
- beq m67
- move.l (a2,d1),a0
- move.b (a0,d0),d2
- moveq.b #2,d5
- tst.b d2
- beq to_the_down
- moveq.b #0,d5
- cmp.b #1,d2 ;wieder Orange ?
- beq to_the_down ;dann NEIN !
- bra .label4q
-
- to_the_down
- move.l d6,d1
- addq.b #4,d1
- .label2q move.l (a2,d1),a0
- move.b (a0,d0),d2 ;nach unten
- tst.b d2
- beq .ask_for
- cmp.b #2,d2
- bne .label1q
- addq.b #4,d1
- cmp.b #32,d1
- beq .ask_for
- bra .label2q
- .label1q cmp.b #0,downer
- bne .label3q
- .nein move.b #3,endcounter
- .no1 moveq.l #0,d1
- move.b offset,d1
- cmp.b #4,d1
- bne .no2
- moveq.b #0,d1
- .no_all moveq.l #0,d0
- move.b byte,d0
- move.l (a2,d1),a0
- move.b (a0,d0),d2
- tst.b d2
- bne .no3
- cmp.b #2,d5
- beq m67
- move.b #1,endcounter
- bra m7
- .no3 cmp.b #2,d2
- beq m7
- move.b #2,endcounter
- bra m7
- .no2 cmp.b #24,d1
- bne m7
- move.b #28,d1
- bra .no_all
- .label3q addq.b #4,d1
- move.l (a2,d1),a0 ;umdrehbar
- move.b (a0,d0),d2
- cmp.b #2,d2
- bne .label3q
- .label4q addq.b #4,d1 ;und danach ?
- cmp.b #32,d1
- beq m67 ;dann hab ich die Ecke !
- move.l (a2,d1),a0
- move.b (a0,d0),d2
- tst.b d2
- bne .label5q
- tst.b d5
- beq .ask_for
- moveq.b #2,d5
- bra .ask_for
- .label5q cmp.b #1,d2 ;wieder Orange ?
- beq .nein ;dann NEIN !
- bra .label4q
-
- .ask_for tst.b d5 ;d5 = 0 - nein
- beq .nein
- cmp.b #4,offset
- beq .no1
- cmp.b #24,offset
- beq .no1
- cmp.b #2,d5
- beq m67
- bra m7
-
- special_caseII ;Ecke frei-orange-frei-orange-frei
- moveq.l #0,d1
- moveq.l #0,d3
- moveq.l #0,d4
- move.b byte,d1
- lea tableII(pc),a2
- .sc1 move.l (a2),a0
- move.b (a0,d1),d2 ;Ecke frei ?
- tst.b d2
- bne .scR
- move.l 4(a2),a0
- move.b (a0,d1),d2
- cmp.b #1,d2 ;Voreckfeld orange ?
- bne .scR
- moveq.l #4,d4
- .scLoop addq.b #4,d4
- cmp.b #32,d4
- beq .scR
- move.l (a2,d4),a0
- move.b (a0,d1),d2
- cmp.b #1,d2
- beq .scLoop
- tst.b d2 ;danach frei ?
- bne .scR
- move.b offset,d5
- cmp.b d4,d5 ;is'es das Feld ?
- bne .scR
- addq.b #4,d4
- cmp.b #32,d4
- beq .scR
- move.l (a2,d4),a0
- move.b (a0,d1),d2
- cmp.b #1,d2 ;danach orange ?
- bne .scR
- .scLoop2 addq.b #4,d4
- cmp.b #32,d4
- beq m67 ;frei oder Ecke !
- move.l (a2,d4),a0
- move.b (a0,d1),d2
- tst.b d2
- beq m67
- cmp.b #1,d2
- bne .scR
- bra .scLoop2
- .scR move.l 28(a2),a0
- move.b (a0,d1),d2 ;Ecke frei ?
- tst.b d2
- bne .scNo
- move.l 24(a2),a0
- move.b (a0,d1),d2
- cmp.b #1,d2 ;Voreckfeld orange ?
- bne .scNo
- moveq.l #24,d4
- .scLoop3 subq.b #4,d4
- cmp.b #-4,d4
- beq .scNo
- move.l (a2,d4),a0
- move.b (a0,d1),d2
- cmp.b #1,d2
- beq .scLoop3
- tst.b d2 ;danach frei ?
- bne .scNo
- move.b offset,d5
- cmp.b d4,d5
- bne .scNo
- subq.b #4,d4
- cmp.b #-4,d4
- beq .scNo
- move.l (a2,d4),a0
- move.b (a0,d1),d2
- cmp.b #1,d2 ;danach orange ?
- bne .scNo
- .scLoop4 subq.b #4,d4
- cmp.b #-4,d4
- beq m67 ;frei oder Ecke !
- move.l (a2,d4),a0
- move.b (a0,d1),d2
- tst.b d2
- beq m67
- cmp.b #1,d2
- bne .scNo
- bra .scLoop4
- .scNo bra mTV2back
-
-
- m67 move.b endcounter,hicounter
- move.b #0,endcounter
- move.b offset,highoff
- move.b byte,highbyte
- move.b upper,hiupper
- move.b drupper,hidrupper
- move.b righter,hirighter
- move.b drowner,hidrowner
- move.b downer,hidowner
- move.b dlowner,hidlowner
- move.b lefter,hilefter
- move.b dlupper,hidlupper
-
- executeit move.b #0,endcounter
- move.b hicounter,d0
- tst.b d0
- beq r3
- jsr blink
- move.b highoff,offset
- move.b highbyte,byte
- move.b hiupper,d0
- tst.b d0
- beq n1b
- CHANGE #4,#0,#1,#2,#2
- n1b move.b hidrupper,d0
- tst.b d0
- beq n2b
- CHANGE #4,#-1,#1,#2,#2
- n2b move.b hirighter,d0
- tst.b d0
- beq n3b
- CHANGE #0,#-1,#1,#2,#2
- n3b move.b hidrowner,d0
- tst.b d0
- beq n4b
- CHANGE #-4,#-1,#1,#2,#2
- n4b move.b hidowner,d0
- tst.b d0
- beq n5b
- CHANGE #-4,#0,#1,#2,#2
- n5b move.b hidlowner,d0
- tst.b d0
- beq n6b
- CHANGE #-4,#1,#1,#2,#2
- n6b move.b hilefter,d0
- tst.b d0
- beq n7b
- CHANGE #0,#1,#1,#2,#2
- n7b move.b hidlupper,d0
- tst.b d0
- beq fxsb
- CHANGE #4,#1,#1,#2,#2
- fxsb jsr count
- HEXER msg2,you,#90
- HEXER msg3,cpu,#104
- bra r2
- r3 move.b #1,passone
- r2 move.b #2,fab1
- move.b #1,fab2
- move.b #0,mode
- jmp rucksack
- bts3 jsr clear
- jsr Lines
- move.b #0,moves
- move.b #0,backs
- jmp u5
- ots3 jsr clear
- jsr Lines
- move.b #0,moves
- move.b #0,backs
- jmp rucksack
-
- * ChangeOld :
- * -------------
- chab moveq.l #7,d5
- ch2 move.b (a4)+,(a5)+
- dbra d5,ch2
- moveq.l #0,d5
- rts
-
- * Back :
- * -------- ;wenn "Back" gedrückt wurde
- backy3 cmp.b #0,backs
- beq rucksack
- move.b moves,d0
- subq.b #1,d0
- move.b d0,moves
- move.b backs,d0
- subq.b #1,d0
- move.b d0,backs
- moveq.l #0,d0
- move.b moves,d0
- divu #10,d0
- swap d0
- and.l #$f,d0
- lsl #2,d0
- lea tableX(pc),a0
- move.l (a0,d0),a0 ;von welchen move ?
- move.l (a0)+,a5
- lea one(pc),a4
- moveq.l #7,d4
- bac1 move.b (a5)+,(a4)+
- dbra d4,bac1
- bac2 lea two(pc),a4
- move.l (a0)+,a5
- moveq.l #7,d4
- bac3 move.b (a5)+,(a4)+
- dbra d4,bac3
- bac4 lea three(pc),a4
- move.l (a0)+,a5
- moveq.l #7,d4
- bac5 move.b (a5)+,(a4)+
- dbra d4,bac5
- bac6 lea four(pc),a4
- move.l (a0)+,a5
- moveq.l #7,d4
- bac7 move.b (a5)+,(a4)+
- dbra d4,bac7
- bac8 lea five(pc),a4
- move.l (a0)+,a5
- moveq.l #7,d4
- bac9 move.b (a5)+,(a4)+
- dbra d4,bac9
- bac10 lea six(pc),a4
- move.l (a0)+,a5
- moveq.l #7,d4
- bac11 move.b (a5)+,(a4)+
- dbra d4,bac11
- bac12 lea seven(pc),a4
- move.l (a0)+,a5
- moveq.l #7,d4
- bac13 move.b (a5)+,(a4)+
- dbra d4,bac13
- bac14 lea eight(pc),a4
- move.l (a0),a5
- moveq.l #7,d4
- bac15 move.b (a5)+,(a4)+
- dbra d4,bac15
- moveq.l #0,d4
- bac16 move.l wptr,a1
- move.l wd_RPort(a1),a1
- moveq.l #0,d0
- CALLGRAF SetAPen
- move.l wptr,a1
- move.l wd_RPort(a1),a1
- moveq.l #0,d5
- moveq.l #0,d6
- btouch lea tableII(pc),a3
- move.l (a3,d5),a3
- moveq.l #7,d4
- bwhich move.b (a3)+,d6
- moveq.l #7,d3
- sub d4,d3
- mulu #30,d3
- addq #2,d3
- move.w d3,xfill
- move.l d5,d3
- lsr #2,d3
- mulu #15,d3
- add #11,d3
- move.w d3,yfill
- tst.b d6
- beq bclrnext
- cmp.b #2,d6
- beq bacblac
- bra bacora
- brunter addq #4,d5
- cmp #32,d5
- beq brrret
- bra btouch
- bacora moveq.l #3,d3
- bdraw FILL xfill,yfill,d3
- bra bnext
- bacblac moveq.l #2,d3
- bra bdraw
- bclrnext moveq.l #0,d3
- bra bdraw
- bnext dbra d4,bwhich
- bra brunter
- brrret jsr count
- HEXER msg2,you,#90
- HEXER msg2,cpu,#104
- PRINT msg9,#6,#126
- jmp rucksack
-
- * Dots on/off :
- * ---------------
- dotty cmp.b #1,dots
- bne dotty1
- PRINT msg12,#75,#56
- jsr clearDots
- move.b #0,dots
- jmp rucksack
- dotty1 move.b #1,dots
- PRINT msg11,#71,#56
- move.b #0,endcounter
- jmp vorevent
-
- * Level-Wahl :
- * --------------
- level move.b levelbyte,d0
- addq.b #1,d0
- cmp.b #4,d0
- bne l1zui
- move.b #1,levelbyte
- PRINT msg13,#75,#68
- jmp rucksack
- l1zui move.b d0,levelbyte
- cmp.b #2,d0
- bne l2zui
- PRINT msg14,#75,#68
- jmp rucksack
- l2zui PRINT msg15,#75,#68
- jmp rucksack
-
-
- * Blinker :
- * ----------- ;blink mal kurz (s/w)
- blink moveq.l #0,d2
- moveq.l #0,d3
- move.b highbyte,d2
- mulu #30,d2
- addq #2,d2
- move.w d2,xfill
- moveq.l #0,d3
- move.b highoff,d3
- lsr #2,d3
- mulu #15,d3
- add #11,d3
- move.w d3,yfill
- moveq.l #4,d5
- b4 subq.b #1,d5
- tst.b d5
- beq bret
- FILL xfill,yfill,#1
- moveq.l #6,d1
- CALLDOS Delay
- b2 FILL xfill,yfill,#2
- moveq.l #6,d1
- CALLDOS Delay
- bra b4
- 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 moveq.l #0,d5
- moveq.l #0,d6
- move.b #0,you
- move.b #0,cpu
- lea you(pc),a5
- lea cpu(pc),a4
- touchdown lea tableII(pc),a3
- move.l (a3,d5),a3
- moveq.l #7,d2
- which move.b (a3)+,d3
- tst.b d3
- beq next
- cmp.b #2,d3
- beq.s toblack
- cmp.b #1,d3
- beq.s toorange
- toblack add.b #1,(a4)
- bra next
- toorange add.b #1,(a5)
- next dbra d2,which
- moveq.l #0,d2
- runter addq #4,d5
- cmp.b #32,d5
- beq.s cret
- bra touchdown
- cret rts
-
- * Clear :
- * ---------
- clear move.l wptr,a1
- move.l wd_RPort(a1),a1
- moveq.l #0,d0
- CALLGRAF SetAPen
- move.l wptr,a1
- move.l wd_RPort(a1),a1
- lea one(pc),a0
- lea two(pc),a1
- lea three(pc),a2
- lea six(pc),a3
- lea seven(pc),a4
- lea eight(pc),a5
- moveq.l #7,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)+
- dbra d0,cl2
- cl6 lea cop1(pc),a0
- lea cop2(pc),a1
- lea cop3(pc),a2
- lea cop6(pc),a3
- lea cop7(pc),a4
- lea cop8(pc),a5
- moveq.l #7,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)+
- dbra d0,cl7
- cl3 lea four(pc),a0
- lea five(pc),a1
- lea cop4(pc),a2
- lea cop5(pc),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)+
- moveq.l #0,d5
- .btouch lea tableII(pc),a3
- move.l (a3,d5),a3
- moveq.l #7,d4
- .bwhich move.b (a3)+,d6
- moveq.l #7,d3
- sub d4,d3
- mulu #30,d3
- addq #2,d3
- move.w d3,xfill
- move.l d5,d3
- lsr #2,d3
- mulu #15,d3
- add #11,d3
- move.w d3,yfill
- tst.b d6
- beq .bclrnext
- cmp.b #2,d6
- beq .bacblac
- bra .bacora
- .brunter addq #4,d5
- cmp #32,d5
- beq .brrret
- bra .btouch
- .bacora moveq.l #3,d3
- .bdraw FILL xfill,yfill,d3
- bra .bnext
- .bacblac moveq.l #2,d3
- bra .bdraw
- .bclrnext moveq.l #0,d3
- bra .bdraw
- .bnext dbra d4,.bwhich
- jmp .brunter
- .brrret move.b #2,you
- move.b #2,cpu
- PRINT msg1,#33,#90
- PRINT msg4,#33,#104
- PRINT msg9,#6,#126
- rts
-
- * Clear the dots :
- * ------------------
- clearDots cmp.b #0,dots
- beq .ret
- moveq.l #0,d5
- moveq.l #0,d6
- .btouch lea tableII(pc),a3
- move.l (a3,d5),a3
- moveq.l #7,d4
- .bwhich move.b (a3)+,d6
- moveq.l #7,d3
- sub d4,d3
- mulu #30,d3
- addq #2,d3
- move.w d3,xfill
- move.l d5,d3
- lsr #2,d3
- mulu #15,d3
- add #11,d3
- move.w d3,yfill
- tst.b d6
- bne .next
- FILL xfill,yfill,#0
- .next dbra d4,.bwhich
- .brunter addq.b #4,d5
- cmp.b #32,d5
- bne .btouch
- moveq.l #0,d4
- .ret 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 V2.0 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
- TwentyEight dc.b 0
- ab1 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
- dc.l dotty
- dc.l level
-
- * 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
- msg10 dc.b ".",0
- msg11 dc.b " on ",0
- msg12 dc.b "off",0
- msg13 dc.b " 1 ",0
- msg14 dc.b " 2 ",0
- msg15 dc.b " 3 ",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 dc.l bts
- dc.w 133,13,240,120,GADGHNONE,RELVERIFY,1
- dc.l 0,0,0,0,0
- dc.w 1
- dc.l 0
-
- bts dc.l ots
- dc.w 5,13,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,25,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 doo
- dc.w 5,37,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
- even
- doo dc.l lev
- dc.w 5,49,123,9
- dc.w GADGHCOMP
- dc.w RELVERIFY
- dc.w 1
- dc.l border2
- dc.l 0
- dc.l doo_text
- dc.l 0,0
- dc.w 68
- dc.l 0
- doo_text dc.b 1,0,0,0
- dc.w 4,1
- dc.l 0
- dc.l doo_real
- dc.l 0
- doo_real dc.b " Dots ",0
- even
- lev dc.l 0
- dc.w 5,61,123,9
- dc.w GADGHCOMP
- dc.w RELVERIFY
- dc.w 1
- dc.l border2
- dc.l 0
- dc.l lev_text
- dc.l 0,0
- dc.w 69
- dc.l 0
- lev_text dc.b 1,0,0,0
- dc.w 8,1
- dc.l 0
- dc.l lev_real
- dc.l 0
- lev_real dc.b " Level ",0
- even
-
- moves dc.b 0
- backs dc.b 0
- now dc.b 0
- dots dc.b 1
- levelbyte dc.b 3
- even
-
-
- lAa dc.b 0,0,0,0,0,0,0,0
- lAb dc.b 0,0,0,0,0,0,0,0
- lAc dc.b 0,0,0,0,0,0,0,0
- lAd dc.b 0,0,0,0,0,0,0,0
- lAe dc.b 0,0,0,0,0,0,0,0
- lAf dc.b 0,0,0,0,0,0,0,0
- lAg dc.b 0,0,0,0,0,0,0,0
- lAh dc.b 0,0,0,0,0,0,0,0
-
- lBa dc.b 0,0,0,0,0,0,0,0
- lBb dc.b 0,0,0,0,0,0,0,0
- lBc dc.b 0,0,0,0,0,0,0,0
- lBd dc.b 0,0,0,0,0,0,0,0
- lBe dc.b 0,0,0,0,0,0,0,0
- lBf dc.b 0,0,0,0,0,0,0,0
- lBg dc.b 0,0,0,0,0,0,0,0
- lBh dc.b 0,0,0,0,0,0,0,0
-
- lCa dc.b 0,0,0,0,0,0,0,0
- lCb dc.b 0,0,0,0,0,0,0,0
- lCc dc.b 0,0,0,0,0,0,0,0
- lCd dc.b 0,0,0,0,0,0,0,0
- lCe dc.b 0,0,0,0,0,0,0,0
- lCf dc.b 0,0,0,0,0,0,0,0
- lCg dc.b 0,0,0,0,0,0,0,0
- lCh dc.b 0,0,0,0,0,0,0,0
-
- lDa dc.b 0,0,0,0,0,0,0,0
- lDb dc.b 0,0,0,0,0,0,0,0
- lDc dc.b 0,0,0,0,0,0,0,0
- lDd dc.b 0,0,0,0,0,0,0,0
- lDe dc.b 0,0,0,0,0,0,0,0
- lDf dc.b 0,0,0,0,0,0,0,0
- lDg dc.b 0,0,0,0,0,0,0,0
- lDh dc.b 0,0,0,0,0,0,0,0
-
- lEa dc.b 0,0,0,0,0,0,0,0
- lEb dc.b 0,0,0,0,0,0,0,0
- lEc dc.b 0,0,0,0,0,0,0,0
- lEd dc.b 0,0,0,0,0,0,0,0
- lEe dc.b 0,0,0,0,0,0,0,0
- lEf dc.b 0,0,0,0,0,0,0,0
- lEg dc.b 0,0,0,0,0,0,0,0
- lEh dc.b 0,0,0,0,0,0,0,0
-
- lFa dc.b 0,0,0,0,0,0,0,0
- lFb dc.b 0,0,0,0,0,0,0,0
- lFc dc.b 0,0,0,0,0,0,0,0
- lFd dc.b 0,0,0,0,0,0,0,0
- lFe dc.b 0,0,0,0,0,0,0,0
- lFf dc.b 0,0,0,0,0,0,0,0
- lFg dc.b 0,0,0,0,0,0,0,0
- lFh dc.b 0,0,0,0,0,0,0,0
-
- lGa dc.b 0,0,0,0,0,0,0,0
- lGb dc.b 0,0,0,0,0,0,0,0
- lGc dc.b 0,0,0,0,0,0,0,0
- lGd dc.b 0,0,0,0,0,0,0,0
- lGe dc.b 0,0,0,0,0,0,0,0
- lGf dc.b 0,0,0,0,0,0,0,0
- lGg dc.b 0,0,0,0,0,0,0,0
- lGh dc.b 0,0,0,0,0,0,0,0
-
- lHa dc.b 0,0,0,0,0,0,0,0
- lHb dc.b 0,0,0,0,0,0,0,0
- lHc dc.b 0,0,0,0,0,0,0,0
- lHd dc.b 0,0,0,0,0,0,0,0
- lHe dc.b 0,0,0,0,0,0,0,0
- lHf dc.b 0,0,0,0,0,0,0,0
- lHg dc.b 0,0,0,0,0,0,0,0
- lHh dc.b 0,0,0,0,0,0,0,0
-
- lIa dc.b 0,0,0,0,0,0,0,0
- lIb dc.b 0,0,0,0,0,0,0,0
- lIc dc.b 0,0,0,0,0,0,0,0
- lId dc.b 0,0,0,0,0,0,0,0
- lIe dc.b 0,0,0,0,0,0,0,0
- lIf dc.b 0,0,0,0,0,0,0,0
- lIg dc.b 0,0,0,0,0,0,0,0
- lIh dc.b 0,0,0,0,0,0,0,0
-
- lJa dc.b 0,0,0,0,0,0,0,0
- lJb dc.b 0,0,0,0,0,0,0,0
- lJc dc.b 0,0,0,0,0,0,0,0
- lJd dc.b 0,0,0,0,0,0,0,0
- lJe dc.b 0,0,0,0,0,0,0,0
- lJf dc.b 0,0,0,0,0,0,0,0
- lJg dc.b 0,0,0,0,0,0,0,0
- lJh dc.b 0,0,0,0,0,0,0,0
- even
-
- tableX dc.l tableXI,tableXII,tableXIII,tableXIV,tableXV,tableXVI,tableXVII,tableXVIII,tableXIX,tableXX
- tableXI dc.l lAa,lAb,lAc,lAd,lAe,lAf,lAg,lAh
- tableXII dc.l lBa,lBb,lBc,lBd,lBe,lBf,lBg,lBh
- tableXIII dc.l lCa,lCb,lCc,lCd,lCe,lCf,lCg,lCh
- tableXIV dc.l lDa,lDb,lDc,lDd,lDe,lDf,lDg,lDh
- tableXV dc.l lEa,lEb,lEc,lEd,lEe,lEf,lEg,lEh
- tableXVI dc.l lFa,lFb,lFc,lFd,lFe,lFf,lFg,lFh
- tableXVII dc.l lGa,lGb,lGc,lGd,lGe,lGf,lGg,lGh
- tableXVIII dc.l lHa,lHb,lHc,lHd,lHe,lHf,lHg,lHh
- tableXIX dc.l lIa,lIb,lIc,lId,lIe,lIf,lIg,lIh
- tableXX dc.l lJa,lJb,lJc,lJd,lJe,lJf,lJg,lJh
-
-
- * Dot malen :
- * -------------
-
- drawDot move.l wptr,a1
- move.l wd_RPort(a1),a1
- move.l a1,a4
- moveq #1,d0
- CALLGRAF SetAPen
- move.l a4,a1
- moveq.l #0,d5
- moveq.l #0,d4
- move.b offset,d5
- lsr #2,d5
- move.b byte,d4
- mulu #15,d5
- mulu #30,d4
- add #19,d5
- add #146,d4
- move.l d4,d0
- move.l d5,d1
- CALLGRAF WritePixel
- move.l d4,d0
- move.l d5,d1
- addq.b #1,d0
- move.l a4,a1
- CALLGRAF WritePixel
- move.l d4,d0
- addq.b #1,d5
- move.l d5,d1
- move.l a4,a1
- CALLGRAF WritePixel
- move.l d4,d0
- addq.b #1,d0
- move.l d5,d1
- move.l a4,a1
- CALLGRAF WritePixel
- move.b #0,endcounter
- rts
-
-
-