Важная информация

User Tag List

Страница 134 из 160 ПерваяПервая ... 130131132133134135136137138 ... ПоследняяПоследняя
Показано с 1,331 по 1,340 из 1598

Тема: ZX_Multi_Card

  1. #1331
    Guru
    Регистрация
    16.12.2009
    Адрес
    Харьков
    Сообщений
    4,731
    Спасибо Благодарностей отдано 
    355
    Спасибо Благодарностей получено 
    369
    Поблагодарили
    238 сообщений
    Mentioned
    11 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    я так понял, что вся работа с часами идет через драйвер timer2.drv. он находится в USER15.

    - - - Добавлено - - -

    Цитата Сообщение от caro Посмотреть сообщение
    Как ни странно адрес порта данных в этой программе = 0xFF а не 0xBF
    Адрес порта адреса RTC = 0xDF
    а в описании наоборот... https://zx-pk.ru/threads/609-zx_mult...l=1#post985757
    надо будет исправить, если всё подтвердится.
    Profi must live!

    Моё железо...

    1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
    3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
    4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
    Все укомплектованы:
    Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive
    [свернуть]

    Ссылка на Telegram-канал поддержки пользователей Profi.

  2. #1332
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от solegstar Посмотреть сообщение
    а в описании наоборот... https://zx-pk.ru/threads/609-zx_mult...l=1#post985757
    надо будет исправить, если всё подтвердится.
    Извини, это я адреса перепутал.
    Исправил в предыдущем сообщении.

  3. #1333
    Activist Аватар для tae1980
    Регистрация
    09.09.2018
    Адрес
    г. Саратов
    Сообщений
    436
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    48 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это не поможет?
    Код:
    IF1
    .PRINTX .                                                 .
    .PRINTX . T i m e  Utilities   ;   Micco Software (c) 1992.
    .PRINTX .                                                 .
    .PRINTX .   Познянский Михаил Борисович   tel: 365-09-83  .
    ENDIF
    .8080
    DRCOMP SET 1
    .Z80
    ;==============================================
    ; В этой программе устанавливается и выводится
    ;           ТЕКУЩЕЕ   ВРЕМЯ !!!  Special version for CONCURENT
    ;==============================================      BIOS
    
    INCLUDE BIOS.H  ;
    INCLUDE DSPK.H  ;
    INCLUDE DRIVER.H  ;
    INCLUDE DEVICE.H  ;
    
    main:  di
           ld   bc,0a00h+27h
           call writreg
           ld   b,0ah
           call readreg
           res  7,a
           cp   27h
           EI
           jp   z,mnn1
    
           XOR  A
           LD   (NOTIMER),A
           LD   C,9
           LD   DE,NTTSTR
           CALL 5
    mnn1:
           ld   a,(82h)
           cp   48
           jp   C,pech
           cp   58
           jp   NC,pech
           ld   bc,9
           ld   hl,82h
           ld   de,string
           ldir
           ld   hl,string
           ld   b,(hl)
           inc  hl
           ld   c,(hl)
           call rdstr
           cp   3
           jp   z,pech
           ld   a,b
           cp   24
           jp   NC,pech
           ld   (hour),a
           inc  hl
           ld   b,(hl)
           inc  hl
           ld   c,(hl)
           call rdstr
           cp   3
           jp   z,pech
           ld   a,b
           cp   60
           jp   NC,pech
           ld   (min),a
           inc  hl
           ld   b,(hl)
           inc  hl
           ld   c,(hl)
           call rdstr
           cp   3
           jp   nz,sss1
           ld   b,0
    sss1:  ld   a,b
           cp   60
           jp   NC,pech
           ld   (sec),a
    ;===== анализ ком. строки закончен.Теперь уст. времени
    
           ;ЗДЕСЬ ЗАПИСЬ В ЯЧЕЙКИ BIOS ВРЕМЕНИ
           LD   C,TIME
           CALL GETADR
           INC  HL
           LD   DE,SEC
           LD   A,(DE)
           LD   (HL),A
           INC  HL
           DEC  DE
           LD   A,(DE)
           LD   (HL),A
           INC  HL
           DEC  DE
           LD   A,(DE)
           LD   (HL),A
    
           LD   A,(NOTIMER)
           AND  A
           JP   Z,PECH
    
           ld   hl,hour
           ld   b,(hl)
           inc  hl
           ld   c,(hl)
           inc  hl
           ld   d,(hl)
           call settim
    
    pech:  LD   A,(NOTIMER)
           AND  A
           JP   Z,PPP1
    
           di
           ld   b,0dh
           call readreg
           ei
           bit  7,a
           jp   nz,ppp1
           ld   de,sboi
           ld   c,9
           call 5
    ppp1:
            ;ЗДЕСЬ ЧТЕНИЕ ИЗ ЯЧЕЕК BIOS ВРЕМЕНИ
           LD   C,TIME
           CALL GETADR
           INC  HL
           LD   DE,SEC
           LD   A,(HL)
           LD   (DE),A
           INC  HL
           DEC  DE
           LD   A,(HL)
           LD   (DE),A
           INC  HL
           DEC  DE
           LD   A,(HL)
           LD   (DE),A
    
           ld   c,9
           ld   de,str1
           call 5
           ld   a,(hour)
           call calc
           ld   e,':'
           ld   c,2
           call 5
           ld   a,(min)
           call calc
           ld   e,':'
           ld   c,2
           call 5
           ld   a,(sec)
           call calc
    ;=============ALARM
           JP   END
    
           di
           ld   b,0bh
           call readreg
           bit  5,a
           ei
           jp   z,aloff
           ld   de,str3
           ld   c,9
           call 5
           ld   a,(bhour)
           call calc
           ld   e,':'
           ld   c,2
           call 5
           ld   a,(bmin)
           call calc
           ld   e,':'
           ld   c,2
           call 5
           ld   a,(bsec)
           call calc
           jp   end
    aloff: ld   c,9
           ld   de,str4
           call 5
    end:   ld   c,9
           ld   de,str2
           call 5
           jp   0
    ;==========================
    ;  УСТАНОВКА ВРЕМЕНИ
    ;ПАРАМЕТРЫ:
    ;   b - часы
    ;   c - минуты
    ;   d - секунды
    ;==========================
    settim:di
           push de
           push bc
           ld   bc,0a00h+27h
           call writreg
           ld   bc,0b00h+80h+2h+4h+8h
           call writreg
           pop  bc
           ld   a,b
           push bc
           ld   b,4
           ld   c,a
           call writreg
           pop  bc
           ld   b,2
           call writreg
           pop  de
           ld   b,0
           ld   c,d
           call writreg
           ld   b,0bh
           call readreg
           and  127
           ld   c,a
           ld   b,0bh
           call writreg
           ld   b,0dh
           call readreg
           ei
           ret
    ;==================
    rdstr: ld    a,c
           cp    48
           jp    m,rds1
           cp    58
           jp    p,rds1
           inc   hl
           sub   48
           ld    e,a
           ld    a,b
           cp    48
           jp    m,rds2
           cp    58
           jp    p,rds2
           cp    48
           jp    z,rds3
           sub   48
           ld    b,a
           XOR   A
    rds4:  add   a,10
           djnz  rds4
           add   a,e
           ld    e,a
    rds3:  ld    b,e
           XOR   A
           ret
    rds1:  ld    a,b
           cp    48
           jp    m,rds2
           cp    58
           jp    p,rds2
           sub   48
           ld    b,a
           XOR   A
           ret
    rds2:  ld    a,3
           ld    b,0
           ret
    ;==================
    CALC:
    OUTDEC:
        OR   A
        JR   Z,OD0
        LD   B,A
        XOR  A
    OD1:INC  A
        DAA
        DJNZ OD1
    OD0:LD   B,A
        RRCA
        RRCA
        RRCA
        RRCA
        AND  00001111B
        JR   NZ,OD2
        xor  a
    OD2:CALL OUTFIG
        LD   A,B
        AND  00001111B
    
    OUTFIG:
        ADD  A,'0'
        LD   C,A
        PUSH BC
        .OUTCHAR
        POP  BC
        RET
    ;==================
    readtime: di
              ld   b,0ah
              call readreg
              rla
              jp   c,readtime
              ld   b,0
              call readreg
              ld   (sec),a
              ld   b,1
              call readreg
              ld   (bsec),a
              ld   b,2
              call readreg
              ld   (min),a
              ld   b,3
              call readreg
              ld   (bmin),a
              ld   b,4
              call readreg
              ld   (hour),a
              ld   b,5
              call readreg
              ld   (bhour),a
              ei
              ret
    ;==================
    writreg:  ld  d,b
              ld  e,c
              ld  bc,0ffffh
              out (c),d
              ld  bc,0ffefh
              out (c),e
              ret
    ;================
    readreg:  ld  d,b
              ld  bc,0ffffh
              out (c),d
              ld  bc,0ffefh
              in  a,(c)
              ret
    ;==================
    hour:     db  0
    min:      db  0
    sec:      db  0
    bhour:    db  0
    bmin:     db  0
    bsec:     db  0
    NOTIMER:  DB  1
    NTTSTR:   DB  0DH,0AH,1BH,']'
              DB  '   Плата таймера отсутствует !!!'
              DB  0DH,0AH,24H
    str1:     db  0dh,0ah,1BH,']'
              db  '   Текущее время: '
              db  24h
    str3:     db  0dh,0ah,0ah
              db  '   Будильник    : '
              db  24h
    str4:     db  0dh,0ah,0ah
              db  '   Будильник  выключен !!!'
              db  24h
    str2:     db  0dh,0ah,0ah
              db  '   Micco  Software (c) Oct-1992'
              db  0dh,0ah,24h
    sboi:     db  0dh,0ah,1BH,']'
              db  ' Информация в таймере не достоверна!!!'
              db  0dh,0ah,24h
    string:   ds  9
    ;========================================================
              end
    Код:
    ;╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞
    ;²²²² Отображение  времени ²²²²
    ;╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛
    
    INCLUDE DEVICE.H  ;
    INCLUDE DRIVER.H  ;
    INCLUDE BIOS.H    ;
    INCLUDE DSPK.H    ;
    INCLUDE CHARS.H   ;
    
    DRCOMP  EQU  0
    
    OUTCHAR MACRO CHR
           PUSH DE
           .OUTCHAR CHR
           POP  DE
    ENDM
    
    
           ASEG
           ORG 100H
           .Z80
    
           .PHASE DRVEXEC
    
    ;²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
    
           LD   HL,DRV
           LD   C,INTRSEC
           CALL DRVINSTALL
    
           RET
    
    INCLUDE DRIVER.INC
    
    DRV:   .DEPHASE
    
    ;²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
    
           .PHASE TIMLOC
           JP   IR0
           JP   IR0
           JP   IR0
           DB   10,12
           DW   TIMLOC,LSTCMRS
           DB   2
    
    IR0:
           .SAVEDSP BUFFER
           LD   C,TIME
           CALL GETADR
           INC  HL
           INC  HL
           INC  HL
           EX   DE,HL
           CALL PRINT
           DB   ESC,'Y',20H,20H+55   ; position
           DB   ESC,'l'              ; color off
           DB   ESC,']'              ; koi8
           DB   ESC,'d',2
           DB   ' ',EOT
           CALL OUTDEC ; hour
           OUTCHAR ':'
           CALL OUTDEC ; min
           OUTCHAR ':'
           CALL OUTDEC ; sec
           .LOADDSP BUFFER
           RET
    
    
    OUTDEC:
           LD   A,(DE)
           DEC  DE
           OR   A
           JR   Z,OD0
           LD   B,A
           XOR  A
    OD1:
           INC  A
           DAA
           DJNZ OD1
    OD0:
           LD   B,A
           RRCA
           RRCA
           RRCA
           RRCA
           AND  00001111B
           JR   NZ,OD2
           XOR  A
    OD2:
           CALL OUTFIG
           LD   A,B
           AND  00001111B
    
    OUTFIG:
           ADD  A,'0'
           LD   C,A
           PUSH BC
           OUTCHAR
           POP  BC
           RET
    
    .PRINT
    
    BUFFER:
    
    ;²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
    
           .DEPHASE
    
           END
    Последний раз редактировалось tae1980; 14.11.2018 в 10:02.

  4. #1334
    Master Аватар для Djoni
    Регистрация
    20.02.2005
    Адрес
    Новосибирск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    708
    Спасибо Благодарностей получено 
    52
    Поблагодарили
    33 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от solegstar Посмотреть сообщение
    вот так выглядит результат работы программы testimer в эмуляторе.

    я так понимаю в эмуляторе тоже частично реализован интерфейс с 512ВИ1

    - - - Добавлено - - -


    Да, используется старый вариант.
    Там как я помню неправильные порты 512ВИ1.

    Скрытый текст

    Profi v5.03/1024k/палитра/FDD3,5""/FDD5,25"/HDD/XT-Keyb/Covox
    Pentagon-1024 sl v 1.4 upgrade #EFF7 Gluk RTC
    ZXM-Phoenix 1024k
    ATM Turbo 2+ v7.10 512k
    HIMAC HR42.04 48K
    HIMAC 128
    Ленинград 1
    [свернуть]

  5. #1335
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,405
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного оффтопа:

    Что за микросхема часов реального времени?

  6. #1336
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tae1980 Посмотреть сообщение
    Это не поможет?
    Да поможет, но и в конец запутает.
    Согласно этой информации адреса портов:
    Регистр адреса RTC = 0xFFFF (не 0xFF)
    Регистр данных RTC = 0xFFEF (не 0xDF)

    Желательно бы еще и исходник драйвера RTC.
    Часы же работают, значит в нем адресация верная, а вот в программе TESTIMER.COM адреса не такие, поэтому она и не работает.
    Надо бы раз и навсегда выяснить где правильная информация.
    Лучше всего это сделать по реальной, рабочей схеме подключения RTC.
    Последний раз редактировалось caro; 14.11.2018 в 11:13.

  7. #1336
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #1337
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Согласно этой информации адреса портов:
    Регистр адреса RTC = 0xFFFF (не 0xFF)
    Регистр данных RTC = 0xFFEF (не 0xDF)

    Адреса портов, как и указано в доках

    TREG equ 0BFh
    TDAT equ 0DFh

    т.е. порт данных DF, порт выбора регистра BF. Проверено на реале 100500 раз. На старые системы для Профи не ориентируйтесь. Часы там бесполезны (нахрена они вообще добавляли часы если кроме как в утилите которая показывала время они нигде более не использовались). В PQDOS часы нужны, они поддержаны на уровне ROM-BIOS и драйвера, а так же ДОС. Файлы получают дату время при модификации.

    старший байт адреса порта не важен! xxBF xxDF

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  9. #1338
    Master Аватар для Djoni
    Регистрация
    20.02.2005
    Адрес
    Новосибирск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    708
    Спасибо Благодарностей получено 
    52
    Поблагодарили
    33 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Да поможет, но и в конец запутает.
    Согласно этой информации адреса портов:
    Регистр адреса RTC = 0xFFFF (не 0xFF)
    Регистр данных RTC = 0xFFEF (не 0xDF)

    Желательно бы еще и исходник драйвера RTC.
    Часы же работают, значит в нем адресация верная, а вот в программе TESTIMER.COM адреса не такие, поэтому она и не работает.
    Надо бы раз и навсегда выяснить где правильная информация.
    Лучше всего это сделать по реальной, рабочей схеме подключения RTC.
    Дешифратор зашит в ППЗУ 556РТ4 так просто по схеме не разобраться, в режиме SINCLAR RTC доступен по портам:

    "AS" номер регистра /w BF
    "DS" данные (bas=0) DF


    Обращение к ВГ93 Beta Disk Interface по стандартным портам , при установке бита D5=1 порта #DFFD (сигнал CP/M Режим PROFI ) отключает ПЗУ TRDOS и включает порты BDI на доступ из ОЗУ и ещё при установке бита D4=1 порта #7FFD ( сигнал ROM14=1) модифицирует доступ к расширенной периферии порты BDI и другая периферия работает по новым портам.

    Чтобы исключить конфликт RTC и BDI по порту системный регистр (RQ93) в режиме CP/M RTC доступен по другим портам:

    "AS" номер регистра /w FF
    "DS" данные (bas=0) 9F

    P.S.
    Постоянна у меня путаница с портами RTC , в документе режиме SINCLAR оправлю

    Скрытый текст

    Profi v5.03/1024k/палитра/FDD3,5""/FDD5,25"/HDD/XT-Keyb/Covox
    Pentagon-1024 sl v 1.4 upgrade #EFF7 Gluk RTC
    ZXM-Phoenix 1024k
    ATM Turbo 2+ v7.10 512k
    HIMAC HR42.04 48K
    HIMAC 128
    Ленинград 1
    [свернуть]

  10. #1339
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Адреса портов, как и указано в доках

    TREG equ 0BFh
    TDAT equ 0DFh

    т.е. порт данных DF, порт выбора регистра BF. Проверено на реале 100500 раз. На старые системы для Профи не ориентируйтесь. Часы там бесполезны (нахрена они вообще добавляли часы если кроме как в утилите которая показывала время они нигде более не использовались). В PQDOS часы нужны, они поддержаны на уровне ROM-BIOS и драйвера, а так же ДОС. Файлы получают дату время при модификации.

    старший байт адреса порта не важен! xxBF xxDF
    Рабочий исходник работы с портами часов можешь показать?
    Последний раз редактировалось caro; 14.11.2018 в 13:25.

  11. #1340
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Рабочий исходник работы с портами часов можешь показать?
    Конечно, я уже давал его раза 2, но ещё раз дам.

    ;────────────────� ��──────────────── ───────
    ;────────────────� ��──────────────── ───────
    ; RTC Physical functions
    ;────────────────� ��──────────────── ───────
    ;────────────────� ��──────────────── ───────

    RTCReg equ 0BFh
    RTCDat equ 0DFh

    RTCinit:
    call RTC_timer ;ожидаем доступ к RTC
    ; ret c ;микросхема 512ВИ1 отсутствует
    ld bc,0A27h
    call Wr.RTC ;r.0A=27h

    ;Далее проверяем, нарушалось ли питание микросхемы.
    ;Т.е. корректны ли дата/время?
    xor a ;read seconds
    call Rd.RTC
    cp 60 ;sec>=60? (0..59 vaild)
    jr nc,POWbad;yes! time invalid!
    ld a,2 ;r.minutes
    call Rd.RTC
    cp 60
    jr nc,POWbad
    ld a,4
    call Rd.RTC
    cp 24
    jr nc,POWbad
    ld a,7
    call Rd.RTC
    cp 32
    jr nc,POWbad
    ld a,8 ;месяц
    call Rd.RTC
    cp 13 ;CF=1 if ok
    ccf
    ld a,0 ;питание не нарушалось, дата/время корректны
    ret nc
    POWbad: ld hl,TimeShabl
    pbad: ld b,(hl)
    ld a,b
    cp 0FFh ;if A=FF then C=0 (nc)
    ret z ;Нарушалось питание
    inc hl
    ld c,(hl)
    inc hl
    call Wr.RTC
    jr Pbad

    Rd.RTC: out (RTCreg),a
    in a,(RTCdat)
    ret

    GetByteFromCMOS:
    call RTC_timer
    ret c
    ld a,e
    jr Rd.RTC

    SetByteToCMOS:
    ld d,a ;data for write
    call RTC_timer
    ld b,e
    ld c,d

    Wr.RTC: ld a,b
    out (RTCreg),a
    ld a,c
    out (RTCdat),a
    Ret

    RTC_timer:
    call Clr_Ticks ;A=0, NC
    ld bc,RTCdat
    ei
    tb1: ld a,0Ah
    call Rd.RTC ;
    or a
    ret p ;Выход, если часы доступны
    ld a,(Ticks)
    cp 3 ;Будем ждять снятия busy максимум
    jr c,tb1 ;60 ms, после этого времени выход
    ld a,0ffh
    scf ;с флагом ошибки.
    pop bc
    ret

    ForDate:
    ld a,9
    jr Fortime+2
    ForTime:
    ld a,4
    out (RTCReg),a
    ld c,RTCDat
    ret


    ;════════════════� ��════════════════ ═
    ;Выход:
    ;d=месяц (1-12)
    ;l=год (0-99) xx12
    ;h=год (0-99) 20xx
    ;════════════════� ��════════════════ ═
    getdate:
    call RTC_timer
    call ForDate
    in l,(c)
    dec a ;a=8
    out (RTCReg),a
    in d,(c)
    dec a ;a=7
    out (RTCReg),a
    in e,(c)
    ld a,21h
    out (RTCReg),a
    in h,(c)
    xor a
    ret

    ;════════════════� ��════════════════ ═
    ;Вход:
    ;d=месяц (1-12)
    ;l=год (0-99) xx12
    ;h=год (0-99) 20xx
    ;════════════════� ��════════════════ ═
    Setdate:call RTC_timer
    call ForDate ;a=9 - year:00-99
    out (c),l
    dec a ;8-месяц
    out (RTCReg),a
    out (c),d
    dec a ;7-day
    out (RTCReg),a
    out (c),e
    ld a,30h ;30h - century
    out (RTCReg),a
    out (c),h
    ret
    ;════════════════� ��════════════════ ═
    ;Вход:
    ;h=час (0-23)
    ;l=минута (0-59)
    ;d=секунда (0-59)
    ;════════════════� ��════════════════ ═
    gettime:
    call RTC_timer
    call ForTime ;Подготовили регистры
    in h,(c) ;hour
    ld a,2
    out (RTCReg),a
    in l,(c) ;minutes
    xor a
    out (RTCReg),a
    in d,(c) ;secundes
    ret

    ;════════════════� ��════════════════ ═
    ;Выход:
    ;h=час (0-23)
    ;l=минута (0-59)
    ;d=секунда (0-59)
    ;════════════════� ��════════════════ ═
    SetTime:
    call RTC_timer ;bc=rtcdat
    ld a,0Ah
    out (RTCreg),a
    ld e,27h
    out (c),e
    inc a ;0B
    out (RTCreg),a
    ld e,6+128
    out (c),e
    call ForTime ;4
    out (c),h ;hour
    ld a,2
    out (RTCReg),a
    out (c),l ;minutes
    xor a
    out (RTCReg),a
    out (c),d ;secundes
    ld a,0Bh
    out (RTCreg),a
    ld a,00000110b
    out (c),a
    ret

    ;════════════════� ��════════════════ ═
    ;Вход:
    ;h=час (0-23)
    ;l=минута (0-59)
    ;d=секунда (0-59)
    ;════════════════� ��════════════════ ═
    Setalarm:
    call RTC_timer
    ld b,5
    ld c,h
    call Wr.RTC
    ld b,3
    ld c,l
    call Wr.RTC
    ld b,1
    ld c,d
    call Wr.RTC
    ld a,0Bh
    out (RTCReg),a
    in e,(c)
    set 3,e ;разреш.прямоуг.импульсы
    set 5,e ;разреш.прерывание по ALARM
    out (c),e
    xor a
    ret
    GetAlarm:
    ret
    ResAlarm:
    call RTC_timer
    ld a,0Bh
    call Rd.RTC
    and 11010111b
    out (RTCDat),a
    ret

    RdCMOSdump:
    ld e,0Eh
    rdcm1: push hl
    push de
    call GetByteFromCMOS
    jr c,rdcm2
    ld (hl),a
    pop de
    inc e
    pop hl
    inc hl
    bit 6,e ;=64?
    jr z,rdcm1
    ret
    rdcm2: pop de
    pop hl
    ret

    WrCMOSdump:
    ld e,0Eh ;начальная ячейка
    wrcm1: push hl
    push de
    ld a,(hl)
    call SetByteToCMOS
    pop de
    inc e
    pop hl
    inc hl
    bit 6,e ;=64?
    jr z,wrcm1
    ret


    ;================================================= ===========

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

Страница 134 из 160 ПерваяПервая ... 130131132133134135136137138 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •