Дока по xBIOS лежит здесь:Сообщение от do_se
http://atmturbo.nedopc.com/inf/books...c/xbiosdoc.zip
Приятного чтения!
Дока по xBIOS лежит здесь:Сообщение от do_se
http://atmturbo.nedopc.com/inf/books...c/xbiosdoc.zip
Приятного чтения!
Максагор, NedoPC group
ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
[ZX rulezzz 4reva!!!]
http://atmturbo.nedopc.com
http://vk.com/atmturbo
http://maksagor.livejournal.com
http://moskprf.ru
[СССР][Коммунизм][КПРФ] ну [ZX], естественно...
Да с этим я разберусь и даже сам ее включу в файл "Инструкции по установке", еще туда планирую включить раздел по работе с дисками на ПЦ - тоже у пользователей вопросов много возникает.Сообщение от Максагор
Пожалуйста пишите в 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
Может тупой вопрос задам, ибо не изучил ещё все архивы. А языки более высокого уровня чем ASM под тазис есть? Типа Си. Или на крайняк паскаль? И где найти описание системы для программистов, системные вызовы там и т.п.? Кроме того не совсем понятно - реализована ли возможность запуск системы в zxevo с флешки, при это не портящая и не мешающая fat32, чтобы можно было переткнув флеху перенести данные с PC?
Последний раз редактировалось Demige; 18.03.2019 в 23:31.
Zx-Evolution rev.c
ZS Scorpion 1024K rev.2013
Есть iS-forth. Но я в этом языке не копенгаген, хотя говорят, что сам по себе язык хороший - но как он хорошо реализован в исдосе, не знаю, не работал с ним. Как достоинство отмечу, что создает при компиляции промежуточные объектные файлы, совместимые с такими же от ассемблера - и их можно в итоге объединять вместе при линковке. Но опять-таки, я не экспериментировал.
По поводу работы с флэшки, а точнее - с SD-карточки - проект начат, как только система была перенесенана ZX-Evo - раньше, на ATM, при отсутствии на этой машине SD-контроллера, было не с руки экспериментировать. Также прорабатывается проект создания Partition-manager для создания разных разделов на винте, не портящих как FAT, так и существующие варианты разделов CP/M и iS-DOS/TASiS.
Максагор, NedoPC group
ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
[ZX rulezzz 4reva!!!]
http://atmturbo.nedopc.com
http://vk.com/atmturbo
http://maksagor.livejournal.com
http://moskprf.ru
[СССР][Коммунизм][КПРФ] ну [ZX], естественно...
Переместил весь массив срача во флейм (да-да, с сегодняшнего дня я тут модератор). Кто хочет резвиться, резвитесь там. Но так как переместил весь массив, ввиду практической невозможности вычленить конструктив (а он имеется, в т.ч. и у Vadimа, и у Saymanа), допускается возникающие конструктивные вопросы транслировать оттуда сюда заинтересованным авторам, которые самостоятельно очистят их от переходов на личности (все, перелистнули страницу - кто не успокоился - тема во флейме доступна) и сформулируют в виде, удобном для ответа.
В частности обращаюсь к Saymanу:
Ну, во первых, просто для показа того, что с 2011 года ничего не изменилось, а оскорблять можно не прямо в стиле "Ты - х..." и просто песня в чужой теме на оффтопик "Это ОСь или не ОСь" старая и ничего не изменилось. А оскорбляются там авторы системы ("ее наверное писали в пьяном виде"" и прочее и прочее), с которыми я в свое время лично переписывался и оскорблять не дам. И вы и Vadim, действуя вместе, по факту стали переозвучивать в манере, воспринимаемой мной как хамская те же эпитеты и утверждения, как и много лет назад. При том, что тема конкретного топика не предполагала срача на тему ОС - не ОС, я прямо попросил покинуть ее (хотя бы элементарно, чтобы не засорять дискуссии по теме) и создать соседний топик, но был проигнорирован. Причем после того, как модератор вычистил одну тему от вашего оффтопика, вы вместо того, чтобы создать свой, просто залезли в другой. Кто из вас двоих так решил, знать не знаю. Я не призывал скопом баннить в том числе и из-за этого. Но флейм был налицо. Далее все заверте... со взаимным накалом эмоций и эпитетов. Vadim опустился до площадной брани и немотивированной политоты и был забанен (не мной), вы - нет, вы продолжаете дискуссию. В любом случае приветствуется стремление разобраться, а не продавить свое видение.
Надеюсь, вам моя мотивация и ход мыслей в течение развития событий понятен. Теперь все перемещено во флейм. Кто не успокоился - резвитесь.
Теперь о дискуссии. Как я сказал, в перемещенном скопом массиве был конструктив, который просто вычленить было трудно. Авторы конструктива, которым просто предлагаю оставить эмоции либо в теме флейма, либо в прошлом, могут самостоятельно копировать его сюда в стиле "вопрос - ответ". Готов ответить последовательно на все поступающие вопросы. Но с одним большим НО (и это особенно относится к Saymanу). У меня нет времени и возможности отвечать на длиннющие портянки из сотен вопросов - чисто физически. Что-то я упущу (на что сразу скажут - Тимонин ушел от ответа!!!!), а еще мне надо работать, есть, спать и заниматься семьей. Ну и иметь время в т.ч. для того, чтобы кодить на Спекки, а не сидеть вместо этого пол ночи на форуме, разбирая портянки с о смесью собственно конструктивных вопросов с дикой хренью и холиваром пополам. Предлагаю последовательно разбирать вопрос за вопросом, и как будет снят или хотя бы разъяснен один пункт, переходить ко второму и так далее. Срач "ОС - не ОС" здесь под запретом - это во флейм. Любые вопросы в стиле "Я прочитал, что в исдосе вот так, а почему? Это неправильно, должно по идее быть так", изложенные в корректной и конструктивной форме, приветствуются. Оффтопичные придирки типа "Мануал кривой - значит ОС - г...но" - порицаются (тем более мануал писал не я, да и к тому же как "кривость" мануала что-то говорит о коде ядра системы). "Вкусовщина" - тоже. "Нравится или не нравится" - это вопрос личных пристрастий, ибо попробуйте где-нибудь найти мои утверждения, что "TASiS - самая лучшая система, бросайте свои ОСи и все пересаживайтесь под "мою прррелесть!" - нет даже близко. Есть лишь информирование спектрум-пользователей, что есть система, есть новый дистрибутив, есть такой-то софт под нее, такого-то нет или пока нет и т.д.. Тогда более понятным будет степень оффтопичности того, что было понаписано вами двоими в темах под эту ОСь.
Надеюсь, такие правила всех устроят: Тогда вэлком.
Учитывая, что я могу отвечать только на последовательно поступающие вопросы, остановлюсь на одном из первых по счету в последней "портянке" Saymanа. Давайте полностью обсудим их:
Есть древнющщая доработка памяти от TiM0Nа по внедрению портов Профи к АТМ (те самые 2Мб, о которых ты пишешь выше). Она использовалась только им самим, может еще парой человек в Новосибе, откуда он родом. Требовала существенной работы паяльником для внедрения в существующие на то время платы АТМ (в частности, напайки SIMM_модуля). Больше никакой информации об этом нет. Этот стандарт не поддерживается и поддерживаться не планируется как боковая "отсохшая" ветвь. TASiS - система для линейки ATM/ZX-Evo как есть и потенциально для машин, где есть на уровне портов т.н. "диспетчер памяти" - т.е. хардверная возможность включать любую страницу в любую четверть адресного пространства (так что теоретически (только теоретически) возможен перенос системы на MSX, Sprinter, Ts-Conf, но невозможен, к примеру, на такие хорошие спектрум-клоны как ZX-Profi и Scorpion+GMX).
Есть 4Мб ОЗУ в ZX-Evolution. Система их не может видеть по одной простой причине - ядро TASiS было создано задолго до появления ZX-Evolution. 1 Мб в ATM управляется портом #xFF7 и все. Иных портов нет. ZX-Evolution/BaseConf, совместимый с ATM по принципу "сверху-вниз" имеет два типа портов - то же #xFF7, которым можно адресовать не более 1Мб ОЗУ, и новый порт #x7F7, через который доступны ВСЕ 4Мб.
Ядро TASiS создавалось задолго до появления этого дополнительного порта и просто о нем не знает (а в соответствии с принципами абстрагирования от железа только ОС, его подпрограммы должны обращаться к портам. Прикладное ПО пользователя должно видеть только системные вызовы с их входными/выходными данными, если надо - системные переменные для настроек и проч.).
С этой точки зрения вот те самые рестарты работы со страницами просто на будущее построены так, чтобы потенциально могли бы "прозрачно" для прикладного ПО работать с ОЗУ до 4Мб. А именно - на входе они принимают любой номер страницы от 0 до 255 (есть особенности с адресацией конкретных страниц 0dec и 255dec, так как это в данном случае неважно для понятия общего принципа, намеренно опускаю), плюс есть битовая таблица занятости страниц на 32 байта (256 битов). Но так как АТМ просто не знает, что физически могут существовать порты под 4Мб, и система была изначально написана под именно эту машину и использует в процедурах порт #xFF7, то все номера выше 63 процедура обработки входящих в рестарт данных режет по маске. А в битовой таблице все страницы выше 1Мб помечены как "занятые", так что любой поиск свободных страниц для их занятия прикладным ПО выше 1Мб не поднимется. Но задел для адресации всех 256 страниц, как видите, уже создан. Требуется только переписать процедуру обработки рестарта под порты #x7F7, снять "блокировочные" биты в таблице для ОЗУ выше 1Мб и "резание номера страницы" по маске. Прикладное ПО просто автоматом получит расширенные возможности по поиску страниц в диапазоне до 256, а не 64-х. Никаких переделок в самом ПО не потребуется. Ибо абстрагирование от железа.
Ближайшая аналогия (грубая. Просьба не придираться - стараюсь донести общий смысл) - много лет назад (году в 2012-м) покупал ноут с ОЗУ 6Gb. Так мне посоветовали отдельно доплатить за 64-разрядную винду, мол там сейчас стоит 32-разрядная, и без костылей она выше 4Gb не увидит.
Почему в TASiS за 14 лет это не было сделано раньше? Потому что сначала ZX-Evolution с его стандартами портов не существовало вовсе. А затем потому, что я по жизненным обстоятельствам, во-первых, почти не мог заниматься спектрумом вообще, и уж тем более таким большим проектом, как развитие ОСи (понемножку разными энтузиастами, и даже мной писались или совершенствовались отдельные утилитки, причем разрозненно - поэтому и пришлось пока выпустить НОВЫЙ дистрибутив со СТАРЫМ недоработанным еще ядром, где все новинки включены, взаимоувязаны в файлах ассоциаций и настроек и т.д.), плюс у меня не было под рукой работающего реального ZX-Evolution, чтобы проводить эксперименты (поэтому я и драйверами не занимался - если я что и мог делать, то под АТМ, под ZX-Evo надо было переделать как минимум все, что связано с IDE(так как порты другие) - драйвера, настроечные утилиты для дров, загрузчики с винта (потому что прописанный в ПЗУ загрузчик с винта тоже другой - нежели в АТМ) - т.е. основные низкоуровневые железозависимые части не внедренные непосредственно в ядро - те же драйвера могут маунтиться и удаляться). Для переделки страничной процедуры надо было непосредственно заниматься ядром. Сейчас, в 2019 году, занявшись системой после перерыва во много лет, я это оставил на потом, после того как система сначала заработает на ZX-Evolution в том виде как есть. Системой в этом плане занимаюсь с апреля.
Вот такой вот пример вопроса-ответа. Отсюда мой вопрос к Saymanу.
Видите, сколько текста мне пришлось потратить для подробного ответа только на один вопрос. А теперь представьте, могу ли я ответить на поток вопросов и претензий (в т.ч. с моей точки зрения глупых) сыплющихся во-первых длинными списками, а во-вторых сразу от двух людей? Я должен всю свою жизнь посвятить их комментированию? Представьте себя чисто физически на моем месте.
Мой ответ по этому вопросу достаточен? Такой подход к дискуссии удовлетворяет? Есть вещи, которые надо уточнить? Есть вещи, которые вы вроде бы поняли, но сомневаетесь, что может где-то могли понять неправильно? Если есть, пишите уточняющие вопросы.
Если нет, то предлагаю вам самому констатировать прямым текстом, что данный вопрос можно закрыть и переходить к следующей теме. Например, там у вас был вопрос про "сегментированные файлы и электронный диск". Если вы готовы переходить к нему (но только если готовы), просьба скопипастить то, что вам нужно для вопроса из флейма, а лучше пересформулировать вопрос как можно подробнее (это если закрыт предыдущий вопрос) и четче.
Вот такой вот конструктив.
Последний раз редактировалось Максагор; 26.08.2019 в 21:47.
Максагор, NedoPC group
ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
[ZX rulezzz 4reva!!!]
http://atmturbo.nedopc.com
http://vk.com/atmturbo
http://maksagor.livejournal.com
http://moskprf.ru
[СССР][Коммунизм][КПРФ] ну [ZX], естественно...
да. интересно было почитать. в общем и целом понятно. кроме момента с железной zxevo - уже несколько лет как существует рабочая версия UnrealSpeccy в котором весьма достоверно реализована эмуляция бейзконфы. в часности, текстмод, ИДЕ, память. Т.е. дожидаться железки было не обязательно и накидать (на вентилятор) минималку для включения поддержки эво, предположительно можно было. Но, я повторюсь - предположительно. Понятное дело, кроме Спектурма и атм есть и другие, более реальные проблемы и потребности. Но каждый раз возвращаюсь к допилу системы этот момент так же можно учитывать (эмулятор). ты же не хочешь сказать, что весь код пишешь на реале и прям в Тазисе (в is-asm`е)?Вот такой вот пример вопроса-ответа.
что касательно ещё поддержки железа и, в том числе, своего рода абстракции, на который ты обратил внимание в своём определении (уж не буду его снова приводить), есть ещё интересное наблюдение. Для чего выводить в отдельный дистрибутив версии для атм и эво? в целом, в рамках одного дистриба можно решать задачу по переключению между ядрами для атм и эвы. опять-таки - драйвера... экран, память, ещё что-то. при грамотном подходе будет компактно и быстродействие не пострадает. Я не говорю про случаи, когда требуется именно напрямую работать с аппаратурой (ну там, игры, демки). в рамках консольных утилит хватало бы с головой!
Что касается фрагментированных файлов - я смог придумтаь только одну причину по которой фрагментированные файлы выделены в отдельную сущность - это попытка производить запись данных между уже записанных данных. т.е. грубо говоря - "раздвигать" данные файла в стороны. но эта задача настолько не каждодневная и в целом не существенная, что тратить ресурсы машины на акцентирование каких-то рестартов на это, с моей точки зрение кощунство. Это решить можно банальной сторонней утилитой. Других причин для выделения фрагментов в сущность я не смог увидеть. И, как я писал ранее, с точки зрения пользователя - файл есть просто файл - поток данных как он выглядит изнутри с позиции ФС, ему плевать. Пользователю важно, что бы система умела быстро и с минимальными телодвижениями (пользователя) работать с этими файлами. Можно, конечно, предположить некоего искушённого юзера (кодера), прошаренного такого, которому вынь и положи работу с фрагментами файла. но, выдать ему такую тулзу и пусть (падёт ниц) будет рад.
Про сущность рам диска я то же примерно догадываюсь - для того, чтобы быстрее и нагляднее работать с образами дисков. Видимо для этого и система умеет выдать юзеру память, которая уже занята под рам диск. Конечно, так быстрее дописать данные в файл, который сидит в памяти (в рам диске). но, это не совсем корректно. Опять-таки - вспоминаем определение и абстракцию. Система явно это нарушает. В Estex рам диски как отдельная сущность существует ТОЛЬКО в рамках драйвера под саму дос и на уровне биоса (про биос мы ничего не говорили, а говорили только про дос). Сама дос про рамдиск ничего не знает (и знать не хочет). И значит кога я хочу дописать в файл который уже сидит в рам диске, то я просто пишу как в обычный файл, без всяких заморочек. и лично я в рамках Estex рам дисками не пользуюсь вообще. только когда дело идёт к включению трдоса и режима "пня", тогда запускаю spectrum.exe который умеет монтировать трд образы, а в трдосе он уже примонтирован на А. Есть "слэшь" команды (в трдосе) для ручного монтирования образов с винта.
Т.е. я ещё раз повторюсь - не нужно заставлять юзера "потеть". Всё должно быть максимально прозрачно. Без выдачи лишней нагрузочной информации (а в тазисе эта нагрузка велика).
Представь себе - систему пилят из расчёта 48кб минимум и до... фиг знает каких размеров. Нагромождают ядро просто всем, ну чтобы на всякий пожарный. Сколько, кстати, сейчас там весит ядро? is_dos.rom 16кб (исходя из того файла, что я в образе вижу) и второй ещё на 14кб. нормально так. На самом деле можно сократить размер ядра в двое и ещё в производительности прибавить. Да, совместимость с классиком нас (или вас) покинет. Печально, но факт ещё и то, что при наличии всех (или почти всех) утилит, их придётся пересобрать под новое, вот такое нормальное ядро. Самое интересное тут то, что половина этих утилит просто станет не нужной и переносить их не будет иметь смысла. И скорей всего, это будет уж ене is-dos based система, это будет уже действительно !новая! система. Жаль только, что никто за это не возьмётся.
Последний раз редактировалось Sayman; 27.08.2019 в 08:18.
Максагор (28.08.2019)
У меня вопрос по развитию системы. Я правильно понимаю, что исходников классической iS-DOS так и не удалось достать? То-есть TASiS создавалась и дописывалась путем декомпилляции существующего дистриба iS-DOS? Какой лицензионный статус TASiS сейчас? Это бесплатное ПО, но не планируется ли его сделать свободным? Возможно, имело бы смысл, создать репозиторий на github и предложить сообществу развивать систему всем вместе, подобно другим хорошим примерам, типа Linux? А NedoPC выступала бы координатором всех работ и знаималась бы сборкой релизов. Может быть, тогда и критики iS-DOS смогли бы внести вклад и сделать систему лучше.
Sayman (27.08.2019)
Для начала можно с каждой версией TASiS выкладывать отдельно архив с её исходниками и кратким описанием по их сборке.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)