?login_element?

Subversion Repositories NedoOS

Rev

Rev 1871 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. printRTC
  2.         IFDEF RTC
  3.         call Clock.readTime    
  4.  
  5.         ld a, (oldminutes)
  6.         ld d,a
  7.         ld a, (minutes)
  8.         cp d                                    ; Update only if minutes changed
  9.         ret z
  10.         ld (oldminutes), a
  11.  
  12.         ld d,1 ;координаты Y,X
  13.         ld e,SCREEN_WIDTH - 7
  14.         call TextMode.gotoXY
  15.         ld a,'['
  16.         call TextMode.putC
  17.         ld h,0
  18.         ld a,(hours) ;часы
  19.         ld l,a
  20.         call toDecimal
  21.         ld hl,decimalS+3
  22.         call TextMode.printZ
  23.         ld a,':'
  24.         call TextMode.putC
  25.         ld h,0
  26.         ld a,(minutes) ;минуты
  27.         ld l,a
  28.         call toDecimal
  29.         ld hl,decimalS+3
  30.         call TextMode.printZ
  31.         ;ld a,':'
  32.         ;call TextMode.putC
  33.         ;ld h,0
  34.         ;ld a,(seconds) ;секунды
  35.         ;ld l,a
  36.         ;call toDecimal
  37.         ;ld hl,decimalS+3
  38.         ;call TextMode.printZ
  39.         ld a,']'
  40.         call TextMode.putC
  41.         ret
  42.  
  43. toDecimal               ;конвертирует 2 байта в 5 десятичных цифр
  44.                                 ;на входе в HL число
  45.         ld de,10000 ;десятки тысяч
  46.         ld a,255
  47. toDecimal10k                   
  48.         and a
  49.         sbc hl,de
  50.         inc a
  51.         jr nc,toDecimal10k
  52.         add hl,de
  53.         add a,48
  54.         ld (decimalS),a
  55.         ld de,1000 ;тысячи
  56.         ld a,255
  57. toDecimal1k                    
  58.         and a
  59.         sbc hl,de
  60.         inc a
  61.         jr nc,toDecimal1k
  62.         add hl,de
  63.         add a,48
  64.         ld (decimalS+1),a
  65.         ld de,100 ;сотни
  66.         ld a,255
  67. toDecimal01k                   
  68.         and a
  69.         sbc hl,de
  70.         inc a
  71.         jr nc,toDecimal01k
  72.         add hl,de
  73.         add a,48
  74.         ld (decimalS+2),a
  75.         ld de,10 ;десятки
  76.         ld a,255
  77. toDecimal001k                  
  78.         and a
  79.         sbc hl,de
  80.         inc a
  81.         jr nc,toDecimal001k
  82.         add hl,de
  83.         add a,48
  84.         ld (decimalS+3),a
  85.         ld de,1 ;единицы
  86.         ld a,255
  87. toDecimal0001k                 
  88.         and a
  89.         sbc hl,de
  90.         inc a
  91.         jr nc,toDecimal0001k
  92.         add hl,de
  93.         add a,48
  94.         ld (decimalS+4),a              
  95.         ret
  96. hours
  97.         db 0
  98. minutes
  99.         db 0
  100. seconds
  101.         db 0
  102. decimalS        ds 7 ;десятичные цифры
  103.         ENDIF  
  104.         ret
  105. oldminutes              ; не убирать под услоаие
  106.         db 255
  107.  
  108.  
  109.  
  110.