;* 34 'a=0'
   LD HL,0 ;/
;**** 'var_wrd_a%'=Expression
   LD (var_wrd_a),HL ;/Copy Result into 'var_wrd_a'
;* 35 'b=0'
   LD HL,0 ;/
;**** 'var_wrd_b%'=Expression
   LD (var_wrd_b),HL ;/Copy Result into 'var_wrd_b'
;* 36 'If Key(Key.Code.CursorLeft) And b=0 Then'
   LD HL,8 ;/
   CALL Quig_Key_Test ;/ Call Function
   PUSH HL ;/
   LD HL,(var_wrd_b) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 37 'b=1'
   LD HL,1 ;/
;**** 'var_wrd_b%'=Expression
   LD (var_wrd_b),HL ;/Copy Result into 'var_wrd_b'
;* 38 'CopyNewGrid'
   CALL QFunc_CopyNewGrid ;/CALL 'CopyNewGrid'
;* 39 'a=MoveHorizontalLeft(1)'
   LD HL,1 ;/
   CALL QFunc_MoveHorizontalLeft ;/ Call Function
;**** 'var_wrd_a%'=Expression
   LD (var_wrd_a),HL ;/Copy Result into 'var_wrd_a'
;* 40 'RefreshGrid'
   CALL QFunc_RefreshGrid ;/CALL 'RefreshGrid'
;* 41 'PlaceTile'
   CALL QFunc_PlaceTile ;/CALL 'PlaceTile'
;* 43 'If Key(Key.Code.CursorRight) And b=0 Then'
   LD HL,1 ;/
   CALL Quig_Key_Test ;/ Call Function
   PUSH HL ;/
   LD HL,(var_wrd_b) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 44 'b=1'
   LD HL,1 ;/
;**** 'var_wrd_b%'=Expression
   LD (var_wrd_b),HL ;/Copy Result into 'var_wrd_b'
;* 45 'CopyNewGrid'
   CALL QFunc_CopyNewGrid ;/CALL 'CopyNewGrid'
;* 46 'a=MoveHorizontalRight(-1)'
   LD HL,-1 ;/
   CALL QFunc_MoveHorizontalRight ;/ Call Function
;**** 'var_wrd_a%'=Expression
   LD (var_wrd_a),HL ;/Copy Result into 'var_wrd_a'
;* 47 'RefreshGrid'
   CALL QFunc_RefreshGrid ;/CALL 'RefreshGrid'
;* 48 'PlaceTile'
   CALL QFunc_PlaceTile ;/CALL 'PlaceTile'
;* 50 'If Key(Key.Code.CursorUp) And b=0 Then'
   LD HL,0 ;/
   CALL Quig_Key_Test ;/ Call Function
   PUSH HL ;/
   LD HL,(var_wrd_b) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 51 'b=1'
   LD HL,1 ;/
;**** 'var_wrd_b%'=Expression
   LD (var_wrd_b),HL ;/Copy Result into 'var_wrd_b'
;* 52 'CopyNewGrid'
   CALL QFunc_CopyNewGrid ;/CALL 'CopyNewGrid'
;* 53 'a=MoveVerticalUp(1)'
   LD HL,1 ;/
   CALL QFunc_MoveVerticalUp ;/ Call Function
;**** 'var_wrd_a%'=Expression
   LD (var_wrd_a),HL ;/Copy Result into 'var_wrd_a'
;* 54 'RefreshGrid'
   CALL QFunc_RefreshGrid ;/CALL 'RefreshGrid'
;* 55 'PlaceTile'
   CALL QFunc_PlaceTile ;/CALL 'PlaceTile'
;* 57 'If Key(Key.Code.CursorDown) And b=0 Then'
   LD HL,2 ;/
   CALL Quig_Key_Test ;/ Call Function
   PUSH HL ;/
   LD HL,(var_wrd_b) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 58 'b=1'
   LD HL,1 ;/
;**** 'var_wrd_b%'=Expression
   LD (var_wrd_b),HL ;/Copy Result into 'var_wrd_b'
;* 59 'CopyNewGrid'
   CALL QFunc_CopyNewGrid ;/CALL 'CopyNewGrid'
;* 60 'a=MoveVerticalDown(-1)'
   LD HL,-1 ;/
   CALL QFunc_MoveVerticalDown ;/ Call Function
;**** 'var_wrd_a%'=Expression
   LD (var_wrd_a),HL ;/Copy Result into 'var_wrd_a'
;* 61 'RefreshGrid'
   CALL QFunc_RefreshGrid ;/CALL 'RefreshGrid'
;* 62 'PlaceTile'
   CALL QFunc_PlaceTile ;/CALL 'PlaceTile'
;* 64 'EndF'
   RET
;* 66 'For f=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_f'
   LD HL,0 ;/
   LD (var_wrd_f),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,1426
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 67 'For g=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_g'
   LD HL,0 ;/
   LD (var_wrd_g),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,1459
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 68 'NewGrid(g,f)=Grid(g,f)'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_11+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   POP DE ;/
   CALL ar2_wrd_Grid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_11:
   LD (0),HL ;/ Address to be filled in
