home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / packet / rli120.ark / PARAM.MAC < prev    next >
Text File  |  1987-01-18  |  2KB  |  122 lines

  1. ; PARAM.MAC - 1/17/87 - Set parameter value.
  2. ; Suggested by k1bc...
  3.  
  4.     .xlist
  5.     .z80
  6.     include        TNC.LIB
  7.     tncdefs
  8.     .list
  9.  
  10.     entry        paramc,prtpar
  11.  
  12.     external    decbin,fcb2,numb,opt2,erwhat,erdone,ynbq
  13.     external    bindec,@outch,@outn
  14.     external    kilfwd,bbsa,bbsb,ndigia,ndigib,bbsl
  15.  
  16. ; "Pn value" command. Set a parameter from the local console
  17.  
  18.     cseg
  19.  
  20. paramc:    ld    a,(opt2)    ; Param ID
  21.     ld    hl,ndigia
  22.     cp    '1'
  23.     jr    z,binset
  24.     ld    hl,ndigib
  25.     cp    '2'
  26.     jr    z,binset
  27.     ld    hl,bbsa
  28.     cp    '3'
  29.     jr    z,bynbqs
  30.     ld    hl,bbsb
  31.     cp    '4'
  32.     jr    z,bynbqs
  33.     ld    hl,kilfwd
  34.     cp    '5'
  35.     jr    z,booset
  36.     ld    hl,bbsl
  37.     cp    '6'
  38.     jr    z,bynbqs
  39. ; add more params here
  40.     jp    erwhat        ; Unknown param number
  41.  
  42. binset:    push    hl
  43.     zmov    numb,fcb2+1,5
  44.     call    decbin
  45.     ld    a,l        ; Value
  46.     pop    hl
  47.     jp    c,erwhat    ; Not a number
  48.     ld    (hl),a        ; Store the value
  49.     jp    erdone
  50.  
  51. bynbqs:    ld    (hl),btime
  52.     ld    a,(fcb2+1)
  53.     cp    'B'
  54.     jp    z,erdone
  55.     ld    (hl),qtime
  56.     cp    'Q'
  57.     jp    z,erdone
  58. booset:    ld    (hl),true
  59.     ld    a,(fcb2+1)
  60.     cp    'Y'
  61.     jp    z,erdone
  62.     ld    (hl),false
  63.     cp    'N'
  64.     jp    z,erdone
  65.     jp    erwhat
  66.  
  67. prtp:    ld    c,'P'
  68.     call    @outch
  69.     ld    c,e
  70.     call    @outch
  71.     ld    c,'='
  72.     jp    @outch
  73.  
  74. prtc:    ld    c,','
  75.     call    @outch
  76.     ld    c,' '
  77.     jp    @outch
  78.  
  79. prtboo:    ld    l,a
  80.     call    prtp
  81.     ld    a,l
  82.     call    ynbq        ;Convert possible B/Q to Y/N
  83.     ld    c,'N'
  84.     jp    z,@outch
  85.     ld    c,'Y'
  86.     jp    @outch
  87.  
  88. prtbin:    ld    l,a
  89.     call    prtp
  90.     ld    h,0
  91.     call    bindec
  92.     ld    hl,numb+3
  93.     ld    b,2
  94.     jp    @outn
  95.  
  96. prtpar:    ld    e,'1'
  97.     ld    a,(ndigia)
  98.     call    prtbin
  99.     call    prtc
  100.     ld    e,'2'
  101.     ld    a,(ndigib)
  102.     call    prtbin
  103.     call    prtc
  104.     ld    e,'3'
  105.     ld    a,(bbsa)
  106.     call    prtboo
  107.     call    prtc
  108.     ld    e,'4'
  109.     ld    a,(bbsb)
  110.     call    prtboo
  111.     call    prtc
  112.     ld    e,'5'
  113.     ld    a,(kilfwd)
  114.     call    prtboo
  115.     call    prtc
  116.     ld    e,'6'
  117.     ld    a,(bbsl)
  118.     jr    prtboo
  119.  
  120.     end
  121. 
  122.