Сообщения без ответов | Активные темы
Текущее время: 22 дек 2024, 08:03
|
Страница 1 из 1
|
[ 1 сообщение ] |
|
Автор |
Сообщение |
gid
Зарегистрирован: 21 авг 2013, 22:12 Сообщений: 37
|
Тесты АльтПро
Тесты контроллеров АльтПро Тест v4.74FТест без своего знакогенератора решено всё таки не делать, так что следующая версия всего в одном варианте. Скачать вариант со своим знакогенератором: Изменения: - v4.73 - тест памяти на ошибки немного усложнён.
- v4.74 - тест памяти на ошибки изменён. Добавлено длинное тестирование случайными числами, с целью проверки стабильности, длительность длинного тестирования можно задать свою, а так же совсем отменить.
Тест v4.72Теперь тест будет создаваться в двух вариантах. Со своим знакогенератором, и с использованием знакогенераторов монитора БК10 или БК11. Скачать вариант с обычным знакогенератором: Скачать вариант со своим знакогенератором: Изменения: - Добавлены тесты конструктивных особенностей: доступ к регистрам HDD, тест буфера ОЗУ для HDD, реакция на команду RESET, реакция на биты 2 (код 4) и 3 (код 10)
- v4.71 - уточнение реакции на биты 2 и 3.
- v4.72 - ещё одно уточнение реакции на биты 2 и 3.
Тест v4.61Дальнейшее развитие теста v 4.3, cкачать: Следующая версия теста контроллеров АльтПро с ДОЗУ 64-512КБ. Описание логики работы теста памяти ДОЗУ и теста переключения страниц в спойлере:
Развернуть/Свернуть
Описание логики работы теста памяти ДОЗУ тестов v4.5 и v4.6. Общее замечание. Тест памяти оперирует 16 килобайтными половинками 32 килобайтной страницы памяти контроллера AltPro. Для этого,он подключает одну страницу дважды в двух режимах: 0160 и 060 для БК0010; и 0120 и 020 для БК0011.
Далее, под страницей памяти будем иметь в виду 16 кб половинку страницы памяти, подключаемую в одном из режимов. Тест памяти разбит на 3 этапа: - Перебор всех 32 кодов подключения страниц независимо от количества памяти, и заполнение массива ошибок страниц. Если страница была подключена ранее, проверки на ошибки чтения-записи не производятся.
В таблице отмечается факт повторного подключения, возникновения прерывания по вектору 4 при чтении и при записи, а так же результат байт-теста.
- Подсчёт доступного количества ОЗУ.
При этом на экран вместе со счётчиком ОЗУ выводятся результаты проверки первого этапа, соответствующие той странице, на которой возникли ошибки:
«стр. с кодом XXXX уже подключали с YYYY», где XXXX - текущий код подключения страницы вместе с режимом, а YYYY - предыдущий код, с которым эта страница уже подключалась «write-halt» - если произошло прерывание по вектору 4 при записи. «read-halt» - если произошло прерывание по вектору 4 при чтении. «byte-test fail» - если байт-тест провален.
Повторно подключенная страница не подсчитывается при подсчёте количества ОЗУ, в то время как страница с ошибками чтения-записи и байт-тестом - подсчитывается.
- Проверка на битые ячейки памяти.
Проверяются все страницы кроме повторно подключаемых.
Проверка производится в два этапа:
Этап 1: методом записи и последующего чтения битовой маски в каждую ячейку страницы.
Этап 2: методом заполнения всей страницы маской, и последующего чтения маски со всей страницы.
Перед первым этапом, между этапами и после второго этапа все страницы памяти заполняются определённым значением. На каждом этапе, перед началом тестирования каждая страница проверяется на целостность заданного определённого значения. Если оно не совпадёт с заданным, то будет выведено сообщение:
«XXXX - синхро ADDRESS:VALUE:ошибка», что означает следующее: во время изменения данных в одной странице, изменились данные по адресу на этой странице, это свидетельствует о внутренних повреждениях чипа памяти.
Если во время синхротеста возникнет ошибка чтения/записи, то выведется следующее сообщение:
«XXXX - BBBBBBBBBBBBBBBB ADDRESS:write-halt» или «XXXX - BBBBBBBBBBBBBBBB ADDRESS:read-halt»,
где BBBBBBBBBBBBBBBB - синхрокод, (число 04260 для v4.6 или 051400 для v4.5) в бинарной системе счисления.
Во время проверки на экране отображаются: текущий код страницы вместе с режимом, битовая маска, а так же сбойные адреса и сам сбой при его наличии. И отображается адрес на котором произошла ошибка чтения и/или записи, информацию о которой можно было видеть при подсчёте количества ОЗУ:
«XXXX - BBBBBBBBBBBBBBBB ADDRESS:EEEEEEEEEEEEEEEE» или «XXXX - BBBBBBBBBBBBBBBB ADDRESS:write-halt» или «XXXX - BBBBBBBBBBBBBBBB ADDRESS:read-halt»,
где XXXX - текущий код подключения страницы вместе с режимом, BBBBBBBBBBBBBBBB - текущая битовая маска, ADDRESS - адрес, где произошёл сбой, EEEEEEEEEEEEEEEE - сбойное значение, write-halt - означает, что произошло прерывание по вектору 4 при записи, read-halt - означает, что произошло прерывание по вектору 4 при чтении.
Проверку страницы можно пропустить, нажав почти любую клавишу (кроме СТОП, СУ, АР2, ЗАГЛ, СТР и Шифт). Чтобы одним махом не напропускать лишнего, тоже делается проверка, если вы нажали клавишу, и на экране ничего не происходит - отпустите её, процесс пойдёт дальше. Это полезно, если на странице сплошняком прут ошибки, на каждом адресе. Клавишу жать надо дважды - сперва чтобы пропустить синхротест, затем, чтобы пропустить тест памяти.
Описание логики работы теста режимов переключения страниц. После того, как выяснилось, что в логике переключения страниц ОЗУ контроллера присутствует недоработка, был написан данный тест. Тест работает только с потенциально проблемными переключениями 120->20, 20->120, 120->100, 100->20, 20->100, 100->0, 0->20, 20->0. Тест 100->0 и 20->0 пропускается, т.к. в режиме HLT11 по нужным адресам не ОЗУ СМК, но без аппаратной доработки оно всё равно портится, порченный сегмент просто не подключается в этом режиме. С новой прошивкой и аппаратной доработкой ошибки должны проявляться только в 100->20 и 0->20, т.к. таковы режимы работы контроллера. С новой прошивкой и без аппаратной доработки ошибки должны проявляться в 100->20, 20->100 и 0->20. В режиме 120->100 ошибка ошибка появляется, но не отлавливается, т.к. в этих режимах расположение сегментов памяти одинаковое. Тест эту ошибку просто не может увидеть, и исправить это просто невозможно, т.к. для этого надо переключиться в режим 20, а это даст наведённую ошибку на контроллере без аппаратной доработки. Поэтому результат будет недостоверен. То же самое для переключения 100->120 для контроллера со старой прошивкой без аппаратной доработки. Со старой прошивкой и аппаратной доработкой ошибки должны проявляться в 120->20, 100->20 и 0->20. Со старой прошивкой и без аппаратной доработки ошибки должны проявляться во всех режимах, но не во всех могут отлавливаться. По причинам, описанным немного ранее.
В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 01000. Сделанные изменения по сравнению с тестом v4.3. - Тест режимов перенесён вперёд, перед тестом памяти.
- Добавлен тест переключения страниц в проблемных режимах.
- После тестов режимов добавлена пауза с надписью "нажмите любую клавишу", чтобы не пропустить результаты работы.
- Добавлено определение версии прошивки 555РТ5.
- v4.61 - Иногда, в нештатных случаях могли возникнуть ситуации, когда регистр 177130 на БК-0010 накладывался на ПЗУ бейсика и это приводило к неправильной работе теста. Теперь это исправлено, возникающее прерывание по вектору 4 при записи в 177130 теперь игнорируется.
Тест v4.51Дальнейшее развитие теста v4.41. Следующая версия теста контроллеров АльтПро с ДОЗУ 64-512КБ. В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 01000. Функционально аналогичен тесту v4.6, но с небольшим отличием. Т.к. имеется свой знакогенератор, то есть возможность отслеживать заполняемость экрана, и как только экран будет заполнен информацией, выводится надпись "нажмите любую клавишу" и программа ожидает нажатия любой клавиши, кроме СТОП и управляющих естественно. Т.к. версии v4.4 и v4.5 долго оставались в нерабочем состоянии, а тест переключения страниц был нужен, то тест v4.6 делался на основе v4.3 и был выпущен раньше, чем был доработан тест v4.4 и на его основе сделан тест v4.5, работающий аналогично тесту v4.6. Хотя есть ещё одно отличие. В синхротесте ошибочное значение в тестах v4.4 и v4.5 отличается от значения в тестах v4.3 и v4.6. Почему - непонятно. Тест v4.41Немного изменённая версия теста v4.3. В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 01000. Изменения. - Тест режимов перенесён вперёд, перед тестом памяти.
- Добавлен свой знакогенератор, чтобы не зависеть от мониторов БК10 и БК11.
- Добавлено определение версии прошивки 555РТ5.
- v4.41 - попытка исправить ошибки скроллинга.
Функционально и логически ничем не отличается от теста v4.3. Тест v4.3Следующая версия теста контроллеров АльтПро с ДОЗУ 64-512КБ. Описание логики работы теста памяти ДОЗУ в спойлере ниже:
Развернуть/Свернуть
Описание логики работы теста памяти ДОЗУ тестов v4.3 и v4.4. Общее замечание. Тест памяти оперирует 16 килобайтными половинками 32 килобайтной страницы памяти контроллера AltPro. Для этого, он подключает одну страницу дважды в двух режимах: 0160 и 060 для БК0010; и 0120 и 020 для БК0011.
Далее, под страницей памяти будем иметь в виду 16 кб половинку страницы памяти, подключаемую в одном из режимов. Тест памяти разбит на 3 этапа - Перебор всех 32 кодов подключения страниц независимо от количества памяти, и заполнение массива ошибок страниц. Если страница была подключена ранее, проверки на ошибки чтения-записи не производятся.
В таблице отмечается факт повторного подключения, возникновения прерывания по вектору 4 при чтении и при записи, а так же результат байт-теста.
- Подсчёт доступного количества ОЗУ.
При этом на экран вместе со счётчиком ОЗУ выводятся результаты проверки первого этапа, соответствующие той странице, на которой возникли ошибки:
«стр. с кодом XXXX уже подключали с YYYY», где XXXX - текущий код подключения страницы вместе с режимом, а YYYY - предыдущий код, с которым эта страница уже подключалась «write-halt» - если произошло прерывание по вектору 4 при записи. «read-halt» - если произошло прерывание по вектору 4 при чтении. «byte-test fail» - если байт-тест провален.
Повторно подключенная страница не подсчитывается при подсчёте количества ОЗУ, в то время как страница с ошибками чтения-записи и байт-тестом - подсчитывается.
- Проверка на битые ячейки памяти.
Проверяются все страницы кроме повторно подключаемых.
Проверка производится в два этапа:
- Этап 1: методом записи и последующего чтения битовой маски в каждую ячейку страницы.
- Этап 2: методом заполнения всей страницы маской, и последующего чтения маски со всей страницы.
Перед первым этапом, между этапами и после второго этапа все страницы памяти заполняются определённым значением. На каждом этапе, перед началом тестирования каждая страница проверяется на целостность заданного определённого значения. Если оно не совпадёт с заданным, то будет выведено сообщение:
«XXXX - синхро ADDRESS:VALUE:ошибка»,что означает следующее: во время изменения данных в одной странице, изменились данные по адресу на этой странице, это свидетельствует о внутренних повреждениях чипа памяти.
Если во время синхротеста возникнет ошибка чтения/записи, то выведется следующее сообщение:
«XXXX - BBBBBBBBBBBBBBBB ADDRESS:write-halt» или «XXXX - BBBBBBBBBBBBBBBB ADDRESS:read-halt»,
где BBBBBBBBBBBBBBBB - синхрокод, (число 04260 для v4.3 или 051400 для v4.4) в бинарной системе счисления.
Во время проверки на экране отображаются: текущий код страницы вместе с режимом, битовая маска, а так же сбойные адреса и сам сбой при его наличии. И отображается адрес на котором произошла ошибка чтения и/или записи, информацию о которой можно было видеть при подсчёте количества ОЗУ:
«XXXX - BBBBBBBBBBBBBBBB ADDRESS:EEEEEEEEEEEEEEEE» или «XXXX - BBBBBBBBBBBBBBBB ADDRESS:write-halt» или «XXXX - BBBBBBBBBBBBBBBB ADDRESS:read-halt»,
где XXXX - текущий код подключения страницы вместе с режимом, BBBBBBBBBBBBBBBB - текущая битовая маска, ADDRESS - адрес, где произошёл сбой, EEEEEEEEEEEEEEEE - сбойное значение, write-halt - означает, что произошло прерывание по вектору 4 при записи, read-halt - означает, что произошло прерывание по вектору 4 при чтении.
Проверку страницы можно пропустить, нажав почти любую клавишу (кроме СТОП, СУ, АР2, ЗАГЛ, СТР и Шифт). Чтобы одним махом не напропускать лишнего, тоже делается проверка, если вы нажали клавишу, и на экране ничего не происходит - отпустите её, процесс пойдёт дальше. Это полезно, если на странице сплошняком прут ошибки, на каждом адресе. Клавишу жать надо дважды - сперва чтобы пропустить синхротест, затем, чтобы пропустить тест памяти.
В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 01000. Сделанные изменения. - Изменён тест определения количества памяти.
- Добавлен тест проверки на битые ячейки памяти.
Тест v4.1Доработанный тест контроллеров АльтПро с ДОЗУ 64-512КБ: Описание логики работы теста памяти ДОЗУ в спойлере:
Развернуть/Свернуть
Описание логики работы теста памяти ДОЗУ теста v4.1. Общее замечание. Тест памяти оперирует 16 килобайтными половинками 32 килобайтной страницы памяти контроллера AltPro. Для этого, он подключает одну страницу дважды в двух режимах: 0160 и 060 для БК0010; и 0120 и 020 для БК0011.
Далее, под страницей памяти будем иметь в виду 16 кб половинку страницы памяти, подключаемую в одном из режимов. - Подготовительный этап.
На данном этапе происходит последовательный перебор всех возможных кодов подключения страниц, и попытка подключения страниц памяти.
- Первым делом проверяется, не подключалась ли данная страница раньше, если подключалась, то дальнейшие проверки не нужны, делается переход к следующей.
Этот факт отмечается на экране сообщением:
«Код: XXXX - уже подключали с кодом YYYY», где XXXX - текущий код подключения страницы вместе с режимом, а YYYY - предыдущий код, с которым эта страница уже подключалась
- Затем идёт проверка на доступность страницы по чтению-записи. При возникновении прерывания при операции чтения-записи выводится сообщение:
«Код: XXXX - сбой подключения страницы.», где XXXX - текущий код подключения страницы вместе с режимом.
И дальнейшее тестирование страницы прекращается, происходит переход к следующей.
- Затем ставится метка, что эту страницу уже подключали и делается переход к следующей.
Во время работы заполняется таблица состояний, в которой отмечается, что либо страница в порядке, либо что-то произошло из вышеописанного.
- Подсчёт количества памяти и тестирование на битые ячейки.
На данном этапе происходит последовательный перебор всех возможных кодов подключения страниц, и попытка подключения страниц памяти.
- Проверяется, подсчитали ли и не тестировали ли уже данную страницу. Если таки да, то заканчиваем проверку и подсчёт. Таким образом, тест заканчивает свою работу как только встретит первую же повторно подключенную страницу, ну или же коды закончатся.
- Затем проводится тест на битые ячейки методом арифметических операций над содержимым ячейки, если при этом произойдёт ошибка чтения-записи, то дальнейший тест ячеек памяти прерывается.
- Затем производится проверка на возможность байтовых операций с памятью.
Возможны следующие варианты ошибок:
«Error I» - встретилась битая ячейка памяти.
«Error H» - ошибка чтения-записи ячейки.
«Error .» - ошибка байтовой операции.
В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 01000. Особенности работы. - Тест памяти определяет только её количество, и корректность байтового доступа.
- Тест режимов работает и на БК-0010(01), и на БК-0011М, вывод результатов теста режимов сделан более человекопонятным.
- Определяется тип контроллера по признаку в слове 0167776.
Тест v3.7Оригинальный тест контроллеров АльтПро с ДОЗУ 64-256КБ: В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 04000. Особенности работы. - Тест памяти определяет только её количество, и корректность байтового доступа.
- Тест режимов работает только на БК-0010(01).
Образ дискеты, на которой есть все эти тесты вместе, и не только:
|
21 авг 2013, 22:45 |
|
|
|
Страница 1 из 1
|
[ 1 сообщение ] |
|
Кто сейчас на форуме |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
закрыть
Советскому бытовому " БК-0011М" посвящается...
Вопреки всем скептикам и недоброжелателям, дело БК живет и развивается. Не за горами день, когда будет выпущен в свет "БК-0012 Pulsar" - расширенный FPGA-клон БК-0011М. Пока же на данном форуме Вы можете ознакомиться с репликами БК-0011М(-01), приставкой Booster-11, репликой контроллера SMK64 (а также его FPGA-клоном - SMK512), аппаратным эмулятором ПЗУ КР1801РЕ2Б, блоками расширения с процессорами ВМ2/ВМ3, и другими интересными материалами и работами.
Ведутся работы по отрисовке в 3D корпусов БК, МСТД, оригинальных клавиатуры, джойстика и мыши, но пока не удается найти их производство по приемлемой цене при малом тираже. Выполнено производство новодельных пленок для клавиатур БК-0011М.
Важным для возрождения БК и его сообщества является новый софт (игры и демо в особености), и они периодически появляются!
Удалось решить многие hard-задачи, но нет системных программистов, востребованных в проекте БК-0012, как минимум для тестирования. Требуется разработка полноценного Win32-компилятора Си в bin-файлы БК.
Релизован полноценный каталогизатор всего софта БК, с удобным интерфейсом. Осталось выполнить собственно большую задачу каталогизации.
Ждем ваших откликов, идей. Сообщайте о данном ресурсе всем, кто увлекался в прошлом БКшкой, присылайте их и свои e-mail для рассылки новостей из мира БК. nimamov@mail.ru
|