Страница 3 из 3

Re: NuXT своими руками

Добавлено: Сб авг 24, 2024 3:25 pm
Lyawon
Lyawon писал(а): Вс июн 16, 2024 7:13 pm Никогда не имел дело с прошивкой микроконтроллеров и вот для NuXT понадобилось прошить pic12f629 прошивкой конвертора клавиатуры XTATKEY_094.
Расчехлил программатор T48, прочитал на всякий случай пустой контроллер и сохранил файл. Загрузил прошивку, нажал прошить и в конце выдало programming failed.
После этого контроллер при чтении выдаёт все нули, в том числе и свой ID.
Предполагаю, что всё это из-за не снятой птички "Erase Before".
Купил ещё пару контроллеров и снова сел за прошивку. На этот раз решил заливать по частям. Залил FLASH - ОК, читается с контроллера то, что записано. Залил EEPROM - тоже ОК.
Заливаю configuration word - ошибка верификации и контроллер снова при чтении выдаёт одни ноли. Решил проверить, а работает ли он? Поставил в плату - клавиатура работает %) Поставил первый контроллер, который ведёт себя так же - тоже работает.
Выглядит так, как будто бы активирована защита кода. Конфигурация выглядит так:
CW.png
CW.png (22.63 КБ) 969 просмотров
Защита - биты 7 и 8. Птичка не установлена - пишется единица.
Если я правильно понимаю, то /CP=1 это "НЕ защита кода = 1" т.е. защиты снята. Или я не правильно понимаю...

Re: NuXT своими руками

Добавлено: Сб авг 31, 2024 7:45 pm
Lyawon
Lyawon писал(а): Вт июл 16, 2024 12:07 am Ах да, я же там ещё в одном месте перерезал, когда чистил между контактами слота CF! Не забыть бы поправить, а то СF не будет читаться!
Это восстановлено.

Re: NuXT своими руками

Добавлено: Вс июн 29, 2025 2:51 pm
Lyawon
Добрались руки снова до этой NuXT.
Да, есть стандартный биос от Киселёва, работающий на этой плате - это комбинация 8088 BIOS (который включает в себя также поддержку дисководов) и XUB, который реализует поддержку IDE (в данном случае CF). Всё работет, но хочется красивого и морального удовлетворения естественно =) ну и выжать максимум из платы.
Поставил V20 (у меня есть парочку: один D70108C-8 СШП и D70108HCZ-10 Ниппония - оба стабильно работают на 9,5 мГц что не удивительно).
Далее - BIOS.
Поэтому план такой: GlaBIOS + Multi FLoppy + XUB.
Но есть нюанс.
Биосы от Киселёва (как 8088, так и MultiFloppy) обладают одной особенностью - у них есть setup utility, который вызывается по F2, где можно произвести настройки конфигурации и _сохранить_ (!) их прямо в BIOS. Да-да, не в CMOS (так как его нету), а прям в BIOS (естественно это можно сделать, если BIOS записан в EEPROM).
Итак, пишем в EEPROM так:
0000h - 2FFFh (12k) - XUB
3000h - 4FFFh (8k) - MultiFloppy
E000h - FFFFh (8k) - GlaBIOS
В такой ситуации Option ROMы (коими является XUB и MultiFloppy) инициализируются биосом по порядку - сначала XUB, потом MultiFloppy. Можно через F2 попасть в конфигурацию MultiFloppy, однако конфигурация не сохраняется.
Путём научного тыка определил, что конигурация сохраняется тогда, когда MultiFloppy записан в начале.
Записываю так:
0000h - 1FFFh (8k) - MultiFloppy
2000h - 4FFFh (12k) - XUB
E000h - FFFFh (8k) - GlaBIOS
В такой ситуации после инициализации Optional ROMов управление передаётся сразу на XUB. Флоппики работают, однако приглашение Press F2 от Multi Floppy не выводится, по F2 я могу попасть только в boot menu от XUB.
Немного почитал доки на MultiFloppy и вручную поправил конфигурацию MultiFloppy так, чтобы приглошение выводилось не в момент загрузки, а в момент инициализации. Приглашение выводится на экран, но всё равно в конфигурацию не входит. Даже если оставить только MultiFloppy с такой конфигурацией, то на F2 не реагирует. Закрадывается подозрение, что в момент инициализации MultiFloppy, клавиатура не работает.
photo_2025-06-29_13-46-20.jpg
photo_2025-06-29_13-46-20.jpg (63.51 КБ) 330 просмотров
В целом, выглядит так, что что-то hard coded в коде MultiFloppy BIOS, что не даёт правильно сохранить конфигурацию, если он находится не в начале. Но я не силён в asm. Товаришь @kmeaw, глянь своим опытным глазом, что может быть не так https://github.com/skiselev/floppy_bios ... /flash.inc

