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

User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 25

Тема: адаптация CP/M-программ под стандартный ZX-Spectrum

  1. #11
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от siril Посмотреть сообщение
    если бы стояла задача запустить что-то в режиме CP/M, я бы так и спросил.
    Мне непонятна сама идея. Порт софта из под ОСи, пусть и старой, в режим компа без оной. Не понимаю - зачем? Варианты эмуляции ОС ущербны. Исходники некоторых программ под CP/M есть, но они опять же ориентированы на то, что у нас есть система, которая поддерживает работу с файлами. А не трдос. Что делать? Прилеплять поддержку файлов? Перелопачивать программу? Смысла не вижу. Вот и написал.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  2. #12
    Member Аватар для artice
    Регистрация
    16.07.2010
    Адрес
    г. Ярославль
    Сообщений
    80
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Согласен с предыдущим оратором! В cp/m свои графические и текстовые режимы! Придётся и процедуры вывода графики переделывать и саму графику перерисовывать, как-то так...
    АТМ Turbo 2 (ver. 6.40)/512kb RAM/AY/FDD 3.5/FDD 5.25/HDD 20gb/PAL coder-CHRV/kempston mouse(CARO)

  3. #13
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от artice Посмотреть сообщение
    Согласен с предыдущим оратором! В cp/m свои графические и текстовые режимы! Придётся и процедуры вывода графики переделывать и саму графику перерисовывать, как-то так...
    Нет там никакой графики, за редким исключением.
    Основной режим текстовый, причем базовым является режим 80 символов в строке, что и является основной сложностью при адаптации таких программ под Спектрумовский экран, в котором максимально можно разместить 64 символа в строке.

  4. #14
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Нет там никакой графики, за редким исключением.
    Слова о графике некорректны вообще, уже много раз читал: "графика и CP/M". Компьютер может иметь графические режимы, а программы, которые запускаются под управлением CP/M могут напрямую обращаться к аппаратуре. На многих 8-и битных компах как правило так и было (MSX, Amstrad CPC/PCW, Kaypro, Commodore и многие другие). Т.е. программного интерефейса ни в CP/M 2 ни в версии 3 нет. Аналогично в обоих MP/M. Единственным графическим расширением было GSX, но, насколько я знаю оно было только под CP/M 86.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  5. #15
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от siril Посмотреть сообщение
    Вопрос а) перекомпилированы ли под ZXCPM основные средства разработки? PL/pascal/etc и с чем есть проблемы?
    Сейчас под ZXCPM перекомпилированы:
    1) Редактор текстов WordMaster (WM);
    2) Пакет M80/L80/LIB80;
    3) Компилятор под микроконтроллеры серии MSC51;
    4) Компилятор C - версия BDSC.
    TurboPascal есть в исходниках, но он требует свободной памяти в TPA не меньше 40 кбайт, а это в ZXCPM не возможно, учитывая что начало TPA = 0x6100.

  6. #16
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насчёт графики. GSX как раз изначально был 8-битный, и назывался GSX-80. Где-то в сети есть PDF с описанием, поищите. Под чем поддерживается, навскидку не вспомню. С GSX-80- 2 проблемы:он очень медленный, и в системе без банков отжирает в районе 13К плюс GSX BIOS (низкоуровневые драйверы для точки, линии, штриховок и т.п.)

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

  8. #17
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня где-то в коллекции неразобранной, возможно этот документ и есть. Но вот программ для этой библиотеки я не видел. Разбирая коллекцию я всё сортирую. Много разных дизассемблеров, утилит для вывода текст на принтер, файловых утилит (крайне простых), перекодировщиков текстов. Вот на них бывают исходники. Архиваторы тоже есть с исх.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  9. #18
    Master Аватар для siril
    Регистрация
    01.02.2005
    Адрес
    perm/ru
    Сообщений
    520
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Мне непонятна сама идея. Порт софта из под ОСи, пусть и старой, в режим компа без оной. Не понимаю - зачем? Варианты эмуляции ОС ущербны. Исходники некоторых программ под CP/M есть, но они опять же ориентированы на то, что у нас есть система, которая поддерживает работу с файлами. А не трдос. Что делать? Прилеплять поддержку файлов? Перелопачивать программу? Смысла не вижу. Вот и написал.
    Тут несколько аспектов, если честно об удивительно богатом наследии cp/m узнал совсем недавно, о том, что это в своё время это был очень развитый и коммерчески успешный стандарт, что программы, написанные для cp/m работают на очень разных по архитектуре компьютерах и работают без переделки (сам убедился на нескольких эмулях), и что тот же Zork и другие классические текстовые адвентюры были впервые написаны именно для неё.

    Всё это богатство буквально на расстоянии вытянутой руки от спектрума – но по известным причинам в стандартном спектрумовском режиме cp/m работать не будет.

    Однако ради фана и ради proof of concept мне интересно обкатать алгоритм адаптации произвольного cp/m кода: 1) через сбор информации о точках вызова системных функций путём перехвата этих функций и сбора/анализа содержимого стека, 2) интерактивное дизассемблирование с учётом информации собранной на первом этапе.

    Для этапа 1 нехватало знаний и информации о внутреннем устройстве cp/m - в сети находилась только нерелевантная ерунда, спасибо большое caro, Eltaron, esl за наводки и материалы.

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

    Кстати, хотел ещё поспрашиват про cp/m на спектрум-клонах "вообще": была ли версия cp/m для графического режима Scorpion/GMX (тот, который с аппаратным скроллом)?
    Как насчёт ZXCPM с базовым адресом #4000 и с экраном в 7-ой странице (что даёт нам 48кб, так как эмулятор теминала может быть в той же самой 7й странице).

    Какие интерактивные дизассемблеры Z80 кроме IDA существуют? Которые могли бы подтягивать таблицу меток и заменять абсолютные адреса на них?

    ---------- Post added at 02:08 ---------- Previous post was at 02:04 ----------

    И ещё, где брать софт под cp/m? Есть ли что-то вроде WOS/VirtualTRDOS, но с cp/m контентом?
    Какое-то русскоязычное сообщество/хранилище русскоязычных документов по cp/m и российских клонов?
    oisee.

  10. #19
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от siril Посмотреть сообщение
    И ещё, где брать софт под cp/m? Есть ли что-то вроде WOS/VirtualTRDOS, но с cp/m контентом?
    Какое-то русскоязычное сообщество/хранилище русскоязычных документов по cp/m и российских клонов?
    В инете есть несколько сайтов с коллекциями. В вики есть ссылки (англ). Поиск по словам CP/M programs. Есть сайты авторов некоторых программ (например тот же Aztec C). Есть ещё сайт одно немца, который дизасмом увлекается. Он и выложил исх. m80 и turbo pascal - то что я искал годами. Основная коллекция это "walnut creek cp/m cd-rom". Это файло-помойка. Некая структура там есть, но в общем свалка. Я свою коллекцию собираю из всего что найду. Одна и та же программа в том же cd-rom встречается много раз, бывает в разных версиях, то с описаниями то без. Я стараюсь делить программы по категориям, добавляя где не было краткое описание. Но уже год или полтора как опять забросил. Муторно очень.

    ---------- Post added at 07:59 ---------- Previous post was at 07:55 ----------

    Цитата Сообщение от siril Посмотреть сообщение
    но по известным причинам в стандартном спектрумовском режиме cp/m работать не будет.
    Но много чего будет работать на ZX +3. Проблемы с экраном конечно, медленный вывод, но принципиально конечно оно заработает.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  11. #20
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    У меня где-то в коллекции неразобранной, возможно этот документ и есть. Но вот программ для этой библиотеки я не видел.
    Вот здесь можно забрать документацию на GSX80 которую я упоминал.
    http://www.z80.eu/gsx.html
    Там-же примеры работы GSX80 на 128м комоде с исходниками. Так что единый графический интерфейс у CP/M был. Просто к тому времени (1983) эта операционка как-бы помре в одночасье. А на отпочкованной MS-DOS до появления GDI в ранних окошках, единого графического интерфейса для прог как-бы не было, хотя Digital Research и предлагала GEM под MS-DOS, впрямую унаследованный от GSX уже в 84м году, но всем на это было как-бы наплевать.
    http://toastytech.com/guis/gem11.html
    Бизнес выбрал Микрософт, а дальше - по известной формуле, follow the money.
    Мы могли бы жить в куда более совершенном мире, но случилось то что случилось.

    А вообще, если CP/M программы нуждаются в рекомпиляции, значит машина не совсем CP/M - совместимая. Кстати, текстовый режим 80 символов в строке не является требованием, но некоторые проги типа WordStar, Multiplan или SuperCalc просто рассчитаны на такой текстовый режим и не могут реконфигуриться иначе. В CP/M была идеология что инсталляторы патчат .com файл на совместимость с управляющими esc последовательностями терминала и кол-во символов в строке и столбце, но не все этому следовали.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Адаптация программ к системе +3DOS
    от Addison в разделе Софт
    Ответов: 142
    Последнее: 29.01.2024, 17:38
  2. TS адаптация
    от Voxel в разделе Музыка
    Ответов: 208
    Последнее: 15.05.2023, 21:43
  3. Ответов: 172
    Последнее: 10.12.2012, 18:36
  4. Стандартный шрифт
    от JeRrS в разделе Для начинающих
    Ответов: 5
    Последнее: 19.11.2010, 17:58
  5. Ответов: 16
    Последнее: 14.03.2007, 05:35

Ваши права

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