?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1. ;clock driver SMUC
  2.         module Clock
  3. ; вых.:      CY=1, если микросхемы CMOS нет
  4.         ; C — секунды/число;
  5.         ; B - минуты/месяц;
  6.         ; E - часы/год;
  7.  
  8. readTime
  9.         ld bc,#DFBA
  10.         ld a,4 ;часы
  11.         call out3d2f
  12.         ld a,10 ;пауза
  13. readTimeCL
  14.         dec a
  15.         jr nz,readTimeCL
  16.         call in3d2f
  17.         cp 255 ;проверка наличия микросхемы
  18.         scf
  19.         ret z
  20.         ld e,a
  21.         ld a,2 ;минуты
  22.         call out3d2f
  23.         ld a,10 ;пауза
  24. readTimeCL2
  25.         dec a
  26.         jr nz,readTimeCL2
  27.         call in3d2f
  28.         ld b,a
  29.         or a
  30. ;сохранение текущего времени
  31.         jr nc,read_time_ok
  32.         ; ld hl,mes_no_RTC
  33.         ; call print_mes
  34.         ; scf
  35.         ret ;выход
  36. read_time_ok
  37.         ld a,e ;часы
  38.         ld (hours),a
  39.         ld a,b ;минуты
  40.         ld (minutes),a
  41.         ld a,c ;секунды
  42.         ld (seconds),a
  43.         ret
  44.  
  45. in3d2f
  46.         ld hl,#3ff3
  47.         push hl
  48.         jp #3d2f
  49.        
  50. out3d2f
  51.         ld hl,#2A53
  52.         push hl
  53.         jp #3d2f
  54.     endmodule
  55.