?login_element?

Subversion Repositories NedoOS

Rev

Rev 2087 | Rev 2093 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

  1. printRTC
  2.         ld hl,displaytimer
  3.         inc (hl)
  4.         ret nz
  5.  
  6.         ld hl,displaytimer
  7.         ld a,100
  8.         ld (hl),a
  9.  
  10. printRTCnow
  11.         ld de, 0x0600
  12.         SETCOLOR_
  13.     ld de, 0074
  14.         MYSETXY
  15.         ld hl, stringTime
  16.     call printZ
  17.        
  18.         call cmdcalccurxy
  19.         MYSETXY
  20.  
  21.     call readTime
  22.  
  23.         ld a, (oldminutes)
  24.         ld d,a
  25.         ld a, (minutes)
  26.         cp d                                    ; Update only if minutes changed
  27.         ret z
  28.  
  29.         ld (oldminutes), a
  30.         ld h,0
  31.         ld a,(hours) ;часы
  32.         ld l,a
  33.         call toDecimal
  34.         ld hl,decimalS+3
  35.     ld de, stringTime    
  36.     call strcopy;nv_strcopy_hltode
  37.     dec de
  38.     ld a,':'
  39.     ld (de),a
  40.        
  41.     ld h,0
  42.         ld a,(minutes) ;минуты
  43.         ld l,a
  44.         call toDecimal
  45.         ld hl,decimalS+3
  46.     ld de, stringTime+3    
  47.     call strcopy;nv_strcopy_hltode
  48.         ;dec de
  49.     ;ld a,']'
  50.     ;ld (de),a
  51.         ret
  52.  
  53. toDecimal               ;конвертирует 2 байта в 5 десятичных цифр
  54.                                 ;на входе в HL число
  55.         ld de,10000 ;десятки тысяч
  56.         ld a,255
  57. toDecimal10k                   
  58.         and a
  59.         sbc hl,de
  60.         inc a
  61.         jr nc,toDecimal10k
  62.         add hl,de
  63.         add a,48
  64.         ld (decimalS),a
  65.         ld de,1000 ;тысячи
  66.         ld a,255
  67. toDecimal1k                    
  68.         and a
  69.         sbc hl,de
  70.         inc a
  71.         jr nc,toDecimal1k
  72.         add hl,de
  73.         add a,48
  74.         ld (decimalS+1),a
  75.         ld de,100 ;сотни
  76.         ld a,255
  77. toDecimal01k                   
  78.         and a
  79.         sbc hl,de
  80.         inc a
  81.         jr nc,toDecimal01k
  82.         add hl,de
  83.         add a,48
  84.         ld (decimalS+2),a
  85.         ld de,10 ;десятки
  86.         ld a,255
  87. toDecimal001k                  
  88.         and a
  89.         sbc hl,de
  90.         inc a
  91.         jr nc,toDecimal001k
  92.         add hl,de
  93.         add a,48
  94.         ld (decimalS+3),a
  95.         ld de,1 ;единицы
  96.         ld a,255
  97. toDecimal0001k                 
  98.         and a
  99.         sbc hl,de
  100.         inc a
  101.         jr nc,toDecimal0001k
  102.         add hl,de
  103.         add a,48
  104.         ld (decimalS+4),a
  105.     xor a
  106.     ld (decimalS+5),a                          
  107.         ret
  108.  
  109. printZ
  110.         ld a,(hl)
  111.         or a
  112.         ret z
  113.         inc hl
  114.         push hl
  115.     MYPRCHAR
  116.         pop hl
  117.         jr printZ
  118.  
  119.  
  120. readTime
  121.     OS_GETTIME;out: ix=date, hl=time
  122.         di
  123.         push ix
  124.         pop bc
  125.         ei
  126.  
  127.         push hl
  128.         pop de
  129.         ld a,e
  130.     add a,a
  131.     and 63      ;seconds
  132.         ld (seconds),a
  133.        
  134.         ld a,d
  135.     rra
  136.     rra
  137.     rra
  138.     and 31              ;hours
  139.         ld (hours),a
  140.  
  141.     ex de,hl
  142.     add hl,hl
  143.     add hl,hl
  144.     add hl,hl
  145.     ex de,hl
  146.     ld a,d
  147.     and 63       ;minutes
  148.         ld (minutes),a
  149.         ret
  150.  
  151. hours
  152.         db 0
  153. minutes
  154.         db 0
  155. seconds
  156.         db 0
  157. decimalS        ds 7 ;десятичные цифры
  158. stringTime
  159.     db "00:00",0
  160. oldminutes              ; не убирать под услоаие
  161.         db 255
  162. displaytimer
  163.         db 100