User Tag List

Страница 26 из 36 ПерваяПервая ... 222324252627282930 ... ПоследняяПоследняя
Показано с 251 по 260 из 354

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

  1. #251

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

    По умолчанию

    сделал образ который используется для "подстановки" микродоса. работает.
    но надо поправить в коде "EXTROM"
    при MICRODOS - подставлять 3 дорожки.

    переделал все патчеры на генерацию.

    fallback теперь выбирает или cp/m или микродос в зависимости от того какой диск забраковал.

    приделаю чтоб спрашивало куда выпадать в заданную или насильно в какую нужно
    (Enter/Y - да, C - CPM, M - microdos) ? _

    это минимум чтоб задышало ....

    поддержка mount в MICRODOS
    дальше поддержка диска F, для начала в CP/M
    GUI MOUNT
    etc
    Последний раз редактировалось esl; 16.10.2014 в 20:11.

  2. #252

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

    По умолчанию

    продолжу о своем

    Для истории

    последняя на сегодня версия Stage2+Patcher с исходниками
    для сборки нужен последний ZMAC от автора
    в том что на сайте баг с макросами, а тут я начал их активно использовать.

    в комплекте (в папке extrom) рабочик комплект бинарников и файлов подстановки
    в том числе первый релиз MICRODOS.BIN
    (для нормальной работы подстановки микродоса - нужна модификация extrom)

    что нового, появилась автоподстановка MICRODOS

    при автоподстаноке задает вопрос что грузить

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

    в патченых CP/M должен работать MOUNT
    Вложения Вложения

  3. #253

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

    По умолчанию

    Наконец, я вернулся с далекого севера. Прошу прощения за почти двухмесячную задержку. Сейчас постараюсь въехать в последние версии загрузчика...

  4. #254

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

    По умолчанию

    Привет forth32, я тоже как раз допиливаю патчер

    вот краткий ченджлог

    Код:
    - Stage2.rom
    	- добавил "тест железа" определяет некоторые парметры и выводит на экран
    		эти данные нужны "патчеру" - так пусть еще будет информация 
    
    		например
    			'ROM: OPTS 1.1 | PK8010 - no FDC | GZU: 48k'
    			'ROM: OPTS 2.0 | PK8020 with FDC | GZU: 192k'
    
    	- Добавлена проверка на диски с левым адресом загрузки, они сразу форсятся в дефолтный биос
    
    	- Добавлена проверка для дисков зависящих от определённого типа ПЗУ
    
    		если биос не соответсвует - он его не запускает (ибо он точно не заработает с текущим ПЗУ)
    		и предлагает запустить стандартный биос
    
    	- Стандартные биосы
    		в них происходит загрузка при несовместимости выбранного биоса с текущей конфигураций
    		или при удержании Ctrl+Shift при загрузке
    
    		?(Enter/Y-yes, C-CP/M, M-microdos) ?
    		по Enter - он загрузит работающий образ той системы что не совместима
    		или можно загрузить указанный тип системы
    
    		для поддержки FallBack to MICRODOS надо подправить API
    		надо подставлять 3 дорожки а не 2
    
    	- Патч учитывает информацию о наличии FDC для CP/M BIOS
    	  и если его нет, то диски C и D мапяться как виртуальные
    	  иначе они - C - $FDD A, D - $FDD B
    
    	- после этого выводим информацию о текущей конфигурации дисков для этого биоса
    	  выводит како логичесский диск чему соответсвует
    	  для CP/M выводит 4 диска + напоминание о наличии служебного диска F
    	  диска с инструментами для работы с EXTROM API
    
    - CP/M BIOS Resident
    	
    	- Поддержка структуры необходимой для работы утилиты MOUNT & co
    	- Добавил поддержку диска F - инструментальные средства, MOUNT & CO
    	 	это теперь обычный KDI
    	 	подправил
    	 		emu extrom emulation code 
    	 		F32 cpm bios
    	- поченил диск E - он потерялся по дороге
    	- увеличилось место под код "резидента"
    		разделил на 2 типа, отличаются только адресом посадки в память
    		как результат общее минимальное окно стало 762 байта а занято 407 байти в запасе 355 байт еще.
    		это как результат перетряски структуры исходников
    		до перетряски оставалось 15 байт, и диск F бы не влез
    	- выпилил поддерку перехвата хоткея
    	  была идея использовать ее для копиторвания данных на диск E если бы не получилось сделать диск F
    
    - МИКРОДОС BIOS Resident
    	- Есть поддержка ТОЛЬКО эмулированых дисков
    		поддержки реальных пока нет, но планируется
    		там много прибито "гвоздями", и надо много менять
    	- Поддержка структуры необходимой для работы утилиты MOUNT & co
    
    - Очень сильно изменена внутренняя структура исходников.
    	Ради чего это делалось, сейчас есть 24 типа поддерживаемых дисковых биосов
    		13 - CP/M BIOS
    		 6 - МИКРОДОС
    		 4 - Неподдерживаемых
    		 1 - дефолтный биос
    
    	Каждому биосу соотвествует свой файл описывающий его.
    	Т.о. любое изменение кода "резидента" приводиот к необходимости править все зависимые файлы.
    	Что и исправил
    
     	Теперь есть шаблоны "патчеров" и код "резидентов"
     	В этих файлах описано что надо проверить чтобы убедится что сейчас в памяти именно этот биос
     	и что надо в нём поменять чтобы он заработал с EXTROM API
     	Так-же указаны необходимые условия и проверки (типа что биос работает только с ОПТС 1.x)
    
     	сейчас есть 5 шаблонов
     		cpm1 		- основной шаблон для CPM
     		cpm2 		- отличается от CPM1 только местом в памяти
     					  сам шаблон это копия CPM1, в котором префиксы всех меток
     					  изменены на CMP2
     		cpm_chk 	- поддержка дефолтного биоса от Forth32
     		microdos	- шаблон для МИКРОСДОСа
     		unsupported	- шаблон тех систем которые детектятся но пока не поддерживаются
    
     	Есть еще соответствующий набор .csv файлов где в видет таблички описаны
     	конкртетные параметры для конкретных биосов
    
     	И скрипт которых генерит итоговые asm файлы из этой всей красоты
    
     	Сами шаблоны - откоментированы, попробовал в них описать откуда брать нужные значения
    
     	При генерации - коменты остаются только для биоса на которм делался пример, 
     	для остальных - удаляются
    
     	Теперь просто, подправил код резидента, если в ноём появились новые сущности
     	относящиеся к "патчеру" - добавил из в CSV и перегенерил файлы
    
     	всё это дело живёт в папке 
     		stage2.asm 			- основной модуль загрузчика 2й ступени
     		hw_test.asm 		- детектор железа
     		generator/V0/
     					 data/ 				- шаблоны и csv файлы
     					 out/  				- сюда собственно генерятся файлы
     					 doc/  				- файлы со служебной информацией про "дырки" и прочая лабуда
     					 kdi_substitute/ 	- генератор MICRODOS.BIN на данных патчера
     					 						если изменился резидент то надо перегенерировать.
     					 
     					 extrom-patcher-resident-*.asm - сами "резиденты"
     					 extrom-patcher.asm - сам код патчера
     					 mount-info.asm     - выводит информацию про примаунченые диски
    
     					 gen_patchs.rb 		- тот самый "генератор"
     					 
     					 disk_image_checker.rb - скрипт который проверяет базу kdi и пишет какой там тип
     					 						 биоса основываясь на stage2.rom
     					 						 помогает при отладке.
    
     		zout/
     					тут ZASM генерит свои файлы
     					на собственно интересует
     					stage2.cim 	- 	бинарный код который переимновываем в stage2.rom и кладём в папку
     								 	в корень SD-Card или в папку exitrom эмулятора
     					stage2.lst  -   файл полезный при отладке

  5. #255

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

    По умолчанию

    Блин, я уже все подзабыл. Совсем все, вплоть до устройства API, хотя сам его и придумал в свое время. Все снова надо вспоминать
    Ок. В выходные подправлю прошивку для поддержки 3 дорожек при загрузке микродоса, и попробую твой загрузчик на реальной железке. А там видно будет...

  6. #256

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

    По умолчанию

    У меня было аналогично !

    по этому и начал с "документации" по патчеру

    Документация - великая сила, это факт

    тут конвертирую твои доки в markdown
    во первых они тектовые и нормально трекаются в VCS
    во вторых более менее нормально из них получаются HTML/ODT

    а то я оптписал последний раз коменты в ODT при PUSH а они похоже потерялись

    в ближайшее время подготовлю PUSH реквест

    и обсудим изменения в API (по мелочам).

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

  8. #257

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

    По умолчанию

    что-то с конвертацией не пошло пока
    сделал PUSH в репозиторий, пока без доков, их выложу отдельно
    там
    новый ZMAC, в нем работают макросы (в том что на сайте просто ошибка при использовании)
    из новых фич там IRP,IRPM,REPT ..

    заменил патчер на последний (по хорошему его еще тестировать над жестоко)
    выложил апдейт EXRTOOLS, он теперь обычный KDI, это упрощает жизнь.
    патч твоего биоса по этому поводу
    сдеала SD_ROOT для понятности.


    p.s. dropbox не используеш ?
    можно временно сделать shared folder ...

    ---------- Post added at 20:33 ---------- Previous post was at 20:29 ----------

    https://dl.dropboxusercontent.com/u/...h32/api_v2.odt
    https://dl.dropboxusercontent.com/u/...2/hardware.odt

    тут просто мои коменты еще с прошлого раза

    ---------- Post added at 20:37 ---------- Previous post was at 20:33 ----------

    теперь по теме

    "Борьба с Control"
    как тебе такая идея,
    что Control переводит эмулятор в режим ROM ну допустим секунд на 5 (а может на 1ну), а через это время если не пошла загрузка он насильно возвращается в режим API ?
    за это время обычная ПЗУ точно успеет загрузиться
    а если кто дёрнул случайно, не так страшно

    чем это еще может грозить ?

    ---------- Post added at 20:38 ---------- Previous post was at 20:37 ----------

    "Подстановка МИКРОДОС"
    для нее надо подставлять 3 дорожки,
    я это в эмуляторе реализовал.
    без этого не грузит

    ---------- Post added at 20:41 ---------- Previous post was at 20:38 ----------

    "Подстановка SYSTEMn.BIN"
    тут два вопроса,
    первый N это что, надо явно озвучить это "символ" или число к которому прибавляем '0' ?
    и второй, в связи с разным кол-вом дорожек
    может передавать еще одним параметров сколько дорожек подтавлять ?
    но это так, типа на будующее

    ---------- Post added at 20:45 ---------- Previous post was at 20:41 ----------

    попалась тут статья что можно определить наличие дисковода
    можно прикрутить в патчер чтоб он чекал и прятал отсутствующие ...
    при отсутсвии FDC я уже прячу.

    ---------- Post added at 20:46 ---------- Previous post was at 20:45 ----------

    еще немного погоняю патчер и вернусь к MOUNT GUI
    там уже 3ть дела наверное сделана
    на EXR диске оно называется DEMO.COM
    там же есть DINFO.COM

  9. #258

    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,409
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    161 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    еще немного погоняю патчер и вернусь к MOUNT GUI
    Может вот эти наработки чем-то помогут?
    http://zx-pk.ru/showpost.php?p=751335&postcount=130
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  10. #259

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

    По умолчанию

    Цитата Сообщение от marinovsoft Посмотреть сообщение
    Может вот эти наработки чем-то помогут?
    http://zx-pk.ru/showpost.php?p=751335&postcount=130
    Спасибо, оставлю на посмотреть

    Я для фану на форте начал
    Забавно и ностальжи
    Последний раз редактировалось esl; 10.11.2014 в 15:25.

  11. #260

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

    По умолчанию

    заметил что STAGE1 грузится с адресса 0xf600
    затирая собой данные для клавиатуры

    CP/M их сам заполняет и всё работает,
    а микродос оставляет то что проинициировал ROM

    а тут STAGE1 его затирает, и получается в микродосе бред при нажатии
    F1-F10
    и цифровых кнопок

    решение - изменить BASE адрес (загрузки) с 0xF600 на 0x8000.

    на всякий случай пофикшеный stage1 в аттаче

    обнаружено при ковырянии в сторону MOUNT ...
    p.s. разработчики радосто забивают на спецификации постоянно
    для определения текущей конфигурации есть ячейка SYSCOPY
    но не все досы её заполняют

    а критично это для старых МикроДосов, они работают в конфигурации 0x5C
    а не как все нормальные 0x1C
    т.е. надо это учитывать при доступе к портам ...
    Вложения Вложения
    • Тип файла: 7z stage1.7z (5.5 Кб, Просмотров: 102)
    Последний раз редактировалось esl; 22.01.2015 в 02:18.

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

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

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

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

Ваши права

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