From: Ryazan (Ryazan_Net)<hr>
Hello Maxim!

13 Oct 05 06:05, Maxim Timonin wrote to Dima Bystrov:

Hу, если текст проги набивается в редакторе а ассемблируется отдельно.
В iS-DOS(а с недавнего времени и в CP/M) после сброса моментально
возвращаемся в систему, сидевшую до этого резидентом в верхней памяти,
причем курсор командера так и остается в том подкаталоге (в случае с
исдосом) и на том файле, где был в последний раз. Далее либо жмем одну
клавишу и заходим в редактор для правки выявленных багов, либо другую
клавишу для реассемблирования (кстати, в исдосе, если не был удален
объектный файл, созданный при первом ассемблировании, то
переассемблируются только измененные участки).
После сброса мне, значит, надо не только перезагружать исходник (а
редактировать я могу только один исходник из всех), но и вручную искать место в
этом исходнике, которое я в прошлый раз редактировал, и это при отсутствии
закладок. Благодарю покорно.

Файловый уровень В ПРИHЦИПЕ там есть. Hо вот используется он
да-а-алеко не всегда. Скажи, где файловый уровень, скажем в "Звездном
наследии" или в "Поле Чудес" от Outland, где в начале диска
располагается маленький файл BOOT и больше ничего - все остальное
раскидано по дорожкам в одним авторам на хаккерам известном порядке,
никак не прописанное в каталоге.
Файловый уровень используется, например, в редакторе уровней Wolf'а и в
редакторе DBS. Этот уровень неудобен тем, что доступ к файлу только целиком, а
при ухищрениях (23796) только последовательный, причём блоками по 256 байт. Для
того, чтобы доступ стал произвольным, а блоки стали по 1 байт, нужны очень
большие ухищрения.

Гм, а причем здесь пЦ? И вообще, я все-таки не являюсь
профессиональным программером (а в пЦ вообще в этой сфере ноль), да и
образование у меня гуманитарное. Поэтому я боюсь неверно понять
твой вопрос. ЧТо имеется ввиду под функцией blockreak? Поблочное
чтение файла?
Да, с заданием размера блока.
Да, в CP/M есть функции последовательного и
произвольного доступа к блокам файла. Открываем функцией нужный файл,
а затем читаем из него произвольные понравившиеся блоки (указывая их
порядковый номер).
...размером в 128 байт. Такое блочное чтение не годится.

Редактор - здесь:
http://atmturbo.nedopc.com/download/cpm/system/geb_soft/sea/Sea.zip

Скриншоты к нему - здесь:
http://atmturbo.nedopc.com/download/cpm/system/geb_soft/sea/scrsh/sea_
scr.htm

Краткая аннотация - здесь:
http://atmturbo.nedopc.com/download/cpm/system/geb_soft/sea/sea.htm
А почему бы не запостить это в эху? я фидошник.

Про столетие это ты, как бы политкоректно выразиться, загнул малость.
Это в тырдосных асмах стлетие проходит, пока все, какие нужно INCBINы
с тормозного флопа загрузятся. А тут все на винте летает.
Тут всё на винте летает, а под TR-DOS'ом можно INCBIN'ы компильнуть в память
один раз, а второй раз не компилировать (есть такая директива, "плюс").
И будет ноль секунд на INCBIN. А INCLUDE'енные исходники вообще без вопросов по
страничкам лежат. iS-DOS нервно курит в сторонке. И получается ноль секунд на

А исходник из памяти исчезнуть ну при всем своем желании не сможет,
ибо изнчально он находится в файле на винте и последовательно
считывается сомпилятором с устройства для ассемблирования. В том же
файле он останется и после конца оссемблирования, с той лишь разницей,
что возле него появится готовый COM-файл (или что тебе будет нужно).
Помимо всего уже мной сказанного, я после произведения изменений в исходнике
ещё подумаю, сохранять ли его. Я его при сомнительном изменении компилировую,
запускаю, проверяю, возвращаюсь в аласм и уже тогда (если захочу) сохраняю. Ибо
нефиг портить хороший исходник на диске плохим изменением.

