Должен предупредить DSK - это не какой-то определенный формат, это просто оооочень популярное расширение. А что конкретно под ним скрывается, определить как-то автоматом выходит далеко не всегда. Например, расширение используется для Amstrad'овских образов, однако там далеко не просто дамп, это скорее похоже на образ типа Теледиска, то есть с описанием структуры и т. д. Альтаировские DSK - это дампы, но с весьма странным нестандартным размером сектора. А вот именно эти два образа - это дампы с полностью аналогичным стандартному для CP/M (если не ошибаюсь) 1.2 форматом. Как я об этом догадался? Посмотрел размер образа, он показался мне знакомым, убедился в том, что он такой же, как у образа 8-дюймого CP/M диска, который я уже открывал, на всякий случай заглянул внутрь образа с помощью Hex-редактора, убедился в наличии достаточно характерного смещения (перемешивания) данных (т.н. software skewed sectors). Ни и в финале попробовал открыть образ, используя уже готовый (ну мной же раньше созданный) инишник. Должен уточнить, что в конечном результате я абсолютно не был уверен - формат мог оказаться и другим, просто похожим. Но в итоге образ был открыт успешно.
Тут в чем суть. Утилита работает только с дампами (под этим словом я подразумеваю образа, содержащие только информацию с секторов без какой-либо служебной). Но и это не гарантирует простой результат. Возможности для автодетекта 99% форматов дисков просто нет (ну не принято было тогда хранить на дисках какие-то однозначные сигнатуры). Поэтому с каждым отдельным форматом приходится разбираться отдельно, либо знать, какой именно формат имеет образ.
Точно не из-за XP. Утилита под ней пишется (по крайней мере писалась до недавнего времени).
Тут два варианта. Если SteinBlume установлен с помощью инсталлятора, то искать xdi_settings надо в служебной папке вроде c:\Users\BlackCat\AppData\Roaming\SteinBlume\xdi_s ettings\ Дело в том, что с некоторых пор винда не любит, когда программы пытаются делать что-то с файлами, лежащими в папках типа Program Files, поэтому все служебные файлики теперь принято хранить в таких вот служебных папках отдельно от самой программы.
Если же скачать SteinBlume (полную версию), как zip-архив и распаковать куда-то, кроме Program Files, то xdi_settinLaбудет лежать в той же папке, где и упомянутая папка language, то есть в папке SteinBlume.
Вот xdi_settings.zip на всякий случай набор инишников отдельных архивом. Только распакуйте его в какую-нибудь нормальную папку со всеми необходимыми правами.
- - - Добавлено - - -
Вы имеете в виду, чтобы можно было создавать новые образа с этим форматом?
Эта строка обычно пустая, введена и используется (весьма редко), чтобы не плодить всякие дополнительных строки в инишниках, позволяет однозначно задетектить некоторые тонкости (например PLUS3DOS, сообщает SteinBlume, о том, что речь идет о образах именно этой системы и позволяет редактировать заголовки файлов, которые имеются у +3DOS и другие фичи свойственные именно ей). С помощью id можно в будущем (если это будет нужно) ввести поддержку особенностей, например, того же Альтаира с его странными секторами и заставить утилиту обрабатывать образа, учитывая эти особенности. Эти строки (id) - константы жестко мной прописываемые в утилите. Никакого отношения к сигнатурам хранящимся на дисках они не имеют, просто и самих сигнатур как таковых практически нет...
Как-то так.
- - - Добавлено - - -
Написал небольшой туториал на тему открытия .xdi. Раз уж вопросы возникают.
Так как это оффтоп, прячу под спойлером (и продублирую у себя в теме).
Краткая инструкция "Как можно открыть xdi-образ, не имея ini-файла, но четко зная подробности формата"
Краткая инструкция "Как можно открыть xdi-образ, не имея ini-файла, но четко зная подробности формата" (на примере формата 8-дюймовых дисков CP/M 1.4)
I. Вариант номер РАЗ.
1. Открываем SteinBlume;
2. Перетаскиваем образ в Утилиту (либо открываем через меню, с помощью пункта "Открыть образ...");
3. В появившемся окне "Параметры .xdi":3.1 Текущий файл настроек - информационное поле, не редактируется.3.2 Id-строка формата - константа, позволяющая однозначно задать некоторые тонкости формата, если не знаем, что сюда писать, оставляем пустым. В данном случае оставляем пустым.3.3 Смещение секторов - параметр, задающий порядок чтения секторов для образов дисков с программным смещением секторов (sofware skewed sectors). Либо одно десятичное число (задающее фиксированное смещение), либо порядок чтения всех секторов единым списком через запятую, без пробелов. Для CP/M 1.4 skew factor = 63.4 Формат хранения дат - на данный момент временные записи в директории игнорируются. Но все равно желательно задать этот параметр. Для CP/M 1.4 выбираем CP/M стандарт (1 - в ини-файле).3.5 Выбираем "Прямое заполнение DPH и DPB". С Простым попроще, но если есть все необходимые данные, то лучше задать все в точности (Тем более в простом есть баг).3.6 И задаем параметры:len=0den=0sec=1Atrk=4Dbsh=3drm=3Foff=2Остальные параметры утилита поменять не даст.3.7 Полученные настройки можно:
- Сохранить в виде ini-файла, нажав кнопку "Сохранить",
- Запомнить как Настройки по умолчанию, чтобы не вводить эти параметры каждый раз при открытии образов одинакового формата. (Настройки по умолчанию можно всегда задать/изменить в настройках утилиты).
3.8 Жмем "ОК"4. Профит.
II. Вариант не требующий смену расширения у файла образа на ".xdi".
1. Открываем SteinBlume;
2. Открываем образ с помощью пункта меню "Открыть образ как .xdi...". С помощью этого пункта можно попытаться открыть как .xdi образ с любым расширением.
3. Выполняем описанное выше в пункте 3;
4. Профит.
III. Открытие с помощью "Простого заполнения".
А вот его лучше б не использовать - есть баг. Ниже опишу, как с ним бороться.
1. Открываем SteinBlume;
2. Открываем образ любым понравившимся из вышеописанных способов;
3. В появившемся окне "Параметры .xdi":3.1 Выполняем описанное выше в пунктах 3.1-3.4;3.2 Выбираем "Простое заполнение параметров диска". Стоит обратить, что здесь все параметры вводятся в десятичной форме (Простое же).3.3 И задаем параметры:Число сторон диска. В нашем случае - 1;Число цилиндров. В нашем случае - 77;Число секторов на дорожке. В нашем случае - 26;Размер сектора (байт). В нашем случае - 128;Размер блока (байт). В нашем случае - 1024;Число записей в директории. В нашем случае - 64;Число системных дорожек. В нашем случае - 2.3.4 ВАЖНО. Имеет место быть баг (введенные настройки игнорятся). Чтобы баг обойти, после ввода всех параметров потыкайте туда-сюда по пунктам "Прямое заполнение DPH и DPB" и "Простое заполнение параметров диска" - настройки перестанут игнорироваться.3.5 Жмем "ОК";4. Профит.
[свернуть]
Последний раз редактировалось Black Cat / Era CG; 26.06.2017 в 11:47.
Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.
Seamos realistas y hagamos lo imposible!
Ernesto Che GuevaraПереехал сюда: SteinBlume (ex ATM CP/M Explorer)
http://era-cg.su
Последний раз редактировалось OrionExt; 26.06.2017 в 20:00.
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
Уже в этой ветке было предложено ( http://zx-pk.ru/threads/27613-kompyu...l=1#post917128 ). И давно пользую, только сделал выход USB-B, чтобы принтерным шнуром подключать. Так кошернее, чем микриком.
Последний раз редактировалось rw6hrm; 26.06.2017 в 20:11.
Последний раз редактировалось OrionExt; 26.06.2017 в 20:18.
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Короче, прошил я в ПЗУшку вот этот быдлокод. Вроде заработало, но не так как ожидалось. Включаю железку, подключаюсь к ней через Terminal 1.9b. Посылаю байты. В ответ тишина. Включаю Request To Send ручками и тут начинают сыпаться в ответ нули и восклицательные знаки (21h - отзыв железки). Если при этом я жму клавиши, то в ответ приходит символ с тем же "!". Подозреваю, что я где-то ошибся, но где? В программе или в проводах? Схему постараюсь наконец-то нарисовать и выложить.
Код:; ПРОГРАММА НАСТРОЙКИ И ПРОВЕРКИ УСАПП ВВ51А ; ;_______УСТАНОВКА СТЕКА____________________________ LXI SP,RAMTOP ;_______УСТАНОВКА_УСАПП_В_ИСХ._СОСТОЯНИЕ________ MVI A,01H OUT CW51 OUT CW51 MVI A,IR OUT CW51 ;_______ЗАПИСЫВАЕМ_ИНСТРУКЦИЮ_РЕЖИМА____________ MVI A,4EH OUT CW51 ;_______ЗАПИСЫВАЕМ ИНСТРУКЦИЮ КОМАНДЫ___________ MVI A,TXEN+DTR+RXE+RTS OUT CW51 LOOP: ;_______ЧИТАЕМ БАЙТ ИЗ ПОРТА____________________ CALL RXD ;_______ВОЗВРАЩАЕМ ПРОЧИТАННЫЙ БАЙТ В ПОРТ______ MOV C,A CALL TXD ;_______ОТПРАВЛЯЕМ ПРИЗНАК ОТВЕТА (!)___________ MVI C,21H CALL TXD JMP LOOP ; ПОДПРОГРАММА ПЕРЕДАЧИ БАЙТА ИЗ РЕГИСТРА С ; TXD: PUSH PSW ;_______ЖДЕМ_ГОТОВНОСТИ_________________________ TX1: IN CW51 ANI TXRDY+DSR CPI TXRDY+DSR JNZ TX1 ;_______ПЕРЕДАЕМ_БАЙТ___________________________ MOV A,C OUT DAT51 POP PSW RET ; ; ПОДПРОГРАММА ПРИЕМА БАЙТА В АККУМУЛЯТОР RXD: ;_______ПРОВЕРЯЕМ_ГОТОВНОСТЬ____________________ IN CW51 ANI RXRDY ;_______ВОЗВРАТ_С_ФЛАГОМ_ПЕРЕНОСА,______________ ;_______ЕСЛИ_ПРИЕМНИК_НЕ_ГОТОВ__________________ STC RZ ;_______ЧИТАЕМ_ПРИНЯТЫЙ_БАЙТ____________________ IN DAT51 CMC RET ; ; ВНЕШНИЕ МЕТКИ И КОНСТАНТЫ ; RAMTOP: EQU 87FFH ; ;___АДРЕСА_РЕГИСТРОВ_УСАПП______________________ DAT51: EQU 00H ; РЕГИСТР ДАННЫХ CW51: EQU 01H ; РЕГИСТР КОМАНД ; ;___КОМАНДЫ ВВ51________________________________ TXEN: EQU 01H ; ПЕРЕДАТЧИК ВКЛЮЧЕН DTR: EQU 02H ; УСТРОЙСТВО ГОТОВО RXE: EQU 04H ; ПРИЕМНИК ВКЛЮЧЕН SBRK: EQU 08H ; ПРЕРЫВАНИЕ ПЕРЕДАЧИ ER: EQU 10H ; СБРОС ОШИБОК ПРИЕМА RTS: EQU 20H ; ПЕРЕДАЧА РАЗРЕШЕНА IR: EQU 40H ; ПРОГР. СБРОС УСАПП EH: EQU 80H ; РАЗРЕШЕНИЕ ПОИСКА СИНХРОСИМВОЛА ; ;__РЕГИСТР СОСТОЯНИЯ ВВ51_______________________ TXRDY: EQU 01H ; ПЕРЕДАТЧИК ГОТОВ RXRDY: EQU 02H ; ПРИЕМНИК ГОТОВ TXE: EQU 04H ; ПЕРЕДАЧА ЗАКОНЧЕНА PE: EQU 08H ; ОШИБКА ЧЕТНОСТИ OE: EQU 10H ; ПЕРЕПОЛНЕНИЕ ПРИЕМНИКА FE: EQU 20H ; ОШИБКА ФОРМАТА SYNDET: EQU 40H ; СИНХРОСИМВОЛ НАЙДЕН DSR: EQU 80H ; ПЕРЕДАТЧИК ДАННЫХ ГОТОВ ; END
Возник следующий вопрос: если на процессор приходит сигнал прерывания, а шина данных к +5 не подтянута и контроллера прерываний нет, то следовательно процессор выполнит nop и продолжит исполнение основной программы?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)