@arti9m, ты помниться упоминал про BIOS FDC в своих XTшках. Но я сомневаюсь, что он будет с подобным функционалом (сохранение конфигурации). Скорее всего у тебя конфигурация джамперами, так?

Re: NuXT своими руками

Добавлено: Вс июн 29, 2025 9:32 pm
arti9m
Lyawon писал(а): Вс июн 29, 2025 2:51 pm @arti9m, ты помниться упоминал про BIOS FDC в своих XTшках. Но я сомневаюсь, что он будет с подобным функционалом (сохранение конфигурации). Скорее всего у тебя конфигурация джамперами, так?
Времени уже немало прошло, не помню.
По-моему я что-то пре-конфигурировал и зашивал ПЗУ с нужным мне конфигом, но могу ошибаться.

Помню другую неприятную особенность. На XT-шках нет никаких делителей частоты, и даже на 8MHz один из моих контроллеров флоппарей уже не работал (работал только на 4.77). А вот мультикарта 16-битная, воткнутая в 8-битный слот, работала даже на 10 MHz.

Re: NuXT своими руками

Добавлено: Пн июн 30, 2025 12:16 pm
Lyawon
Заделал места ремонта маской с УФ отверждением. Блин, она как камень становится когда высохнет. А сохнет прям за пару минут.

Re: NuXT своими руками

Добавлено: Пн июн 30, 2025 4:41 pm
cyreex
@Lyawon Я уф маской даже сколы на корпусе электрогитары недавно чинил 🤣 Она не хуже эпоксидки держит, но намного удобнее с ней работать.

Re: NuXT своими руками

Добавлено: Ср июл 02, 2025 2:27 pm
SiO
Lyawon писал(а): Сб авг 24, 2024 3:25 pm
Lyawon писал(а): Вс июн 16, 2024 7:13 pm Никогда не имел дело с прошивкой микроконтроллеров и вот для NuXT понадобилось прошить pic12f629 прошивкой конвертора клавиатуры XTATKEY_094.
Расчехлил программатор T48, прочитал на всякий случай пустой контроллер и сохранил файл. Загрузил прошивку, нажал прошить и в конце выдало programming failed.
После этого контроллер при чтении выдаёт все нули, в том числе и свой ID.
Предполагаю, что всё это из-за не снятой птички "Erase Before".
Купил ещё пару контроллеров и снова сел за прошивку. На этот раз решил заливать по частям. Залил FLASH - ОК, читается с контроллера то, что записано. Залил EEPROM - тоже ОК.
Заливаю configuration word - ошибка верификации и контроллер снова при чтении выдаёт одни ноли. Решил проверить, а работает ли он? Поставил в плату - клавиатура работает %) Поставил первый контроллер, который ведёт себя так же - тоже работает.
Выглядит так, как будто бы активирована защита кода. Конфигурация выглядит так:
CW.png
Защита - биты 7 и 8. Птичка не установлена - пишется единица.
Если я правильно понимаю, то /CP=1 это "НЕ защита кода = 1" т.е. защиты снята. Или я не правильно понимаю...
Биты инверсные, соответственно 0 это запрограммирован бит. Биты CP и CPD code protection. Если не нужна защита, то в 1 программируем. Подробнее в даташите можно узнать. Внизу отмечено , что птички это 0, соответственно отмечаем те биты которые должны работать.

Re: NuXT своими руками

Добавлено: Ср июл 02, 2025 2:35 pm
SiO
Кстати, если каму нужно какую прошивку придумать для AVR или PIC, то могу поспособствовать. Или даже что то на ESP через ардуино IDE. Еще подумываю может какие курсы замутить по программированию 8 битных мк PIC и AVR. Но не на Си, а на нормальном структурированном с хорошим восприятием Pascal. На нем сам программирую и мне очень нравиться.