User Tag List

Страница 37 из 38 ПерваяПервая ... 333435363738 ПоследняяПоследняя
Показано с 361 по 370 из 371

Тема: Винчестер УКНЦ

  1. #361

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    374
    Поблагодарили
    311 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Надо смотреть на содержимое первого сектора диска - похоже что ругается на него.
    Не факт что WD и ID драйверы совместимы по формату этого блока, скорее нет.
    Никит, в том то и дело, что я беру образ, который публиковался и подготовлен был тобой и Арсением. Прямая ссылка на образ >
    http://hobot.pdp-11.ru/EMULATORS/UKN...D/uknc_hdd_id/
    Из него без проблем можно сделать (ничего не меняя в структуре самого файла - я про инверсии и прочее) образ для WD - драйвера, ибо он кушает его без проблем и готов либо размечать либо работать с текущей разбивкой.

    Если посмотреть содержимое первоначальное ЖД, там везде использован драйвер ID, который так же без проблем с этим образом работает ( естественно с прошивкой ID * а не WD!!! * ), единственный отказ - это переиначивание разделов... Вот такая картина.
    Дискета для работы с ID >
    http://hobot.pdp-11.ru/ukdwk_archive...lekt/Other/ID/

    form, уже несколько дней нет доступа к основному архиву, поэтому в этом сообщении все ссылки на зеркало.
    Про драйвера:

    Исходники WD есть, есть вариант твоего драйвера - он работает отлично, а вот исходники ID или HD мне не попадались вроде бы.

    Никита, если ты поймешь в чём глюк - пожалуйста научи как победить. В целом это не жизненно важно или критично, я просто попытался с помощью пофиксаной дискеты с ID переиначить образ и сам видишь что явно затык какой-то в эмуляторе. Повторю (уточню), что при загрузке с данной дискеты доступ к существующим разделам нормальный,
    все операции I\O работают корректно в том числе и загрузка по команде BOOT IDn:

    Как-то так.
    Содержимое файла IDREKL.TXT - по ссылке на дискету в виде шпаргалки\описания.



    +++++++++++++++++++++++++
    на разделе ID0, где OWNER : DIMA
    нашлась вот такая утилита "мощная" и исходник с комментария
    Код:
                                       ЛAТ                                          
                    EP [AK] V03.00 Tehnocom (536-50-90).                            
                                                                                    
    .DIR RBMEM                                                                      
                                                                                    
    RBMEM .SAV     4  06-Sep-95      RBMEM .COM     1  06-Sep-95                    
    RBMEM .OBJ     3  31-Aug-95      RBMEM .MAC     9                               
     4 Files, 17 Blocks                                                             
     50482 Free blocks                                                              
                                                                                    
    .R RBMEM                                                                        
    *                                                                               
    RBMEM V01.00  (C)  AO 'Элeктpoнныe paбoты'                                      
    Peзepвиpoвaниe пaмяти для oбecпeчeния paбoты пaкeтoв ROBOTLANDIA, WRITER        
     пpи зaгpyжeнныx в ПП дpaйвepax типa UNDRIV, HDDRIV, IDDRIV и т.д.              
    Иcпoльзoвaниe:                                                                  
    UNDRIV R       oчиcтить ПП и зaгpyзить дpaйвep в ПП                             
    RBMEM /A       зapeзepвиpoвaть пaмять ПП                                        
    UNDRIV         пepeзaгpyзить дpaйвep в ПП                                       
    RBMEM /F       ocвoбoдить зapeзepвиpoвaннyю пaмять                              
                                                                                    
    *
    Про UNDRIV UN.SYS пишут, что это
    Код:
    		        NET128 (C)
    
    	    СЕТЕВОЙ КОМПЛЕКС ДЛЯ УКНЦ (МС0511)
    
    
    
    	- 4 -
    
    			СОСТАВ
    			------
    
      1. Сетевые адаптеры (СА)		- до 16 шт. (по числу ЭВМ
    					в классе минус один);
      2. Сетевой адаптер, совмещенный с
    контроллером ГМД (СА/КМД), без кабеля	- один;
      3. Шунт с резистором 75 ом		- один;
      4. Винчестер - накопитель на жестком
    диске 20, 30 или 40 МБ (ЖД)		- один, устанавливается
    					на одну из ЭВМ класса -
    					файловый сервер (ФС);
      5. Программа обслуживания сетевой	- в процессе работы
    системы - NET128.SAV			сети выполняется на
    					файловом сервере;
      6. Программа UNDRIV.SAV - работа с 	- выполняется на всех
    СА в периферийном процессоре УКНЦ	ЭВМ класса, кроме ФС;
      7. Драйвер РМУ		 	- выполняется на всех
    для СА - UN.SYS				ЭВМ класса, кроме ФС;
      8. Программа регистрации и установки	- регистрирует дату на ФС
    даты - DAY.SAV				и устанавливает дату при
    					загрузке каждого РМУ;
      9. Вспомогательный файл SY:NET128.DRV	- используется программой
    					обслуживания
    Последний раз редактировалось hobot; 28.03.2021 в 06:21.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

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

  3. #362

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

    По умолчанию

    OWNER: DIMA - это я

    немного посмотрел на содержимое диска в эмуляторе, поностальгировал.

    спасибо за проделанный труд по запуску с этого диска.

    Этот пользователь поблагодарил rzk за это полезное сообщение:

    nzeemin(06.06.2021)

  4. #363

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,051
    Спасибо Благодарностей отдано 
    1,142
    Спасибо Благодарностей получено 
    1,473
    Поблагодарили
    525 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rzk Посмотреть сообщение
    OWNER: DIMA - это я

    немного посмотрел на содержимое диска в эмуляторе, поностальгировал.

    спасибо за проделанный труд по запуску с этого диска.
    Спасибо вам за предоставленный УКНЦ и контроллер винчестера - он очень помог в разработке эмулятора.

    Этот пользователь поблагодарил nzeemin за это полезное сообщение:

    rzk(26.05.2024)

  5. #364

    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    931
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    168
    Поблагодарили
    81 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пытаюсь сделать версию контроллера на CPLD epm7128. Запихнул в неё схему собственно контроллера, ПЗУ пока не подключал.
    WDX контроллер видит, но устройства подключенные нормально определить не может. Самое большее, чего удалось добиться - увидел DOM 128mb, но не смог прочитать с него ничего:

    Карты памяти и винчестер Самсунг не видит вовсе.
    Подскажите, в какую сторону копать?

  6. #365

    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    931
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    168
    Поблагодарили
    81 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот так сейчас прошивка ПЛИС выглядит.



    А это схема платы.
    Schematic_UKNZ_KAKAVE_IDE_M_2024-05-23.pdf

    Часть выводов ПЛИС пока не задействована.

  7. #366

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Xrust Посмотреть сообщение
    А это схема платы.
    А вывод 38 разъёма IDE (CS3) у вас в воздухе висит? В оригинальном контроллере туда подаётся +5В, т.к. альтернативный регистр состояния не используется.
    Так же в IDE регистры с 1F1 по 1F7 (здесь с 110000 по 110014) восьмибитные, при их чтении старший байт обычно не выдаётся. В оригинальном контроллере в 155РЕ3 во второй половине записаны единицы и используется подтяжка на резисторах. Соответственно выдавались единицы, т.к. МПИ инверсная, после инверсии получались нули.

  8. #367

    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    931
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    168
    Поблагодарили
    81 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А вывод 38 разъёма IDE (CS3) у вас в воздухе висит?
    Это я поправил, но причина была в другом. Когда внимательно прозвонил плату. нашел отсутствующие дорожки. Так и не понял, как недоразведенный вариант попал в заказ? МГТФ решил проблему, все заработало. CF через переходник пишутся/читаются, DOM и винт заработали тоже.

  9. #368

    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    931
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    168
    Поблагодарили
    81 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Документация на совмещенный контроллер IDE + KAKAVE + Мышь

    Этот вариант контроллера построен на МК и ПЛИС и имеет малые габариты (плата 100х100мм).





    Schematic_UKNZ_KAKAVE_IDE_M_OLD_2024-07-29.zip
    KKVE_IDE.zip
    KKVE_IDE_POF.zip
    3Dmodel_KKVE_IDE_M.zip

    Исходник скетча Ардуино для Атмеги. Требуется установка ядра MightyCore и библиотеки Ps2mouse.

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

    Код:
    #include <ps2.h>
    #define DATA_PIN 18
    #define CLOCK_PIN 19
    #define SELECT3 10
    #define SELECT4 11
    #define DIN 12
    #define DOUT 13
    #define VA87DIR 14
    #define RPLY 15
    #define ADDREQ 23
    
    
    const uint8_t data[] PROGMEM =
    {
    0xA0, 0x00, 0x17, 0x8D, 0x80, 0x00, 0xC6, 0x15, 0x00, 0x80, 0xC3, 0x15, 0x38, 0x00, 0xC2, 0x15, 
    0x1A, 0x00, 0x81, 0x10, 0x52, 0x94, 0x81, 0x0A, 0xC3, 0x7E, 0x37, 0x00, 0x90, 0x00, 0x2D, 0x00, 
    0x00, 0x00, 0xDF, 0x8D, 0x8B, 0x00, 0xBC, 0x15, 0xFD, 0x80, 0xFD, 0x15, 0x80, 0x00, 0xC9, 0x15, 
    0x8B, 0x00, 0x03, 0x10, 0x81, 0x94, 0x5F, 0x0A, 0x14, 0x7E, 0xBE, 0x00, 0xFD, 0x00, 0xF8, 0x00, 
    0x01, 0x00, 0xC3, 0x8D, 0x1D, 0x00, 0x1E, 0x15, 0x00, 0x80, 0xC2, 0x15, 0x15, 0x00, 0x00, 0x15, 
    0x02, 0x00, 0x81, 0x10, 0x10, 0x94, 0x52, 0x0A, 0x94, 0x7E, 0x81, 0x00, 0x0A, 0x00, 0xC3, 0x00, 
    0x7E, 0x00, 0x02, 0x8D, 0x01, 0x00, 0x42, 0x15, 0x00, 0x80, 0x02, 0x15, 0x00, 0x00, 0x5F, 0x15, 
    0x00, 0x00, 0x00, 0x10, 0x02, 0x94, 0x00, 0x0A, 0x08, 0x7E, 0x11, 0x00, 0x92, 0x00, 0x94, 0x00, 
    0x00, 0x00, 0x00, 0x8D, 0x02, 0x00, 0x5C, 0x15, 0x07, 0x80, 0x48, 0x15, 0x00, 0x00, 0x49, 0x15, 
    0x49, 0x00, 0xFF, 0x10, 0x0F, 0x94, 0x8D, 0x0A, 0x05, 0x7E, 0x00, 0x00, 0x17, 0x00, 0x74, 0x00, 
    0x03, 0x00, 0x00, 0x8D, 0x37, 0x00, 0x50, 0x15, 0xCA, 0x80, 0x03, 0x15, 0x37, 0x00, 0x50, 0x15, 
    0xAC, 0x00, 0x03, 0x10, 0x37, 0x94, 0x50, 0x0A, 0xA2, 0x7E, 0x02, 0x00, 0xDF, 0x00, 0x15, 0x00, 
    0x26, 0x00, 0x06, 0x8D, 0x1C, 0x00, 0x00, 0x15, 0x1F, 0x80, 0x0A, 0x15, 0x1E, 0x00, 0x00, 0x15, 
    0x00, 0x00, 0x89, 0x10, 0x3C, 0x94, 0x06, 0x0A, 0x00, 0x7E, 0x89, 0x00, 0x5A, 0x00, 0x06, 0x00, 
    0x04, 0x00, 0x89, 0x8D, 0x05, 0x00, 0x07, 0x15, 0xC0, 0x80, 0x15, 0x15, 0xFF, 0x00, 0xFF, 0x15, 
    0xFD, 0x00, 0x81, 0x10, 0xC0, 0x94, 0x8B, 0x0A, 0x05, 0x7E, 0x03, 0x00, 0x17, 0x00, 0xA0, 0x00, 
    0xFF, 0x00, 0x00, 0x8D, 0x04, 0x00, 0x02, 0x15, 0x02, 0x80, 0x89, 0x15, 0xE5, 0x00, 0x06, 0x15, 
    0x02, 0x00, 0x89, 0x10, 0xF6, 0x94, 0x06, 0x0A, 0xF7, 0x7E, 0x09, 0x00, 0x30, 0x00, 0x02, 0x00, 
    0xF7, 0x00, 0x09, 0x8D, 0xFC, 0x00, 0x01, 0x15, 0x02, 0x80, 0x03, 0x15, 0x04, 0x00, 0x89, 0x15, 
    0x98, 0x00, 0x06, 0x10, 0x77, 0x94, 0x94, 0x0A, 0xFE, 0x7E, 0x05, 0x00, 0x43, 0x00, 0x94, 0x00, 
    0xF7, 0x00, 0x70, 0x8D, 0xF8, 0x00, 0x05, 0x15, 0xF7, 0x80, 0x10, 0x15, 0xE2, 0x00, 0x05, 0x15, 
    0xC5, 0x00, 0x1D, 0x10, 0xEA, 0x94, 0x07, 0x0A, 0x85, 0x7E, 0x0A, 0x00, 0x57, 0x00, 0x75, 0x00, 
    0x02, 0x00, 0x00, 0x8D, 0x77, 0x00, 0x61, 0x15, 0x9C, 0x80, 0x05, 0x15, 0xC0, 0x00, 0x15, 0x15, 
    0x5C, 0x00, 0x09, 0x10, 0x05, 0x94, 0x60, 0x0A, 0xC2, 0x7E, 0x15, 0x00, 0x01, 0x00, 0x00, 0x00, 
    0x03, 0x00, 0x0A, 0x8D, 0xD0, 0x00, 0x10, 0x15, 0x90, 0x80, 0x10, 0x15, 0xC9, 0x00, 0x0B, 0x15, 
    0x0D, 0x00, 0x03, 0x10, 0x05, 0x94, 0x20, 0x0A, 0x06, 0x7E, 0x03, 0x00, 0xD7, 0x00, 0xAD, 0x00, 
    0xBE, 0x00, 0x04, 0x8D, 0x37, 0x00, 0x00, 0x15, 0x02, 0x80, 0x86, 0x15, 0xB7, 0x00, 0x8A, 0x15, 
    0xB6, 0x00, 0x04, 0x10, 0x42, 0x94, 0x64, 0x0A, 0x43, 0x7E, 0x0B, 0x00, 0x17, 0x00, 0x20, 0x00, 
    0xF8, 0x00, 0x09, 0x8D, 0xEF, 0x00, 0x87, 0x15, 0x37, 0x80, 0x60, 0x15, 0x72, 0x00, 0x05, 0x15, 
    0x37, 0x00, 0x60, 0x10, 0x4E, 0x94, 0x03, 0x0A, 0x37, 0x7E, 0xE0, 0x00, 0x64, 0x00, 0x03, 0x00, 
    0x00, 0x00, 0x89, 0x8D, 0x46, 0x00, 0x06, 0x15, 0x00, 0x80, 0x89, 0x15, 0x5A, 0x00, 0x06, 0x15, 
    0xC0, 0x00, 0x15, 0x10, 0x80, 0x94, 0x06, 0x0A, 0xC5, 0x7E, 0x15, 0x00, 0xFF, 0x00, 0xFF, 0x00, 
    0xFD, 0x00, 0x81, 0x8D, 0x06, 0x00, 0x03, 0x15, 0xC0, 0x80, 0x15, 0x15, 0x8C, 0x00, 0x06, 0x15, 
    0xC5, 0x00, 0x0A, 0x10, 0x02, 0x94, 0x02, 0x0A, 0x02, 0x7E, 0x89, 0x00, 0xD3, 0x00, 0x06, 0x00, 
    0x06, 0x00, 0x89, 0x8D, 0xC2, 0x00, 0x15, 0x15, 0x40, 0x80, 0x00, 0x15, 0xA6, 0x00, 0x12, 0x15, 
    0xCA, 0x00, 0x15, 0x10, 0x7A, 0x94, 0x06, 0x0A, 0xF7, 0x7E, 0x45, 0x00, 0xF8, 0x00, 0xFF, 0x00, 
    0x70, 0x00, 0x07, 0x8D, 0xF7, 0x00, 0xDD, 0x15, 0x6C, 0x80, 0x07, 0x15, 0x6A, 0x00, 0x04, 0x15, 
    0x00, 0x00, 0x0A, 0x10, 0xD7, 0x94, 0xAD, 0x0A, 0x62, 0x7E, 0x04, 0x00, 0x31, 0x00, 0x00, 0x00, 
    0x65, 0x00, 0x05, 0x8D, 0x04, 0x00, 0x89, 0x15, 0x37, 0x80, 0x07, 0x15, 0xF7, 0x00, 0x1D, 0x15, 
    0x5A, 0x00, 0x07, 0x10, 0x8A, 0x94, 0x03, 0x0A, 0xF7, 0x7E, 0x0B, 0x00, 0x86, 0x00, 0x03, 0x00, 
    0x4B, 0x00, 0x81, 0x8D, 0xDF, 0x00, 0x8B, 0x15, 0x70, 0x80, 0xFF, 0x15, 0xFA, 0x00, 0x80, 0x15, 
    0xC0, 0x00, 0x97, 0x10, 0x72, 0x94, 0xFF, 0x0A, 0x17, 0x7E, 0xA0, 0x00, 0x7F, 0x00, 0x00, 0x00, 
    0x45, 0x00, 0x03, 0x8D, 0x17, 0x00, 0xA0, 0x15, 0x0D, 0x80, 0x00, 0x15, 0x40, 0x00, 0x03, 0x15, 
    0x17, 0x00, 0xA0, 0x10, 0x20, 0x94, 0x00, 0x0A, 0x2F, 0x7E, 0x02, 0x00, 0x04, 0x00, 0x0A, 0x00, 
    0xC5, 0x00, 0x1D, 0x8D, 0x30, 0x00, 0x07, 0x15, 0xC5, 0x80, 0x65, 0x15, 0x19, 0x00, 0x00, 0x15, 
    0x17, 0x00, 0x73, 0x10, 0x32, 0x94, 0x00, 0x0A, 0x17, 0x7E, 0x21, 0x00, 0x09, 0x00, 0x00, 0x00, 
    0x02, 0x00, 0x07, 0x8D, 0xC4, 0x00, 0x15, 0x15, 0x09, 0x80, 0x00, 0x15, 0xC4, 0x00, 0x65, 0x15, 
    0x30, 0x00, 0x00, 0x10, 0x37, 0x94, 0x91, 0x0A, 0x00, 0x7E, 0x04, 0x00, 0x04, 0x00, 0x89, 0x00, 
    0x1E, 0x00, 0x07, 0x8D, 0xDF, 0x00, 0x8B, 0x15, 0x70, 0x80, 0xFF, 0x15, 0xFD, 0x00, 0x80, 0x15, 
    0xC3, 0x00, 0x97, 0x10, 0x72, 0x94, 0xFF, 0x0A, 0xD7, 0x7E, 0xA0, 0x00, 0x0D, 0x00, 0x00, 0x00, 
    0x12, 0x00, 0x03, 0x8D, 0xD7, 0x00, 0xA0, 0x15, 0x30, 0x80, 0x00, 0x15, 0xF5, 0x00, 0x05, 0x15, 
    0xD7, 0x00, 0xA0, 0x10, 0x39, 0x94, 0x00, 0x0A, 0xF2, 0x7E, 0x06, 0x00, 0xF7, 0x00, 0x90, 0x00, 
    0xDC, 0x00, 0x03, 0x8D, 0xC3, 0x00, 0xE5, 0x15, 0x30, 0x80, 0x00, 0x15, 0xD7, 0x00, 0x70, 0x15, 
    0x32, 0x00, 0x00, 0x10, 0xF7, 0x94, 0x20, 0x0A, 0xE6, 0x7E, 0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 
    0xF7, 0x00, 0x10, 0x8D, 0xE0, 0x00, 0x06, 0x15, 0x01, 0x80, 0x0A, 0x15, 0x04, 0x00, 0x89, 0x15, 
    0x34, 0x00, 0x07, 0x10, 0xBB, 0x94, 0x01, 0x0A, 0x17, 0x7E, 0xA0, 0x00, 0x30, 0x00, 0x00, 0x00, 
    0xBA, 0x00, 0x87, 0x8D, 0x37, 0x00, 0xA0, 0x15, 0xCA, 0x80, 0x03, 0x15, 0xB7, 0x00, 0x82, 0x15, 
    0x37, 0x00, 0xA0, 0x10, 0xC6, 0x94, 0x03, 0x0A, 0x05, 0x7E, 0x03, 0x00, 0x37, 0x00, 0x90, 0x00, 
    0xC0, 0x00, 0x03, 0x8D, 0x37, 0x00, 0x90, 0x15, 0xBC, 0x80, 0x06, 0x15, 0x01, 0x00, 0x0A, 0x15, 
    0xC1, 0x00, 0x0B, 0x10, 0x04, 0x94, 0x02, 0x0A, 0xF7, 0x7E, 0x09, 0x00, 0xBC, 0x00, 0x00, 0x00, 
    0xF7, 0x00, 0x09, 0x8D, 0xE6, 0x00, 0x00, 0x15, 0x04, 0x80, 0x89, 0x15, 0x48, 0x00, 0x07, 0x15, 
    0x04, 0x00, 0x89, 0x10, 0x4B, 0x94, 0x07, 0x0A, 0x04, 0x7E, 0x89, 0x00, 0x1B, 0x00, 0x07, 0x00, 
    0xC0, 0x00, 0x9D, 0x8D, 0x9E, 0x00, 0x03, 0x15, 0xC0, 0x80, 0xC5, 0x15, 0xF8, 0x00, 0xFF, 0x15, 
    0x37, 0x00, 0x90, 0x10, 0xBD, 0x94, 0x02, 0x0A, 0x8A, 0x7E, 0x15, 0x00, 0xC3, 0x00, 0x15, 0x00, 
    0x64, 0x00, 0x00, 0x8D, 0xD3, 0x00, 0x15, 0x15, 0x7E, 0x80, 0x06, 0x15, 0xCB, 0x00, 0x15, 0x15, 
    0xE2, 0x00, 0x00, 0x10, 0xCB, 0x94, 0x8B, 0x0A, 0xFE, 0x7E, 0x81, 0x00, 0x0D, 0x00, 0x02, 0x00, 
    0xC2, 0x00, 0x0C, 0x8D, 0x03, 0x00, 0x0A, 0x15, 0xC1, 0x80, 0x15, 0x15, 0xF8, 0x00, 0x09, 0x15, 
    0x57, 0x00, 0x22, 0x10, 0xA0, 0x94, 0x00, 0x0A, 0x08, 0x7E, 0x02, 0x00, 0x02, 0x00, 0x8D, 0x00, 
    0x53, 0x00, 0x14, 0x8D, 0x53, 0x00, 0x14, 0x15, 0x83, 0x80, 0x7E, 0x15, 0x02, 0x00, 0x8D, 0x15, 
    0x07, 0x00, 0x0A, 0x10, 0x02, 0x94, 0x89, 0x0A, 0xC0, 0x7E, 0x06, 0x00, 0x02, 0x00, 0x89, 0x00, 
    0xAF, 0x00, 0x06, 0x8D, 0xF7, 0x00, 0x09, 0x15, 0x1A, 0x80, 0x00, 0x15, 0xF7, 0x00, 0x09, 0x15, 
    0x10, 0x00, 0x00, 0x10, 0x2D, 0x94, 0x8A, 0x0A, 0x77, 0x7E, 0x09, 0x00, 0x06, 0x00, 0x00, 0x00, 
    0xFF, 0x00, 0xFF, 0x8D, 0xDD, 0x00, 0x8B, 0x15, 0x85, 0x80, 0x00, 0x15, 0xE6, 0x00, 0x15, 0x15, 
    0xFA, 0x00, 0x03, 0x10, 0xE6, 0x94, 0x11, 0x0A, 0x5F, 0x7E, 0x95, 0x00, 0xBE, 0x00, 0xFD, 0x00, 
    0xDF, 0x00, 0x8B, 0x8D, 0xBC, 0x00, 0xFD, 0x15, 0xFD, 0x80, 0x80, 0x15, 0x87, 0x00, 0x00, 0x15, 
    0xF5, 0x00, 0x15, 0x10, 0xE7, 0x94, 0x0B, 0x0A, 0x02, 0x7E, 0x00, 0x00, 0x40, 0x00, 0x15, 0x00, 
    0x06, 0x00, 0x01, 0x8D, 0x26, 0x00, 0x10, 0x15, 0x00, 0x80, 0x11, 0x15, 0x77, 0x00, 0x09, 0x15, 
    0x04, 0x00, 0x00, 0x10, 0x80, 0x94, 0x15, 0x0A, 0x80, 0x7E, 0x0A, 0x00, 0xC4, 0x00, 0x15, 0x00, 
    0x50, 0x00, 0x07, 0x8D, 0x03, 0x00, 0x95, 0x15, 0x03, 0x80, 0xA2, 0x15, 0xF5, 0x00, 0x03, 0x15, 
    0xD4, 0x00, 0x8B, 0x10, 0xFE, 0x94, 0x02, 0x0A, 0x83, 0x7E, 0x0A, 0x00, 0xCC, 0x00, 0x8B, 0x00, 
    0xF9, 0x00, 0x02, 0x8D, 0xDF, 0x00, 0x8B, 0x15, 0x74, 0x80, 0xFF, 0x15, 0xFD, 0x00, 0x80, 0x15, 
    0x1F, 0x00, 0x94, 0x10, 0x76, 0x94, 0xFF, 0x0A, 0xF0, 0x7E, 0x02, 0x00, 0x85, 0x00, 0x00, 0x00, 
    0xB7, 0x00, 0x08, 0x8D, 0x18, 0x00, 0x00, 0x15, 0xFF, 0x80, 0x00, 0x15, 0xC5, 0x00, 0x62, 0x15, 
    0x05, 0x00, 0x51, 0x10, 0x87, 0x94, 0x00, 0x0A, 0xB7, 0x7E, 0x08, 0x00, 0x0C, 0x00, 0x00, 0x00, 
    0xFE, 0x00, 0x00, 0x8D, 0x45, 0x00, 0x0A, 0x15, 0x04, 0x80, 0x0B, 0x15, 0x13, 0x00, 0x11, 0x15, 
    0x4B, 0x00, 0x11, 0x10, 0x87, 0x94, 0x00, 0x0A, 0x80, 0x7E, 0x14, 0x00, 0xC1, 0x00, 0x15, 0x00, 
    0xF8, 0x00, 0x09, 0x8D, 0x43, 0x00, 0x10, 0x15, 0x04, 0x80, 0x0A, 0x15, 0x05, 0x00, 0x0A, 0x15, 
    0xC4, 0x00, 0x64, 0x10, 0x45, 0x94, 0x0B, 0x0A, 0x03, 0x7E, 0x7E, 0x00, 0x82, 0x00, 0x00, 0x00, 
    0xF7, 0x00, 0x09, 0x8D, 0x10, 0x00, 0x00, 0x15, 0x00, 0x80, 0x89, 0x15, 0x60, 0x00, 0x06, 0x15, 
    0x87, 0x00, 0x00, 0x10, 0xF7, 0x94, 0x09, 0x0A, 0x06, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x89, 0x00, 
    0x66, 0x00, 0x06, 0x8D, 0x87, 0x00, 0x00, 0x15, 0x00, 0x80, 0x89, 0x15, 0x50, 0x00, 0x06, 0x15, 
    0xF7, 0x00, 0x15, 0x10, 0xFF, 0x94, 0xFF, 0x0A, 0x04, 0x7E, 0x00, 0x00, 0xDE, 0x00, 0x09, 0x00, 
    0xD7, 0x00, 0x0B, 0x8D, 0x00, 0x00, 0x00, 0x15, 0xFD, 0x80, 0x81, 0x15, 0xF5, 0x00, 0x03, 0x15, 
    0x02, 0x00, 0x89, 0x10, 0xC7, 0x94, 0x06, 0x0A, 0xF7, 0x7E, 0x17, 0x00, 0x40, 0x00, 0x00, 0x00, 
    0x46, 0x00, 0x00, 0x8D, 0xDF, 0x00, 0x15, 0x15, 0x4E, 0x80, 0x02, 0x15, 0x40, 0x00, 0x00, 0x15, 
    0x87, 0x00, 0x00, 0x10, 0xE6, 0x94, 0x17, 0x0A, 0x2C, 0x7E, 0xFE, 0x00, 0xDF, 0x00, 0x15, 0x00, 
    0x06, 0x00, 0x00, 0x8D, 0x2C, 0x00, 0xFE, 0x15, 0xD7, 0x80, 0x0A, 0x15, 0xF4, 0x00, 0x01, 0x15, 
    0x07, 0x00, 0x03, 0x10, 0xDF, 0x94, 0x8B, 0x0A, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x03, 0x00, 
    0xD7, 0x00, 0xA7, 0x8D, 0x00, 0x00, 0x90, 0x15, 0xFF, 0x80, 0x00, 0x15, 0x0D, 0x00, 0x03, 0x15, 
    0xDF, 0x00, 0x1D, 0x10, 0x1C, 0x94, 0x00, 0x0A, 0x40, 0x7E, 0x00, 0x00, 0xE6, 0x00, 0x17, 0x00, 
    0x08, 0x00, 0xFE, 0x8D, 0xDF, 0x00, 0x15, 0x15, 0x16, 0x80, 0x01, 0x15, 0x08, 0x00, 0xFE, 0x15, 
    0xDF, 0x00, 0x17, 0x10, 0x00, 0x94, 0x90, 0x0A, 0x0C, 0x7E, 0xFE, 0x00, 0x9F, 0x00, 0x15, 0x00, 
    0x08, 0x00, 0xFE, 0x8D, 0x9F, 0x00, 0x15, 0x15, 0x2C, 0x80, 0xFE, 0x15, 0x5F, 0x00, 0x00, 0x15, 
    0xB7, 0x00, 0x08, 0x10, 0x64, 0x94, 0x00, 0x0A, 0xFE, 0x7E, 0xFE, 0x00, 0xFF, 0x00, 0xFF, 0x00, 
    0x5F, 0x00, 0xCF, 0x8D, 0x4B, 0x00, 0x12, 0x15, 0xDF, 0x80, 0x15, 0x15, 0x4C, 0x00, 0x02, 0x15, 
    0x08, 0x00, 0xFE, 0x10, 0x09, 0x94, 0x10, 0x0A, 0x87, 0x7E, 0x00, 0x00, 0xB7, 0x00, 0x08, 0x00, 
    0x4E, 0x00, 0x00, 0x8D, 0xFE, 0x00, 0xFE, 0x15, 0xFF, 0x80, 0xFF, 0x15, 0x5F, 0x00, 0xDF, 0x15, 
    0xC9, 0x00, 0x12, 0x10, 0xC0, 0x94, 0x0B, 0x0A, 0xF3, 0x7E, 0x03, 0x00, 0xB7, 0x00, 0x08, 0x00, 
    0x3E, 0x00, 0x00, 0x8D, 0xFE, 0x00, 0xFE, 0x15, 0xFF, 0x80, 0xFF, 0x15, 0x5F, 0x00, 0x13, 0x15, 
    0xC9, 0x00, 0x12, 0x10, 0xC0, 0x94, 0x0B, 0x0A, 0xEB, 0x7E, 0x02, 0x00, 0xDF, 0x00, 0x15, 0x00, 
    0xFF, 0x00, 0x04, 0x8D, 0x08, 0x00, 0xFE, 0x15, 0x89, 0x80, 0x8A, 0x15, 0x49, 0x00, 0x8A, 0x15, 
    0x77, 0x00, 0xC2, 0x10, 0x12, 0x94, 0x00, 0x0A, 0xDF, 0x7E, 0x15, 0x00, 0x02, 0x00, 0x05, 0x00, 
    0x08, 0x00, 0xFE, 0x8D, 0x77, 0x00, 0x92, 0x15, 0x04, 0x80, 0x00, 0x15, 0xB7, 0x00, 0x08, 0x15, 
    0x16, 0x00, 0x00, 0x10, 0xFE, 0x94, 0xFE, 0x0A, 0xFF, 0x7E, 0xFF, 0x00, 0x5F, 0x00, 0x6E, 0x00, 
    0x00, 0x00, 0x00, 0x8D, 0xB7, 0x00, 0x08, 0x15, 0x0A, 0x80, 0x00, 0x15, 0xFE, 0x00, 0xFE, 0x15, 
    0xFF, 0x00, 0xFF, 0x10, 0x5F, 0x94, 0xDF, 0x0A, 0xC9, 0x7E, 0x12, 0x00, 0xD2, 0x00, 0x01, 0x00, 
    0xC0, 0x00, 0x15, 0x8D, 0x06, 0x00, 0x00, 0x15, 0xC1, 0x80, 0x15, 0x15, 0x0C, 0x00, 0xFE, 0x15, 
    0xF7, 0x00, 0x09, 0x10, 0x52, 0x94, 0x00, 0x0A, 0xF7, 0x7E, 0x09, 0x00, 0x4A, 0x00, 0x00, 0x00, 
    0xC4, 0x00, 0x97, 0x8D, 0x00, 0x00, 0x90, 0x15, 0xFB, 0x80, 0x80, 0x15, 0xC4, 0x00, 0x8C, 0x15, 
    0xF9, 0x00, 0x84, 0x10, 0xC4, 0x94, 0x15, 0x0A, 0x0C, 0x7E, 0x90, 0x00, 0xC4, 0x00, 0x0A, 0x00, 
    0xA4, 0x00, 0x94, 0x8D, 0x03, 0x00, 0x7E, 0x15, 0xB7, 0x80, 0x14, 0x15, 0x22, 0x00, 0x00, 0x15, 
    0x14, 0x00, 0x03, 0x10, 0xC0, 0x94, 0x15, 0x0A, 0x00, 0x7E, 0x01, 0x00, 0xF7, 0x00, 0x09, 0x00, 
    0x28, 0x00, 0x00, 0x8D, 0x03, 0x00, 0x93, 0x15, 0xFC, 0x80, 0x80, 0x15, 0x83, 0x00, 0x0C, 0x15, 
    0x0C, 0x00, 0x86, 0x10, 0xC3, 0x94, 0x45, 0x0A, 0xDB, 0x7E, 0xFF, 0x00, 0xF7, 0x00, 0x02, 0x00, 
    0xC3, 0x00, 0x15, 0x8D, 0x0E, 0x00, 0x90, 0x15, 0xDF, 0x80, 0x15, 0x15, 0xFC, 0x00, 0x04, 0x15, 
    0x08, 0x00, 0xFE, 0x10, 0x00, 0x94, 0x00, 0x0A, 0x9F, 0x7E, 0x0A, 0x00, 0x08, 0x00, 0xFE, 0x00, 
    0x04, 0x00, 0x7E, 0x8D, 0x5F, 0x00, 0x11, 0x15, 0x2C, 0x80, 0xFE, 0x15, 0x00, 0x00, 0x8D, 0x15, 
    0x82, 0x00, 0x00, 0x10, 0xB7, 0x94, 0x08, 0x0A, 0xF4, 0x7E, 0xFF, 0x00, 0xC5, 0x00, 0x17, 0x00, 
    0x2C, 0x00, 0xFE, 0x8D, 0x0F, 0x00, 0x8D, 0x15, 0xDF, 0x80, 0x15, 0x15, 0x06, 0x00, 0x00, 0x15, 
    0x2C, 0x00, 0xFE, 0x10, 0x87, 0x94, 0x00, 0x0A, 0xC4, 0x7E, 0x15, 0x00, 0x08, 0x00, 0xFE, 0x00, 
    0xC5, 0x00, 0x15, 0x8D, 0x0C, 0x00, 0xFE, 0x15, 0x03, 0x80, 0x0A, 0x15, 0xDF, 0x00, 0x0B, 0x15, 
    0x1A, 0x00, 0x00, 0x10, 0x26, 0x94, 0x02, 0x0A, 0x83, 0x7E, 0x0A, 0x00, 0xDF, 0x00, 0x15, 0x00, 
    0x06, 0x00, 0x00, 0x8D, 0x1A, 0x00, 0x00, 0x15, 0xCC, 0x80, 0x15, 0x15, 0x27, 0x00, 0x05, 0x15, 
    0x40, 0x00, 0x13, 0x10, 0x06, 0x94, 0x07, 0x0A, 0xDF, 0x7E, 0x09, 0x00, 0x5A, 0x00, 0xFC, 0x00, 
    0x0D, 0x00, 0x20, 0x8D, 0x1A, 0x00, 0x87, 0x15, 0x5F, 0x80, 0x10, 0x15, 0x20, 0x00, 0x00, 0x15, 
    0xC0, 0x00, 0x15, 0x10, 0x50, 0x94, 0xF8, 0x0A, 0x02, 0x7E, 0x10, 0x00, 0xDF, 0x00, 0x09, 0x00, 
    0x5A, 0x00, 0xFC, 0x8D, 0x02, 0x00, 0x20, 0x15, 0x11, 0x80, 0x87, 0x15, 0x83, 0x00, 0x0A, 0x15, 
    0xCC, 0x00, 0x15, 0x10, 0xD8, 0x94, 0x03, 0x0A, 0x80, 0x7E, 0x0C, 0x00, 0x5F, 0x00, 0x09, 0x00, 
    0x82, 0x00, 0xAB, 0x8D, 0xC1, 0x00, 0x65, 0x15, 0xB4, 0x80, 0x07, 0x15, 0x71, 0x00, 0x60, 0x15, 
    0x62, 0x00, 0x00, 0x10, 0xC0, 0x94, 0x17, 0x0A, 0x56, 0x7E, 0x0E, 0x00, 0x02, 0x00, 0x81, 0x00, 
    0x31, 0x00, 0x10, 0x8D, 0x8E, 0x00, 0x01, 0x15, 0x5F, 0x80, 0x10, 0x15, 0x56, 0x00, 0x0E, 0x15, 
    0xCC, 0x00, 0x15, 0x10, 0x5A, 0x94, 0x01, 0x0A, 0xCD, 0x7E, 0x10, 0x00, 0x87, 0x00, 0x00, 0x00, 
    0x76, 0x00, 0x11, 0x8D, 0x02, 0x00, 0x00, 0x15, 0x85, 0x80, 0x13, 0x15, 0x45, 0x00, 0x19, 0x15, 
    0x45, 0x00, 0x1D, 0x10, 0x34, 0x94, 0x7D, 0x0A, 0x85, 0x7E, 0x00, 0x00, 0xE8, 0x00, 0x03, 0x00, 
    0x0E, 0x00, 0x04, 0x8D, 0x14, 0x00, 0x04, 0x15, 0x16, 0x80, 0x04, 0x15, 0x00, 0x00, 0x10, 0x15, 
    0x1A, 0x00, 0x00, 0x10, 0x40, 0x94, 0x02, 0x0A, 0xA2, 0x7E, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, 
    0x00, 0x00, 0x10, 0x8D, 0x1A, 0x00, 0x00, 0x15, 0x40, 0x80, 0x02, 0x15, 0xC2, 0x00, 0x05, 0x15, 
    0x32, 0x00, 0x00, 0x10, 0x00, 0x94, 0x10, 0x0A, 0x1A, 0x7E, 0x00, 0x00, 0x40, 0x00, 0x02, 0x00, 
    0xEE, 0x00, 0x04, 0x8D, 0x6A, 0x00, 0x00, 0x15, 0x00, 0x80, 0x18, 0x15, 0x1A, 0x00, 0x00, 0x15, 
    0x40, 0x00, 0x02, 0x10, 0x00, 0x94, 0x18, 0x0A, 0x1A, 0x7E, 0x00, 0x00, 0x56, 0x00, 0x02, 0x00, 
    0x00, 0x00, 0x18, 0x8D, 0x1A, 0x00, 0x00, 0x15, 0x40, 0x80, 0x02, 0x15, 0x00, 0x00, 0x00, 0x15, 
    0x00, 0x00, 0x00, 0x10, 0xF8, 0x94, 0x09, 0x0A, 0x00, 0x7E, 0x01, 0x00, 0x6C, 0x00, 0x06, 0x00, 
    0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x15, 0xD7, 0x80, 0x0A, 0x15, 0x0A, 0x00, 0x00, 0x15, 
    0x02, 0x00, 0x00, 0x10, 0x84, 0x94, 0xD5, 0x0A, 0xD6, 0x7E, 0xC5, 0x00, 0x20, 0x00, 0xC2, 0x00, 
    0xD9, 0x00, 0xCC, 0x8D, 0x20, 0x00, 0x89, 0x15, 0x8E, 0x80, 0x00, 0x15, 0x84, 0x00, 0x89, 0x15, 
    0x20, 0x00, 0xD5, 0x10, 0xD3, 0x94, 0xD0, 0x0A, 0xC5, 0x7E, 0xDB, 0x00, 0xCE, 0x00, 0xCF, 0x00, 
    0x8E, 0x00, 0x00, 0x8D, 0x82, 0x00, 0x57, 0x15, 0x2D, 0x80, 0x85, 0x15, 0xCB, 0x00, 0xCF, 0x15, 
    0xCE, 0x00, 0xD4, 0x10, 0xD2, 0x94, 0xCF, 0x0A, 0xCC, 0x7E, 0xD8, 0x00, 0xCE, 0x00, 0xCF, 0x00, 
    0xCA, 0x00, 0x20, 0x8D, 0xD3, 0x00, 0xD5, 0x15, 0xCD, 0x80, 0xCD, 0x15, 0xD9, 0x00, 0x8E, 0x15, 
    0x00, 0x00, 0x83, 0x10, 0xEE, 0x94, 0xC5, 0x0A, 0xCB, 0x7E, 0xCF, 0x00, 0xD2, 0x00, 0xD2, 0x00, 
    0xC5, 0x00, 0xCB, 0x8D, 0xD4, 0x00, 0xCE, 0x15, 0xD9, 0x80, 0xCA, 0x15, 0x8D, 0x00, 0x88, 0x15, 
    0x8E, 0x00, 0x00, 0x10, 0x87, 0x94, 0x88, 0x0A, 0x61, 0x7E, 0x20, 0x00, 0x30, 0x00, 0x8E, 0x00, 
    0x00, 0x00, 0x87, 0x8D, 0xCD, 0x00, 0xC1, 0x15, 0xD3, 0x80, 0xD4, 0x15, 0xC5, 0x00, 0xD2, 0x15, 
    0x2D, 0x00, 0x88, 0x10, 0x61, 0x94, 0x8E, 0x0A, 0x00, 0x7E, 0x8C, 0x00, 0xD0, 0x00, 0xC1, 0x00, 
    0xCD, 0x00, 0xD1, 0x8D, 0xD4, 0x00, 0xC9, 0x15, 0x20, 0x80, 0xD7, 0x15, 0x20, 0x00, 0xEF, 0x15, 
    0xFA, 0x00, 0xF5, 0x10, 0x20, 0x94, 0xF0, 0x0A, 0xF0, 0x7E, 0x8E, 0x00, 0x00, 0x00, 0x8C, 0x00, 
    0xDC, 0x00, 0xCC, 0x8D, 0xC5, 0x00, 0xCB, 0x15, 0xD4, 0x80, 0xD2, 0x15, 0xCF, 0x00, 0xD0, 0x15, 
    0xC9, 0x00, 0xD4, 0x10, 0xC1, 0x94, 0xCE, 0x0A, 0xC9, 0x7E, 0xD1, 0x00, 0x8E, 0x00, 0x00, 0x00, 
    0x83, 0x00, 0xEF, 0x8D, 0xC2, 0x00, 0xD2, 0x15, 0xD9, 0x80, 0xD7, 0x15, 0x20, 0x00, 0xDB, 0x15, 
    0xCC, 0x00, 0xC5, 0x10, 0xCA, 0x94, 0xC6, 0x0A, 0xC1, 0x7E, 0x8E, 0x00, 0x00, 0x00, 0x81, 0x00, 
    0x20, 0x00, 0x56, 0x8D, 0x30, 0x00, 0x31, 0x15, 0x2E, 0x80, 0x31, 0x15, 0x30, 0x00, 0x20, 0x15, 
    0x62, 0x00, 0x79, 0x10, 0x20, 0x94, 0x4F, 0x0A, 0x6C, 0x7E, 0x65, 0x00, 0x67, 0x00, 0x20, 0x00, 
    0x48, 0x00, 0x2E, 0x8D, 0x1B, 0x00, 0xA7, 0x15, 0x35, 0x80, 0x0A, 0x15, 0x8E, 0x00, 0x00, 0x15, 
    0x0D, 0x00, 0xF7, 0x10, 0xD2, 0x94, 0xC5, 0x0A, 0xCD, 0x7E, 0xD1, 0x00, 0x20, 0x00, 0xCF, 0x00, 
    0xD6, 0x00, 0xC9, 0x8D, 0xC4, 0x00, 0xC1, 0x15, 0xCE, 0x80, 0xC9, 0x15, 0xD1, 0x00, 0x2C, 0x15, 
    0x20, 0x00, 0xD3, 0x10, 0x20, 0x94, 0x8F, 0x0A, 0x39, 0x7E, 0x8B, 0x00, 0x30, 0x00, 0x8A, 0x00, 
    0x00, 0x00, 0x8E, 0x8D, 0xEE, 0x00, 0xCF, 0x15, 0xCD, 0x80, 0xC5, 0x15, 0xD2, 0x00, 0x8D, 0x15, 
    0xD2, 0x00, 0xC1, 0x10, 0xDA, 0x94, 0xC4, 0x0A, 0xC5, 0x7E, 0xCC, 0x00, 0xC1, 0x00, 0x8F, 0x00, 
    0x2F, 0x00, 0x8B, 0x8D, 0x30, 0x00, 0x8A, 0x15, 0x00, 0x80, 0x1B, 0x15, 0xA7, 0x00, 0x36, 0x15, 
    0x8E, 0x00, 0x00, 0x10, 0x81, 0x94, 0x57, 0x0A, 0x44, 0x7E, 0x52, 0x00, 0x4F, 0x00, 0x4D, 0x00, 
    0x00, 0x00, 0x3F, 0x8D, 0x81, 0x00, 0x2D, 0x15, 0x00, 0x80, 0x82, 0x15, 0x46, 0x00, 0x2D, 0x15, 
    0x00, 0x00, 0x82, 0x10, 0x49, 0x94, 0x2D, 0x0A, 0xF2, 0x7E, 0xC5, 0x00, 0xDA, 0x00, 0xC9, 0x00, 
    0xC4, 0x00, 0xC5, 0x8D, 0xCE, 0x00, 0xD4, 0x15, 0x20, 0x80, 0x00, 0x15, 0xEF, 0x00, 0xDB, 0x15, 
    0xC9, 0x00, 0xC2, 0x10, 0xCB, 0x94, 0xC1, 0x0A, 0x20, 0x7E, 0x00, 0x00, 0x83, 0x00, 0x85, 0x00, 
    0x00, 0x00, 0x86, 0x8D, 0xDE, 0x00, 0xD4, 0x15, 0xC5, 0x80, 0xCE, 0x15, 0xC9, 0x00, 0xD1, 0x15, 
    0x20, 0x00, 0x00, 0x10, 0xC2, 0x94, 0xCC, 0x0A, 0xCF, 0x7E, 0xCB, 0x00, 0x00, 0x00, 0xDA, 0x00, 
    0xC1, 0x00, 0xC7, 0x8D, 0xD2, 0x00, 0xD5, 0x15, 0xD6, 0x80, 0xC5, 0x15, 0xCE, 0x00, 0x00, 0x15, 
    0x08, 0x00, 0x1B, 0x10, 0xBF, 0x94, 0xA4, 0x0A, 0x00, 0x7E, 0x29, 0x00, 0x3A, 0x00, 0x20, 0x00, 
    0x1B, 0x00, 0xA4, 0x8D, 0x00, 0x00, 0x83, 0x15, 0xEE, 0x80, 0xC5, 0x15, 0xD4, 0x00, 0x20, 0x15, 
    0x00, 0x00, 0x20, 0x10, 0x62, 0x94, 0x6F, 0x0A, 0x6F, 0x7E, 0x74, 0x00, 0x2D, 0x00, 0x00, 0x00, 
    0x0D, 0x00, 0x0A, 0x8D, 0x00, 0x00, 0x20, 0x15, 0x28, 0x80, 0x30, 0x15, 0x91, 0x00, 0x00, 0x15, 
    0x00, 0x00, 0x00, 0x10, 0x60, 0x94, 0x90, 0x0A, 0xBB, 0x7E, 0x7A, 0x00, 0x0F, 0x00, 0x8D, 0x00, 
    0xE6, 0x00, 0x17, 0x8D, 0x2C, 0x00, 0xFE, 0x15, 0xDF, 0x80, 0x17, 0x15, 0x1A, 0x00, 0x00, 0x15, 
    0x2C, 0x00, 0xFE, 0x10, 0x5F, 0x94, 0x10, 0x0A, 0x56, 0x7E, 0x0E, 0x00, 0xC0, 0x00, 0x97, 0x00, 
    0x00, 0x00, 0x90, 0x8D, 0x76, 0x00, 0x80, 0x15, 0xC0, 0x80, 0x8C, 0x15, 0x0B, 0x00, 0x81, 0x15, 
    0xC4, 0x00, 0x15, 0x10, 0x08, 0x94, 0xFE, 0x0A, 0xC5, 0x7E, 0x15, 0x00, 0x0C, 0x00, 0xFE, 0x00, 
    0xC2, 0x00, 0x15, 0x8D, 0x00, 0x00, 0x00, 0x15, 0x67, 0x80, 0x06, 0x15, 0xCC, 0x00, 0x15, 0x15, 
    0x33, 0x00, 0x00, 0x10, 0xCD, 0x94, 0x25, 0x0A, 0xE2, 0x7E, 0x00, 0x00, 0x74, 0x00, 0x02, 0x00, 
    0x37, 0x00, 0x0A, 0x8D, 0x24, 0x00, 0x01, 0x15, 0xCC, 0x80, 0x0A, 0x15, 0x4C, 0x00, 0x13, 0x15, 
    0x0C, 0x00, 0x0C, 0x10, 0xCC, 0x94, 0xE5, 0x0A, 0x05, 0x7E, 0x00, 0x00, 0x4C, 0x00, 0x13, 0x00, 
    0x0C, 0x00, 0x0C, 0x8D, 0x43, 0x00, 0x13, 0x15, 0x8C, 0x80, 0x0A, 0x15, 0x41, 0x00, 0x13, 0x15, 
    0x61, 0x00, 0x81, 0x10, 0x01, 0x94, 0x8A, 0x0A, 0x57, 0x7E, 0x74, 0x00, 0xFA, 0x00, 0xFF, 0x00, 
    0x57, 0x00, 0x20, 0x8D, 0xFC, 0x00, 0xFF, 0x15, 0x01, 0x80, 0x87, 0x15, 0x51, 0x00, 0x24, 0x15, 
    0x57, 0x00, 0x20, 0x10, 0xA0, 0x94, 0xF6, 0x0A, 0x57, 0x7E, 0x86, 0x00, 0xC1, 0x00, 0x65, 0x00, 
    0xA8, 0x00, 0x01, 0x8D, 0x42, 0x00, 0x14, 0x15, 0x40, 0x80, 0x1C, 0x15, 0x04, 0x00, 0x00, 0x15, 
    0x40, 0x00, 0xE2, 0x10, 0x57, 0x94, 0xA3, 0x0A, 0xFB, 0x7E, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00, 
    0x8C, 0x00, 0x0A, 0x8D, 0x4C, 0x00, 0x13, 0x15, 0x0C, 0x80, 0x0C, 0x15, 0x0D, 0x00, 0x10, 0x15, 
    0x4B, 0x00, 0x01, 0x10, 0xCD, 0x94, 0x8B, 0x0A, 0x47, 0x7E, 0x02, 0x00, 0x8C, 0x00, 0x0A, 0x00, 
    0xC0, 0x00, 0xE0, 0x8D, 0x44, 0x00, 0x87, 0x15, 0x43, 0x80, 0x62, 0x15, 0x42, 0x00, 0x0B, 0x15, 
    0x97, 0x00, 0x72, 0x10, 0x01, 0x94, 0x00, 0x0A, 0xC1, 0x7E, 0x15, 0x00, 0x06, 0x00, 0x90, 0x00, 
    0x42, 0x00, 0x0A, 0x8D, 0x89, 0x00, 0x10, 0x15, 0xC2, 0x80, 0x00, 0x15, 0xA1, 0x00, 0x10, 0x15, 
    0x02, 0x00, 0x0A, 0x10, 0x97, 0x94, 0x72, 0x0A, 0x01, 0x7E, 0x00, 0x00, 0xC2, 0x00, 0x55, 0x00, 
    0xA0, 0x00, 0x00, 0x8D, 0x42, 0x00, 0x0A, 0x15, 0x43, 0x80, 0x0A, 0x15, 0x83, 0x00, 0x0B, 0x15, 
    0xA1, 0x00, 0x10, 0x10, 0xDF, 0x94, 0x10, 0x0A, 0x08, 0x7E, 0x90, 0x00, 0x77, 0x00, 0x13, 0x00, 
    0x44, 0x00, 0x00, 0x8D, 0x37, 0x00, 0x0C, 0x15, 0x40, 0x80, 0x00, 0x15, 0x77, 0x00, 0x09, 0x15, 
    0xD4, 0x00, 0x00, 0x10, 0xCD, 0x94, 0x12, 0x0A, 0xCB, 0x7E, 0x0B, 0x00, 0xDF, 0x00, 0xFF, 0x00, 
    0x8C, 0x00, 0x0A, 0x8D, 0x42, 0x00, 0x13, 0x15, 0x46, 0x80, 0x03, 0x15, 0x06, 0x00, 0x80, 0x15, 
    0x02, 0x00, 0x0B, 0x10, 0x77, 0x94, 0x09, 0x0A, 0xC0, 0x7E, 0x00, 0x00, 0x4B, 0x00, 0x13, 0x00, 
    0x0B, 0x00, 0x0A, 0x8D, 0xCF, 0x00, 0xFF, 0x15, 0x83, 0x80, 0x10, 0x15, 0xC3, 0x00, 0x65, 0x15, 
    0xFF, 0x00, 0x00, 0x10, 0x03, 0x94, 0x8A, 0x0A, 0xC3, 0x7E, 0x00, 0x00, 0xC0, 0x00, 0x20, 0x00, 
    0x03, 0x00, 0x83, 0x8D, 0x03, 0x00, 0x10, 0x15, 0x02, 0x80, 0x10, 0x15, 0xC2, 0x00, 0x00, 0x15, 
    0x43, 0x00, 0x0A, 0x10, 0xDF, 0x94, 0x10, 0x0A, 0x0A, 0x7E, 0x90, 0x00, 0x5F, 0x00, 0x10, 0x00, 
    0x00, 0x00, 0x90, 0x8D, 0x2C, 0x00, 0x01, 0x15, 0xCC, 0x80, 0x15, 0x15, 0x00, 0x00, 0x00, 0x15, 
    0xC3, 0x00, 0x15, 0x10, 0x0E, 0x94, 0x90, 0x0A, 0xC1, 0x7E, 0x97, 0x00, 0x00, 0x00, 0x90, 0x00, 
    0x3F, 0x00, 0x80, 0x8D, 0x81, 0x00, 0x0C, 0x15, 0x07, 0x80, 0x87, 0x15, 0xF7, 0x00, 0x97, 0x15, 
    0x0C, 0x00, 0x90, 0x10, 0x4D, 0x94, 0x00, 0x0A, 0xB7, 0x7E, 0x0A, 0x00, 0x48, 0x00, 0x00, 0x00, 
    0x02, 0x00, 0x0A, 0x8D, 0x1F, 0x00, 0x01, 0x15, 0xC1, 0x80, 0x45, 0x15, 0xDB, 0x00, 0xFF, 0x15, 
    0x33, 0x00, 0x02, 0x10, 0xC0, 0x94, 0x15, 0x0A, 0x00, 0x7E, 0x01, 0x00, 0x02, 0x00, 0xE0, 0x00, 
    0x01, 0x00, 0x04, 0x8D, 0x80, 0x00, 0x60, 0x15, 0xC0, 0x80, 0x65, 0x15, 0x03, 0x00, 0x00, 0x15, 
    0x17, 0x00, 0x76, 0x10, 0xFE, 0x94, 0xFF, 0x0A, 0x57, 0x7E, 0x76, 0x00, 0xF4, 0x00, 0xFF, 0x00, 
    0xC1, 0x00, 0xE5, 0x8D, 0x0C, 0x00, 0x00, 0x15, 0x47, 0x80, 0xE0, 0x15, 0x00, 0x00, 0x00, 0x15, 
    0x8C, 0x00, 0x0A, 0x10, 0x00, 0x94, 0x00, 0x0A, 0x8C, 0x7E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 
    0x8C, 0x00, 0x0A, 0x8D, 0x00, 0x00, 0x00, 0x15, 0x8C, 0x80, 0x0A, 0x15, 0x09, 0x00, 0x7E, 0x15, 
    0x37, 0x00, 0x13, 0x10, 0xAA, 0x94, 0xFF, 0x0A, 0xB7, 0x7E, 0x10, 0x00, 0xD2, 0x00, 0xFE, 0x00, 
    0xD1, 0x00, 0x06, 0x8D, 0xCC, 0x00, 0x15, 0x15, 0x33, 0x80, 0x00, 0x15, 0xCD, 0x00, 0x15, 0x15, 
    0x00, 0x00, 0x00, 0x10, 0xCC, 0x94, 0x0A, 0x0A, 0x40, 0x7E, 0x13, 0x00, 0xCC, 0x00, 0x15, 0x00, 
    0x0A, 0x00, 0x00, 0x8D, 0x41, 0x00, 0x13, 0x15, 0x0D, 0x80, 0x10, 0x15, 0xDF, 0x00, 0x45, 0x15, 
    0x00, 0x00, 0x80, 0x10, 0xCE, 0x94, 0xFF, 0x0A, 0xDF, 0x7E, 0x55, 0x00, 0x00, 0x00, 0x80, 0x00, 
    0xCE, 0x00, 0xFF, 0x8D, 0x37, 0x00, 0x0A, 0x15, 0xAC, 0x80, 0xFE, 0x15, 0x4D, 0x00, 0x10, 0x15, 
    0x02, 0x00, 0x0B, 0x10, 0x02, 0x94, 0x07, 0x0A, 0x00, 0x7E, 0x00, 0x00, 0x82, 0x00, 0x7E, 0x00, 
    0x9F, 0x00, 0x15, 0x8D, 0x2C, 0x00, 0xFE, 0x15, 0xC1, 0x80, 0x17, 0x15, 0x56, 0x00, 0x0E, 0x15, 
    0x0F, 0x00, 0x8D, 0x10, 0x5F, 0x94, 0x00, 0x0A, 0x74, 0x7E, 0xF8, 0x00, 0x77, 0x00, 0x13, 0x00, 
    0xA4, 0x00, 0xFF, 0x8D, 0x77, 0x00, 0x13, 0x15, 0xA4, 0x80, 0xFF, 0x15, 0x77, 0x00, 0x13, 0x15, 
    0xA4, 0x00, 0xFF, 0x10, 0x77, 0x94, 0x15, 0x0A, 0xA4, 0x7E, 0xFF, 0x00, 0x77, 0x00, 0x15, 0x00, 
    0xDA, 0x00, 0xFF, 0x8D, 0x41, 0x00, 0x15, 0x15, 0x85, 0x80, 0x00, 0x15, 0x20, 0x00, 0x57, 0x15, 
    0x72, 0x00, 0x69, 0x10, 0x74, 0x94, 0x74, 0x0A, 0x65, 0x7E, 0x6E, 0x00, 0x20, 0x00, 0x62, 0x00, 
    0x79, 0x00, 0x20, 0x8D, 0x4F, 0x00, 0x6C, 0x15, 0x65, 0x80, 0x67, 0x15, 0x20, 0x00, 0x48, 0x15, 
    0x2E, 0x00, 0x20, 0x10, 0x28, 0x94, 0x63, 0x0A, 0x29, 0x7E, 0x20, 0x00, 0x4D, 0x00, 0x61, 0x00, 
    0x79, 0x00, 0x2C, 0x8D, 0x20, 0x00, 0x31, 0x15, 0x39, 0x80, 0x39, 0x15, 0x37, 0x00, 0x3B, 0x15, 
    0x20, 0x00, 0x6F, 0x10, 0x6C, 0x94, 0x65, 0x0A, 0x67, 0x7E, 0x68, 0x00, 0x40, 0x00, 0x6E, 0x00, 
    0x65, 0x00, 0x6D, 0x8D, 0x6F, 0x00, 0x2E, 0x15, 0x61, 0x80, 0x6E, 0x15, 0x6B, 0x00, 0x65, 0x15, 
    0x79, 0x00, 0x2E, 0x10, 0x72, 0x94, 0x75, 0x0A, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x15, 0x00, 0x80, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 
    0x00, 0x00, 0x00, 0x10, 0x00, 0x94, 0x00, 0x0A, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x15, 0x00, 0x80, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 
    0x00, 0x00, 0x00, 0x10, 0x00, 0x94, 0x00, 0x0A, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
    
    
    PS2 mouse(CLOCK_PIN, DATA_PIN);
    volatile bool s = true; // мышь разблокирована
    volatile char mstat;
    volatile char x;
    volatile char y;
    
    
    void setup() {
      pinMode(SELECT3, INPUT_PULLUP);
      pinMode(SELECT4, INPUT_PULLUP);
      pinMode(8, OUTPUT); //LED
      pinMode(RPLY, INPUT);
      pinMode(VA87DIR, INPUT);
      pinMode(DIN, INPUT);
      pinMode(ADDREQ, INPUT);
      digitalWrite(RPLY, LOW);  
      digitalWrite(VA87DIR, LOW);  
      digitalWrite(DIN, LOW);  
      digitalWrite(ADDREQ, LOW);  
      DDRA = B00000000;
      DDRB = B00000000;
      delay(1000);
      digitalWrite(8, LOW);  //led on
      delay (100);
      digitalWrite(8, HIGH);  //led off
      delay (100);
      attachInterrupt(1, readrom, FALLING);
      mouse_init();
      attachInterrupt(0, readmouse, FALLING);
    }
    
    void loop() {
      if (s) {
        mouse.write(0xeb);  // команда на чтение данных
        mouse.read();      //  игнорируем ack
        mstat = mouse.read();
        x =  mouse.read(); //x
        y =  mouse.read(); //y
        if ((bit_is_set(mstat, 5)) && (bit_is_clear(y,7))) y = -63;
        if ((bit_is_clear(mstat, 5)) && (bit_is_set(y,7))) y = 63;
        if ((bit_is_set(mstat, 4)) && (bit_is_clear(x,7))) x = -63;
        if ((bit_is_clear(mstat, 4)) && (bit_is_set(x,7))) x = 63;
        if (x > 63) x = 63; //обрезка по переполнению
        if (x < -63) x = -63;
        if (y > 63) y = 63;
        if (y < -63) y = -63;
        x = x<<1;
        y = y<<1;
        if (bit_is_set(mstat, 0))// left button
        {
          bitSet(y, 0);
        }else{
          bitClear(y, 0);
        }
        if (bit_is_set(mstat, 1))// right button
        {
          bitSet(x, 0);
        }else{
          bitClear(x, 0);
        }
        noInterrupts();
        PORTA = x;  //пишем результат в порт
        PORTB = y;
        s = false;  //блокировка чтения мыши
        interrupts();
        delayMicroseconds(2000);
      }
    }
    
    void mouse_init()
    {
      mouse.write(0xFF);  // reset
      mouse.read();  // ack byte
      mouse.read();  // blank */
      mouse.read();  // blank */
      mouse.write(0xF0);  // remote mode
      mouse.read();  // ack
      mouse.write(0xF4);  // Enable Data Reporting
      mouse.read();  // ack
      mouse.write(0xF3);  // Set Sample Rate
      mouse.read();  // ack
      mouse.write(0xC8);  // Set Sample Rate 200
      mouse.read();  // ack
      mouse.write(0xE8);  // Set Resolution
      mouse.read();  // ack
      mouse.write(0x03);  // Set Resolution 8
      mouse.read();  // ack
      //mouse.write(0xE7);  // Set Scaling 0xE7 - 2/1 0xE6 - 1/1
      //mouse.read();  // ack
      //mouse.write(0xE9);  // Status Request
      //mouse.read();  // ack
      //PORTA = mouse.read();  // Status
      //PORTB = mouse.read();  // Resolution
      //mouse.read();  // Sample Rate
      delayMicroseconds(200);
    }
    
    void readrom() //чтение слова из кассеты
    {
      noInterrupts();
      if (bitRead(PIND, 6))//va87dir проверка конфликта
      {
        bitSet(DDRC, 7);  //addreq запрос адреса в ПЛИС
        uint16_t index = PINA;
        index = PINB; // дополнительное чтение
        index = ((PINB*256)|PINA)-32768; //вычисление индекса
        bitClear(DDRC, 7); //addreq
        if (!bitRead(PIND, 4))//din проверка чтения
        {
          PORTA = pgm_read_byte(&data[index]); //чтение из flash младшего байта
          PORTB = pgm_read_byte(&data[++index]); //чтение из flash старшего байта
          bitSet(DDRD, 6);  //va87dir переключение буфера на передачу
          DDRA = B11111111; //переключить порт на вывод
          DDRB = B11111111; //переключить порт на вывод
          bitSet(DDRD, 7);  //включение rply 
          while (!bitRead(PIND, 4)); //din ожидание получения процессором rply
          bitClear(DDRD, 6); //va87dir переключение буфера на прием
          bitClear(DDRD, 7); //выключение rply
          DDRA = B00000000; //переключить порт на ввод
          DDRB = B00000000; //переключить порт на ввод
        }
      }
      interrupts();
    }
    
    void readmouse()
    {
      noInterrupts();
      if (!bitRead(PIND, 4))//DIN
      {
        bitSet(DDRD, 6);  //va87dir
        DDRA = B11111111;
        DDRB = B11111111;
        bitSet(DDRD, 7);  //rply
        while (!bitRead(PIND, 4));
        bitClear(DDRD, 6); //va87dir
        bitClear(DDRD, 7); //rply
        DDRA = B00000000;
        DDRB = B00000000;
        PORTA = PORTA & B00000001;  //очистка порта
        PORTB = PORTB & B00000001;
        s = true; //мышь разблокирована
      }
      interrupts();
    }
    [свернуть]


    Так же готовый файл прошивки для Атмеги32.
    kakave_mouse_ide.ino_atmega32_16000000L.zip
    FUSES: High Byte = C7 Low Byte = 3F

    Гербер на данную модификацию выкладывать не буду, т.к. там слишком много ошибок. Позже выложу новую исправленную версию.

    Данный контроллер продается на БАРАХОЛКЕ.
    Последний раз редактировалось Xrust; 29.07.2024 в 20:03.

    Эти 6 пользователя(ей) поблагодарили Xrust за это полезное сообщение:

    Aleks1985(29.07.2024), Arseny(29.07.2024), electroscat(29.07.2024), nzeemin(30.07.2024), Titus(29.07.2024), tnt23(30.07.2024)

  10. #369

    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    931
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    168
    Поблагодарили
    81 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    KKVE_IDE.zip
    Обновленная прошивка для Altera EPM7128 для контроллера Какаве+IDE+Mouse. Повышена совместимость с различными устройствами IDE.

    Этот пользователь поблагодарил Xrust за это полезное сообщение:

    Aleks1985(01.09.2024)

  11. #370

    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    931
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    168
    Поблагодарили
    81 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Версия платы контроллера с разъемами IDE 40 и IDE 44.



    Gerber_UKNZ_KAKAVE_IDE_M_PCB_UKNZ_KAKAVE_IDE_M_copy44_2024_09_15.zip
    Schematic_UKNZ_KAKAVE_IDE_M_2025-01-12.rar

    Внимание! В схеме был обозначен неверный тип микроконтроллера. Верно - Atmega324. Выложена исправленная версия схемы.
    Atmega32 применялась в предыдущих версиях контроллера. К сожалению, у этого МК недостаточно входов с прерываниями, для реализации всех функций этой платы.
    Более подробное описание устройства можно найти здесь.

    Модели для корпуса для DOM IDE-44.



    STL.rar
    Последний раз редактировалось Xrust; 12.01.2025 в 18:00.

    Этот пользователь поблагодарил Xrust за это полезное сообщение:

    Titus(12.12.2024)

Страница 37 из 38 ПерваяПервая ... 333435363738 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Игры на УКНЦ
    от Titus в разделе ДВК, УКНЦ
    Ответов: 125
    Последнее: 29.12.2020, 23:12
  2. Реплика КМД УКНЦ
    от tnt23 в разделе ДВК, УКНЦ
    Ответов: 451
    Последнее: 26.06.2020, 15:07
  3. Дискетки от УКНЦ
    от ZXSlaver в разделе ДВК, УКНЦ
    Ответов: 12
    Последнее: 15.11.2009, 17:25
  4. Куплю SCSI-Винчестер (50pin)
    от AlexFantasy в разделе Барахолка (архив)
    Ответов: 10
    Последнее: 28.03.2009, 11:31

Ваши права

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