User Tag List

Показано с 1 по 10 из 381

Тема: Pentagon 1024SL 1.4 - сборка и наладка.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10

    Регистрация
    06.01.2011
    Адрес
    г. Днепр, Украина
    Сообщений
    804
    Спасибо Благодарностей отдано 
    43
    Спасибо Благодарностей получено 
    198
    Поблагодарили
    100 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexFantasy Посмотреть сообщение
    Northwood, Это очень интересно и занимательно!!!

    Для начала просто подскажи мне вот что:

    1. У меня неисправнось типа битой логики???
    или
    2. У меня все работает, но тест так показывает из-за "особенности" платы. И мне просто нужно вносить изменения в схему???
    2-й вариант - тест показывает особенности платы.

    Цитата Сообщение от AlexFantasy Посмотреть сообщение

    Схему с софт поддержкой в студию!!!
    Вечером выложу свою ПЗУ и схему. Полностью это ПЗУ работает только с теми доработками, которые у меня были в Пентагоне-128.

    Пока вкратце расскажу возможности и принцип работы прошивки и особенности доработки в той версии, которая у меня была. Сразу же оговорюсь, что в тот момент у меня из статики были только 2 шт РУ17, в сумме 16 Кб, поэтому данная версия ПЗУ поддерживает подмену любой из 3-х страниц ПЗУ, но одновременно только одной.

    Необходимо наличие порта конфигурации #9FFD:

    0-й и 1-й биты определяют конфигурацию верхней памяти:

    00 - 128 Кб
    01 - #7FFD 512 Кб
    10 - #DFFD и #FDFD 1024 Кб
    11 - #1FFD - 256 Кб.

    Со следующими битами по памяти могу ошибаться, поэтому вечером уточню.

    2-й бит, если в 0, то включает 0-ю и 1-ю страницу ПЗУ в обход триггера TR-DOS. Т.е. без прошивки в 0-й странице ПЗУ после введения этой схемы, компьютер не загрузится, т.к. прошивка перед выходом в Basic-128/48 должна обязательно включить этот бит #9FFD в 1.

    3 и 4 биты определяют, куда должен выходить компьютер после каждого сброса - в Basic-128, Basic-48 или TR-DOS.

    5 и 6 биты управляют теневым ОЗУ:

    00 - теневое ОЗУ выключено.
    01 - подмена ПЗУ TR-DOS
    10 - подмена ПЗУ Basic-128
    11 - подмена ПЗУ BASIC-48


    При запуске программы из 0-й страницы ПЗУ, первым делом
    проверяется нажатая клавиша "B". Если она не нажата, то на General Sound подаётся команда сброса. Если нажать клавишу "B", то сброс на GS не подаётся и музыка продолжает играть. Для этого по железу не нужно объединять общий сброс компьютера и сброс General Sound-а, но необходимо напаять конденсатор 1 мкф на линию сброса GS чтобы после включения питания он подавал признаки своего наличия.

    Далее проверяется доступность основных 8-и страничек ОЗУ, тест НЕ использует для своей работы ОЗУ, храня результаты только в регистрах процессора, указатель стека SP при этом указывает на область ПЗУ с заранее заготовленной таблицей адресов возврата либо адреса возврата записываются в регистры IX и IY:

    В самую последнюю ячейку ОЗУ по адресу #FFFF в каждой страничке записывается по 1 байту - номер страницы ОЗУ, затем проверяется. В случае обнаружении ошибки, бордюр включается в синий цвет и на экран выводится текст ошибки.

    При любой ошибке тестировании ОЗУ текст дублируется на оба экрана - на основной и дополнительный, в этом случае каждое нажатие любой клавиши переключает основной экран на дополнительный и обратно.

    Далее проверяется пересечение страниц - записанное число "5" в 5-й странице по адресу #FFFF должно совпадать с ячейкой по адресу #7FFF, и записанное число "2" во 2-й странице по адресу #FFFF должно совпадать с ячейкой по адрес #BFFF. В случае обнаружении ошибки, бордюр окрашивается в пурпурный цвет и на экран выводится текст ошибки.

    Далее проверяется максимальный доступный объём ОЗУ:

    Проверяется доступность 512 Кб через #7FFD, но по 1 байту каждой страницы записываются по адресу #FFFE.

    Проверяется доступность 1024 Кб через #DFFD или #FDFD, но по 1 байту каждой страницы записываются по адресу #FFFD.

    Проверяется доступность 256 Кб через #1FFD, но по 1 байту каждой страницы записываются по адресу #FFFC.

    Проверяется доступность 256 Кб через нестандартный порт #F7, но по 1 байту каждой страницы записываются по адресу #FFFB. Данный порт расширения - это реализация Мишы Борисова в его Орели БК-08.

    Все результаты по прежнему хранятся в регистрах процессора в сжатом виде - по 1 биту регистра на линейку из 8 страниц ОЗУ. Если в какой-либо линейке из 8 страниц дополнительной памяти не доступна хоть 1 страница ОЗУ, то вся линейка из 8 страниц считается не доступной.

    По порту #7FFD, то здесь у меня обнаружилась ошибка, которая вылезла на этом Пентагоне-1024 - при тестировании расширения памяти через этот порт, здесь доступен 7-й бит расширения и не доступен 6-й бит, это приводит к ошибке во время тестировании самого ОЗУ на исправность, т.е. тест выдаёт ошибку ОЗУ с красным бордюром. После того как запущу в работу свой Пентагон-1024, эту ошибку исправлю.

    Далее проверяется наличие в предпоследней странице ОЗУ сохранённых данных о конфигурации. Предпоследняя страница определяется так: Если доступно 128 Кб, то это 6-я страница, если 256 Кб, то это 14-я страница, если 512 Кб, то это 30-я страница, если 1024 Кб, то это 62-я страница. Данные находятся с адреса #FFC0 по #FFFF, и состоят из сигнальных байтов, байтов хранящих текущую конфигурацию и простую 2-байтную контрольную сумму. Если эти данные не обнаружены или повреждены, то после опроса клавиши Enter (если Enter не был нажат), то запускается тест ОЗУ с полной очисткой его содержимого. Если эти данные в целости и сохранности, то опрашивается клавиша "L", если она не была нажата, то тест ОЗУ пропускается и данные из него сохраняются. Т.е. удерживаемая клавиша "L" запускает тест ОЗУ принудительно.

    Этап проверки исправности ОЗУ - данный этап теста был позаимствован мною у Мишы Борисова, который поделился со мной исходником, но я внёс некоторые доработки, которые заметно ускорили его работу:

    После определения, через какой из портов расширения памяти доступен максимальный объём, выбирается для теста именно этот порт.

    Тест простой сначала одна страница ОЗУ полностью заполняется значением FF, затем проверяется, затем полностью заполняется значением 00, затем проверяется. Если страница исправна, то на экран выводится объём уже протестированной памяти. Если не исправна, то бордюр окрашивается в красный цвет и выводится тест ошибки с сообщением адреса, номера страницы ОЗУ, записанным и считанным значением в двоичном виде.

    Далее тестируется кое-что из периферии:
    Наличие кэмстона джойстика, порта атрибутов, муз.процессор AY, General Sound.

    Ещё в своё время я был одержим идеей подключения к Спектруму видеоприставки Dendy, которая должна была позволять загружать файлы образов картриджей с дискеты в память Dendy и запускать игры. Эту идею я прочитал в одной из книг и реализовал тестирование наличия порта Dendy. К этой идее я остыл, но тест порта остался.

    Следующим этапом тестируется доступность трёх страниц ПЗУ - TR-DOS, Basic-128 и Basic-48, для этого выполняемый код временно помещается в ОЗУ. В случае недоступности любой из страниц ПЗУ, на экран выводится текст ошибки.

    И последним этапом измеряется быстродействие процессора при выполнении данных из ПЗУ и из экранной области ОЗУ. Правда результат измерения выводится у меня в МГц с точностью до сотых и привязываются к Пентагону-128. Т.е. 3.5 МГц покажет при быстродействии Пентагона и меньше на WAIT-овых компьютерах (Скорпионы, Ленинграды и т.д.). И больше покажет если будет турбирован процессор.

    При тестировании быстродействия используется 2-й режим прерывания (IM2). При тестировании быстродействия в области ПЗУ, указатель стека SP помещается в область ПЗУ на заготовленную таблицу адресов возврата, и в ПЗУ находится вектор прерывания IM2.

    Далее (после нажатия на любую клавишу) запускается меню конфигурации:

    Здесь все накопленные данные о доступности расширения ОЗУ распаковываются из регистров процессора в ОЗУ в предпоследнюю страницу с инфой, какие порты расширения имеются.

    Меню конфигурации содержит пункты:

    Выход в Basic-128 / 48 / TR-DOS.
    Таким образом после выхода из этого меню конфигурации, после каждого следующего нажатия на Reset, после тестирования портов расширения памяти, сразу происходит выход в Бейсик-128, 48 или TR-DOS. Для того чтобы попасть в меню конфигурации опять, нужно при сбросе удерживать клавишу "L".

    Конфигурация памяти - 128k / порт #7FFD / порт #DFFD или #FDFD / порт #1FFD/

    Теневое ОЗУ - отключено / Basic-48 / Basic-128 / TR-DOS.

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

    P.s. Вообще была идея доработать всё это до использования микросхемы CMOS, которая бы питалась от 3-вольтовой батарейки, для того чтобы данные конфигурации хранить не в ОЗУ, а в CMOS, таким образом на Спектруме получился бы настоящий BIOS

    ---------- Post added at 15:49 ---------- Previous post was at 15:08 ----------

    Цитата Сообщение от AlexFantasy Посмотреть сообщение
    Давно хотел спросить в чём отличие 1.4 и 1.41???? В перемычках и доп.флешере на 561ИЕ10????
    Цитата Сообщение от ChipManyak Посмотреть сообщение
    Флешер и перемычки, это моих рук дело.
    Спасибо ChipManyak за эти 2 доработки. Он даже развёл все соединения для дополнительной 561ИЕ10 так, что остаётся только (разобрав оригинальный флешер) впаять в монтажное поле 561ИЕ10 и напаять 2 перемычки МГТФом - вход и выход счётчика (флешера) - на вход (выв.2 561ИЕ10) нужно подать сигнал KSI, а выход (выв.11 561ИЕ10) нужно соединить туда где был коллектор транзистора VT1.
    Последний раз редактировалось Northwood; 15.09.2011 в 16:57.
    С уважением, Александр

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

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

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

Похожие темы

  1. Pentevo/ZX Evolution - сборка и наладка
    от Ewgeny7 в разделе ZXEvo
    Ответов: 1267
    Последнее: 28.01.2025, 08:14
  2. Гамма-2 - сборка и наладка
    от CodeMaster в разделе Несортированное железо
    Ответов: 72
    Последнее: 16.10.2023, 23:26
  3. Speccy2007 - сборка и наладка
    от zx-kit в разделе Speccy-2007/2010
    Ответов: 178
    Последнее: 18.10.2017, 02:32
  4. Гамма 2А - сборка и наладка
    от CodeMaster в разделе Несортированное железо
    Ответов: 12
    Последнее: 27.08.2010, 10:20
  5. Sprinter. Сборка и наладка
    от Ewgeny7 в разделе Sprinter
    Ответов: 10
    Последнее: 18.02.2010, 07:49

Ваши права

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