;* 69 'Next'
   LD HL,(var_wrd_g) ;/
   INC HL
   JP NextStart
;* 70 'Next'
   LD HL,(var_wrd_f) ;/
   INC HL
   JP NextStart
;* 71 'EndF'
   RET
;* 73 'For f=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_f'
   LD HL,0 ;/
   LD (var_wrd_f),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,1539
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 74 'For g=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_g'
   LD HL,0 ;/
   LD (var_wrd_g),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,1572
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 75 'If Grid(g,f)<>NewGrid(g,f) Then'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   POP DE ;/
   CALL ar2_wrd_Grid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR Z,1
   INC A
   LD L,A
   LD H,0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 76 'Grid(g,f)=NewGrid(g,f)'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   POP DE ;/
   CALL ar2_wrd_Grid ;/Double Array stuff
   LD (Quig_Let_12+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_12:
   LD (0),HL ;/ Address to be filled in
;* 77 'b=(g Mod 4)+(f*4)'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,4 ;/
   POP DE ;/
   CALL Quig_Mod16 ;/Mod HL by DE
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   PUSH HL ;/
   LD HL,4 ;/
   POP DE ;/
   CALL Quig_Mul16 ;/Multiply HL & DE
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
;**** 'var_wrd_b%'=Expression
   LD (var_wrd_b),HL ;/Copy Result into 'var_wrd_b'
;* 78 'Ctrl.Image.Tile.Set NTilesID(b),TileSheet,Grid(g,f)'
   LD HL,(var_wrd_b) ;/
   LD BC,ar1_wrd_NTilesID+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/x98
   LD HL,var_byt_TileSheet_status ;/
   PUSH HL ;/x98
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   POP DE ;/
   CALL ar2_wrd_Grid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/x1
   CALL Quig_Control_Tile_Set ;/CALL 'Ctrl.Image.Tile.Set'
;* 79 'Ctrl.Refresh NTilesID(b)'
   LD HL,(var_wrd_b) ;/
   LD BC,ar1_wrd_NTilesID+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   CALL Quig_Control_Refresh ;/CALL 'Ctrl.Refresh'
;* 81 'Next'
   LD HL,(var_wrd_g) ;/
   INC HL
   JP NextStart
;* 82 'Next'
   LD HL,(var_wrd_f) ;/
   INC HL
   JP NextStart
;* 83 'EndF'
   RET
;* 84 'Function MoveHorizontalLeft:Int(Dir)'
   LD (var_wrd_Dir),HL  ;Loads HL into variable
;* 85 'k=0'
   LD HL,0 ;/
;**** 'var_wrd_k%'=Expression
   LD (var_wrd_k),HL ;/Copy Result into 'var_wrd_k'
;* 86 'For g=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_g'
   LD HL,0 ;/
   LD (var_wrd_g),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,1786
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 87 'j=0'
   LD HL,0 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 88 'h=0'
   LD HL,0 ;/
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 89 'f=0'
   LD HL,0 ;/
;**** 'var_wrd_f%'=Expression
   LD (var_wrd_f),HL ;/Copy Result into 'var_wrd_f'
;* 90 'While h<3 And f<4'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL Quig_LT_HL ;/Checks HL<DE - True HL=1 False HL=0
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   PUSH HL ;/
   LD HL,4 ;/
   POP DE ;/
   CALL Quig_LT_HL ;/Checks HL<DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 91 'If NewGrid(h,g)=0 Then'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 92 'NewGrid(h,g)=NewGrid(h+Dir,g):NewGrid(h+Dir,g)=0:k=1'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_18+1),HL ;/
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_18:
   LD (0),HL ;/ Address to be filled in
;* 92 'NewGrid(h,g)=NewGrid(h+Dir,g):NewGrid(h+Dir,g)=0:k=1'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_19+1),HL ;/
   LD HL,0 ;/
.Quig_Let_19:
   LD (0),HL ;/ Address to be filled in
;* 92 'NewGrid(h,g)=NewGrid(h+Dir,g):NewGrid(h+Dir,g)=0:k=1'
   LD HL,1 ;/
;**** 'var_wrd_k%'=Expression
   LD (var_wrd_k),HL ;/Copy Result into 'var_wrd_k'
;* 93 'Else'
   JP EndOfCondition ;/Jump to End of Else
;* 94 'h=h+Dir'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 95 'f=0'
   LD HL,0 ;/
;**** 'var_wrd_f%'=Expression
   LD (var_wrd_f),HL ;/Copy Result into 'var_wrd_f'
;* 97 'f=f+1'
   LD HL,(var_wrd_f) ;/
   INC HL ;/Plus 1
;**** 'var_wrd_f%'=Expression
   LD (var_wrd_f),HL ;/Copy Result into 'var_wrd_f'
;* 98 'Wend'
   JP WhileStart
