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

User Tag List

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

Тема: Тестовое ПЗУ для ZX-Spectrum, работающее без ОЗУ

  1. #1
    Member
    Регистрация
    03.04.2010
    Адрес
    Bryansk
    Сообщений
    49
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Тестовое ПЗУ для ZX-Spectrum, работающее без ОЗУ

    Доброго времени суток!

    Разбираясь со старыми ПЗУшками, нашел микросхему РФ2, прошитую тестом для ZX-Spectrum.
    Этот тест я написал в 1988 году. Его основная фича - работа без использования ОЗУ.
    Уже не помню подробностей, но, видимо, если ОЗУ хоть как-то всё же работает, то можно увидеть циферки (номер теста) на экране. А если ОЗУ полностью неисправно или отсутствует, то тест все равно работает - читает/пишет память, выводит байты в порт цвета бордюра, пищит на ошибки ОЗУ. Т.е. можно искать причину неисправности осциллографом.

    Исходники теста вряд ли сохранились - тогда всё было на кассетах
    А вот РФ2 прочиталась без ошибок, хотя и прошло 30 лет. Сама микросхема тоже 1988 года, коричневая керамика
    Выводы 21 и 24 отогнуты вверх, соединены между собой и к ним припаян проводок с выводом, который можно втыкать в 28-й контакт 28-выводной панельки (в те времена 2764 были дефицитом, поэтому для тестовых ПЗУ старались использовать что попроще).
    Сейчас этот тест можно записать в 2764. Должен работать.
    Сам тест занимает очень мало места. Оставшийся объем ПЗУ заполнен текстовой инструкцией. Вот она (с минимальными корректировками):
    ---
    При прохождении теста на экран выводятся 2 цифры: первая - номер теста, вторая - его параметр.
    0 - перебор цветов точек на экране дисплея от 0 до 7.
    1 - перебор цветов фона от 0 до 7.
    2 - перебор цветов бордюра от 0 до 7.
    3 - вкл. повышенной яркости (параметр=1).
    4 - вкл. мигания (параметр=1).
    5 - тест ОЗУ дисплея по адресам 5B00H...7FFFH.
    6 - тест ОЗУ по адресам 8000H...0BFFFH.
    7 - тест ОЗУ по адресам 0C000H...0FFFFH.
    При прохождении тестов ОЗУ в качестве параметра теста выводится номер отказавшего разрядa 0...7, причем проверка начинается с разряда D0.
    Поэтому, если выводится параметр "0", то можно сказать, что озу совсем не работает.
    При ошибке выдаётся звуковой сигнал. Появляющийся в правом верхнем углу экрана квадратик означает, что ОЗУ проверяется на запись байтов "0FFH", его отсутствие - запись нулей.
    Тестовые программы работают без использования ОЗУ.
    ---
    Вот так, только благодаря инструкции, прошитой в ПЗУ, тест не был потерян навсегда
    Возможно, он кому-то пригодится и даже понравится
    У меня сейчас нет возможности проверить его работу.

    UPD: Проверил работу теста под эмулятором UnrealSpeccy.
    Для этого пришлось скомпоновать 16K-образ ПЗУ из восьми исходных 2К-образов и получившийся в результате файл SOS.ROM подкинуть эмулятору. Этот SOS.ROM (прилагаю) можно записать в микросхему ПЗУ 2764, чтобы использовать на реальном железе.

    Тест работает, сделал скриншот
    В дополнение к вышеприведенному описанию:
    - тесты памяти 5-6-7 циклически повторяются;
    - если ошибок в памяти нет, на месте второй цифры выводится буква "G" (Good).
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	TEST-ZX_ScrShot.jpg 
Просмотров:	446 
Размер:	64.6 Кб 
ID:	67175  
    Вложения Вложения
    • Тип файла: rar TEST-ZX.RAR (1.4 Кб, Просмотров: 458)
    • Тип файла: rar SOS.RAR (1.4 Кб, Просмотров: 390)
    Последний раз редактировалось KenKo; 05.12.2018 в 15:47. Причина: Добавления

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

    blackinwoman (20.03.2024)

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

  4. #2
    Master
    Регистрация
    19.11.2012
    Адрес
    г. Луганск
    Сообщений
    698
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    82
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KenKo Посмотреть сообщение
    без использования ОЗУ.
    Ничего на экране не будет, если не работает ОЗУ для видео. Есть модели с 2 линейками: ОЗУ и основная память (Краснодар) и с одной (Ленинград).
    Ваш тест ничем не отличается от обычного.
    Есть вариант хитроумно выводить что-то на бордюре, но из-за различных "таймингов" и чисел строк в кадре нужно будет под каждую модель подстраиваться.
    Второй вариант выводить просто ошибки цветом бордюра или "пикать" через динамик - малоинформативно.

  5. #3
    Member
    Регистрация
    03.04.2010
    Адрес
    Bryansk
    Сообщений
    49
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PATHNK Посмотреть сообщение
    Ваш тест ничем не отличается от обычного.
    Без проблем. Пользуйтесь обычным. Я же не настаиваю
    Кстати, когда появился этот "обычный", не подскажете?

  6. #4
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,243
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    182 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PATHNK Посмотреть сообщение
    Второй вариант выводить просто ошибки цветом бордюра или "пикать" через динамик - малоинформативно.
    Для теста ОЗУ этого достаточно. ОЗУ надо чинить в первую очередь, а потом будет картинка.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  7. #5
    Member
    Регистрация
    03.04.2010
    Адрес
    Bryansk
    Сообщений
    49
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Для теста ОЗУ этого достаточно.
    Да, но, по-идее, эти большие цифры должны быть видны сквозь "мусор" на экране даже при очень сильно сбоящем ОЗУ, т.к. они рисуются в области аттрибутов.
    А для работы самого теста важна только исправность шины данных и управляющих сигналов между CPU и ROM, а также исправность шины адреса в пределах первого килобайта (т.е. до 3FFh - столько места занимает тест). Пригляделся к прошивке и вспомнил один ньюанс - там, в конце программы зашита табличка с заранее вычисленными адресами для команд возврата. На эту область настраивается указатель стека

  8. #6
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,794
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    1,189
    Поблагодарили
    782 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KenKo Посмотреть сообщение
    в конце программы зашита табличка с заранее вычисленными адресами для команд возврата. На эту область настраивается указатель стека
    в похожем тесте активно используется jp (ix/iy), а у тебя я смотрю индексные регистры вообще не задействованы

  9. #7
    Member
    Регистрация
    03.04.2010
    Адрес
    Bryansk
    Сообщений
    49
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    индексные регистры вообще не задействованы
    Вполне возможно такое.
    Систему команд Z80 тогда только начинал изучать, да и документации было маловато, мягко говоря (интернет был недоступен).
    Проще было по-старинке, на асме 8080

  10. #8
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,794
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    1,189
    Поблагодарили
    782 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    понятно, я просто забыл год выпуска.
    представляю каково было отлаживать (прошил/проверил/стёр/прошил .....)

  11. #9
    Member
    Регистрация
    03.04.2010
    Адрес
    Bryansk
    Сообщений
    49
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    (прошил/проверил/стёр/прошил .....)
    Не, это слишком круто. Берегли ресурс ПЗУ, отлаживали "в уме" - с карандашом, по бумажке. Ассемблировали тоже вручную, "по таблице". Потом, правда, уже задышала CP/M, стало проще
    С сегодняшней точки зрения все это выглядит как закат солнца вручную.. Но были и плюсы - набрав однажды с тумблеров 2К монитор для Микро-80, запомнил двоичную систему навсегда
    Очень трудно было с доставаемость всего. Даже кнопки для клавиатуры не так просто было найти, не говоря уже про микросхемы. Процессор для первого в Брянске спектрума одолжили ребята с рязанского завода САМ (это был чип от MOSTEC, запомнилось почему-то). Потом пришлось его вернуть. А печатную плату привезли из Вильнюса (вариант "Сантака", с тремя рядами памяти).
    Вот клавиатура для спектрума тех времён. Слабонервным не смотреть
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	ZX_Kbd_1.jpg 
Просмотров:	482 
Размер:	77.2 Кб 
ID:	67191   Нажмите на изображение для увеличения. 

