home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG099.ARC / DOT.I < prev    next >
Text File  |  1979-12-31  |  5KB  |  90 lines

  1. Procedure Dot(X,Y : Integer; F : Operation);
  2.  
  3. Var
  4.   PCG : Byte;
  5.  
  6. Begin
  7. if ((X>=0) and (X<512) and (Y>=0) and (Y<256)) then
  8.   begin
  9.   Inline($2A/Y/               {          LD       HL,(Y)    }
  10.          $7D/                 {          LD       A,L       }
  11.          $CB/$3F/             {          SRL      A         }
  12.          $CB/$3F/             {          SRL      A         }
  13.          $CB/$3F/             {          SRL      A         }
  14.          $CB/$3F/             {          SRL      A         }
  15.          $CB/$3F/             {          SRL      A         }
  16.          $F5/                 {          PUSH     AF        }
  17.          $7D/                 {          LD       A,L       }
  18.          $E6/$0F/             {          AND      15        }
  19.          $F5/                 {          PUSH     AF        }
  20.  
  21.          $ED/$4B/X/           {          LD       BC,(X)    }
  22.          $79/                 {          LD       A,C       }
  23.          $E6/7/               {          AND      7         }
  24.          $F5/                 {          PUSH     AF        }
  25.          $CB/$18/             {          RR       B         }
  26.          $CB/$19/             {          RR       C         }
  27.          $CB/$39/             {          SRL      C         }
  28.          $CB/$39/             {          SRL      C         }
  29.  
  30.          $7D/                 {          LD       A,L       }
  31.          $E6/$F0/             {          AND      240       }
  32.          $6F/                 {          LD       L,A       }
  33.          $29/                 {          ADD      HL,HL     }
  34.          $29/                 {          ADD      HL,HL     }
  35.          $EB/                 {          EX       DE,HL     }
  36.          $21/$C0/$F3/         {          LD       HL,$F3C0  }
  37.          $ED/$52/             {          SBC      HL,DE     }
  38.          6/0/                 {          LD       B,0       }
  39.          9/                   {          ADD      HL,BC     }
  40.          $7E/                 {          LD       A,(HL)    }
  41.          $32/PCG/             {          LD       (PCG),A   }
  42.  
  43.          $C1/                 {          POP      BC        }
  44.          4/                   {          INC      B         }
  45.          $E/0/                {          LD       C,0       }
  46.          $37/                 {          SCF                }
  47.          $CB/$19/             {LOOP      RR       C         }
  48.          $10/$FC/             {          DJNZ     LOOP      }
  49.  
  50.          $E1/                 {          POP      HL        }
  51.          $3E/$0F/             {          LD       A,15      }
  52.          $94/                 {          SUB      H         }
  53.          $5F/                 {          LD       E,A       }
  54.  
  55.          $E1/                 {          POP      HL        }
  56.          $3E/$87/             {          LD       A,135     }
  57.          $94/                 {          SUB      H         }
  58.          $D3/$1C/             {          OUT      (28),A    }
  59.  
  60.          $2A/PCG/             {          LD       HL,(PCG)  }
  61.          $26/0/               {          LD       H,0       }
  62.          $29/                 {          ADD      HL,HL     }
  63.          $29/                 {          ADD      HL,HL     }
  64.          $29/                 {          ADD      HL,HL     }
  65.          $29/                 {          ADD      HL,HL     }
  66.          $16/$F0/             {          LD       D,$F0     }
  67.          $19/                 {          ADD      HL,DE     }
  68.  
  69.          $3A/F/               {          LD       A,(F)     }
  70.          $FE/0/               {          CP       0         }
  71.          $28/8/               {          JR       Z,RESET   }
  72.          $FE/1/               {          CP       1         }
  73.          $28/$0B/             {          JR       Z,SET     }
  74.          $7E/                 {          LD       A,(HL)    }
  75.          $A9/                 {          XOR      C         }
  76.          $18/9/               {          JR       CLEAN     }
  77.          $79/                 {RESET     LD       A,C       }
  78.          $2F/                 {          CPL                }
  79.          $4F/                 {          LD       C,A       }
  80.          $7E/                 {          LD       A,(HL)    }
  81.          $A1/                 {          AND      C         }
  82.          $18/$02/             {          JR       CLEAN     }
  83.          $7E/                 {SET       LD       A,(HL)    }
  84.          $B1/                 {          OR       C         }
  85.          $77/                 {CLEAN     LD       (HL),A    }
  86.          $3E/$80/             {          LD       A,128     }
  87.          $D3/$1C);            {          OUT      (28),A    }
  88.   end;
  89. End;
  90.