;* 99 'If NewGrid(0,g)=NewGrid(1,g) And NewGrid(0,g)>0 And j=0 Then'
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 100 'NewGrid(0,g)=NewGrid(0,g)+1'
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_24+1),HL ;/
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_24:
   LD (0),HL ;/ Address to be filled in
;* 101 'NewGrid(1,g)=NewGrid(2,g)'
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_25+1),HL ;/
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_25:
   LD (0),HL ;/ Address to be filled in
;* 102 'NewGrid(2,g)=NewGrid(3,g)'
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_26+1),HL ;/
   LD HL,3 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_26:
   LD (0),HL ;/ Address to be filled in
;* 103 'NewGrid(3,g)=0'
   LD HL,3 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_27+1),HL ;/
   LD HL,0 ;/
.Quig_Let_27:
   LD (0),HL ;/ Address to be filled in
;* 104 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 106 'If NewGrid(1,g)=NewGrid(2,g) And  NewGrid(1,g)>0 And j=0 Then'
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 107 'NewGrid(1,g)=NewGrid(1,g)+1'
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_29+1),HL ;/
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_29:
   LD (0),HL ;/ Address to be filled in
;* 108 'NewGrid(2,g)=NewGrid(3,g)'
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_30+1),HL ;/
   LD HL,3 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_30:
   LD (0),HL ;/ Address to be filled in
;* 109 'NewGrid(3,g)=0'
   LD HL,3 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_31+1),HL ;/
   LD HL,0 ;/
.Quig_Let_31:
   LD (0),HL ;/ Address to be filled in
;* 110 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 112 'If NewGrid(2,g)=NewGrid(3,g) And NewGrid(2,g)>0 And j=0 Then'
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,3 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 113 'NewGrid(2,g)=NewGrid(2,g)+1'
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_33+1),HL ;/
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_33:
   LD (0),HL ;/ Address to be filled in
;* 114 'NewGrid(3,g)=0'
   LD HL,3 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_34+1),HL ;/
   LD HL,0 ;/
.Quig_Let_34:
   LD (0),HL ;/ Address to be filled in
;* 115 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 117 'Next'
   LD HL,(var_wrd_g) ;/
   INC HL
   JP NextStart
;* 118 'Return k'
   LD HL,(var_wrd_k) ;/
   RET
;* 119 'EndF'
   LD HL,0  ;Return 0 Value
   RET
;* 120 'Function MoveVerticalUp:Int(Dir)'
   LD (var_wrd_Dir),HL  ;Loads HL into variable
;* 121 'k=0'
   LD HL,0 ;/
;**** 'var_wrd_k%'=Expression
   LD (var_wrd_k),HL ;/Copy Result into 'var_wrd_k'
;* 122 'For g=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_g'
   LD HL,0 ;/
   LD (var_wrd_g),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,2610
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 123 'j=0'
   LD HL,0 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 124 'h=0'
   LD HL,0 ;/
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 125 'While h<3'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL Quig_LT_HL ;/Checks HL<DE - True HL=1 False HL=0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 126 'If NewGrid(g,h)=0 Then'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_h) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 127 'NewGrid(g,h)=NewGrid(g,h+Dir):NewGrid(g,h+Dir)=0:k=1'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_h) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_39+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_39:
   LD (0),HL ;/ Address to be filled in
;* 127 'NewGrid(g,h)=NewGrid(g,h+Dir):NewGrid(g,h+Dir)=0:k=1'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_40+1),HL ;/
   LD HL,0 ;/
.Quig_Let_40:
   LD (0),HL ;/ Address to be filled in
;* 127 'NewGrid(g,h)=NewGrid(g,h+Dir):NewGrid(g,h+Dir)=0:k=1'
   LD HL,1 ;/
;**** 'var_wrd_k%'=Expression
   LD (var_wrd_k),HL ;/Copy Result into 'var_wrd_k'
;* 128 'Else'
   JP EndOfCondition ;/Jump to End of Else
;* 129 'h=h+Dir'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 131 'Wend'
   JP WhileStart
;* 132 'If NewGrid(g,0)=NewGrid(g,1) And NewGrid(g,0)>0 And j=0 Then'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 133 'NewGrid(g,0)=NewGrid(g,0)+1'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_43+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_43:
   LD (0),HL ;/ Address to be filled in
;* 134 'NewGrid(g,1)=NewGrid(g,2)'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_44+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_44:
   LD (0),HL ;/ Address to be filled in
;* 135 'NewGrid(g,2)=NewGrid(g,3)'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_45+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_45:
   LD (0),HL ;/ Address to be filled in
;* 136 'NewGrid(g,3)=0'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_46+1),HL ;/
   LD HL,0 ;/
.Quig_Let_46:
   LD (0),HL ;/ Address to be filled in
;* 137 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 139 'If NewGrid(g,1)=NewGrid(g,2) And  NewGrid(g,1)>0 And j=0 Then'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 140 'NewGrid(g,1)=NewGrid(g,1)+1'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_48+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_48:
   LD (0),HL ;/ Address to be filled in
