User Tag List

Страница 16 из 36 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя
Показано с 151 по 160 из 354

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

  1. #151

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

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Жду рассказ об истории успеха, когда у тебя загрузится CP/M до промпта A>.
    Так сразу и загрузилась
    И MOUNT выдает список образов
    Как бы я позапускал игрушки

    ---------- Post added at 14:02 ---------- Previous post was at 14:00 ----------

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

    В обчем обычная работа QA

    ---------- Post added at 14:03 ---------- Previous post was at 14:02 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Имеешь в виду случай, когда на диске нет программы mount? Может быть, ты и прав. Раз уж ты там пишешь загрузчик фазы 2 - заодно и вставь туда, например, проверку на нажатие левого шифта. Хотя, мне кажется, что это довольно редкий случай, когда потребуется Control отключать.
    Вставлю конечно.
    Редкий, но если оно есть - удобно.

    ---------- Post added at 14:04 ---------- Previous post was at 14:03 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Вставка задержки при формировании сигнала подтверждения приема - мысль хорошая. Таким образом дается время на стабилизацию сигналов. Правда, при этом теряется производительность. Наверное, разные ВВ55 имеют сильный разброс параметров - твой более тормозной, чем мой.
    Я поиграюсь с длинной задержки, не быстро, но надо же этот анализатор к чему либо подключить
    Последний раз редактировалось esl; 18.07.2014 в 15:09.

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

  3. #152

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

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    Так сразу и загрузилась
    И MOUNT выдает список образов
    Как бы я позапускал игрушки [
    А, так вон оно что. Значит, все работает? Ну вот и прекрасно. Значит, мы имеем уже двух людей на этой планете, успешно собравших контроллер. И ты еще раз подтвердил то, что я говорил в самом начале - если в схеме нет ошибок, то она начинает работать сразу без всякой настройки. Другое дело, что проводов там много и ошибку допустить раз плюнуть. Но это все зависит от внимательности при сборке и проверке.
    Я поиграюсь с длинной задержки, не быстро, но надо же этот анализатор к чему либо подключить
    Анализатор тут тебе мало поможет - сигнал обрабатывается внутри ВВ55, туда ты анализатор не запихаешь. Но я сразу могу сказать, что 4 nop будет достаточно, ибо это укладывается в заданную фирмой интел минимальную ширину импульса. Я потом поигрался с оптимизацией, и убедился, что моему ВВ55 хватит и 2 nop. Видимо, надо поставить 4 и так и оставить, чтобы не отходить от стандарта.

    Попробовал тут твой универсальный загрузчик. В принципе работает. Как обычно, несколько замечаний.

    1. В самом начале загрузчика, еще до первого чтения секторов с диска, надо выдать команду А0 с trk=0, для отключения режима подстановки. Он по умолчанию включен.

    2. В конце цепочки идентификации, если биос не опознан, не вешать систему намертво, а дать команду A0 с TRK=1 и потом безусловный переход обратно на начало загрузчика, чтобы загрузился дефлотный биос. Сигнатуру дефлотного биоса также внести в базу - он может встречаться на реальных образах дисков, и при его опознании просто его запустить без всяких патчей.

    3. Реальные дисководы не работают. Ну тут ты, я думаю, уже разобрался с причиной. Но я о другом. Зря ты использовал маски 80 и 81 для идентификации эмулируемых дисков. Такая маска, будучи загружена в порт выбора дисковода, выбирает реальный физический дисковод - даже лампочка на нем загорается. Кроме того, такие маски формально являются допустимыми в системе - для 8" дисков А и В.
    Именно поэтому я и использовал 00 - такой маски в природе не бывает, и даже если ее загрузить в порт - ничего выбрано не будет.

    Теперь тебе еще надо для микродоса базу патчей сделать, ну и вроде как все. Также можно добавить хоткей для принудительной загрузки дефлотного биоса. Хотя это можно сделать, просто положив на карту нужный LOADER.BIN - с патчами или без.
    Вообщем, доделывай загрузчик, и будем готовить к выпуску релиз нашей разработки.

  4. #153

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

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Попробовал тут твой универсальный загрузчик. В принципе работает. Как обычно, несколько замечаний.

    1. В самом начале загрузчика, еще до первого чтения секторов с диска, надо выдать команду А0 с trk=0, для отключения режима подстановки. Он по умолчанию включен.
    Конечно, я же сразу написал что работы вел на старой редакции
    чтоб время на это не тратить
    теперь как заработало - буду уже прикручивать плюшки.

    ---------- Post added at 19:49 ---------- Previous post was at 19:47 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    2. В конце цепочки идентификации, если биос не опознан, не вешать систему намертво, а дать команду A0 с TRK=1 и потом безусловный переход обратно на начало загрузчика, чтобы загрузился дефлотный биос. Сигнатуру дефлотного биоса также внести в базу - он может встречаться на реальных образах дисков, и при его опознании просто его запустить без всяких патчей.
    Само собой
    Надпись для этого и вывожу, это заготовка.
    Если не задетектил - выводим надпись и включаем эмуляцию.

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

    ---------- Post added at 19:52 ---------- Previous post was at 19:49 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Зря ты использовал маски 80 и 81 для идентификации эмулируемых дисков. Такая маска, будучи загружена в порт выбора дисковода, выбирает реальный физический дисковод - даже лампочка на нем загорается. Кроме того, такие маски формально являются допустимыми в системе - для 8" дисков А и В.
    Именно поэтому я и использовал 00 - такой маски в природе не бывает, и даже если ее загрузить в порт - ничего выбрано не будет.
    8" - это точно нереально
    я хотел оставить номер т.к. надеюсь еще сделать ремапинг дисков находу
    и хотелось для этого оставить метку

    а разве она попадает в порт выбора ??

    но идею понял, подумаю.

    ---------- Post added at 19:55 ---------- Previous post was at 19:52 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Теперь тебе еще надо для микродоса базу патчей сделать, ну и вроде как все. Также можно добавить хоткей для принудительной загрузки дефлотного биоса. Хотя это можно сделать, просто положив на карту нужный LOADER.BIN - с патчами или без.
    Микродос боюсь уже на следующей неделе.

    ---------- Post added at 20:00 ---------- Previous post was at 19:55 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Также можно добавить хоткей для принудительной загрузки дефлотного биоса.
    тут есть некая проблемма, т.к. я же детекчю конкретные байты по конкретным смещениям
    а твой биос может меняться
    по этому предлагаю в области текста или сразу за таблицой переховдов
    добавить метку
    которая не зависит от конкретной версии биоса, а просто сигнализирует о его наличии
    типа :"EXTROMBIOSV1"

  5. #154

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

    По умолчанию

    Само собой
    Надпись для этого и вывожу, это заготовка.
    А, блин, вот оно что. Я тут весь мозг себе сломал - зачем ты первым же патчем в цепочке затираешь коды очистки экрана. Что ж, вполне логично. Заодно на экране останется адрес загрузки и количество системных дорожек, для отладки.
    я хотел оставить номер т.к. надеюсь еще сделать ремапинг дисков находу
    и хотелось для этого оставить метку
    Только не забудь, что больше 2 эмулируемых дисков контроллер не потянет. Тогда особого смысла в таком переназначении не будет. Делать open перед каждым сектором, как ты в эмуляторе сделал, тут слишком накладно по времени.

    а разве она попадает в порт выбора ??
    Ну, видимо, как-то попадает, раз лампочка на дисководе зажглась. Но перепроверить сейчас не могу - корвет в городе остался. Может быть, меня и сглючило. В любом случае, использовать это поле для идентификации диска, имхо, не есть правильно. То есть можно с его помощью только определить, связан ли данный DPB с эмулируемым диском (=0) или физическим (!=0) и выбрать соответствующую ветку процедуры GETINFO. А для конкретного номера выбираемого диска в биосе есть специальные переменные.

    Но это так, вообщем, в порядке занудства. Можно, в принципе, оставить и так, раз работает. Глюки выловим по мере эксплуатации.

    а твой биос может меняться
    по этому предлагаю в области текста или сразу за таблицой переховдов
    добавить метку
    которая не зависит от конкретной версии биоса, а просто сигнализирует о его наличии
    типа :"EXTROMBIOSV1"
    Принято. Вношу эту строку сразу за таблицей точек входа. Ты прав - дальше идут поля параметров диска и я их могу сдвинуть по необходимости. А таблица перехдов - она стандартна и неизменна. Прикладываю его в аттаче.

    Еще, все же, надо бы вернуться к вопросу доступа к mount. Я тут, играясь с твоим патчером, уже много раз налетал на ситуацию, когда на обоих дисках нет MOUNT.COM и перемонтировать уже ничего нельзя. Предлагаю все же добавить в загрузчик хоткей, который примонтирует к А образ SYSTEM.KDI, лежащий на карте. Туда положить mount и набор системных утилит - pip,stat,submit,ddt и прочее. Это позволит сделать необходимые монтирования и потм перезагрузить систему уже с нужными дисками.

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

  6. #155

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

    По умолчанию

    Поехал отдыхать

    Напоследок набросал сканер который использует данные патчера

    Отсканировал "базу" дисков - цифра кол-во KDI с этим типом биоса (как его определит PATCHER)

    Код:
    12_88_3_alternativa  - 103
    :MICRODOS_2_14336    -  54
    21_89___wiza         -  42
    :MICRODOS_1_13312    -  39
    21_89_2_niijaf2      -  36
    21_89_2_niijaf       -  28
    1x_89_03_30_RAVI     -  17
    21_91___LAP          -   7
     -- undefied --      -   6
    20_88___miks         -   4
    12_90_5_kontur       -   4
    12_87_11_niijaf      -   3
    21m_____Shkanov      -   2
    6144                 -   2
    12_87_09_NIIJAF      -   2
    1x_88_EPSON_V104     -   1
    0                    -   1
    crc_failed           -   1
    То что не CP/M - это нужно не учитывать, т.к. они детектяться только по размеру.

    -- undefied -- - это 3 SFERA, и 3 каких-то мутных, вроде битых
    Числа - это размер загрузочной области

    Я думал на первом месте бузет "ВИЗА"
    Теперь расставим в патчере в порядке вероятности.

    как вернусь - проверю детально нет ли миссдетектов.

    реально кол-во дисков чуть меньше, ибо в той папке у меня и "чистые диски" лежат, но сильно цифр это не меняет (скорее надо -1 кол-ву сделать)
    Последний раз редактировалось esl; 19.07.2014 в 12:41.

  7. #156

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

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Еще, все же, надо бы вернуться к вопросу доступа к mount. Я тут, играясь с твоим патчером, уже много раз налетал на ситуацию, когда на обоих дисках нет MOUNT.COM и перемонтировать уже ничего нельзя. Предлагаю все же добавить в загрузчик хоткей, который примонтирует к А образ SYSTEM.KDI, лежащий на карте. Туда положить mount и набор системных утилит - pip,stat,submit,ddt и прочее. Это позволит сделать необходимые монтирования и потм перезагрузить систему уже с нужными дисками.
    Именно про этот случай я с самого начала и говорил.
    Только не монтировать образ, а по нажатию комбинации получить из API
    файл, который загрузить с адреса 100 и передать управление
    на первое время можно написанть минизаглкшук которая подмонтирует через апи нужный образ.

    А потом - написать выбиралку
    главное наличие такой возможности .

    т.е. добавить вызов апи при вызове которого апи отдает содержимое файла.
    или еще универсальнее
    вызваем апи, ему передаём имя файла
    а он отдает его

    например в поле TRK задаем будет ли идти параметром имя файла

    XXX,0,0,0,0 - загрузить допустим RESCUEMOUNT.BIN
    XXX,0,0,0,1
    "SUPERPUPER.BIN",0
    загрузить SUPERPUPER.BIN

    а в самом резиденте дергать уже эту функцию.
    как такая идея ?

  8. #157

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

    По умолчанию

    Идея имеет в себе некий изъян. А именно:

    1. Как собираешься активировать данный вызов API. По хоткею, встраиваясь в клавиатурный драйвер? Но дело в том, что вызывать его можно только в тот момент, когда выполняется CCP и система ждет ввода команд. При работе прикладной программы ты ее просто затрешь в памяти. Или предлагаешь добавить новую команду в таблицу команд CCP? Но там места и так практически нет.

    2. Как собираешься передавать программе параметры командной строки? По хоткею ты их точно не передашь.

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

  9. #158

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

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Идея имеет в себе некий изъян. А именно:

    1. Как собираешься активировать данный вызов API. По хоткею, встраиваясь в клавиатурный драйвер? Но дело в том, что вызывать его можно только в тот момент, когда выполняется CCP и система ждет ввода команд. При работе прикладной программы ты ее просто затрешь в памяти. Или предлагаешь добавить новую команду в таблицу команд CCP? Но там места и так практически нет.
    тут 2 аргумента
    1й, хоткей будет достаточно сложный, случайно не нажмеш
    а если уж нажат - это на совести пользователя
    2й - был вариант вывести на экран (прямо в ГЗУ) вопрос и спросить надо ли делать
    и если пользователь ответит - опять на его совести.
    это место много не займет, в резиденте пока есть немного памяти.
    и еще посмотрю, может есть возможность задетектить CCP.

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

    Цитата Сообщение от forth32 Посмотреть сообщение
    2. Как собираешься передавать программе параметры командной строки? По хоткею ты их точно не передашь.
    Это будет GUI, который и спросит
    Я планирую сделать.

    ---------- Post added at 22:53 ---------- Previous post was at 22:52 ----------

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

    а потом как я напишу этот гуй, подменить бинарник и все.

    ---------- Post added at 23:04 ---------- Previous post was at 22:53 ----------

    добавил в патчер детект всех версий МИКРОДОСА
    и SFERA & KORNET
    для них - выводит название, но говорит что не поддерживаются

    Обновленная табличка по результатам детектора

    Вспомнил что 12_88_3_alternativa это запатченная 12_88_3_niijaf
    Патчи у них одинаковые абсолютно
    Но решил оставить, пусть будет.

    Код:
    12_88_3_niijaf       -  78
    21_89___wiza         -  42
    MICRODOS_2_880630    -  41
    21_89_2_niijaf2      -  36
    21_89_2_niijaf       -  28
    MICRODOS_1_870430    -  28
    12_88_3_alternativa  -  25
    1x_89_03_30_RAVI     -  17
    BAD_0000_14336       -   8
    MICRODOS_1_861011    -   7
    21_91___LAP          -   7
    20_88___miks         -   4
    12_90_5_kontur       -   4
    MICRODOS_2_900105    -   4
     -- undefied --      -   3
    12_87_11_niijaf      -   3
    21m_____Shkanov      -   2
    MICRODOS_1_871220    -   2
    MICRODOS_1_861115    -   2
    CPM_NET_SFERA1       -   2
    12_87_09_NIIJAF      -   2
    CPM_NET_KORNET_drive_a -   2
    1x_88_EPSON_V104     -   1
    CPM_NET_KORNET_drive_b -   1
    BAD_0000_0           -   1
    crc_failed           -   1
    CPM_NET_SFERA2       -   1
    а с микродосом вылезла проблема
    у него тот ТОЛЬКО 2 ДИСКА
    A и B
    таблиц для C и D нет как класса
    мало того, у части (ранних) микродос даже параметры диска забиты гвоздями а не с диска.

    пока наверное сделаю полную подмену на виртуальные
    а потом маппинг
    и думаю опять-же делать не все версии а возможно одну, та что работает и на ОПТС1 и на ОПТС2
    Последний раз редактировалось esl; 21.07.2014 в 00:15.

  10. #159
    SaintTurnip
    Гость

    По умолчанию

    По поводу хоткея - может F1+F4? Запомнить легко, нажимать удобно, совпадение исключено.

  11. #160

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

    По умолчанию

    Цитата Сообщение от eugeniusz Посмотреть сообщение
    По поводу хоткея - может F1+F4? Запомнить легко, нажимать удобно, совпадение исключено.
    Не, не пойдет. Кнопки F1 и F4 могут иметь самостоятельный смысл в прикладной программе. Поскольку абсолютно одновременно нажать ты их не сможешь - программа может начать выполнять какие-либо незапрошенные операции.
    Хоткей должен начинаться с кнопок, которые гарантированно сами ничего не делают. То есть с модификаторов типа ctrl, shift итд.

    ---------- Post added at 07:08 ---------- Previous post was at 06:55 ----------

    Цитата Сообщение от esl Посмотреть сообщение
    Это будет GUI, который и спросит
    Я планирую сделать.
    А, вот что ты там запланировал. Графический mount. Ну, тогда отложим вопрос до того момента, когда ты этот гуй напишешь. Тут Marinovsoft как раз такую хотелку недавно высказывал. Пока что релиз можно делать и без нее, а все эти плюшки потом дописать - сдается мне, это дело не очень быстрое. Я бы и вообще не взялся
    В принципе, нужные изменения в API я могу уже и сейчас добавить. Это будет выдача в интерфейс произвольного файла из корня карты, имя которого передается 14-байтовым блоком после команды. Все равно я сейчас API и прошивку доделываю по мелочи - прикрутил выбор каталога с дисками, еще кое-какую мелочь приделал, заодно могу сделать и это.

    Цитата Сообщение от esl Посмотреть сообщение
    а с микродосом вылезла проблема
    у него тот ТОЛЬКО 2 ДИСКА
    A и B
    таблиц для C и D нет как класса
    То есть там только 2 DPB на весь биос? Ну или 3, включая рамдисковый. Весело. Хотя оно и логично - 4-дисковых корветов не было в живой природе, чего зря место в памяти переводить.

    Цитата Сообщение от esl Посмотреть сообщение
    мало того, у части (ранних) микродос даже параметры диска забиты гвоздями а не с диска.
    То есть там даже процедуры GETINFO нет? Весело. Хотя тебе еще проще
    Ну так и правда - забей ты на реальные дисководы, кому они сейчас нужны? Если уж присрется что с дискеты забрать - загрузятся в обычный CP/M, благо он умеет микродосовые диски читать.
    Последний раз редактировалось forth32; 21.07.2014 в 08:53.

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

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

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

Эту тему просматривают: 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

Ваши права

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