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 / CPM / CIS / UPPMMI.DIF < prev    next >
Text File  |  2000-06-30  |  2KB  |  109 lines

  1. 60,65c 2640
  2. subrev    equ    '2'    ; sub-revision
  3. ; History info
  4. ;        4/02/82 Vers. 1.22 - Several minor mods. including
  5. ;        addition of PMMI drivers, replacement of warmboot
  6. ;        (labeled coldboot!) with a return, etc. (C. Strom)
  7. ;
  8. ;         3/20/1982     FIRST COMPLETE VERSION RELEASED 
  9. ;        BY THE AUTHOR  BOB RICHARDSON OF MICROPRO INTL
  10. ;        CORPORATION - FURTHER DISTRIBUTION MUST CONTAIN
  11. ;        THIS COMMENT - this file made available courtesy
  12. ;        of MicroPro International Corp. and the author
  13. .
  14. 77a 3742
  15.     ld    hl,0        ; stash CP/M's stack
  16.     add    hl,sp
  17.     ld    (stack),hl
  18. .
  19. 107c 1136
  20.     jp     exit         ; terminate
  21. .
  22. 122c 5046
  23.     defb    cr,lf,'Upload Vers. ',vers,'.',rev,subrev,cr,lf
  24. .
  25. 126c 54866
  26. ;  Kudos to Russ Ranshaw for inventing this protocol
  27. .
  28. 222c 12848
  29.     jp    exit        ; and terminate abnormally
  30. .
  31. 229,233c 56528
  32.     ld    de,nospcm    ; file found message
  33.     call    prnmes        ; to console
  34.     jp    exit        ; and terminate abnormally
  35. ;
  36. nospcm:
  37. .
  38. 240c 15166
  39.     jp    exit        ; and terminate
  40. .
  41. 608c 62738
  42.     jp    exit        ; and abort
  43. .
  44. 619c 36303
  45.     jp    exit        ; and abort
  46. .
  47. 698,699c 34360
  48. ; This routine must send the char in a to the modem without stripping parity
  49. .
  50. 701,705c 38558
  51. ;
  52. basprt    equ    0c0h        ;pmmi modem base i/o port
  53. ctl    equ    basprt        ;primary control port
  54. sioprt    equ    basprt+1    ;serial data port
  55. sioir    equ    02h        ;data input ready flag
  56. siotr    equ    01h        ;transmitter ready flag
  57. ;
  58.     push    af
  59. outwt:    in    a,(ctl)        ;read status
  60.     and    siotr        ;isolate bit
  61.     jr    z,outwt        ;wait till ready
  62.     pop    af
  63.     out    (sioprt),a    ;output char to modem
  64. ;
  65. .
  66. 717c 53003
  67. ; This routine inputs an 8 bit character
  68. .
  69. 720,723c 2282
  70. ;
  71.     call    inwait        ;wait for char
  72.     in    a,(sioprt)    ;get it
  73.     cp    knak        ;se if it is knak
  74.     jp    z,comfail    ;comm failure if so
  75. ;
  76. .
  77. 727a 4798
  78. inwait:    in    a,(ctl)        ;get status
  79.     and    sioir        ;isolate bit
  80.     jr    z,inwait    ;not ready, so loop
  81.     ret
  82. ;
  83. .
  84. 736,740c 40095
  85.     call    inwait        ;wait for char
  86.     in    a,(sioprt)    ;get it
  87.     and    7fh        ;strip parity
  88. ;
  89.     ret            ; to caller
  90. ;    
  91. ; Exit gracefully by doing a return rather than a warmboot (which Bob R.
  92. ; keeps calling a coldboot)
  93. ;
  94. exit:
  95.     ld    de,80h        ; restore dma adress
  96.     ld    c,fn$std    ; to keep op sys happy
  97.     call    bdos
  98.     ld    hl,(stack)    ; restore old stack
  99.     ld    sp,hl
  100.     ret            ; and bow out
  101. ;
  102. .
  103. 759c 26973
  104. stack:
  105.     defs    02h        ;cp/m's stack
  106. .
  107. $a 20876
  108. .
  109.