;* 141 'NewGrid(g,2)=NewGrid(g,3)'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_49+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_49:
   LD (0),HL ;/ Address to be filled in
;* 142 'NewGrid(g,3)=0'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_50+1),HL ;/
   LD HL,0 ;/
.Quig_Let_50:
   LD (0),HL ;/ Address to be filled in
;* 143 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 145 'If NewGrid(g,2)=NewGrid(g,3) And NewGrid(g,2)>0 And j=0 Then'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 146 'NewGrid(g,2)=NewGrid(g,2)+1'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_52+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_52:
   LD (0),HL ;/ Address to be filled in
;* 147 'NewGrid(g,3)=0'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_53+1),HL ;/
   LD HL,0 ;/
.Quig_Let_53:
   LD (0),HL ;/ Address to be filled in
;* 148 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 150 'Next'
   LD HL,(var_wrd_g) ;/
   INC HL
   JP NextStart
;* 151 'Return k'
   LD HL,(var_wrd_k) ;/
   RET
;* 152 'EndF'
   LD HL,0  ;Return 0 Value
   RET
;* 154 'Function MoveHorizontalRight:Int(Dir)'
   LD (var_wrd_Dir),HL  ;Loads HL into variable
;* 155 'k=0'
   LD HL,0 ;/
;**** 'var_wrd_k%'=Expression
   LD (var_wrd_k),HL ;/Copy Result into 'var_wrd_k'
;* 156 'For g=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_g'
   LD HL,0 ;/
   LD (var_wrd_g),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,3396
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 157 'j=0'
   LD HL,0 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 158 'h=3'
   LD HL,3 ;/
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 159 'While h>0'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 160 'If NewGrid(h,g)=0 Then'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 161 'NewGrid(h,g)=NewGrid(h+Dir,g):NewGrid(h+Dir,g)=0:k=1'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_58+1),HL ;/
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_58:
   LD (0),HL ;/ Address to be filled in
;* 161 'NewGrid(h,g)=NewGrid(h+Dir,g):NewGrid(h+Dir,g)=0:k=1'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_59+1),HL ;/
   LD HL,0 ;/
.Quig_Let_59:
   LD (0),HL ;/ Address to be filled in
;* 161 'NewGrid(h,g)=NewGrid(h+Dir,g):NewGrid(h+Dir,g)=0:k=1'
   LD HL,1 ;/
;**** 'var_wrd_k%'=Expression
   LD (var_wrd_k),HL ;/Copy Result into 'var_wrd_k'
;* 162 'Else'
   JP EndOfCondition ;/Jump to End of Else
;* 163 'h=h+Dir'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 165 'Wend'
   JP WhileStart
;* 166 'If NewGrid(3,g)=NewGrid(2,g) And NewGrid(3,g)>0 And j=0 Then'
   LD HL,3 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,3 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 167 'NewGrid(3,g)=NewGrid(3,g)+1'
   LD HL,3 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_62+1),HL ;/
   LD HL,3 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_62:
   LD (0),HL ;/ Address to be filled in
;* 168 'NewGrid(2,g)=NewGrid(1,g)'
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_63+1),HL ;/
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_63:
   LD (0),HL ;/ Address to be filled in
;* 169 'NewGrid(1,g)=NewGrid(0,g)'
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_64+1),HL ;/
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_64:
   LD (0),HL ;/ Address to be filled in
;* 170 'NewGrid(0,g)=0'
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_65+1),HL ;/
   LD HL,0 ;/
.Quig_Let_65:
   LD (0),HL ;/ Address to be filled in
;* 171 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 173 'If NewGrid(2,g)=NewGrid(1,g) And  NewGrid(2,g)>0 And j=0 Then'
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 174 'NewGrid(2,g)=NewGrid(2,g)+1'
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_67+1),HL ;/
   LD HL,2 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_67:
   LD (0),HL ;/ Address to be filled in
;* 175 'NewGrid(1,g)=NewGrid(0,g)'
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_68+1),HL ;/
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_68:
   LD (0),HL ;/ Address to be filled in
;* 176 'NewGrid(0,g)=0'
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_69+1),HL ;/
   LD HL,0 ;/
.Quig_Let_69:
   LD (0),HL ;/ Address to be filled in
;* 177 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 179 'If NewGrid(1,g)=NewGrid(0,g) And NewGrid(1,g)>0 And j=0 Then'
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 180 'NewGrid(1,g)=NewGrid(1,g)+1'
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_71+1),HL ;/
   LD HL,1 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_71:
   LD (0),HL ;/ Address to be filled in
;* 181 'NewGrid(0,g)=0'
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_72+1),HL ;/
   LD HL,0 ;/
.Quig_Let_72:
   LD (0),HL ;/ Address to be filled in
;* 182 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 184 'Next'
   LD HL,(var_wrd_g) ;/
   INC HL
   JP NextStart
;* 185 'Return k'
   LD HL,(var_wrd_k) ;/
   RET
;* 186 'EndF'
   LD HL,0  ;Return 0 Value
   RET
