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

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 22

Тема: Процедура детекта TurboSound.

  1. #1

    По умолчанию Процедура детекта TurboSound.

    Вот.

    Код:
    ; TurboSound detected? Return A=0/1 (no/yes)
    
    tsDetect
        ld hl,#fe00
        ld de,#ffbf
        ld bc,#fffd
        out (c),h
        out (c),l
        ld b,e
        out (c),c
        
        ld b,d
        out (c),b
        out (c),l
        ld b,e
        out (c),b
        
        ld b,d
        out (c),h
        out (c),l
        in a,(c)
        cp c
        jr nz,noTS
        
        out (c),d
        out (c),l
        in a,(c)
        cp e
        jr nz,noTS
        ld a,1
        ret
       	
    noTS
        xor a
        ret
    Последний раз редактировалось Shiru; 20.05.2005 в 11:23.

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

  3. #2
    Master Аватар для Ronin
    Регистрация
    28.03.2005
    Адрес
    Krasnodar, Russia
    Сообщений
    585
    Благодарностей: 2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    может сначала 7й регистр заглушить ? на всякий случай. или прям на нем и тестировать (а не 0-ом).

  4. #3

    По умолчанию

    Цитата Сообщение от Ronin
    может сначала 7й регистр заглушить ? на всякий случай. или прям на нем и тестировать (а не 0-ом).
    Ну или можно предварительно сохранить тот регистр, на котором будем проверять наличие 2х девайсов. =)

  5. #4

    По умолчанию

    Цитата Сообщение от Shiru
    Вот.
    ; TurboSound detected? Return A=0/1 (no/yes)

    Ну можно так сделать:

    1 - включить нулевой (дефолтный) девайс
    2 - записать в него число1
    3 - включить первый (доп.) девайс
    4 - записать в него число2(!=число1)
    5 - включить нулевой взад
    6 - считать и вычесть число1
    7 - вернуться

    На выходе: ноль - 2 девайса, неноль - 1 девайс.

  6. #5
    Master Аватар для Ronin
    Регистрация
    28.03.2005
    Адрес
    Krasnodar, Russia
    Сообщений
    585
    Благодарностей: 2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Ну или можно предварительно сохранить тот регистр, на котором будем проверять наличие 2х девайсов. =)
    это чтоб шума всякого не было.
    проще #3f в 7й регистр кинуть обоим. только если #07 можно скажем в A запихать, #3F пихать некуда

    Цитата Сообщение от lvd
    На выходе: ноль - 2 девайса, неноль - 1 девайс.
    а если ни одного ? то ноль вероятно.
    Последний раз редактировалось Ronin; 20.05.2005 в 16:53.

  7. #6

    По умолчанию

    Цитата Сообщение от Ronin
    может сначала 7й регистр заглушить ? на всякий случай. или прям на нем и тестировать (а не 0-ом).
    А смысл? Предполагается, что оба чипа заглушены на старте теста. Ну можно и на 7-ом - тогда первую строчку надо заменить на ld hl,#fe07
    Цитата Сообщение от lvd
    Ну можно так сделать:
    Так тут практически так и сделано, только дополнительный шаг есть, чтобы при отсутствии чипов получить на выходе всё-таки 0 (нет чипов - нет и TS).
    Последний раз редактировалось Shiru; 20.05.2005 в 19:16.

  8. #7
    Activist Аватар для PheeL
    Регистрация
    19.01.2005
    Адрес
    Москва
    Сообщений
    329
    Благодарностей: 94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiru
    Так тут практически так и сделано, только дополнительный шаг есть, чтобы при отсутствии чипов получить всё-таки 0.
    Эм, а нафиг надо если всё-равно не будет слышно? Тут он чисто логически неоправдан как мне кажется. Имеется ввиду проверка на отсутствие чипов вообще.
    Sinclair ZX Spectrum 128k (Toastrack) + ZX Spectrum +3 + DivMMC EnJOY
    Commodore 64c + 1541 Ultimate II
    Commodore Amiga 1200 + 8Mb Fast + CF 8Gb + GOTEK

  9. #8

    По умолчанию

    Цитата Сообщение от PheeL
    Эм, а нафиг надо если всё-равно не будет слышно? Тут он чисто логически неоправдан как мне кажется. Имеется ввиду проверка на отсутствие чипов вообще.
    Да, она и имеется в виду. Код выше - что-то непонятно?

    Выбираем 2-ой чип, пишем число N
    Выбираем 1-ый чип, пишем число M
    Выбираем 2-ой чип, читаем - если не N, чипа нет (ret 0)
    Выбираем 1-ый чип, читаем - если не M, чипа нет (ret 0)
    ret 1 (оба чипа есть)

  10. #9

    По умолчанию

    Цитата Сообщение от Shiru
    Да, она и имеется в виду. Код выше - что-то непонятно?

    Выбираем 2-ой чип, пишем число N
    Выбираем 1-ый чип, пишем число M
    Выбираем 2-ой чип, читаем - если не N, чипа нет (ret 0)
    Выбираем 1-ый чип, читаем - если не M, чипа нет (ret 0)
    ret 1 (оба чипа есть)
    Гы, второй чип есть, а первого нету, надо же...

  11. #10

    По умолчанию

    Цитата Сообщение от Ronin
    а если ни одного ? то ноль вероятно.
    Ну тогда читай так: ноль - 2 девайса, не ноль - не два девайса. =)

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 14
    Последнее: 13.03.2005, 15:01
  2. Процедура опроса клавиатуры
    от Aprisobal в разделе Программирование
    Ответов: 8
    Последнее: 19.02.2005, 18:12

Ваши права

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