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 / MBUG112.ARC / Z8E14.LBR / ANSIXYCP.ZZ0 / ANSIXYCP.Z80
Text File  |  1979-12-31  |  1KB  |  62 lines

  1. ;----------------------------------------------------------------------------
  2. ;
  3. ; A sample replacement for the cursor positioning routine in Z8E.
  4. ; (Must be less than 129 bytes long.)
  5. ;
  6. ; Use this routine instead of the one at xycp: if you have an ANSI
  7. ; terminal.  Since I do not have an ANSI terminal I have not tested
  8. ; this code but it is rather simple and should work without too many
  9. ; modifications.
  10. ;
  11. ; Jon Saxton - 27 May 87
  12. ;
  13. ;----------------------------------------------------------------------------
  14.  
  15. xycp:
  16.     push    de
  17.     push    hl
  18.     push    bc
  19.  
  20.     ld    a,1Bh        ;Send ESC
  21.     call    ttyo
  22.     ld    a,'['        ;Send [
  23.     call    ttyo
  24.     pop    bc        ;Send row (Y) coordinate
  25.     push    bc
  26.     ld    a,b
  27.     call    xycp00
  28.     ld    a,';'        ;Send ;
  29.     call    ttyo
  30.     pop    bc        ;Send column (X) coordinate
  31.     push    bc
  32.     ld    a,c
  33.     call    xycp00
  34.     ld    a,'H'        ;Send H
  35.     call    ttyo
  36.  
  37.     pop    bc
  38.     pop    hl
  39.     pop    de
  40.     ret
  41.  
  42. xycp00:
  43.     ex    af,af'
  44.     xor    a
  45.     ex    af,af'
  46. xycp10:
  47.     ex    af,af'
  48.     inc    a
  49.     ex    af,af'
  50.     sub    a,10
  51.     jr    nc,xycp10
  52.     ex    af,af'
  53.     dec    a
  54.     jr    z,xycp20
  55.     add    a,'0'
  56.     call    ttyo
  57. xycp20:
  58.     ex    af,af'
  59.     add    a,'0'+10
  60.     call    ttyo
  61.     ret
  62.