;* 187 'Function MoveVerticalDown:Int(Dir)'
   LD (var_wrd_Dir),HL  ;Loads HL into variable
;* 188 'k=0'
   LD HL,0 ;/
;**** 'var_wrd_k%'=Expression
   LD (var_wrd_k),HL ;/Copy Result into 'var_wrd_k'
;* 189 'For g=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_g'
   LD HL,0 ;/
   LD (var_wrd_g),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,4182
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 190 'j=0'
   LD HL,0 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 191 'h=3'
   LD HL,3 ;/
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 192 'While h>0'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 193 'If NewGrid(g,h)=0 Then'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_h) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 194 'NewGrid(g,h)=NewGrid(g,h+Dir):NewGrid(g,h+Dir)=0:k=1'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_h) ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_77+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_77:
   LD (0),HL ;/ Address to be filled in
;* 194 'NewGrid(g,h)=NewGrid(g,h+Dir):NewGrid(g,h+Dir)=0:k=1'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_78+1),HL ;/
   LD HL,0 ;/
.Quig_Let_78:
   LD (0),HL ;/ Address to be filled in
;* 194 'NewGrid(g,h)=NewGrid(g,h+Dir):NewGrid(g,h+Dir)=0:k=1'
   LD HL,1 ;/
;**** 'var_wrd_k%'=Expression
   LD (var_wrd_k),HL ;/Copy Result into 'var_wrd_k'
;* 195 'Else'
   JP EndOfCondition ;/Jump to End of Else
;* 196 'h=h+Dir'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,(var_wrd_Dir) ;/
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 198 'Wend'
   JP WhileStart
;* 199 'If NewGrid(g,3)=NewGrid(g,2) And NewGrid(g,3)>0 And j=0 Then'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 200 'NewGrid(g,3)=NewGrid(g,3)+1'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_81+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_81:
   LD (0),HL ;/ Address to be filled in
;* 201 'NewGrid(g,2)=NewGrid(g,1)'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_82+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_82:
   LD (0),HL ;/ Address to be filled in
;* 202 'NewGrid(g,1)=NewGrid(g,0)'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_83+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_83:
   LD (0),HL ;/ Address to be filled in
;* 203 'NewGrid(g,0)=0'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_84+1),HL ;/
   LD HL,0 ;/
.Quig_Let_84:
   LD (0),HL ;/ Address to be filled in
;* 204 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 206 'If NewGrid(g,2)=NewGrid(g,1) And  NewGrid(g,2)>0 And j=0 Then'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 207 'NewGrid(g,2)=NewGrid(g,2)+1'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_86+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,2 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_86:
   LD (0),HL ;/ Address to be filled in
;* 208 'NewGrid(g,1)=NewGrid(g,0)'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_87+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
.Quig_Let_87:
   LD (0),HL ;/ Address to be filled in
;* 209 'NewGrid(g,0)=0'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_88+1),HL ;/
   LD HL,0 ;/
.Quig_Let_88:
   LD (0),HL ;/ Address to be filled in
;* 210 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 212 'If NewGrid(g,1)=NewGrid(g,0) And NewGrid(g,1)>0 And j=0 Then'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   PUSH HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_j) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
   POP DE ;/
   LD A,D ;/And HL & DE
   AND H
   LD H,A
   LD A,E
   AND L
   LD L,A
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 213 'NewGrid(g,1)=NewGrid(g,1)+1'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_90+1),HL ;/
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,1 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   INC HL ;/Plus 1
.Quig_Let_90:
   LD (0),HL ;/ Address to be filled in
;* 214 'NewGrid(g,0)=0'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL ar2_wrd_NewGrid ;/Double Array stuff
   LD (Quig_Let_91+1),HL ;/
   LD HL,0 ;/
.Quig_Let_91:
   LD (0),HL ;/ Address to be filled in
;* 215 'j=1'
   LD HL,1 ;/
;**** 'var_wrd_j%'=Expression
   LD (var_wrd_j),HL ;/Copy Result into 'var_wrd_j'
;* 217 'Next'
   LD HL,(var_wrd_g) ;/
   INC HL
   JP NextStart
;* 218 'Return k'
   LD HL,(var_wrd_k) ;/
   RET
;* 219 'EndF'
   LD HL,0  ;Return 0 Value
   RET
;* 223 'If Screen.Colour=4 Then'
   CALL Quig_Screen_Colour_Get ;/ Call Function
   PUSH HL ;/
   LD HL,4 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 224 'TileSheet.Load App.Path+"ntiles.qs1"'
   CALL Quig_App_Path ;/ Call Function
   PUSH HL ;/
   LD HL,directstr_1 ;/
   POP DE ;/
   CALL Quig_Str_Add ;/Compare strings equals HL=DE
   LD DE,var_byt_TileSheet_status
   CALL Quig_SheetLoad ;/CALL 'TileSheet.Load'
