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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 20

Тема: Ремонт: ошибки ОПТС

  1. #1
    Veteran
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Благодарностей: 575
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Ремонт: ошибки ОПТС

    загрузка ОПТС и обработка Fkeys
    ОПТС 1.1 и ОПТС2 отличаются ...

    ОПТС 1.1

    стартуем в конфгурации 0 (ROM 0000..37ff)

    инициализация PPI1A
    инициализация PPI2A
    инициализация TMR

    проверка нажатия F1-F5, если нажато то пропускаем тесты (переходим на _Fast_F_RUN)

    0xC9 -> 0xF5FD (F3+Reset addr)

    выключаем LUT (все цвета в 0)

    проверяем PPI2A (бегущая 1 в порту A)
    если ошибка то начинаем пикать бесконечно (бип бип бип)

    проверка ACZU
    если ошибка то начинаем пикать бесконечно (бип бип бип)

    ACZU в порядке, используем его как стек.

    очищаем GZU, заливаем его цветом 1 (синий)
    включаем отображение ( все ACZU белые, прафика каждая своим цветом)

    стек в конец ACZU (ld sp,0xffff)
    выводим надпись 'ОПТС 1.1'
    BEEP

    конфгурации 14 (ROM 0000..5fff)
    считаем контрольную сумму (просто сумируется ПЗУ в байт,) должно быть =0
    если ошибка то пикаем 5 раз и выводим "Системный блок неисправен"

    неразрушающие тест RAM
    конфгурации 14 (RAM 2000..f7ff)
    если ошибка то пикаем 5 раз и выводим "Системный блок неисправен"

    тесты прошли без ошибки,
    эмитируем что небыли нажаты.

    _Fast_F_RUN:

    скопируем дефолтные значения системных переменных.
    инициализация LAN
    определяем номер РМУ
    инициализация PIC

    установка флага наличия FDD

    RAM:0490 ; Read from PIT, INT7 should be 1 if fdd exist
    RAM:0490 ;
    RAM:0490 3E 21 ld a, _DS0|_MOTOR
    RAM:0492 32 39 FB ld (_1C_PPI1B_DrvReg), a
    RAM:0495 ;
    RAM:0495 7E ld a, (hl)
    RAM:0496 E6 80 and 80h ; 'Ç'
    RAM:0498 CA 9C 04 jp z, no_FDD_Detected
    RAM:049B 2F cpl
    RAM:049C no_FDD_Detected:
    RAM:049C 32 01 F7 ld (FDDFLAG), a


    если в процессе загрузки не нажаты F1..F5 то если подключен ExtROM загрузка из него.

    F1
    - если сетевой номер != 0 то загрузка бейсика
    F1F5:
    - если не найден FDD (via FDDFLAG) то загрузка бейсика

    - включаем мотор, ждем готовности FDC некоторое время
    если нет готовности, то загрузка бейсика

    - пробуем прочитать 1 сектор с 0й дорожке в режиме Double Density, если ок проверка CRC
    - пробуем прочитать 1 сектор с 0й дорожке в режиме Single Density, если не ок то загрузка бейсика

    - проверка СRC и если не совпала то зангрузка бейсика
    иначе если всё ок то запускаем диск.

    F2
    - проверяем наличие EXTROM
    ppi2.c.7=0
    проверяем что в PIC стоит запрос на прерывание 1
    если нет то ошибка наличия ExtROM
    то если была нажата F2+Reset то выводим
    "Подключите внешнее ПЗУ"
    иначе заргрузка бейсика.
    т.е. если ничего небыло нажато, то пробуем загрузится из
    ПЗУ если оно есть.
    иначе загрузка EXTROM (см отдельную тему)

    F3
    - call 0xF5FD
    - jp StartTestLS
    если программа записала в 0xF5FD jmp на себя то можно рестартовать в нее по F3+Reset
    сейчас знаю тольк FORTHBAS.CCC у которого это используется.

    F4 - сразу загрузка бейсика

    F5 - пробуем загрузиться с FDD без проверки номера РМУ (JP F1F5
    [свернуть]


    ОПТС2.0


    зато сразу включаем отображение ( все ACZU белые, прафика каждая своим цветом)
    поэтому на экране видны следы теста ACZU

    проверка ACZU
    если ошибка то начинаем пикать бесконечно (бип бип бип)

    ACZU в порядке, используем его как стек.

    очищаем GZU, заливаем его цветом 1 (синий)

    стек в конец ACZU (ld sp,0xffff)
    выводим надпись 'ОПТС 2.0'
    BEEP

    проверяем PPI3A EXTROM вместо PPI2A (бегущая 1 в порту A)
    если ошибка то на экране "Ошибка ШИНЫ" + 5beep

    конфгурации 14 (ROM 0000..5fff)
    считаем контрольную сумму (просто сумируется ПЗУ в байт,) должно быть =0
    если ошибка то на экране "Ошибка ПЗУ" + 5beep


    очищаем GZU, заливаем его цветом 1 (синий)

    тест RAM
    конфгурации 14 (RAM 2000..f7ff)
    если ошибка то на экране "Ошибка ОЗУ" + 5beep

    0xC9 -> 0xF5FD (F3+Reset addr)

    тесты прошли без ошибки,
    эмитируем что небыли нажаты.

    _Fast_F_RUN:

    скопируем дефолтные значения системных переменных.
    инициализация LAN
    определяем номер РМУ
    инициализация PIC

    определим размер GZU (кол-во страниц) (FDDFLAG=0x80 если 192к гзу)
    быстрый тест GZU
    если ошибка то на экране "Ошибка ГЗУ" + 5beep

    установка флага наличия FDD

    RAM:0490 ; Read from PIT, INT7 should be 1 if fdd exist
    RAM:0490 ;
    RAM:0490 3E 21 ld a, _DS0|_MOTOR
    RAM:0492 32 39 FB ld (_1C_PPI1B_DrvReg), a
    RAM:0495 ;
    RAM:0495 7E ld a, (hl)
    RAM:0496 E6 80 and 80h ; 'Ç'
    RAM:0498 CA 9C 04 jp z, no_FDD_Detected
    RAM:049B 2F cpl
    RAM:049C no_FDD_Detected:
    RAM:049C 32 01 F7 ld (FDDFLAG), a


    если в процессе загрузки не нажаты F1..F5 то если подключен ExtROM загрузка из него.

    F1
    - если сетевой номер != 0 то загрузка бейсика
    F1F5:
    - если не найден FDD (via FDDFLAG) то загрузка бейсика

    - включаем мотор, ждем готовности FDC некоторое время
    если нет готовности, то загрузка бейсика

    - пробуем прочитать 1 сектор с 0й дорожке в режиме Double Density, если ок проверка CRC
    - пробуем прочитать 1 сектор с 0й дорожке в режиме Single Density, если не ок то загрузка бейсика

    - проверка СRC и если не совпала то зангрузка бейсика
    иначе если всё ок то запускаем диск.

    F2
    - очистка экрана
    - проверяем наличие EXTROM
    ppi2.c.7=0
    проверяем что в PIC стоит запрос на прерывание 1
    если нет то ошибка наличия ExtROM
    то если была нажата F2+Reset то выводим
    "Нет внешнего ПЗУ"
    иначе заргрузка бейсика.
    т.е. если ничего небыло нажато, то пробуем загрузится из
    ПЗУ если оно есть.
    иначе загрузка EXTROM (см отдельную тему)

    F3
    - call 0xF5FD
    если программа записала в 0xF5FD jmp на себя то можно рестартовать в нее по F3+Reset
    сейчас знаю тольк FORTHBAS.CCC у которого это используется.

    F4 - сразу загрузка бейсика

    F5 - пробуем загрузиться с FDD без проверки номера РМУ (JP F1F5

    [свернуть]
    Последний раз редактировалось esl; 25.04.2015 в 19:36. Причина: делает ПИК ПИК при ошибке ГЗУ

  2. Эти 6 пользователя(ей) поблагодарили esl за это полезное сообщение:
    Alex_LG (27.04.2015), BYTEMAN (25.12.2012), dk_spb (25.12.2012), KokaF77 (09.01.2013), Mad Killer/PG (25.12.2012), Mifody (26.12.2012)

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

  4. #2
    Guru
    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    4,922
    Благодарностей: 1042
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    С нетерпением ждем продолжения!

  5. #3
    Activist
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    399
    Благодарностей: 201
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ОПТС 2.0 может сообщать:
    1. Неисправность шины. Это ВВ55
    2. -//- ПЗУ
    3. -//- ОЗУ
    4. -//- ГЗУ
    5. Нет внешнего ПЗУ
    6. Неверная КС
    у меня были, 1,3,4.
    1 - менял ВВ55 на переферийный порт.
    4 - менял РУшки
    3 - устранил свою же "соплю", которую кинул, пока менял РУ

    Успешное прохождение теста ГЗУ не 100% свидетельствует о его исправности. Так было у меня - светлые вертикальные линии, совпадающие с правой границей симоволов. При этом все работало. Поменял еще одну РУ - все стало ОК.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY

  6. #4
    Veteran
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Благодарностей: 575
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    5 и 6 относится только к загрузке из внешнего ПЗУ
    а не к тестам, я делал отдельную тему по этому поводу

    Ещё есть тест АЦЗУ - но о нем нет сообщения
    В общем если плата пикает то ошибка железа

  7. #5
    Veteran
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Благодарностей: 575
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от marinovsoft Посмотреть сообщение
    ОПТС 2.0 может сообщать:
    1. Неисправность шины. Это ВВ55
    2. -//- ПЗУ
    3. -//- ОЗУ
    4. -//- ГЗУ
    5. Нет внешнего ПЗУ
    6. Неверная КС
    2 - малоинформативно, хотя просто считает CRC ПЗУ
    тесты разных ЗУ есть желание расписать, но как пойдет ...
    а 1 - проверяет одну из 3х ВВ55 (причем разную в ОПТС1 и ОПТС2)
    хотя системный порт косвенно в других тестах участвует.

    Цитата Сообщение от marinovsoft Посмотреть сообщение
    Успешное прохождение теста ГЗУ не 100% свидетельствует о его исправности.
    как и любые тесты, это компромис
    вон в Контрольно Тестово-Диагностическая Программа = КТДП
    тесты - ну очень длинные

    кстати как раз это КТДП и должна была быть во внешнем ПЗУ, но про это я узнал уже много позже
    Последний раз редактировалось esl; 30.12.2012 в 00:40.

  8. #6
    Guru
    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    4,922
    Благодарностей: 1042
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    кстати как раз это КТДП и должна была быть во внешнем ПЗУ, но про это я узнал уже много позже
    А подробности (схема, прошивка) имеются?

  9. #7
    Veteran
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Благодарностей: 575
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dk_spb Посмотреть сообщение
    А подробности (схема, прошивка) имеются?
    создал отдельную тему http://zx-pk.ru/showthread.php?p=562845
    там выложил КТДП в виде образа диска и ROM

    а описание внешней ПЗУ http://zx-pk.ru/showthread.php?t=15297
    там в теории все очень просто (нарисовал бы кто)
    там на порт расширения (боковой) выведено все что надо все 3 порта одной из ВВ55
    питания, и всякие доп сигналы.

    правда я своими глазами видел 3 типа разъемом ;(
    у нас в классе стояли одинаковые, но на половине машин - мама, на половине - папа
    а на контуре - свой разъем
    Последний раз редактировалось esl; 30.12.2012 в 00:43.

  10. #8
    Guru
    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    4,922
    Благодарностей: 1042
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подскажите куда копать: 8010, и всё вроде бы хорошо: начальные тесты проходим, в Бейсик вываливаемся, в Бейсике на клавиши реагируем. Но есть одна проблема: на экране все символы (все, включая стек внизу справа при старте ОПТС) выводятся как значок рожицы......
    Вот еще инфа: если я выходы триггера D44 (они же входы ПЗУ знакогенератора) корочу на + - по всему экрану отображается другой знак.
    Если же я также корочу на плюс входы D44 - картинка не меняется. То есть явно не сигнала строба для триггера.
    Но, если я строб корочу на минус - все поле экрана заполняется той же рожицей....
    Если сажаю на постоянную запись любую 132ру4 - тоже экран произвольно забивается рожицами.
    Посмотрел осцилом - очень похоже на битую D44.
    Кстати, по всем схемам она ИР27, а на плате ИР23. Это так и должно быть?
    Последний раз редактировалось dk_spb; 04.01.2013 в 21:10.

  11. #9
    Veteran
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Благодарностей: 575
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вот тут маожно глянуть на знакогенератор
    http://zx.pk.ru/showpost.php?p=430338&postcount=25
    рожица это код 1 или 2 (белая и черная)

    по описанию выглядит как защелкнулся один адрес и не меняется.

    в основном на фото и монтажках (сверхувниз)
    ROM
    ИР27 (d44)
    ИР22

    но есть платы и с ИР23
    типа платы BYTEMAN
    и фото самой старой платы что у меня есть (там даты микросхем 85-86 год)

    похоже на более старых были 23 потом стали 27
    но не факт что схема не менялась (эт надо электронщиков пинать)

  12. #10
    Guru
    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    4,922
    Благодарностей: 1042
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Меня вот что смущает: если ИР закусила один символ, почему символы в БЕйсике на экране именно в тех местах где должны, а в остальных местах нет вообще никаких символов (даже рожицы)? Или получается что один бит ИР23 пропускает нормально, а остальные всегда в нуле?
    Ладно, попробую ИР23 поменять.

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

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

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

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

Похожие темы

  1. Ответов: 7
    Последнее: 15.05.2017, 21:58
  2. Ошибки в документации на Z80
    от Lisitsin в разделе Софт
    Ответов: 12
    Последнее: 25.02.2011, 19:49
  3. Ошибки(глюки) в TR-DOS
    от DDp в разделе Оси
    Ответов: 0
    Последнее: 08.03.2009, 14:55
  4. Ремонт 48К
    от Иван в разделе Unsorted
    Ответов: 6
    Последнее: 19.03.2007, 15:13
  5. Ошибки в схеме Ленинград-1?
    от Elya в разделе Ленинград
    Ответов: 4
    Последнее: 09.11.2005, 08:59

Ваши права

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