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

User Tag List

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

Тема: Назад в будущее?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Master
    Регистрация
    27.04.2005
    Адрес
    Москва
    Сообщений
    886
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation Назад в будущее?

    Здравствуйте, товарищи! Разрешите представиться, Павел Федин. Да-да, тот самый, автор дизассемблера TR-DOS и многих предложений по новой ОС, безвременно оставивший платформу в далеком 1998, кажется, году...
    Бродил по ссылкам, по ресурсам... А коммьюнити-то оказывается еще живет... И решил я попробовать в него вернуться. Прошло много времени, многие взгляды поменялись, появился новый опыт...
    Ходя по сайтам заграничных сообществ пользователей старых компьютеров я много натыкался на объявления о поддержке, производстве и продаже программ и оборудования. Интересно, а чем мы хуже? На этом форуме я нашел также объявление Чунина Романа, который, насколько я понял, занимается примерно тем же. Возможно есть еще заинтересованные люди.
    Мое сообщение предназначено для прочтения в первую очередь теми, кто хотел бы реально организовать какую-либо поддержку, либо ищет людей для осуществления подобных проектов. Мне было бы очень интересно связаться и обсудить условия возможного сотрудничества.
    У меня есть несколько предложений, софтово-железного характера. Дабы не распыляться, напишу все здесь, надеюсь мне это простят.
    Итак, первое. Вспоминая свою идею супер-ОС, а также примерно представляя, что представляет собой среднестатистический реально имеющийся в наличии современный Спектрум... Поправьте меня пожалуйста, если я не прав, но по крайней мере в России и сопредельных странах используется Спектрум-128 (возможно с некоторыми расширениями) с дисковой ОС TR-DOS. Имеется также опыт использования винчестеров (я хотел бы с ним ознакомиться), ибо пространства дискетки на текущий момент явно не хватает, хотя мне неизвестно о полноценных реализациях.
    Итак, предложение №1. Разработка TR-DOS-совместимой дисковой системы, способной работать с ЛЮБЫМИ видами носителей информации, а не только с дискетками. Ключевые аспекты реализации следующие:
    1. Нахождение в ПЗУ, оригинально предназначенном для TR-DOS.
    2. Полная совместимость с TR-DOS по вызовам бейсика и #3D13.
    3. Расширенный набор вызовов #3D13, обеспечивающий полноценную работу и легкость переадаптации игр и прочих программ, работающих вне контекста ОС (без системных переменных).
    4. (возможно) ограниченная совместимость на уровне прямых вызовов наиболее часто используемых подпрограмм.
    5. Поддержка подкаталогов на всех видах носителей информации.
    6. (в перспективе, при необходимости, требуется аппаратное вмешательство) обеспечение совместимости на уровне системных вызовов с прочими (псевдо)дисковыми системами (Disciple, Opus, +3, Microdrive, и т. д.) с целью обеспечения работоспособности программ без необходимости переадаптации.
    В качестве конечного результата мне видится прошивка (несколько версий аппаратно-зависимых прошивок) ПЗУ, вставляемого взамен имеющегося.
    Возможно обеспечение 100% совместимости с TR-DOS путем аппаратной доработки машины с добавлением новой страницы ПЗУ, подменяющей собой TR-DOS, с программным переключением.
    В перспективе возможно развитие проекта с целью превращения в полноценную ОС с менеджментом памяти, подключаемыми модулями и т. д.
    Предложение №2. Насколько мне известно, ситуация с устройствами хранения информации на ZX в данный момент следующая:
    1. Дискетки. Морально устарели, емкость ограничена, возможность эксплуатации 5.25" приводов ограничена (выпуск давно прекращен, запчастей нет, носителей тоже).
    2. Жесткие диски. Установка на ZX современного накопителя большой емкости (типичный размер современного диска исчисляется десятками гб) по моему мнению не имеет смысла в принципе, работа с ним сложна технически (64-битная адресация) и крайне медленна. Возможно использование только начальной области такого диска, но при этом появляется такой фактор, как неоправданность стоимости самого накопителя (которая равна, если не больше, цене компьютера). Вариант совместного использования жесткого диска в большой машине (PC) и ZX с его постоянным переставлянием возможен, но неудобен. Приобретение же жестких дисков малой емкости (<500 мб) затруднено их ограниченной доступностью, а также ограниченностью их остаточного ресурса.
    Предлагаю следующие пути решения данной проблемы:
    1. Более простой путь - использование большой машины в качестве файл-сервера. Насколько мне известно, в данный момент не существует разработок, позволяющих использовать такой вариант в отечественных условиях (хотя есть реализации с использованием последовательных портов интерфейса-1, а также Spectrum+3).
    2. Более сложный путь - разработка собственного устройства на базе Flash-памяти средней емкости (до десятка мб). Собственно, это логическое продолжение идеи ROM-картриджей, популярных во времена становления домашней игровой индустрии. Имеет следующие плюсы:
    а) абсолютная бесшумность накопителя.
    б) очень высокая скорость работы.
    в) практически абсолютная надежность.
    г) малые размеры
    д) легкость транспортировки
    Итак, если есть реально заинтересованные люди, согласные реально помочь (организацией, спонсорством, предоставлением железа, и т. д.) - мне было бы крайне приятно вновь вступить в ваши стройные ряды.

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

  3. #2
    Master
    Регистрация
    16.01.2005
    Сообщений
    615
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sonic
    Предлагаю следующие пути решения данной проблемы:
    1. Более простой путь - использование большой машины в качестве файл-сервера. Насколько мне известно, в данный момент не существует разработок, позволяющих использовать такой вариант в отечественных условиях (хотя есть реализации с использованием последовательных портов интерфейса-1, а также Spectrum+3).
    2. Более сложный путь - разработка собственного устройства на базе Flash-памяти средней емкости (до десятка мб). Собственно, это логическое продолжение идеи ROM-картриджей, популярных во времена становления домашней игровой индустрии. Имеет следующие плюсы:
    Как насчёт пути номер 0 - использование CF-флешек? Они по интерфейсу совместимы с IDE.

  4. #3
    Master
    Регистрация
    27.04.2005
    Адрес
    Москва
    Сообщений
    886
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiru
    Как насчёт пути номер 0 - использование CF-флешек? Они по интерфейсу совместимы с IDE.
    Нормально. Просто я побоялся за стоимость - около 1000 рублей за самую дешевую карточку.
    Думаю, собственный накопитель можно сделать со стоимость рублей за 300.
    Хотя, если подумать... Карты памяти дешевеют... Так что пожалуй ты и прав. Через некоторое время карточка будет стоить рублей 500.

  5. #4
    Activist Аватар для acidrain
    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sonic
    Нормально. Просто я побоялся за стоимость - около 1000 рублей за самую дешевую карточку.
    Если угодно могу продать самый дешевый в районе 15 уе или того меньне, причем не в еденичном экземпляре, т.е. это реальная оптовая цена. Свою на 256 метров я купил менее чем за 20 $. Что не намного больше 300 р. изобретаем велик, господа .
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

  6. #5
    Member
    Регистрация
    04.04.2005
    Адрес
    Невинномысск
    Сообщений
    49
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sonic
    минимальные требования для работы эмулятора - наличие возможности чтения из порта #7ffd или возможность использования дополнительной страницы озу не затрагивая вышеуказанный порт.

    а вообще читаю и диву даюсь - большинство идей уже воплощено в коде

    вот к примеру совсем немного из мануала к vtr-dos 2.5xt:

    set_vtrd_map
    замена/востановление стандартной разводки памяти под рамдиск,

    по умолчанию соотвествующей используемой в honey commander 4.0.
    карта памяти берётся по адресу = (#80 or подкоманда)*256.
    в этой версии карта памяти должна состоять из номеров страниц #00..#7F,
    все иные значения заменяются идентификаторами недействительной страницы,
    а так же иметь длину 256 байт. т.к. карта памяти в длину обычно
    меньше 256 байт, то последние байты должны устанавливаться значениями
    недействительной страницы равным #FF
    номера страниц выше #40 являются страницами пзу и нумеруются в обратном порядке, т.е. #40 на самом деле является #3f страницой пзу

    set_page_hook
    установка/удаление обработчика обращений к недействительным страницам

    общий размер обработчиков не может быть больше #1FFF байт
    <для компиляции> стартовый адрес РАБОТЫ кодового блока обработчиков = #4200
    блок обработчиков загружается в страницу #38 и выполняется из неё в окне #4000
    прерывания запрещены.

    set_nmi_hook
    установка/удаление обработчика нажатия клавиши magic

    производится копирование кодового блока в страницу #38 откуда он
    и будет работать, стартовый адрес #6200
    подкоманды не используются

    set_reset_hook
    установка перехватчика нажатия клавиши reset и инициализации vTR-DOS

    в данной версии всегда копируется все 16кб данных,
    из которых 1-й байт и 3 последних изменяются соответствующим образом
    для работы резидента (см. соответствующую литературу)

    подкоманды не используются

    set_io_hook
    установка/удаление перехватчика доступа к расширенным портам

    кодовый блок копируется в страницу #38, стартовый адрес обработчика #7200
    подкоманды не используются

    DMS_CALL
    вызов драйвера

    производит вызов драйвера или операционной библиотеки по их идентификатору. регистры передаются драйверу/операционной библиотеке.

    DMS_LOAD
    установка драйвера

    драйвер представляет собой кодовый блок вызываемый прикладными программами для отработки машинно-спецефичных задач. выполняется из невыгружаемой страницы с открытыми портами. условно драйвера делятся на группы. каждой группе по-порядку присвоены следующие идентификаторы :

    00 драйвера верхней памяти (только один может быть загружен)
    01 драйвера логических накопителей (только один может быть загружен)
    02 драйвера файловых систем
    03 драйвера физических накопителей
    04 драйвера графических подсистем
    05 драйвера ввода-вывода
    06 операционная библиотека
    07 резидент реального времени

    следует заметить что работа группы 1 не имеет смысла без установки драйверов группы 2, а той в свою очередь - группы 3.

    формат кодового блока драйвера следующий :

    #C000 DMS_CALL: JP _CALL ;рабочий вызов драйвера
    #C003 DMS_LOAD: JP _INIT ;первоначальный вызов драйвера (при инициализации)
    #C006 DMS_KILL: JP _KILL ;финальный вызов драйвера (при удалении)
    #C009 DMS_FIND: JP _VERSION ;идентификация драйвера по группе и версии
    #C00C DMS_MESS: JP _HARD_INIT_MESSAGE ;сообщение BIOS об аппаратных событиях
    #C00F _TX_VERS: DB 'СТРОКА КОНТРОЛЛЕРА' ;понятное текстовое имя драйвера
    #C100 _CODE: ... ;тело драйвера ...

    или к примеру вот

    машиннозависимые подкоманды защищённого режима :

    - подкоманда 80. vendor_protect_hide
    = тихий режим защиты. подключение запрещённых страниц игнорируется. попытки использования системного порта игнорируются. программы использующие верхнюю память могут работать неправильно. не рекомендуется.

    - подкоманда 81. vendor_protect_break
    = обычный режим защиты. при обращении в запрещённую страницу памяти или к системному порту выполнение программы прекращается и демонстрируется сообщение.

    там много, всё писать сюда смысла нет. если есть желание - пишите на мыло.

  7. #6
    Master
    Регистрация
    27.04.2005
    Адрес
    Москва
    Сообщений
    886
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    2 UKMZ: Насколько я понял, это все - ATM-specific (судя по требованию наличия окна с #4000)? Тогда жаль что без аппаратных изменений оно непортабельное никуда, кроме Profi.

  8. #7
    Guru Аватар для CHRV
    Регистрация
    18.01.2005
    Адрес
    Москва
    Сообщений
    3,695
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sonic
    Итак, предложение №1. Разработка TR-DOS-совместимой дисковой системы, способной работать с ЛЮБЫМИ видами носителей информации, а не только с дискетками. Ключевые аспекты реализации следующие:
    1. Нахождение в ПЗУ, оригинально предназначенном для TR-DOS.
    2. Полная совместимость с TR-DOS по вызовам бейсика и #3D13.
    3. Расширенный набор вызовов #3D13, обеспечивающий полноценную работу и легкость переадаптации игр и прочих программ, работающих вне контекста ОС (без системных переменных).
    4. (возможно) ограниченная совместимость на уровне прямых вызовов наиболее часто используемых подпрограмм.
    5. Поддержка подкаталогов на всех видах носителей информации.
    6. (в перспективе, при необходимости, требуется аппаратное вмешательство) обеспечение совместимости на уровне системных вызовов с прочими (псевдо)дисковыми системами (Disciple, Opus, +3, Microdrive, и т. д.) с целью обеспечения работоспособности программ без необходимости переадаптации.
    В качестве конечного результата мне видится прошивка (несколько версий аппаратно-зависимых прошивок) ПЗУ, вставляемого взамен имеющегося.
    Привет! Рад видеть!
    Ознакомся с http://atmturbo.narod.ru/projects/hdd_prj.htm.
    Прошивка уже готова и я ее пробовал! Сейчас дописывается менюшка стартовая и прочие вещи, будет поставляться с АТМ!
    Для остальных клонов тоже будет, подробности у UKMZ!

    Пожалуйста пишите в email (chunin{гаф}mail{тчк}ru), личка отключена!!!

    NedoPC group. ZX-Evolution, ATM Turbo 2+, Pentagon1024SL.
    [Предлагаю: ZXEvo, PAL coder, NeoGS, TS-FM, YM2149, Z80 и прочее]
    Все здесь: http://www.nedopc.com.
    Новости/поддержка/Faq: http://forum.nedopc.com.
    Раздача халявы: http://forum.nedopc.com/viewtopic.php?f=32&t=977

  9. #8
    Master
    Регистрация
    27.04.2005
    Адрес
    Москва
    Сообщений
    886
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CHRV
    Ознакомся с http://atmturbo.narod.ru/projects/hdd_prj.htm.
    Прошивка уже готова и я ее пробовал! Сейчас дописывается менюшка стартовая и прочие вещи, будет поставляться с АТМ!
    ИМХО не очень хорошо что такие требования к памяти.
    А что если поступить следующим образом:
    1. Из ПЗУ TR-DOS выносим нафиг стартер (RST 0) - имхо необходимость набрать RANDOMIZE USR 15616 - небольшая потеря. Можно также убрать работу с #-файлами, которые так и не нашли использования.
    2. За счет освободившегося места вводим новые функции #3D13, которые работают, например, так:
    LD IX,LoadRequest ; структура, описывающая вызов
    LD HL,Dest ; указываем, куда грузить
    LD C,#20 ; загрузить файл
    CALL #3D13 ; на выходе в A - код ошибки
    .........
    LoadRequest:
    DEFW Buffer ; указатель на 512-байтовый буфер для
    ; дисковых операций
    DEFW ErrorHandler ; указатель на нашу процедуру отработки запроса
    ; Retry/Abort/Ignore (в A она должна возвращать 0,
    ;1 или 2 скажем)
    Drive DEFB 0 ; номер дисковода - сейчас работаем с НГМД A
    DirCyl DEFW 0 ; цилиндр, сектор и головка - ссылка на текущий
    ; открытый каталог
    DirSec DEFB 0 ; хотя, можно и в LBA-номер блока, тогда будет два DEFW
    DirHd DEFB 0 ; в данном примере читаем корневой каталог
    DEFB "FILENAME" ; имя файла
    DEFB 'C' ; тип файла
    На выходе из такого вызова прерывания запрещены (если работаем с дисководом) или оставлены без изменений (жесткие диски к этому не критичны), этим обеспечивается совместимость со многими существующими игрушками.
    3. Формат диска изменен следующим образом:
    - снято ограничение на количество файлов в каталоге
    - введено понятие подкаталога.
    - любой каталог не непрерывен, а представляет из себя цепочку секторов, где каждый сектор указывает на следующий. Для отслеживания занятого места, видимо, придется вводить дополнительную карту диска, как в IS-DOS.
    - на жестких дисках длина сектора - 512 байтов, адресация идет по CHS или LBA. На флопиках все по-старому.
    - файлы по-прежнему непрерывны. Требования располагать их в том же порядке, что и дескрипторы, нет. Процедуру MOVE из ПЗУ тоже выносим, делаем отдельную программу (полагаю на HDD мы не будем ее часто вызывать).
    - описанные изменения могут касаться только HDD, формат флопика можно и вовсе оставить прежним для пущей совместимости (вряд-ли кто-то захочет использовать их в качестве основного хранилища, так что можно и пожертвовать подкаталогами на них).
    Вот, собственно, и все. Получаем TR-DOS-совместимую систему, переадаптация ПО к которой производится крайне легко (плюс работает большинство из существующего).

  10. #9
    Guru Аватар для CHRV
    Регистрация
    18.01.2005
    Адрес
    Москва
    Сообщений
    3,695
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sonic
    ИМХО не очень хорошо что такие требования к памяти.
    Собственно прошивка делалась изначально для АТМ, но без особого труда можно воткнуть в КАЙ-1024 и Profi! Рассчитывали на современную базу. В прочем АТМ единственная машинка сейчас выпускающаяся (Не считая запаса Кворумов у Caro).

    Пожалуйста пишите в email (chunin{гаф}mail{тчк}ru), личка отключена!!!

    NedoPC group. ZX-Evolution, ATM Turbo 2+, Pentagon1024SL.
    [Предлагаю: ZXEvo, PAL coder, NeoGS, TS-FM, YM2149, Z80 и прочее]
    Все здесь: http://www.nedopc.com.
    Новости/поддержка/Faq: http://forum.nedopc.com.
    Раздача халявы: http://forum.nedopc.com/viewtopic.php?f=32&t=977

  11. #10
    Master
    Регистрация
    27.04.2005
    Адрес
    Москва
    Сообщений
    886
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CHRV
    В прочем АТМ единственная машинка сейчас выпускающаяся
    Это ты верно подметил. Только вот - а каков парк уже имеющихся машин? А что если мы будем рассматривать в качестве целевой аудитории не только Россию, а весь мир (ИМХО Россия в настоящее время - уже мало)?
    Смысл идеи - поддержка ИМЕЮЩЕГОСЯ железа

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

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

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

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

Ваши права

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