;* 225 'LogoSheet.Load App.Path+"logo.qs1"'
   CALL Quig_App_Path ;/ Call Function
   PUSH HL ;/
   LD HL,directstr_2 ;/
   POP DE ;/
   CALL Quig_Str_Add ;/Compare strings equals HL=DE
   LD DE,var_byt_LogoSheet_status
   CALL Quig_SheetLoad ;/CALL 'LogoSheet.Load'
;* 226 'Edge1Sheet.Load App.Path+"edge1.qs1"'
   CALL Quig_App_Path ;/ Call Function
   PUSH HL ;/
   LD HL,directstr_3 ;/
   POP DE ;/
   CALL Quig_Str_Add ;/Compare strings equals HL=DE
   LD DE,var_byt_Edge1Sheet_status
   CALL Quig_SheetLoad ;/CALL 'Edge1Sheet.Load'
;* 227 'Edge2Sheet.Load App.Path+"edge2.qs1"'
   CALL Quig_App_Path ;/ Call Function
   PUSH HL ;/
   LD HL,directstr_4 ;/
   POP DE ;/
   CALL Quig_Str_Add ;/Compare strings equals HL=DE
   LD DE,var_byt_Edge2Sheet_status
   CALL Quig_SheetLoad ;/CALL 'Edge2Sheet.Load'
;* 228 'Else'
   JP EndOfCondition ;/Jump to End of Else
;* 229 'TileSheet.Load App.Path+"ntiles.qs2"'
   CALL Quig_App_Path ;/ Call Function
   PUSH HL ;/
   LD HL,directstr_5 ;/
   POP DE ;/
   CALL Quig_Str_Add ;/Compare strings equals HL=DE
   LD DE,var_byt_TileSheet_status
   CALL Quig_SheetLoad ;/CALL 'TileSheet.Load'
;* 230 'LogoSheet.Load App.Path+"logo.qs2"'
   CALL Quig_App_Path ;/ Call Function
   PUSH HL ;/
   LD HL,directstr_6 ;/
   POP DE ;/
   CALL Quig_Str_Add ;/Compare strings equals HL=DE
   LD DE,var_byt_LogoSheet_status
   CALL Quig_SheetLoad ;/CALL 'LogoSheet.Load'
;* 231 'Edge1Sheet.Load App.Path+"edge1.qs2"'
   CALL Quig_App_Path ;/ Call Function
   PUSH HL ;/
   LD HL,directstr_7 ;/
   POP DE ;/
   CALL Quig_Str_Add ;/Compare strings equals HL=DE
   LD DE,var_byt_Edge1Sheet_status
   CALL Quig_SheetLoad ;/CALL 'Edge1Sheet.Load'
;* 232 'Edge2Sheet.Load App.Path+"edge2.qs2"'
   CALL Quig_App_Path ;/ Call Function
   PUSH HL ;/
   LD HL,directstr_8 ;/
   POP DE ;/
   CALL Quig_Str_Add ;/Compare strings equals HL=DE
   LD DE,var_byt_Edge2Sheet_status
   CALL Quig_SheetLoad ;/CALL 'Edge2Sheet.Load'
;* 235 'h=0'
   LD HL,0 ;/
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 236 'For f=Image1.Display To Image1.Display+15'
   LD HL,16 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_f'
   LD HL,1 ;/
   LD (var_wrd_f),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,5126
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 237 'NTilesID(h)=Ctrl.GetID(Form1,f)'
   LD HL,(var_wrd_h) ;/
   LD BC,ar1_wrd_NTilesID+2
   ADD HL,HL
   ADD HL,BC
   LD (Quig_Let_94+1),HL ;/
   LD HL,0 ;/
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   POP DE ;/
   CALL Quig_Control_GetID ;/ Call Function
.Quig_Let_94:
   LD (0),HL ;/ Address to be filled in
;* 238 'h=h+1'
   LD HL,(var_wrd_h) ;/
   INC HL ;/Plus 1
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 239 'Next'
   LD HL,(var_wrd_f) ;/
   INC HL
   JP NextStart
;* 240 'logoImage.Tile.Set LogoSheet,0'
   LD HL,logoImage_ExtDataBank
   PUSH HL ;/x99
   LD HL,var_byt_LogoSheet_status ;/
   PUSH HL ;/x98
   LD HL,0 ;/
   POP DE ;/x1
   CALL Quig_Tile_Set ;/CALL 'logoImage.Tile.Set'
;* 241 'edgetop.Tile.Set Edge1Sheet,1'
   LD HL,edgetop_ExtDataBank
   PUSH HL ;/x99
   LD HL,var_byt_Edge1Sheet_status ;/
   PUSH HL ;/x98
   LD HL,1 ;/
   POP DE ;/x1
   CALL Quig_Tile_Set ;/CALL 'edgetop.Tile.Set'
;* 242 'edgebottom.Tile.Set Edge1Sheet,0'
   LD HL,edgebottom_ExtDataBank
   PUSH HL ;/x99
   LD HL,var_byt_Edge1Sheet_status ;/
   PUSH HL ;/x98
   LD HL,0 ;/
   POP DE ;/x1
   CALL Quig_Tile_Set ;/CALL 'edgebottom.Tile.Set'