Название:	ZX_Kbd_2.jpg 
Просмотров:	668 
Размер:	55.9 Кб 
ID:	67192  

  12. #10
    Master Аватар для siemensC35
    Регистрация
    13.10.2017
    Адрес
    г. Днепр, Украина
    Сообщений
    770
    Спасибо Благодарностей отдано 
    149
    Спасибо Благодарностей получено 
    131
    Поблагодарили
    111 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    представляю каково было отлаживать (прошил/проверил/стёр/прошил .....)
    возможно автор использовал РУ10 для отладки
    http://shoorick.ho.ua/prog/
    -----------
    автор уже ответил, 1000 извинений

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

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

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

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

Похожие темы

  1. "Партнёр 01.01": тестовое ПЗУ
    от xlat в разделе Радио-86РК
    Ответов: 11
    Последнее: 25.03.2021, 11:59
  2. Ответов: 24
    Последнее: 30.04.2016, 23:47
  3. Полосы в ZX Spectrum без ПЗУ как образуются?
    от PATHNK в разделе Программирование
    Ответов: 13
    Последнее: 28.04.2013, 09:54
  4. содержимое ПЗУ В ОЗУ
    от Руслан в разделе Память
    Ответов: 23
    Последнее: 10.04.2013, 20:23
  5. Очень нужен тест ОЗУ для Spectrum-128.
    от Terazini в разделе Разный софт
    Ответов: 4
    Последнее: 26.05.2005, 19:44

Ваши права

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