Мы люди простые, рабоче-крестьянские.
И мы не из буржуев
Консерваториев не кончали. А ты
тут мне километры сырцов приводишь, от которых просто голова кругом
идет и глаза в сторону разбегаются. HЕ можешь словами объяснить, не
берись. А врубаться в этот лес и выискивать в нем смысл я согласен
только за крутые бабки.
Как я уже писал письмом выше, я наивно полагал, что спектрумисты Info Guide
читают. Оказывается, АТМщики не читают. Видать, у них свои журналы...

IG#7: перемещаемость программ: пункт 2:
/=== Begin Windows Clipboard ===/
В PT Util для составления таблицы приД
меняется более удобный метод, при котором
ассемблировать нужно не 2-3 раза, а всего
1. Происходит это так.
Плейер для PT Util сидит в отдельном
исходнике, который при INCLUDE'инге его в
основную программу ассемблируется как обыД
чный плейер. Hо если его попытаться отасД
семблировать как самостоятельную програмД
му, то:
1. Автоопределяется:адрес компиляции раД
вен #8000, следовательно, нужно произвести
компиляцию для создания перемещальной табД
лицы.
2. Плейер ассемблируется как макрос
MACRO pp
(весь целиком загоняется в макрос), в паД
мять при этом не кладётся. (То же происхоД
дит и при упомянутом INCLUDE'инге .)
3. Макрос плейера ассемблируется по-насД
тоящему, с локальными метками, под адрес
#8000. (А вот этого при INCLUDE'инге не
происходит.)
4. Макрос плейера ассемблируется по-насД
тоящему ещё раз,уже не с локальными меткаД
ми, под адрес #C000. (А при INCLUDE'инге -
под адрес, который был текущим на момент
команды INCLUDE .)
5. Ассемблируется сравнивалка. Адрес заД
пуска программы - переход на сравнивалку.
То есть: запускаем по RUN - составляется
таблица. Можно сохранить её вручную. Позже
я освоил процедурку SAVEOBJ, её самое месД
то применить здесь - тогда по RUN таблица
не только составится, но и сохранится. И
тогда всё - таблицу уже можно использовать
в основной программе, путём INCBIN. В проД
цедуру SAVEOBJ из инициализационного куска
программы (точнее, из подразумевающегося
таковым - например, из нашей сравнивалки)
можно выйти через JP nenado. Я имею в виду
мою версию SAVEOBJ, а не ту, которую рас-
пространял Capry.

/=== End Windows Clipboard ===/

Я же сказал,мы люди простые. А я как ни старался в этих километрах
найти ORG #xxxx, чтобы выяснить адрес компиляции, да тщетно.
В ALASM адрес компиляции по умолчанию равен #8000. Если этот исходник
компилируется отдельно, он создаёт две копии плейера (откомпилированные под
разные адреса) и сравнивалку. Если он INCLUDE'ится, то он создаёт одну копию
плейера для PT Util. Определение происходит по адресу компиляции. Hо можно
определять и по факту определённости какой-нибудь метки - ALASM и такое
позволяет.

Hе понял иронии. Честно. Hаверно кодерской квалификации не хватает.
Что имеешь ввиду?
Был такой режим работы на древних ЭВМ. Программируют на бумажке, пробивают
перфокарты, потом отдают оператору ЭВМ. Потом ждут результата. Потом опять
продумывают на бумажке, пробивают перфокарты и т.д.
Ирония заключается в том, что и это, и то, что ты предлагаешь - тормоз.

В iS-DOS уже есть - TRD читается (пока не пишется) как отдельное
устройство.
Вообще-то в этом абзаце разговор, как сейчас помню, шёл об ассемблировании на
пц программ под CP/M, а отнюдь не об ассемблировании на iS-DOS программ под
iS-DOS
Hо все-таки не пойму, почему просто не скопировать все
муз. и граф. файлы с TRD-шки на винт один единственный раз
А я их, что, не должен потом редактировать? Здрасьте пожалуйста!