;* 243 'edgeleft.Tile.Set Edge2Sheet,1'
   LD HL,edgeleft_ExtDataBank
   PUSH HL ;/x99
   LD HL,var_byt_Edge2Sheet_status ;/
   PUSH HL ;/x98
   LD HL,1 ;/
   POP DE ;/x1
   CALL Quig_Tile_Set ;/CALL 'edgeleft.Tile.Set'
;* 244 'edgeright.Tile.Set Edge2Sheet,0'
   LD HL,edgeright_ExtDataBank
   PUSH HL ;/x99
   LD HL,var_byt_Edge2Sheet_status ;/
   PUSH HL ;/x98
   LD HL,0 ;/
   POP DE ;/x1
   CALL Quig_Tile_Set ;/CALL 'edgeright.Tile.Set'
;* 245 'logoImage.Refresh'
   LD HL,logoImage
   CALL Quig_Control_Refresh ;/CALL 'logoImage.Refresh'
;* 246 'edgetop.Refresh'
   LD HL,edgetop
   CALL Quig_Control_Refresh ;/CALL 'edgetop.Refresh'
;* 247 'edgebottom.Refresh'
   LD HL,edgebottom
   CALL Quig_Control_Refresh ;/CALL 'edgebottom.Refresh'
;* 248 'edgeleft.Refresh'
   LD HL,edgeleft
   CALL Quig_Control_Refresh ;/CALL 'edgeleft.Refresh'
;* 249 'edgeright.Refresh'
   LD HL,edgeright
   CALL Quig_Control_Refresh ;/CALL 'edgeright.Refresh'
;* 251 'NewGame.Event'
   CALL QFunc_NewGame.Event ;/CALL 'NewGame.Event'
;* 252 'EndF'
   RET
;* 256 'h=0'
   LD HL,0 ;/
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 257 'For f=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_f'
   LD HL,0 ;/
   LD (var_wrd_f),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,5313
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 258 'For g=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_g'
   LD HL,0 ;/
   LD (var_wrd_g),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,5346
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 259 'Ctrl.Image.Tile.Set NTilesID(h),TileSheet,0'
   LD HL,(var_wrd_h) ;/
   LD BC,ar1_wrd_NTilesID+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/x98
   LD HL,var_byt_TileSheet_status ;/
   PUSH HL ;/x98
   LD HL,0 ;/
   POP DE ;/x1
   CALL Quig_Control_Tile_Set ;/CALL 'Ctrl.Image.Tile.Set'
;* 260 'Ctrl.Refresh NTilesID(h)'
   LD HL,(var_wrd_h) ;/
   LD BC,ar1_wrd_NTilesID+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   CALL Quig_Control_Refresh ;/CALL 'Ctrl.Refresh'
;* 261 'Grid(g,f)=0'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   POP DE ;/
   CALL ar2_wrd_Grid ;/Double Array stuff
   LD (Quig_Let_97+1),HL ;/
   LD HL,0 ;/
.Quig_Let_97:
   LD (0),HL ;/ Address to be filled in
;* 262 'h=h+1'
   LD HL,(var_wrd_h) ;/
   INC HL ;/Plus 1
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 263 'Next'
   LD HL,(var_wrd_g) ;/
   INC HL
   JP NextStart
;* 264 'Next'
   LD HL,(var_wrd_f) ;/
   INC HL
   JP NextStart
;* 265 'PlaceTile'
   CALL QFunc_PlaceTile ;/CALL 'PlaceTile'
;* 266 'PlaceTile'
   CALL QFunc_PlaceTile ;/CALL 'PlaceTile'
;* 267 'EndF'
   RET
;* 271 'h=0'
   LD HL,0 ;/
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 272 'For f=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_f'
   LD HL,0 ;/
   LD (var_wrd_f),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,5472
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 273 'For g=0 To 3'
   LD HL,3 ;/
   LD (Whereever),HL ;/Copy Result into static'var_wrd_g'
   LD HL,0 ;/
   LD (var_wrd_g),HL ;/Loop Repeat Poin
   LD DE,---- ;/Get Start value
;*** HL=>DE THEN BRANCH IF FALSE
   LD A,H
   XOR D
   JP M,5505
   EX DE,HL
   SBC HL,DE
   JR NC,8
   JP .EndOfBlock ;/Jump to end of code block
   BIT 7,D
   JP NZ,EndOfBloc
;* 274 'If Grid(g,f)=0 Then'
   LD HL,(var_wrd_g) ;/
   PUSH HL ;/
   LD HL,(var_wrd_f) ;/
   POP DE ;/
   CALL ar2_wrd_Grid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 275 'EmptyListX(h)=g'
   LD HL,(var_wrd_h) ;/
   LD BC,ar1_wrd_EmptyListX+2
   ADD HL,HL
   ADD HL,BC
   LD (Quig_Let_100+1),HL ;/
   LD HL,(var_wrd_g) ;/
.Quig_Let_100:
   LD (0),HL ;/ Address to be filled in
