User Tag List

Страница 13 из 18 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя
Показано с 121 по 130 из 175

Тема: Контроллер НМЛ СМ5300.01

  1. #121

    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,671
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Вот новая версия программы:
    - А можно ее в кодах?
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ

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

  3. #122

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если присмотреться внимательнее - коды там есть ( на месте комментариев ).

  4. #123

    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,671
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Глюк...
    Последний раз редактировалось Andrey_Ak; 07.04.2011 в 02:10.
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ

  5. #124

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Останов с адресом 01026 - признак того, что на момент начала работы программы - контроллер не имеет признака готовности, т.е. не установлен бит 040 в регистре 176730.

    При останове по адресу 01026 нужно вручную открыть 176730 и убедиться, что там установлен бит 040 - и только затем нажать "P"

  6. #125

    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,671
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    @10/010021
    000012/077202
    000014/000000
    @R0/000777
    R1/000016
    R2/000000
    @10G 000000
    @R1/160002

    010054/000777
    010056/000777
    @20000/000777
    020002/000777
    020004/000777


    @1000/005000
    001002/012701
    001004/020000
    001006/012702
    001010/176730
    001012/012703
    001014/176732
    001016/032712
    001020/000040
    001022/001001
    001024/000000
    001026/111304
    001030/023737
    001032/000240
    001034/000240
    001036/012713
    001040/000007
    001042/023737
    001044/000240
    001046/000240
    001050/012712
    001052/000001
    001054/032712
    001056/000040
    001060/001775
    001062/032712
    001064/000010
    001066/001406
    001070/111304
    001072/100401
    001074/000000
    001076/006204
    001100/103001
    001102/000000
    001104/012713
    001106/000002
    001110/012712
    001112/000001
    001114/032712
    001116/000060
    001120/001006
    001122/032712
    001124/000010
    001126/001772
    001130/111321
    001132/005200
    001134/000767
    001136/000000
    001140/000777
    @
    @
    @
    @
    @176730/000054
    176732/000066
    176734/
    BUS ERROR
    @176730/000044
    176732/000066
    176734/
    BUS ERROR
    @176730/000044
    176732/000066
    176734/
    BUS ERROR
    @176730/000044
    176732/000066
    176734/
    BUS ERROR
    @176730/000044
    176732/000066
    176734/
    BUS ERROR
    @
    @1000G 001076
    @
    @1000G 001076
    @
    @1000G 001076
    @
    @176732/000066
    @176730/000040
    @176730/000040
    176732/000066
    176734/
    BUS ERROR
    @
    @176730/000040
    176732/000066
    176734/
    BUS ERROR
    @P 001140
    @
    @176730/000044
    176732/000066
    176734/
    BUS ERROR
    @176730/000044
    176732/000066
    176734/
    BUS ERROR
    @
    @
    @
    @176730/000044
    176732/000066
    176734/
    BUS ERROR
    @
    @
    @
    @1000G 001076
    @176730/000040 1 (Прочитал ленту)
    @20000/000777
    @P 001140 (Записал блок из памяти контроллера в память)
    @20000/000001
    020002/000666
    020004/000666
    020006/000666


    ---------- Post added at 04:00 ---------- Previous post was at 03:52 ----------

    @176730/000044
    176732/000203 00
    @176730/000040 1
    @
    @176730/000054
    176732/000203
    176734/
    BUS ERROR
    @
    @
    @
    @
    @176730/000044
    176732/000203 0
    @176730/000040 1
    @
    @1000G 001076
    @176732/000066
    @176730/000040
    176732/000066
    176734/
    BUS ERROR
    @
    @176730/000040
    176732/000066
    176734/
    BUS ERROR
    @R0/000000
    R1/020000
    R2/176730
    R3/176732
    R4/000066
    R5/000030
    R6/177776
    R7/001076
    R0/000000
    @
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ

  7. #126

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Останов по адресу 01076 - это всё та же проблема, решить которую пока не помогло ни чтение регистра 176732 перед записью в него, ни вставка команды Cmp @#240,@#240 ( для дополнительной задержки ) между записью "7" в регистр 176732 и "1" в 176730.

    Однако, теперь у нас есть место в коде, чтобы вставить ещё одну команду записи "1" в 176730.

    Код:
    001024/000000
    001026/111304
    001030/023737
    001032/000240
    001034/000240
    001036/012713
    001040/000007
    001042/023737 / 012712
    001044/000240 / 000001
    001046/000240
    001050/012712
    001052/000001
    001054/032712
    001056/000040
    001060/001775

  8. #127

    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,671
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    @176730/000054
    176732/000066
    176734/
    BUS ERROR
    @
    @176730/000044
    176732/000066
    176734/
    BUS ERROR
    @
    @1000G 001076
    @
    @1000G 001076

    @176730/000040
    176732/000066
    176734/

    @176730/000040
    176732/000066
    176734/

    @P 001140 (Ленту не прочитал)
    @
    @20000/000777

    @1000G 001076
    @
    @R0/000000
    R1/020000
    R2/176730
    R3/176732
    R4/000066
    R5/000030
    R6/177776
    R7/001076

    @176730/000040
    176732/000066

    @176730/000040
    176732/000066

    @176730/000040 1 (Прочитал ленту)
    @
    @20000/000777

    @P 001140 (Скопировал буфер контроллера в память)
    @20000/000001
    020002/000666
    020004/000666


    ---------- Post added at 13:22 ---------- Previous post was at 13:10 ----------

    @20000/000777
    020002/000777
    020004/000777
    020006/000777

    @1042/012712
    001044/000001
    001046/000240 0 (Меняем NOP на Halt)
    @
    @
    @1000G 001050
    @P 001140 (Прочитал ленту)
    @
    @20000/000004
    020002/000666
    020004/000666
    020006/000666
    @

    - Похоже надо выставить задержку в 1046

    ---------- Post added at 13:29 ---------- Previous post was at 13:22 ----------

    @1042/000000
    001044/000240
    001046/000240

    @20000/000777
    020002/000777
    020004/000777
    @
    @
    @1000G 001044
    @P 001140
    @
    @20000/000002
    020002/000666
    020004/000666
    020006/000666
    @

    Похоже второй раз записывать 1 в 176730 не надо, нужно просто
    выставить больше задержку...

    ---------- Post added at 13:38 ---------- Previous post was at 13:29 ----------

    Так, увеличиваем задержку:

    @1042/012705
    001044/123456
    001046/077501
    @
    @20000/000777
    020002/000777
    020004/000777
    @
    @1000G 001140 (Прочитал ленту)
    @
    @20000/000004
    020002/000666
    020004/000666
    020006/000666
    @

    ---------- Post added at 13:40 ---------- Previous post was at 13:38 ----------

    Итак, код рабочей программки чтения:

    @
    @1000/005000
    001002/012701
    001004/020000
    001006/012702
    001010/176730
    001012/012703
    001014/176732
    001016/032712
    001020/000040
    001022/001001
    001024/000000
    001026/111304
    001030/023737
    001032/000240
    001034/000240
    001036/012713
    001040/000007
    001042/012705
    001044/123456
    001046/077501
    001050/012712
    001052/000001
    001054/032712
    001056/000040
    001060/001775
    001062/032712
    001064/000010
    001066/001406
    001070/111304
    001072/100401
    001074/000000
    001076/006204
    001100/103001
    001102/000000
    001104/012713
    001106/000002
    001110/012712
    001112/000001
    001114/032712
    001116/000060
    001120/001006
    001122/032712
    001124/000010
    001126/001772
    001130/111321
    001132/005200
    001134/000767
    001136/000000


    ---------- Post added at 13:45 ---------- Previous post was at 13:40 ----------

    С задержкой понятно, этот контроллер работал на Эл.60,
    а теперь на ВМ2 поэтому и не успевает обработать команду...
    Последний раз редактировалось Andrey_Ak; 08.04.2011 в 06:24.
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ

  9. #128

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Думаю, что вместо задержки можно попробовать использовать бит 04 регистра 176730. Этот бит сбрасывается, когда контроллер готов к выполнению кода команды, записанного в 176732 ( т.е. в тот момент, когда нужно записывать "1" в 176730 ). После записи кода команды в 176732 можно вставить проверку сброса этого бита и не записывать "1" в 176730 до тех пор, пока бит 04 в 176730 установлен.

    Код:
    001042/023737 / 032712
    001044/000240 / 000004
    001046/000240 / 001375
    Последний раз редактировалось Patron; 07.04.2011 в 14:14.

  10. #129

    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,671
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    @1042/012705 032712
    001044/123456 4
    001046/077501 1375
    @
    @1000G 001076
    @
    @176730/000040
    176732/000066

    - Нет, так не читает...

    ---------- Post added at 08:06 ---------- Previous post was at 08:05 ----------

    @1042/032712 12705
    001044/000004 123456
    001046/001375 77501
    @
    @
    @1000G 001140
    @
    @20000/000002
    020002/000666
    020004/000666
    020006/000666
    @

    - А так читает...

    ---------- Post added at 09:15 ---------- Previous post was at 08:06 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Думаю, что вместо задержки можно попробовать использовать бит 04 регистра 176730. Этот бит сбрасывается, когда контроллер готов к выполнению кода команды, записанного в 176732 ( т.е. в тот момент, когда нужно записывать "1" в 176730 ). После записи кода команды в 176732 можно вставить проверку сброса этого бита и не записывать "1" в 176730 до тех пор, пока бит 04 в 176730 установлен.
    - Скорее всего надо просто выдерживать паузу после записи команды
    в 176732....

    ---------- Post added at 09:16 ---------- Previous post was at 09:15 ----------

    В принципе читать получилось, надо-бы разобраться как писать...
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ

  11. #130

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrey_Ak Посмотреть сообщение
    Скорее всего надо просто выдерживать паузу после записи команды в 176732
    Делать паузу в 1000 раз более длинной, чем это необходимо - не всегда оправдано. Гораздо лучше (на мой взгляд) иметь универсальный алгоритм, который в любых условиях даёт гарантированный результат c минимальной задержкой.

    Поэтому, предлагаю попробовать следующий вариант:

    Код:
    001024/000000
    001026/111304
    001030/023737 / 012713
    001032/000240 / 000007
    001034/000240 / 032712
    001036/012713 / 000004
    001040/000007 / 001375
    001042/012705 / 012712
    001044/123456 / 000001
    001046/077501 / 022712
    001050/012712 / 000040
    001052/000001 / 001773
    001054/032712
    001056/000040
    001060/001775
    Цитата Сообщение от Andrey_Ak Посмотреть сообщение
    В принципе читать получилось, надо-бы разобраться как писать...
    Думаю, нет смысла заниматься записью до тех пор, пока драйвер TP.SYS для RT-11 ( который ещё нужно написать ) не начнёт нормально читать ленты.

    Мне представляется, что следующим шагом должно стать исследование работы контроллера при чтении стандартной разметки ленты ( блок VOL1, блок HDR1, метка "Tape Mark", блоки данных, метка "Tape Mark", блок EOF1, метка "Tape Mark" ).

    Весьма важно ( на мой взгляд ) выяснить, как контроллер сигнализирует о том, что вместо ожидаемого заголовка блока на ленте попался "Tape Mark". Не зная этого - невозможно отличить блок данных файла от метки конца файла ( метка конца файла по своей сути - это точно такой же блок данных ).

    Для этого тестирования программу нужно модифицировать так, чтобы она подавала только команду "2" и копировала буфер контроллера в компьютер, а команда "7" подавалась вручную. Это даст возможность после каждой команды "7" проверять содержимое регистров 176730 и 176732, чтобы определить те биты, которые контроллер устанавливает там при обнаружении на ленте различных меток.

    Затем нужно взять ленту, содержащую файлы RT-11 и пройтись по ней, выдавая вручную команды "7" и проверяя регистры.

    Запуская программу копирования буфера в компьютер - нужно прежде всего проверять значение R0, где возвращается число скопированных байт. Для блоков по 512 байт это должно быть число 514 ( 2 байта номера блока + 512 байт данных ).
    Последний раз редактировалось Patron; 08.04.2011 в 14:55.

Страница 13 из 18 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. ZX-MMC контроллер
    от Orionsoft в разделе Внешние накопители
    Ответов: 17
    Последнее: 12.05.2019, 17:11
  2. Контроллер FD-051
    от Giraffe в разделе MSX
    Ответов: 77
    Последнее: 15.05.2016, 02:23
  3. Контроллер TR-DOS
    от Zloy в разделе Внешние накопители
    Ответов: 13
    Последнее: 21.11.2015, 17:21
  4. Контроллер TR-DOS
    от Sentenced в разделе Внешние накопители
    Ответов: 15
    Последнее: 25.09.2010, 22:47
  5. Контроллер FDD TR-DOS
    от Zloy в разделе Внешние накопители
    Ответов: 2
    Последнее: 20.06.2007, 11:25

Ваши права

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