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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: Контроллер диска "Демиург" из Обнинска

  1. #1
    Veteran Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Контроллер диска "Демиург" из Обнинска

    ...то ли гугель мну забанил, то ли действительно так мало инфы, но...
    В рекламном блоке журнала "Радио", №7, 1992, стр. 64, было опубликовано объявление от обнинского НПП "Экспоприбор" о разработанном ими контроллере диска "Демиург" для 48К-совместимых машин. Насколько я понял, это была некая переделка ТРДОСа, с дополнительным ВВ55, а также с загрузочным ПЗУ в 2К, обеспечивающего до 48К свободной памяти для СР/М, виртуальный экран 80х24, прописные и строчные буквы кириллицы и иные ништяки с плюшками.
    Никакой иной инфы пока не нашёл.
    Я прекрасно понимаю, что СР/М на Спеке это уныло и безутешно (тем более с таким разрешением экрана), но может есть у кого более подробная информация о сабже? Про воссоздать не знаю (хотя валяется без дела Орелька), а познания для.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	demiurg.jpg 
Просмотров:	205 
Размер:	67.9 Кб 
ID:	63874  
    Последний раз редактировалось rw6hrm; 27.01.2018 в 22:42.

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

  3. #2
    zx_
    Гость

    По умолчанию

    чегойто СР/М на спеке уныло ? на ЮТ вон не уныло-)
    есть же спеки с СР/М

  4. #3
    Veteran Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zx_ Посмотреть сообщение
    чегойто СР/М на спеке уныло ?
    Кворума со шрифтом 3х8 мне хватило. Про извраты "адаптированной" оси не говорю.
    На "Ленинграде" я видел полноправную СР/М только один раз - с видеотерминалом через Lprint-овский СОМ-порт.
    Цитата Сообщение от zx_ Посмотреть сообщение
    на ЮТ вон не уныло-)
    СР/М на ЮТе - вещь, кмк, мифическая, и даже авторы её так толком и не запустили, а забросили.
    Вообще машина для СР/М имеет 80 символов в строке, диск и отсутствие экрана в общей области памяти. Аксиома.
    И вообще разговор не об этом, а о железке из первого поста. Может быть тоже мифической...

  5. #4
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rw6hrm
    разговор... о железке из первого поста. Может быть тоже мифической
    Эта конструкция не мифическая и я даже знаю некоторые подробности про неё.

    Ключевая фраза, - это "виртуальный экран 80*24". Главное слово здесь - "виртуальный". Это значит, что здесь как в линуксе используется виртуальный экран, который больше физического экрана. В обычную CP/M просто встроен драйвер экрана программно реализующий виртуальный экран 80*24, отображаемый в окне маленького физического экрана.

    Сам я эту конструкцию не собирал и документацию не видел, но её осенью 1992 года собрал и применил в зоновском клоне ZX Максим Домарёв из Тулы (входящий в группу фанатов ОРИОНА из 4-х человек называемой Орион-Лаб "Adelaide").

    В своём письме М.Домарёв подробно информировал меня о прогрессивных идеях из этого КНГМД. В частности, очень рекомендовал заимствовать для КНГМД ОРИОНА схему ФАПЧ, а также турбо-позиционирование головки. ФАПЧ сложна для ручных коррекций на плате КНГМД и я её не пробовал, а вот турбо-позиционирование применил (оно сокращает время шага головки с 6 до 3 МСЕК и реально избавляло от скрежета дисковода 5311) и с конца 1992 рекламировал эту схему. Позднее это турбо-позиционирование перекочевало в схему ташкентского ОРИОН Супер-Турбо 10 МГЦ.

    Так вот, из данного письма я помню подробности экрана данного аппаратно-программного изделия. Окно отображения там было стандартным - 32*24, при виртуальном экране в 80*24 и это окно двигается вправо/влево обычной для Спектрума комбинацией в полдюжину клавиш.

    Хотя на мой взгляд, более разумным было бы использовать экран 42*24 символа или 51*24 символа, в зависимости от применённого фонта (6*8 или 5*8). Кстати, на CP/M для ZS-Scorpion командой MODE можно поставить даже совсем мизерный шрифт 4*8, дающий 64 символа в строке.

    Конструктивно CP/M получают за счёт "открытия ОЗУ" на месте ПЗУ и переноса экранного буфера в область C000 или E000. Кстати, разные клоны ZX-48К (в т.числе и западные) именно так получали CP/M. Потому применение этого контроллера не заключалось просто во включении его в системный разъём, а требовалась и дополнительная аппаратная доработка самого ZX-клона до архитектуры CP/M.

    К сожалению, не знаю, что значит фраза "до 48 кб свободной памяти". ZX-экран можно перенести на C000, а можно на E000. Т.е для переключения экрана используется один бит или два бита из порта режима (в качестве которого удобна ППА). Если экран на E000, то 48 кб - это размер TPA. Если же экран на C000, то под 48 кб имеется ввиду доступное для CP/M ОЗУ. При TPA 48 кб работает большинство CP/M компиляторов ЯВУ, а вот при "48 кб свободной памяти" TPA равно ~40 кб, чего для компиляторов ЯВУ мало.

    Таким образом, этот контроллер является просто грамотным контроллером дисковода с ФАПЧ, турбо-позиционированием головок и инструкцией по доработке самой платы ZX дающей доступное ОЗУ в области 0...BFFF (или 0...DFFF). А программное решение представляет собой драйвер виртуальной консоли в процедуре CONOUT в CP/M-BIOS.

    На мой взгляд более грамотно получить CP/M для ZX-48К можно было разработав для отечественных клонов ZX, платку текстового адаптера, подобной текстовому адаптеру от МИКРО-80 или ЮТ88. С 8-ми битовой памятью (537РУ17 или 8 шт. 565 РУ2), что даёт 8-ми битовые символы без атрибута инверсии (или 7-ми битовые символы с атрибутом инверии), это выливается всего лишь в 20-25 корпусов. Я это знаю, потому что делал такую плату текстового адаптера, а также делал и более грамотную 9-ти битовую плату, что даёт и КОИ-8 и инверсию знакомест (и выливается уже в 30 корпусов).

    Был ещё один более выгодный путь, - это существенная доработка видеовывода самого ZX-клона. Включение параллельной экрану банки 565 РУ6 и вывод четных знакомест из одной банки и нечётных знакомест из другой банки, что даёт экран в 64*24. Кроме напайки РУ6/РУ5 вторым этажом, это выливается в ~7 дополнительных TTL-корпусов, что вполне можно было уместить на слепыше зоновского клона ZX. Интересно, был хоть один ZX-клон реализовавший эту прогрессивную идею.
    Последний раз редактировалось barsik; 28.01.2018 в 17:22.

  6. #5
    Veteran Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ...я предполагал, что barsik в курсе, просто постеснялся обратиться в личку напрямую. Большое спасибо.

  7. #6
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Хотя и имел клон-ZX с 1987, а рэтро дисковод 5089 подключил в конце 1989. Но увы, дисководом на ZX пользовался лишь пару месяцев, - пришлось продать, чтобы получить средства на покупку другой ЭВМ. Потому знаком только со схемотехникой зоновской платы. Т.к хотя и купил в 1991 документацию, как переделать эту плату в Spectrum-128, но так и не сделал доработку. До сих пор ждёт своего часа специально купленная для этого музыкалка AY-8912.

    Если Вас интересует, установка CP/M на простой ZX-клон с ОЗУ в 48К, то давайте скооперируемся. Я тут "прикинул член к носу" и понял, что мне это тоже интересно. Не виртуальный экран, а сама установка CP/M на зоновский клон ZX и экран в 64 символа с фонтом шириной в 8 точек. Потому, что у меня как раз есть пара рабочих зоновских плат, плата Beta-диска, дисководы 3.5", а также непользованный корпус с ZX-клавиатурой на токопроводящей резине.

    Я поискал в разделе "Ленинград-1" темы про установку на него CP/M и ничего не нашёл. Хотя точно знаю, что в начале 90-тых такое делали. Кроме того, были промышленные клоны ZX-48К с CP/M, например Хоббит, где ОЗУ на 62256.

    Для игроманов CP/M как файловая система для запуска игр совсем была не нужна. Т.к CP/M на ZX невыгодна (отнимает ~10 кб, отчего ей можно стартануть только небольшие ZX-игры) и требует апп.доработок архитектуры. Да и т.к TR-DOS c конца 80-тых стала стандартом, где было бы брать те же ZX-игры на дискетах CP/M.

    CP/M имела хоть какой-то смысл только для программистов, давая им более качественные ассемблер/дизассемблер и компиляторы ЯВУ. Но кажется и этим никто не воспользовался, т.к исходники всех отечественных игр выложенные в сети, - в формате TR-DOS. CP/M на ZX-клонах с мизерным экраном использовалась лишь как дополнительный рекламный трюк. А вот для ZX-клонов с нормальным экраном (ATM и Профи) CP/M давала приличные текстовые редакторы.

    Однако, если на сАмом простом ZX-клоне, как указано в моём предыдущем посте, напаять вторым этажом вторую банку РУ5, введя режим экрана 512*256 и, при желании, поменяв коэффициент деления счётчиков, растянуть растр на весь экран телевизора (кварц можно не менять, подстроив частоты строк и кадров в мониторе), то получится почти ВЕКТОР по возможностям вывода текста, только существенно более быстрый, особенно при цветных символах.

    Так и надо было сделать в 1989 и назвав это ОРИОНОМ, опубликовать в журнале РАДИО в 1990. Кроме того, имея две параллельные экранные банки совсем просто можно было поиметь, как режим 256*192 с 4-мя цветами на каждую точку (CGA), так и комбинированный режим, при котором бит FLASH из байта цветового атрибута знакоместа ZX используется для выбора режима отображения для каждого знакоместа - или двухцветная графика в знакоместе 16*8 или попиксельные 4 цвета в знакоместе 8*8, причём со своей палитрой для каждого знакоместа (используя для выбора палитры 7 оставшихся свободных битов байта атрибутов).

    Удивительно, что никто этого не сделал, ведь такое решение просто напрашивается и, не считая доп.банку ОЗУ, умещается всего в десяток дополнительных TTL-корпусов. А скорее всего такой клон ZX уже где-то был сделан лет 30 назад и я предлагаю "изобрести велосипед".

    Никто не хочет сделать такой очень простой клон ZX-48К, позволяющий комфортно использовать CP/M, без потери возможности использовать ZX-игры.
    Последний раз редактировалось barsik; 28.01.2018 в 17:18.

  8. #7
    Veteran Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Если Вас интересует, установка CP/M на простой ZX-клон с ОЗУ в 48К
    Пока нет, не вся информация собрана . Основная причина, как было верно замечено - экран. Я не зря упомянул выше Кворум - там народ умудрялся работать со знакогенератором 3х8 (в принципе такая же фигня была и в редакторе TLW-2, но это была реальная жуть). "Ползающий" по виртуальному реальный экран у меня используется на Epson HX-20, но этот режим хорош только для ознакомления с текстом/картинкой, но никак не для работы.
    Вторая проблема Спектрума - карта памяти, кардинально отличающаяся от требуемой СР/М, главным образом наличием той же области экрана в ОЗУ.
    Третье - отсутствие стандартных системных разъёмов и дисковых контроллеров в стоке как класса.
    Максимум, что я готов сделать из своего "Ореля" (по хорошему используя только системный разъём и не кромсая плату) - только контроллер с клавиатурой, ПЗУ ZX отключается совсем. Экранная область в режиме СР/М используется как основное ОЗУ, вся память отдаётся системе. Сам "экран" - внешний; либо как терминал через СОМ-порт (с использованием уже упомянутого интерфейса ZX LPrint), либо как внешнее устройство (для примера http://qsl.net/rw6hrm/html/8bitdisp.htm ). Дисковая память - CF-карта (мне с ней проще). Конструктив - картридж в имеющийся системный разъём.
    Данное решение не будет универсальным для 48К машин от слова совсем, поскольку практически все 48К-клоны (за исключением "Ореля") не имеют возможностей отключения ПЗУ и использования теневого ОЗУ (Ленинград, Москва, Краснодар - везде надо лезть в плату и резать/ставить перемычки, переключатели и пр.).
    Если кого-то коробит наличие двух видеовыходов (а ведь второй может быть и не ТВ, а, скажем, ВГА), то просто так напомню, что многие пользователи ПК не используют возможности встроенной карты, а используют дополнительную
    Если получится с картриджем, то Ваша идея клона ZX-CP/M будет вполне реальна. Но, повторюсь, далеко не для всех 48К-машин.

    Касательно самой темы. Суть уловил, ещё раз спасибо. На чём интерес к "Демиургу" погас

  9. #8
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rw6hrm Посмотреть сообщение
    "Ползающий" по виртуальному реальный экран у меня используется на Epson HX-20, но этот режим хорош только для ознакомления с текстом/картинкой, но никак не для работы.
    ...
    Касательно самой темы. Суть уловил, ещё раз спасибо. На чём интерес к "Демиургу" погас
    Погас, а напрасно.
    Потому что если сделать символ 6х8 (они отлично читаются), т.е. 42 символа в строке, и если сделать не "ползающий", а экран с двумя состояниями ( 1=отбражаются символы с 1 по 42 и 2=символы с 39 по 80) и их "мгновенным" переключением, то учитывая перекрытие в 4 символа и то что текст все же чаще в левой половине, такое "заглядывание за край", вызываемое одной "теневой" кнопкой, будет мозгом восприниматься "на ура".
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  10. #9
    Veteran Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ...не... Я представил, как будет происходить работа с текстом в ВордСтаре, к примеру, с растяжкой текста по ширине страницы. Для программирования на Бейсике такой вариант пойдёт, но для серьёзной работы - нет.

  11. #10
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от error404
    если сделать символ 6х8 , т.е. 42 символа в строке, и не "ползающий" экран, а экран с двумя состояниями
    Здесь речь о виртуальном экране отображаемом на базовом маленьком ZX-экране 256*192. Не важно с каким именно шагом сделать панорамирование по виртуальному экрану. С шагом в 40 символов или с шагом в 8 символов. В любом случае писать и читать тексты в которых в строке более 42-х символов будет неудобно.

    Кстати, эту идею ещё в середине 80-тых реализовали в текстовом редакторе ИРИТЕКСТ для ИРИШИ. Там в режиме экрана в 40 символов в строке на экране видно только окно шириной в 40 символов, хотя всего в строке допустимо до 80 символов. Шаг сдвига окна равен 16-ти символам, т.е при сдвиге курсора за левую или правую границу экрана происходит мгновенная сдвижка всего экрана на 16 позиций по горизонтали. Как это выглядит можно посмотреть в эмуляторе ИРИШИ EMU от b2m, включив в редакторе ИРИТЕКСТ режим в 40 символов нажатием на ^K.

    Цитата Сообщение от rw6hrm
    Я представил, как будет происходить работа с текстом в Word Star, к примеру, с растяжкой текста по ширине страницы. Для программирования на Бейсике такой вариант пойдёт, но для серьёзной работы - нет
    А здесь, похоже, речь идёт уже о доработанном клоне ZX, в котором сделана доработка по введению второй банки с целью получить графический экран в 512*192 точки и расширен растр, чтобы с большей пользой использовать место на экране.

    Отчего же не пойдёт? Символы будут даже крупнее, чем в ИРИШЕ, а точнее точно такими же как на CGA.

    В исходном виде экран 512*192 получается при частоте пиксель клока в 14 МГЦ. В ИРИШЕ в режиме 640*200 пиксель клок 16 МГЦ и растр выводится 40 МКСЕК из 64 МКСЕК строчного периода (в Синклере растр выводится 36.5 МКСЕК). Отчего растр в ИРИШЕ лишь немного больше, чем синклеровский (на мониторе занимает лишь часть экрана, а в телевизор такой растр влезает нормально).

    Т.о, чтобы увеличить растр ZX до размера как в ИРИШЕ, достаточно кварц 14 МГЦ заменить на кварц 13 МГЦ, а коэффициент деления счётчика по строке понизить с 57 до 52 (для чего достаточно перекинуть пару проводков).

    Аппаратное расширение растра разумно сделать, т.к по вертикали растр легко расширить регулируя "размер по вертикали", а вот по горизонтали растянуть картинку можно только аппаратно, меняя параметры видео-сигнала.

    Для начала я подумал о получении CP/M в базовом ZX-клоне (т.е без установки второй банки РУ5 вторым этажом и введения видео режима 512*192). Это требует "открытия ОЗУ" в области 0...3FFF и переноса экрана на E000. Для открытия ОЗУ надо запретить /CSROM, разрешив /CSRAM, для чего достаточно отключить D12.1/1 от D10.4/13 и подать на этот вход землю. А для переноса экрана на E000 надо проинвертировать ноль и +5В на 10 и 13 ногах мультиплексора D19. Обе эти задачи решаются установкой всего одного корпуса 555 КП11 управляемой каким-либо портом вывода.

    В качестве управляющего порта для переключения в режим CP/M, удобно использовать уже имеющийся бит порта FE из ТМ9 (D35). Там на вход ТМ9 уже заведён бит D5 (а выход регистра не используется). Используя этот готовый бит, режим CP/M можно получить всего за 10 минут работы паяльником.

    В ходе разработки сначала средствами ZX-бейсика придётся загружать стартёр, который грузит загрузчик CP/M с дискеты, которая при запуске включает режим CP/M, в котором отключено ПЗУ, образуя режим FULL RAM, а экраный буфер перенесён на E000.

    Более удобно не грузить стартёр CP/M с МГ-ленты, а прошить его в свободное место в ZX-ПЗУ (где свободно более 1 кб). А ещё лучше применить ПЗУ 27256 и во вторые 16 кб этого ПЗУ прошить CP/M.

    Припаять одну КП11 и перепрошить ПЗУ не так уж сложно. А из программных работ требуется лишь написать драйвер вывода на экран шрифта 6*8 и драйвер клавиатуры, позволяющий вводить коды от 0 до 127. К сожалению, нет ZX-эмулятора, где бы было проще это отладить, чем в реале.

    Затем, получив CP/M на зоновском ZX-клоне, можно заняться введением альтернативного видео режима 512*192 за счёт параллельной экрану банки ОЗУ. Кроме установки второ-этажной банки РУ6 это выливается в монтаж двух 555 ИР9 в качестве выходного сдвигового регистра и ещё несколько корпусов логики, нужных для обеспечения переключения банок в окне C000...FFFF.

    Переключение между двумя банками в окне C000...FFFF можно делать стандартным для ZX-128 коммутатором окна C000, т.е битами D0,D1,D2 порта 7FFD. Хотя, если вторую банку сделать на РУ6, когда этим портом включаются лишь дополнительные 16 кб, то придётся ввести возможность отключать этот порт, иначе универсальные игры рассчитанные на работу как на ZX-48K так и на Spectrum-128 будут неверно определять тип компьютера.

    То, что я заинтересован поиметь CP/M на зоновском ZX-клоне и обдумал эту идею, вовсе не значит, что я прямо сегодня возьмусь это делать, а тем более доведу дело до конца.

    Хотя бы потому, что не имею ZX с дисководом, есть только ZX-48K в МГ варианте. Также есть настроенный Beta-диск с дисководом, но его не подключить, - на моём ZX-клоне нет системного разъёма. Когда найду время и получу TRDOS работающую с дисководом, лишь тогда можно начать думать о CP/M. Тогда и попробую поставить КП11 для переключения архитектуры под CP/M. К тому же с начала полезно разобраться с тем, как CP/M делалась в промышленных ZX-клонах, т.к возможно, какие-то идеи можно заимствовать оттуда.
    Последний раз редактировалось barsik; 30.01.2018 в 17:31.

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 521
    Последнее: 07.12.2023, 12:26
  2. Ответов: 29
    Последнее: 24.03.2019, 18:11
  3. Ответов: 17
    Последнее: 26.12.2015, 23:22
  4. Платы ром-диска "Орион-128"
    от AL.EX в разделе Барахолка (архив)
    Ответов: 45
    Последнее: 10.06.2012, 12:54
  5. Ответов: 0
    Последнее: 15.08.2010, 14:38

Ваши права

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