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

User Tag List

Страница 7 из 36 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 354

Тема: Корвет: ExtROM Open Source extender

  1. #61

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    тут попался забавный кроссам
    http://members.shaw.ca/gp2000/zmac.html
    еще не пробовал, но выглядит забавно
    А что, отличный ассемблер, кстати. Главное, поддерживает синтаксис Intel 8080 (ключ -8). Я его собрал, запустил, вроде работает. Порылся в твоей коллекции исходников биосов, нашел вполне приличный bios-2.1-89-MGU. Он, по крайней мере, нормально откомментирован.

    Попробовал собрать. Как ни странно, собрался практически без проблем. На выходе получил кучку файлов в разных забавных форматах, пришлось читать доку, чтобы понять, что нужный мне сырой бинарник - это .CIM-файл. Взял дискету CP/M, посчитал смещения, записал этот бинарник внутрь системных дорожек. Попробовал загрузить с нее корвет.
    Система бодро написала CP/M vers 2.2, а вот дальше на экран полез мусор. Сказка кончилась. Ну, тут сразу понятно, что мусор вылез из-за преобразования исходников из KOI-8 в UTF-8. Тут придется или вбить сообщения в виде хекс-кодов, или вообще использовать только латинские буквы.

    Вообщем, сборка биоса вполне возможна. Единственное - я нотацию интела терпеть не могу, поэтому сделал еще один шаг - преобразовал исходники биоса в сиснтаксис Z80, к которому я больше привык. Транслировать его можно тем же xmac (он мне понравился, хороший ассемблер), можно и pasmo, и z80asm, это уже без разницы.

    Сейчас схожу за пивком и попробую загрузить оттранслированный биос в эмулятор, посмотрю в отладчике, где оно виснет и почему. После того, как самоcборный биос успешно заработает, можно будет начинать вносить в него код драйвера эмулируемых дисков.

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

  3. #62

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    круто!
    а у меня
    прикрутил к эмулятору "эмулятор ext rom extender"
    по крайней мере stage1 грузит stage2
    и stage2 грузит kdi
    что не может не радовать
    напишу теперь тест скорости, есть идеи.

    мне наконец приехал USB TV CAPTURE, поехал пробовать на реальном корвете
    если заработает - заберу домой, буду пилить реальную железку

    ну и почти всё для железки тоже есть, плата, проц, тоже поеду братца пинать чтоб это все спаял в кучу

    ---------- Post added at 17:52 ---------- Previous post was at 17:50 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Ну, тут сразу понятно, что мусор вылез из-за преобразования исходников из KOI-8 в UTF-8. Тут придется или вбить сообщения в виде хекс-кодов, или вообще использовать только латинские буквы.
    забить и оставить только ENGLISH
    тем более и реальные биосы есть такие

  4. #63

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    прикрутил к эмулятору "эмулятор ext rom extender"
    по крайней мере stage1 грузит stage2
    и stage2 грузит kdi
    А поделиться? Мне тоже нужен рабочий инструмент для отладки проекта

  5. #64

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    А поделиться? Мне тоже нужен рабочий инструмент для отладки проекта
    конечно, просто оно задышало буквально за 5 минут до поста
    А после я убежал.
    Ещё надо понять как это в приличном виде оформить
    Надеюсь завтра что-то выложу.

  6. #65

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я наконец доотлаживал биос, предназначенный для работы с данным проектом. Выкладываю исходники.

    В этом биосе диски A и B - это диски, эмулируемые через контроллер extrom. Реальные дисководы отображаются на буквы C и D. Диск E - это, как обычно, рамдиск в ГЗУ. Места мой драйвер занял на удивление мало, там в биосе еще места навалом под всякие расширения, если потребуются.

    Исходники собирались макроассемблером ZMAC. Мне он понравился, очень хорошая вещь. В результате трансляции получается полный образ системных дорожек - этот бинарник можно прямо вписывать с начала KDI-файла, он имеет размер 10К и выровнен на границу физической дорожки.

    Теперь настало время доработать прошивку контроллера для поддержки двух образов дисков (сейчас там один и тот же образ отображается и на А, и на В). И после этого можно будет подумать о расширении API для работы с образами - монтирование, список итд. Это будет, в принципе, уже финальная стадия проекта, после которой с эмулятором EXTROM можно будет полноценно работать. Я еще потом доделаю данный bios в плане косметики - работу с принтером по прерыванию, встроенный прямо в BDOS редактор командной строки типа деда, нормальные драйвера последовательного порта, может быть драйвер сетевого диска как в CP/N, итд.

    Как важное дополнение к проекту, ESL обещал написать универсальный патчер, встраивающий драйвера extrom в любой BIOS из встречающихся. Прямо в памяти при загрузке. Ну, и на этом, пожалуй, все.
    Вложения Вложения

  7. #66

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    как всегда - круто!

    продолжем пилить
    Последний раз редактировалось esl; 08.07.2014 в 19:54.

  8. #67

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Знаешь, собирать системные дорожки из огрызков бинарников - это как-то не по мне. Проще собрать все из исходников.

    Тот BDOS, который использовал я, после трансляции до последнего байта совпадает с BDOS, лежащим на дисках корвета. Потому как это оригинальный BDOS CP/M 2.2, исходники которого никто не менял. И я там пока ничего не трогал. Понятно, что у микродоса свой BDOS, но к микродосу и биос мой не подойдет. А так - какая разница, откуда он взят - со старых дисков или получен трансляцией исходников, если все это одно и то же.

    Ну и, вообще-то, лезть в BDOS по абсолютным адресам, в обход официальных точек входа - это очень грязный прием. Конечно, некоторым программам это жизненно необходимо. Деду, например. Так дед с моей системой вполне корректно работает

    Кстати. Таким примерно образом можно попробовать запустить CP/M поновее 2.2 Например 3.0. Исходники в сети есть, надо только разобраться, что там изменилось в интерфейсе с биосом.

  9. #68

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Кстати. Таким примерно образом можно попробовать запустить CP/M поновее 2.2 Например 3.0. Исходники в сети есть, надо только разобраться, что там изменилось в интерфейсе с биосом.
    можно, только это уже имхо совсем другой процесс

  10. #69

    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    254
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    62
    Поблагодарили
    28 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Как важное дополнение к проекту, ESL обещал написать универсальный патчер, встраивающий драйвера extrom в любой BIOS из встречающихся. Прямо в памяти при загрузке.
    Я правильно понял, что можно будет подсовывать любой kdi и оно будет патчить образу биос "на лету" перед загрузкой? И как насчет МикроДоса, он есть в планах?
    Кстати, а реально автоматически детектить уникальные биосы по каким-нибудь косвенным признакам? Чего-то мне кажется, что такие могут еще найтись.
    Последний раз редактировалось Serebriakov; 08.07.2014 в 20:21.

  11. #70

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну да, ESL обещал. Он уже и базу составил всех известных биосов - она где-то в этой теме лежит. Можно и микродос - по сути, его биос в плане работы с дисками не сильно отличается от биоса CP/M.

    А вот как планируется детектить конкретный BIOS - это, я надеюсь, ESL нам сейчас расскажет. Я бы использовал или хеш (контрольеую сумму участка кода) или базу сигнатур.

    Насчет неопознанных биосов - вряд ли их получится вот так запатчить, не раскапывая и не внося в базу. Предполагалось, что если биос не опознан - то вместо него будет подставляться стандартный, типа того что я выше выложил.

Страница 7 из 36 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Open source firmware for the Spectrum
    от zx-kit в разделе Разный софт
    Ответов: 60
    Последнее: 29.05.2014, 13:53
  2. open-source эмуляторы под .NET
    от Sawyer в разделе Эмуляторы
    Ответов: 1
    Последнее: 04.01.2011, 17:47
  3. GP2X F100 Open Source Gaming Console
    от CodeMaster в разделе Зарубежные компьютеры
    Ответов: 3
    Последнее: 12.06.2010, 23:51
  4. Open Source эмуль...
    от rg_software в разделе Эмуляторы
    Ответов: 50
    Последнее: 06.12.2006, 11:57

Ваши права

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