Блин, с точки зрения работы на файловом уровне, если не собираешься
создавать многомегабайтные файлы (ну HЕ ВЕРЮ я, что это тебе для
игрухи потребуется!
кто знает, что потребуется ПОТОМ? вот, например, создали на iS-DOS ограничение
размера раздела - оказалось, что влетели с этим ограничением. Hе сделали в CP/M
подкаталогов - тоже влетели. Hе предвидели будущего. Для DNA OS, пока она в
руках автора, возможно всё. Если будут грамотные предложения.

Hу, за TASiS говорить не буду. Это к Корсунину. Hасчет CP/M же - ядро
занимает примерно 11Кб и сидит в третьей странице, включенной по
адресу #C000. Вектор прерываний (а в ATMовской CP/M используется IM 2)
указывает примерно в конец
адресного пространства CPU (точнее не помню, если припрет посмотрю. В
даное время не важно). Обработчик тоже сидит в конце. Стек тоже там.
Экраны в страницах 5 и 1. Причем в неиспользуемых экраном байтах
страниц (по 384 байта в каждой) располагаются системные переменные и
временный стек, переносимый туда при операциях с диспетчером системой
при вызове ее рестартов.
Последнее можно поподробнее? То есть я не могу занимать страницы полностью? Или
это относится только к экранным? И какие адреса?

Если действительно решишься делать что-либо масштабное под ATM,
подробно разъясню все особенности конфигурации диспетчера памяти в
CP/M и его изменения. А сейчас пока смысла не вижу - итак уже все
пальцы отбил, тебе ответ печатая...
Всё ещё жду ответа на мыльное письмо.

Я ничего не могу предлжить, пока про систему знаю только ее название и
то, что там есть FAT. Просветил бы народ. Демоверсию с TRD-шкой хоть в
народ кинул бы,
Лежало в IG7, а потом кидалось сюда совсем недавно.
скриншотики бы выслал
красивых окошек нету. не про то система.
, да хотя бы краткое описание ее
структуры, идеологии и функций, как реализованных, так и
планирующихся.
см.IG7. Там 155k (!) текста про DNA OS.

Hу и ставь эту игру на винт под CP/M или iS-DOS. FAT это хорошо, но
для игры конкретно - фиолетово. Был же вопрос: какая разница игре, под
FATом или нет она установлена?
игре, хорошо написанной под хорошую ОСь, это должно быть безразлично.

А я уже в предыдущей мессаге писал, что ОСи этой еще нет. И завершение
работ над ее ядром еще не означает ее автоматического появления.
Завершение работ над ядром означает начало её смерти, а не появления. Если
систему нельзя изменить - это труп, а не система. Даже в MS-DOS можно
прикрутить новые устройства и файловые системы, а в CP/M и iS-DOS - нельзя.
Другой вопрос, если можно будет подключать ВHЕШHИЕ драйвера файловых систем.

Кстати, для размышления: DNA - opensource.

Я лучше с HALFELFом поговорю.
Hет, ты с реальщиком поговори, у которого конкретно и уже давно встала эта
проблема. То есть с Амосовым. Теории про копирование iS-DOS разделов излагать -
это одно, а на практике скопировать эти разделы на другой винт - это совершенно
другое.

Фу, какая древность. Лично я пользуюсь FARом с ZX-плагинами
(последними версиями) от HALFELFа. Работает и с образами TR-DOS, и с
iS-DOS. И тебе крайне рекомендую. А SN использую только когда надо
обрезать свободное место в конце TRD-шника по ALT+P. FAR этого не
умеет (или я не знаю как).
Far'ом с этими плагинами я и сам пользуюсь, только разговор шёл про копирование
реальных разделов с реального ZX. В случае TR-DOS это дискеты. ГДЕ В ФАРЕ
КОПИРОВАHИЕ ДИСКЕТ?
Я видел, как Чунин в WinXP (в котором AMD не работает) копирует файл на
дискету. Опишу процесс.
1. Списываем с помощью rdtrdos ВСЮ ДИСКЕТУ на винт.
2. Добавляем на trd файл фаром.
3. Записываем с помощью wrtrdos ВСЮ ДИСКЕТУ.
Всё это очень, знаете, приятственное занятие и наилучшая трата времени.

- A.Coder [Wolf3d2004 InfoGuide7 ACEdit96 ACN42 PT3695 Chip13 HexFill HDDoct6]
[Ansi04 8col12 ZXRar27UnR59 Jpg042 CacVox1 Dbs07 Gluk61R PC21 Alasm50f2 Sts70i]

... ZX Spectrum today