;* 276 'EmptyListY(h)=f'
   LD HL,(var_wrd_h) ;/
   LD BC,ar1_wrd_EmptyListY+2
   ADD HL,HL
   ADD HL,BC
   LD (Quig_Let_101+1),HL ;/
   LD HL,(var_wrd_f) ;/
.Quig_Let_101:
   LD (0),HL ;/ Address to be filled in
;* 277 'h=h+1'
   LD HL,(var_wrd_h) ;/
   INC HL ;/Plus 1
;**** 'var_wrd_h%'=Expression
   LD (var_wrd_h),HL ;/Copy Result into 'var_wrd_h'
;* 279 'Next'
   LD HL,(var_wrd_g) ;/
   INC HL
   JP NextStart
;* 280 'Next'
   LD HL,(var_wrd_f) ;/
   INC HL
   JP NextStart
;* 282 'If h>0 Then'
   LD HL,(var_wrd_h) ;/
   PUSH HL ;/
   LD HL,0 ;/
   POP DE ;/
   CALL Quig_GT_HL ;/Checks HL>DE - True HL=1 False HL=0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 283 'a=Rnd(h)'
   LD HL,(var_wrd_h) ;/
   CALL Quig_IRnd ;/ Call Function
;**** 'var_wrd_a%'=Expression
   LD (var_wrd_a),HL ;/Copy Result into 'var_wrd_a'
;* 284 'b=Rnd(4)'
   LD HL,4 ;/
   CALL Quig_IRnd ;/ Call Function
;**** 'var_wrd_b%'=Expression
   LD (var_wrd_b),HL ;/Copy Result into 'var_wrd_b'
;* 285 'If b=3 Then'
   LD HL,(var_wrd_b) ;/
   PUSH HL ;/
   LD HL,3 ;/
   POP DE ;/
   XOR A
   SBC HL,DE
   JR NZ,1
   INC A
   LD L,A
   LD H,0
;* IF branch if condition fails
   LD A,H ;/Branch if HL=0
   OR L
   JP Z,.EndOfBlock ;/Jump to end of code block
;* 286 'b=2		//4 Tile'
   LD HL,2 ;/
;**** 'var_wrd_b%'=Expression
   LD (var_wrd_b),HL ;/Copy Result into 'var_wrd_b'
;* 287 'Else'
   JP EndOfCondition ;/Jump to End of Else
;* 288 'b=1		//2 Tile'
   LD HL,1 ;/
;**** 'var_wrd_b%'=Expression
   LD (var_wrd_b),HL ;/Copy Result into 'var_wrd_b'
;* 290 'Grid(EmptyListX(a),EmptyListY(a))=b'
   LD HL,(var_wrd_a) ;/
   LD BC,ar1_wrd_EmptyListX+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_a) ;/
   LD BC,ar1_wrd_EmptyListY+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   CALL ar2_wrd_Grid ;/Double Array stuff
   LD (Quig_Let_107+1),HL ;/
   LD HL,(var_wrd_b) ;/
.Quig_Let_107:
   LD (0),HL ;/ Address to be filled in
;* 292 'b=(EmptyListX(a) Mod 4)+(EmptyListY(a)*4)'
   LD HL,(var_wrd_a) ;/
   LD BC,ar1_wrd_EmptyListX+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,4 ;/
   POP DE ;/
   CALL Quig_Mod16 ;/Mod HL by DE
   PUSH HL ;/
   LD HL,(var_wrd_a) ;/
   LD BC,ar1_wrd_EmptyListY+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,4 ;/
   POP DE ;/
   CALL Quig_Mul16 ;/Multiply HL & DE
   POP DE ;/
   ADD HL,DE ;/Add HL & DE Values
;**** 'var_wrd_b%'=Expression
   LD (var_wrd_b),HL ;/Copy Result into 'var_wrd_b'
;* 293 'Ctrl.Image.Tile.Set NTilesID(b),TileSheet,Grid(EmptyListX(a),EmptyListY(a))'
   LD HL,(var_wrd_b) ;/
   LD BC,ar1_wrd_NTilesID+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/x98
   LD HL,var_byt_TileSheet_status ;/
   PUSH HL ;/x98
   LD HL,(var_wrd_a) ;/
   LD BC,ar1_wrd_EmptyListX+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   PUSH HL ;/
   LD HL,(var_wrd_a) ;/
   LD BC,ar1_wrd_EmptyListY+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/
   CALL ar2_wrd_Grid ;/Double Array stuff
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   POP DE ;/x1
   CALL Quig_Control_Tile_Set ;/CALL 'Ctrl.Image.Tile.Set'
;* 294 'Ctrl.Refresh NTilesID(b)'
   LD HL,(var_wrd_b) ;/
   LD BC,ar1_wrd_NTilesID+2
   ADD HL,HL
   ADD HL,BC
   LD A,(HL)
   INC HL
   LD H,(HL)
   LD L,A
   CALL Quig_Control_Refresh ;/CALL 'Ctrl.Refresh'
;* 296 'EndF'
   RET
