Переписка В. Чистякова с другими Орионщиками, архивы
Переписка чтобы установить истину, в споре рождаются идеи и ПО Ориона128
22.11.96 С. Акимов. P.S. Ниже куски старого письма В.Власова, которое я Вам ранее не отправил я специально не делал никаких ремарок - не обижайтесь.
date 7.9.96 ДСП Господину Чистякову В.И. от Власова В.М.
Здравствуйте В. Чистяков.
Вот и прошли 4 месяца с момента получения Вашего последнего письма - пора писать ответ . Собственно, это даже и не ответ , а так , информация разная - отвечать не на что, Ваше прошлое письмо затерялось у В. Власова, а на память я ничего существенного и не запомнил из него ( видно ничего информативного в нем и не было - вертится только в памяти Ваша фраза, что в Сибири телеграфные столбы выше ...). Кроме того, я предпочитаю писать письма тогда, когда есть что послать (например, из программ) вместе с письмом.
Последнее время Вы что-то замолчали, и откровенно говоря стало несколько скучновато, нет никакой новой информации о происках Ваших конкурентов. Мы тут гадаем: то ли Вы окончательно перешли к радиолюбительству и собираете себе потихоньку разные компьютеры без ПО, или имеете на нас зуб (может у Вас опять завелся какой-нибудь вирус) - проясните пожалуйста ситуацию.
Итак, что новенького. Главная новость - это то, что мы закончили разработку нашей ДОС. Это вышел монстр - еще крупнее чем я ожидал пол-года назад, когда послал Вам маленькую рекламку (смотрите описание BEST-DOS.TXT). Конечно любую программу (кроме самых примитивных) можно совершенствовать неограниченно долго , в том числе и операционную систему , но откровенно говоря, возиться с ней уже немного надоело (и вообще надоел ассемблер, хочется иногда бросить все и начинать писать на Паскале, как в старые добрые времена).
К тому же эта работа бесплатная, и для себя почти все, что мне кажется полезным я в систему включил. Система содержит в 2 раза больше кода чем АСРМ 2.05 (16к против 11к из которых в АСРМ 3к-пустые буфера). Наша система оптимально использует возможности ОРИОНА и при этом не использует диспетчер по 16к - так что можно использовать и на платках ORION-SERVICE и на Орион-ПРО (ПОВЕР), что впрочем нами не проверялось - предоставляем это Вам. Т.е. наша система на порядок более коммерческая , чем все Ваши версии, хотя и делалась совсем без финансирования.
Разработка системы могла бы быть более интенсивной, если бы Вы когда прислали на листинги, как я Вас просил. Но Вы , видимо , побоялись конкуренции и не прислали нам листинги - пришлось получать их дизассемблером, что согласитесь - вещь не самая приятная. Однако из-за этого мы имели возможность провести сравнение АСРМ 1.53 - Альтаир ДОС - и выяснили, например, что АСРМ 2.05 от 1.53 отличается очень незначительно (подумаешь, добавили инвертирование бита D3 в RGF720 и получили режим HD , добавили подмены , от которых только головная боль - они "наглые" влезают со своей навязчивостью даже в искейпы драйвера консоли, т.к. сидят прямо на векторах BIOSa , также немного изменен ССР , причем трудно сказать лучше он стал или хуже).
Альтаир ДОС отличалась существеннее - на текущий момент никто кроме Балдина и нас (в нашей системе) не решался так существенно перекроить и BIOS и, что самое главное, BDOS). Короче смотрите, критикуйте... Хотел бы послать Вам и наши новые программки , но пока не выяснили отношения делать этого не буду. Пошлю для примера что-нибудь малоценное, например фонты ... Кстати это не голые коды, как у Вас , в нашей системе фонты оформлены как обычные драйвера, они инсталлируются и выгружаются как положено драйверам (см. описание ДОС) , даже могут восстановить за собой предыдущий шрифт (можете ли Вы похвастаться чем-либо подобным?). Вчера был у Антона Марова, надо было мне перегнать текст, набранный на Орионе в SEDе на его IBM-ку в формат MS WORD (чтобы потом распечатать).
А для этого надо последовательно запустить 3 программы. В таких случаях Питер Нортон рекомендовал мне составлять ВАТ-файлы (пакетные файлы), причем удобно пользоваться пакетными файлами с параметрами. Я, не обращаясь ни к каким документациям, составил ВАТ-файл так, как я это сделал бы на нашей ДОС и он сразу заработал (синтаксис совпал - видно не зря меня учат в институте, хоть что-то полезное почерпнул). Можете ли Вы похвастаться чем-либо подобным ?
Систему возьмите с начальных секторов этой дискеты. (140 секторов). Это Вам только для личного ознакомления . Если надумаете продавать, то пришлите нам 100$ (мизер за 6 месяцев труда 2-х человек) и тогда Вы получите все исходные тексты и наше согласие на тиражирование.
На всякий случай напишу, что и на каких условиях я мог бы предложить Вам из программ:
1. NC.COM - оболочка ДОС верс. 2.0 . Доработанная версия той оболочки, что Вы купили у нас, единственный раз заплатив (40$), допускает до 256 (а не 128) файлов в панелях, поддержка имени диска, имен юзеров,дат файлов, более быстрые сортировки. Вы получите ее бесплатно в качестве сопровождения, если напишете ласковое (т.е. без хамства) письмо
2. UNIPL.COM - проигрыватель музыкальных файлов от Синклера и Вектора через сопроцессор AY-8910. В отличие от того проигрывателя, что вы видели, этот прогрывает не один, а три формата файлов: STM, ASM, SND. Кстати, формат SND получается при компилировании муз. файлов аделаидовским муз. редактором ASC. Наш новый проигрыватель умеет оставаться резидентным и играть мелодию параллельно с любой СРМ программой, регулировать темп, громкость, пристанавливать мелодию не выходя из СРМ-задачи. Всего у нас 200 музыкальных файлов (всех 3-х форматов). Условия предоставления программы смотри ниже.
3. DED.COM - лучший редактор диска. Масса полезных функций для перекапывания диска, отлично проработан интерфейс, есть отличное описание. Условия предоставления программы смотри ниже.
4. MSHELL.COM - теневой монитор для BEST-DOS. Загружается резидентно в память и позволяет , прервав любую программу, покопаться в памяти или в файле и затем возвратиться в прерванную программу и продолжить работу в ней . Работает со всеми банками ОЗУ, с диском, имеет дизассемблер Z80. Условия предоставления программы смотри ниже.
5. SF.COM - лучший форматировщик для HD на ОРИОНЕ. Форматирует на 80-84 дорожки, 5-10 секторов, 1-4 системных дорожек, каталог 2-8 кб, пишет метку диска, режимы : быстрый, безопасный, стандарт, с интерливингом или без него. Условия предоставления программы смотри ниже.
6. SAVER.COM - Хранитель экрана. Загружается резидентно в память, сам по истечении заданного времени бездействия выводит на экран динамические картинки. Срабатывает при работе любой СРМ программы и делает ненужным встраивания хранителя экрана в каждую программу. Условия предоставления программы смотри ниже.
7. RESERVE.SYS, BADDISK.SYS, VACCINE.SYS, LOWBDOS.SYS - драйвера BEST DOS. Позволяют : автоматически поддерживать резервную копию каталога (в памяти и на диске), чего нет в СРМ, работать с дисками, у которых испорчен BOOT-сектор, резидентная присадка от вирусов ловит запись в ВООТ-сектор и СОМ-файл, возможность эмулирования низких БДОС и БИОС (любые адреса, например CC06 и DA00). Все программы кроме 1. (нортон-бесплатно) могу предоставить на следующих условиях :
1. Если Вы будете продавать их, то договаривайтесь с нами об оплате. Все эти программы пользуются только средствами BEST-DOS и поэтому будут работать на любом Z80 под управлением нашей ДОС. Оплата зависит от сложности программы - от 30$ до 50$ (торг уместен).
2. Если Вы организуете пункт по PUBLIC DOMAIN распространению наших программ (т.е. гарантируете, что Ваша шаражка не наварит себе ни копейки), то мы согласны предоставить Вам все наши программы бесплатно . Но есть условие - давать наше ПО только любителям, торговцам не давать. Если Вы меня обманете, ничего не останется кроме как подарить главным пиратам страны наши разработки (они сумеют распространить это по стране). Если нужны программы сверх этого списка - нет проблем: заплатите и все будет. Единственное условие в этом случае - все наши разработки будут под BEST-DOS. То , что мы делаем для себя ради удовольствия Вы можете брать или не брать. На заказ - 50% предоплата.
Если Вас заинтересовала наша ДОС, то готов внести в нее все Ваши пожелания (по мере возможностей). Ближайшее в наших планах - подключение мыши, что несколько сдерживается отсутствием ее у В. Власова (нам нужна мышь с параллельным интерфейсом, это упростит отладочные работы, а потом можно сделать и последовательный интерфейс). Встроить в наши программы поддержку мыши просто, была бы поддержка в драйвере. Удалось ли Вам сколотить GIANT TEAPOTS SOFTWARE GROUP для разработки WINDOWS? Вы не обижайтесь, меня несколько развеселило ваше намерение сделать WINDOWS для непонятно какой системы, без каких бы то ни было соглашений о HARD & SOFT при помощи чайников всей страны. Я специально снабдил нашу DOS достаточно подробным описанием , чтобы Вы увидели, что при разработке SP-WINDOWS Вам лучше всего плясать от нашей ДОС. Более того, я готов сам сделать все функции граф. интерфейса если Вы предоставите заготовки (картинки кнопочек и проч.). Но сначала, сами понимаете, надо сделать мышь.
Подарите В. Власову мышь (помнится Вы предлагали от Корвета) и к следующему моему письму он собственноручно припишет "спасибо". Могу также изложить свои взгляды на то как должна быть организована WINDOWS на ОРИОНЕ. Есть у меня подозрение , что Вы имеете в виду лишь "нортон с кнопочками и иконками". Могу порекомендовать следующее: сдуйте толстый слой пыли с Вашей IBM и попробуйте написать программку под WINDOWS. Это очень поможет Вам вникнуть в такие понятия как деление ресурсов, работа по событиям и проч. (Я и сам так делал, и все так учатся). В конечном итоге моими и , может быть , Вашими стараниями за 1 месяц мы вполне могли бы создать внешне очень похожее жалкое подобие WINDOWS.
Возвращаю Вам одну из присланных Вами мне двух плат электронного диска (т.к. платил я Вам только за одну). Хотел бы вернуть Вам и вторую, если вы вернете мне хотя бы 5$ из тех денег, что я Вам за нее платил . После Вашего КНГМД мне ничего не хочется собирать (нормальные люди собирают авторский КНГМД), а деньги пригодятся . Ну так что, вернете ли Вы мне деньги если я верну Вам и вторую плату? Мы долго ждали от Вас схему подключения часов 512ВИ1, но Вы так и не прислали нам ее. Пришлось сочинять самим. 512ВИ1 мы подключили по методике из РАДИОЕЖЕГОДНИКа за 1989 год, но по существенно более простой схеме (1 ИМС 555 серии вместо 4-х). Предлагаю поменяться на схему расширения ОЗУ до 320 кб , которую Вы тоже нам не прислали, хотя обещали. 512ВИ1, подключенная по нашей схеме, поддерживается стандартным системным драйвером BEST-DOS , что очень удобно для дат файлов. (порт 0F760h). Кстати, Вы как-то опрометчиво заявили, что готовы купить BDOS СРМ, поддерживающий даты файлов. Теперь у Вас есть такая возможность, давайте покупайте. Наша ДОС - шедевр. Сейчас я набираю этот текст, а в это время на экране идут часы, резидентный плэйер играет каприччо Генделя (завывает как пес), в общем, красота. Я считаю, что всех "орионщиков" можно поделить на 3 группы:
1. Чайники - имеют ОРИОН образца 1990 г. и довольны этим
2. Любители - имеют орион со всеми наворотами (Z80, AY-8910, кучу ОЗУ)
3. Маньяки - имеют то же, что и у любителей, но не имеют сопроцессор AY-9810. (Не украшают свой досуг).
Интересно, как укомплектованы Вы? Закругляюсь с письмом, хотя мог бы еще чего-нибудь написать, но не знаю, ответите ли Вы , не хочется напрасно тратить время. В конечном счете, не важно соберетесь ли Вы покупать что-нибудь у нас, важно общение. Не берите с меня дурной пример писать письма через 4 месяца . Да и я не виноват - последние 3 месяца каждый день собираюсь послать письмо, да занятость не дает. Пока.
22.11.96 С.Акимов.
P.S. Ниже куски старого письма В. Власова, которое я Вам ранее не отправил я специально не делал никаких ремарок - не обижайтесь.
date 7.9.96 ДСП Господину Чистякову В.И. от Власова В.М.
Мы получили ваше письмо от 8 августа, содержащее некоторую Вашу критику на некоторые наши действия. В вышеуказанном письме Вы просили дать взвешенный ответ . После непродолжительного обсуждения проект ответа был принят в первом чтении.
1.1 Требующиеся Вам алгоритмы работы программ стоят на 1-3 порядка выше, чем предлагаемая Вами оплата (напр. "интеллектуальный" DISK DOCTOR)
1.2 Вы хотите иметь программы, сделанные с отличным качеством и при этом:
- работающие на устаревшем еще в 1979 году процессоре 8080
- работающие на всем сонмище вариантов железа (что еще можно пережить), и на самых маразматических и полностью непригодных для работы ДОС (ОРДОС, ОС-ДОС,
CP/M бриджиди,
старые, да и новые
ACPM - не обижайтесь, а прочитайте описание и поработайте с нашей ДОС, поставьте обратно
муз.
процессор и побалуйтесь программой UNIPL, которая работает
как фоновый драйвер, поработайте с драйвером MSHELL, после
которой у Вас пропадет охота работать с теневым монитором,
почитайте описание EMM и сделайте на БАСИКЕ ассембл. вызовы его функций - да впрочем, чего Вам об'яснять - вольному
воля - хотите, тащитесь от галиматьи под названием Русская
ACPM - большего идиотизма мы еще не видели). Идти на поводу у дилетантов и чайников и удовлетворять их прихоти мы не
будем (как было кем-то замечено : каждому - свое). Делать
в 1996 году программы, работающие по железу - это позор,
показыващий, что программист - полный чайник.
- Вы предлагаете сделать смешную пародию на MICROSOFT WINDOWS - это для ДОС, не имеющих даже стандартного драйвера консоли (соответственно, работающих прямо по "железу" ), не имеющих прерываний, не поддерживающих все ОЗУ в компьютере, не имеющих даже нормальных драйверов ( кстати в нашей ДОС драйвера "садятся" в любой предоставленный им сегмент(ы) XTPA и разработчика драйвера абсолютно не волнует, в какой именно, хотя можно при инсталляции жестко указать банк и(или) адрес для драйвера, если он неперемещаемый), предлагаете иметь мышь без прерываний. Право, мы были об Вас более лучшего мнения. Подобная пародия на WINDOWS имела право на существование в 1986 году,а не в 1996. Если Вы хотите заняться подобным маразмом, то продолжайте сколачивать свою TEAPOTS SOFTWARE GROUP.
Как было справедливо Вами подмечено, Орион - это любительский компьютер для любительского программирования - и мы будем писать для него программы и делать апп. доработки, только получая от этого удовольствие, а не выполнять прихоти глупых папуасов и становиться такими же папуасами, и испытывать отвращение к своему труду.
2. Кто и когда Вам сообщил, что мы связались с ЧМОМ В. Сугоняко ? Ждем извинений ( нами это было воспринято, как Ваше "орание" зимой этого года, когда у Вас завелся вирус и первым делом абсолютно бездоказательно Вы обвинили нас. Неужели Вы думаете, что мы это забыли? Ради приличия, пришлите хоть посмотреть зараженную дискету. Вирусы для ACPM мы все равно делать не будем, потому что ни одной программы для ACPM больше не будет (от нас, естественно). Естественно, ACPM мы не пользуемся, как и вышеперечисленными "ДОС". Насчет ОРДОС - у меня (Власова) ROM-диск сгорел 1,5 года назад и теперь стоит абсолютно пустой - я им пользуюсь, если только надо считать какую-нибудь 27XX, а у Акимова оный "диск" валяется в самом дальнем и пыльном углу стола, и он его вытаскивает, когда надо посмотреть новую туфту для ОРДОС, присылаемую Вами.
3. Кто и когда Вам давал право ставить STM-PLAYER для ACPM
в список программ для продажи и кто вам сообщил, какие STM файлы от
какого ПК он проигрывает? Мы Вам таких прав и такой информащии не давали. STM-плейер предназначен для проигрывания файлов, производимых муз. редактором для 8912 для
ПК ZX-Spectrum ( в начале файлов стоит надпись SONG COMPI
LER ). STM-плейер был адаптирован с ПК Вектор-06ц, оттуда же были взяты
105 муз. файлов. Информации о совместимости с файлами от IBM PC у нас
нет, как нет и таких файлов. Думаем, что они не совместимы (разве в IBM PC есть
8912 ?). На IBM STM-файлы имеют размер 60-300 кб , а у нас-
1-6 кб : есть разница?
3.1. Кто и когда Вам давал право ставить на продажу адаптированный мною для Z80 SILENT SERVICE? Порядочные люди хотя бы спросили разрешение. Это был подарок лично Вам, а не всем пиратам страны.
4. По поводу программы DISK EDITOR. Она написана мной (Власовым), а не Акимовым. Версий для 8080 и других "ДОС", кроме нашей ДОС и новых ACPM не будет никогда (и то для ACPM будет ущербная версия, т.к. 480cv содержит ошибки в процедурах SAVE и RESTORE WINDOW ).
Насчет SAFE FORMAT разбирайтесь с Акимовым, но все-же: -неужели ваше новый UNIFORMAT, написанный на BASICe, имеет функцию SAFE - форматирование с сохранением содержимого секторов? Пришлите посмотреть DEMO - мы давно не видели крутизны на BASICE - я лично со времени, когда учился в техникуме и впервые в жизни увидел компьютер. Кстати, Паскаль я (Власов) освоил сам, когда переводил Нортон с Паскаля на Ассемблер.
5. Раскройте нам тайну века: есть или нет у Вас 12 игр, оплаченных нами 2 года назад ? Нам не деньги жалко, а просто обидно, что Вы нас, как дурачков водите за нос. Если это была просто опережающая реклама и у Вас этих игр никогда не было, то так и скажите об этом честно. Если эти игры у Вас есть, но они без защиты - смело присылайте их - защиту я все равно сниму (если интересует как, см. мое (Власова) апрельское письмо).
Вы нас упрекаете, что мы нерегулярно отвечаем на Ваши письма. Во-первых, чтобы писать ответ, нужно иметь чего писать, а это есть не всегда (а писать письма без информации - зачем они Вам? ). Во-вторых, мы задерживаем ответ максимум на 3-4 месяца - ну не о чем писать было, а Вы задерживаете присылку заказанного и оплаченного нами программного продукта в виде пресловутых 12 игр уже 2 года!
Взамен игр мы получаем следующее: - эти игры на 1 из 200 дискет и Вам лень ее искать (это оплаченные-то программы! ) - это игры нашлись, но они без защиты - продадите их за 15 баксов ( это оплаченные-то программы, повторно оплаченные через присылку SILENT и STM-player !)
- взамен части игр присылаете совершенно не нужный и не
заказанный нами MS-COMMANDER - нам этот мрак не нужен. По
описанию это чуть-ли не MS-WINDOWS, а на деле ерунда, DEMO
которой у нас есть уже 3 года. Кстати, в описании КОРО пишет, что в отличие от других (Вас, наверное) его программа
продается без дисковой защиты. Это весьма смешно, ибо с его
программ с дисковой защитой (PENXD и др.) оная защита снимается в течение 1 минуты программистом среднего уровня.
6. Теперь о том, чем мы сейчас занимаемся. Ведется разработка ДОС, имеющая наилучшие характеристики среди всех ДОС для Ориона. Естественно, мы пользуемся только ей. За основу была принята ACPM 2.05 hd (от нее остались только дисковые п/п в BIOS - зачем придумывать велосипед), BDOS (надеюсь, Вы не будете утверждать, что вы разработали BDOS -по поводу копирайта обращайтесь к Г. Киллделу). За основу CCP пока взят CCP от Альтаир-ДОС. Конечно, все модули значительно доработаны (напр. ф-ия 10 BDOS полностью взята с Альт-ДОС, (хотя она значительно изменена), и поэтому имеет тимплет и приличный редактор строки. В системе так-же присутсвует драйвер Extended Memory Manager, которые впервые в ДОС для Ориона поддерживает все ОЗУ ( при холодной загрузке идет тест ОЗУ, как на IBM PC, и EMM использует результаты этого теста. Пока карта памяти рассчитана максимум на 1024К ОЗУ.) В системном драйвере добавлено около 10 искейпов - управление шрифтами, режимом наложения символов, программными часами и др. В остальном смотрите описание ДОС и ЕММ.
Планы: - вынести TPA в банк 2, что даст около 58К TPA
- переделать драйвер консоли и BIOS, чтобы вообще
не использовать диспетчер ОЗУ.
- сделать драйвер, подменяющий CCP (сами понимаете,
что если в системе есть мощный (лучше, чем 480c)
драйвер консоли, есть настоящие драйвера (перемещаемые, резервирующие память, с возможностью их
выгрузки и освобождения памяти), есть прерывания- то такой драйвер, реализующий графический интерфейс корректным по отношению к ДОС образом будет
сделать весьма несложно.
(Акимов: письмо писалось когда у нас была только BEST DOS версии 1.0.
В версии 2.0, кот. Я вам посылаю все это уже реализовано).
Хватит делать программы по канонам ДОС, разработанной, когда
мне был 1 год. Еще раз повторяю: чайникам-чайниково,
корифанам-корифаново.
Орион - это машина, работа с которой должна приносить радость, а не отвращение к результатам своего труда.
7. Насчет игры EXPRESS. Адаптация на оценку 4-. Во-первых,
не надо заполнять неиспользуемую часть экрана кодом 55h.
У меня зеленый монитор, и то на нем картинка перекобенивается. Во-вторых, дергано движутся спрайты.
В заключение, хочется отметить:
Пишите нам письма (желательно повеселее в моральном плане). Присылайте нам программы, тексты и пр. В ответ будете
получать письма и наши текущие разработки ( бесплатно! ).
Пришлите 12 игр Синклера. Насчет РК-86 и РК-96 - страдайте
этим без нас.
* Here detected end of file *
Здесь конец старого письма (и начало нового).
Раз уж Вы принялись учить меня бэйсику, то и я в ответ хочу сделать
доброе
дело и открыть для Вас ряд тайн, которые должен знать каждый системный
программист. Тут я переделывал сортировки в нортоне и у меня остался
небольшой текстик о принципах тех сортировок, что я применил. Конечно,
для
себя я делал меньше пояснений, постарался в основном для вас.
Дерево - математическая структура, представляющая собой
направленный граф. Дерево в общем случае состоит из нескольких
узлов - корневого и узлов, составляющих поддеревья . Каждый узел
представляет собой структуру, состоящую из одного или нескольких
информационных полей и полей-указателей на поддеревья (указателей
на под-узлы). В зависимости от типа деревьев структура-узел может
включать и указатель на родительский узел (над-узел) или другие
вышестоящие узлы, но это бывает нужно достаточно редко.
Деревья удобны для представления некоторых видов фреймов и
семантических сетей, а также различных иерархических структур
(пример - структуры подкаталогов MS-DOS, UNIX-подобных систем),
на представлении данных в виде графов и деревьев основано множество
алгоритмов обработки данных.
Обыкновенное дерево Бинарное дерево
(значение) (значение)
/ | \ / \
(значение) (значение) (значение) (значение) (значение)
| / | / \
(значение) (значен.) (значен.) (значение) (значение)
В бинарном дереве каждый узел имеет только 2 (или менее) поддеревьевлевое и правое поддеревья. Узел, не имеющий поддеревьев, называется
листом.
Неупорядоченное дерево Упорядоченное дерево
(15) < (10) > ДДкорневой узел
/ \ / \
(18) (5) < (5) > < (15) >
/ \ / \ / \ / \
(3) (7) (12) (10) (3) (7) (12) (18)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
[5,12,7,10,3,18,15]
Неупорядоченный список ->
-> упорядоченное дерево (5)
/ \
(3) (12)
/ \
(7) (18)
\ /
(10) (15)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
[25,3,10,2,9,6,15,17,12,20] [18,15,5,12,7,3,10]
(25) (18)
/ /
(3) (15)
/ \ /
(2) (10) (5)
/ \ / \
(9) (15) (3) (12)
/ / \ /
(6) (12) (17) (7)
\ \
(20) (10)
Для каждого узла в упорядоченном бинарном дереве выполняется правило:
- узлы левого поддерева имеют значения меньше значения текущего узла,
- узлы правого поддерева имеют значения больше значения текущего узла.
Это правило справедливо для дерева, упорядоченного по возрастанию.
Если располагать узлы наооборот (большие значения - слева, а меньшие
значения справа, то получится дерево, упорядоченное по убыванию)
Преобразование "неупорядоченный список -> упорядоченное дерево"
(включение
в дерево нового элемента на уровне листа):
0. Взять первый элемент и назначить его корнем дерева.
1. Взять следующий элемент списка. Назначить текущим корневой узел
дерева.
2. Сравнить значение элемента списка со значением текущего узла.
- Если элемент меньше значения узла и есть левое поддерево, то назначить
текущим левый под-узел (спуститься на узел вниз) и повторить шаг 2.
- Если элемент меньше значения узла и нет левого поддерева, то назначить
элемент списка левым под-узлом текущего узла дерева, GOTO шаг 1.
Аналогично для правого поддерева :
- Если элемент больше значения узла и есть правое поддерево, то
назначить
текущим правый под-узел (спуститься на узел вниз) и повторить шаг 2.
- Если элемент больше значения узла и нет правого поддерева, то
назначить
элемент списка правым под-узлом текущего узла дерева, GOTO шаг 1.
Алгоритм заканчивается при исчерпании неупорядоченного списка -
источника.
Это итеративный алгоритм, в нем не нужна рекурсия, т.к. используется
безвозвратная стратегия (только спуск по дереву).
Преобразование "упорядоченное дерево -> упорядоченный список":
0. Назначить текущим корневой узел.
1. Начиная с текущего, найти, опускаясь по левым поддеревьям, первый
узел,
у которого нет левого поддерева (и назначить его текущим).
2. Занести этот узел в список.
3. Проверить наличие правого поддерева.
- Если правого поддерева нет, а узел - корневой, то КОНЕЦ АЛГОРИТМА.
- Если правого поддерева нет и узел не корневой, то удалить текущий
узел, сделать текущим родительский узел (над-узел), т.е. подняться на
узел вверх, GOTO шаг 2.
- Если правое поддерево есть, то назначить текущим правый под-узел,
т.е. спуститься на один узел вправо-вниз, GOTO шаг 1.
Для реализации прохождения дерева на ЯВУ удобно использовать рекурсию.
Для реализации прохождения дерева на ассемблере удобно использовать
стек.
Если дерево упорядочено по возрастанию, то при преобразовании получится
список, упорядоченный по возрастанию. Если дерево упорядочено по
убыванию, то получится список, упорядоченный по убыванию значений.
Эти преобразования можно применить для сортировки списков, причем в
общем
случае, они работают на порядок быстрее метода "простых вставок" (и его
модификации - "метода барьера" , которые сортируют списки, не
представляя
их другими структурами) за счет меньшего количества сравнений элементов
и меньшего количества пересылок. Особенно заметно преимущество этого
метода при большом количестве элементов.
В следующем письме я расскажу Вам о том, что такое списки, какими они
бывают и какие есть методы сортировки списков (без применения деревьев и
прочих вспомогательных структур), т.к. сортировка включает практически
все процедуры работы со списками (поиск, удаление, вставка элементов).
Сейчас я это пока не буду делать, т.к. готового текста у меня нет, надо
набирать, а Вы можете как обычно не оценить моих усилий (т.е. я буду
стараться зря).
Далее можно читать только обложившись со всех сторон книжками
Д. Карнеги, которые Вы рекламируете, но ничего из них не почерпнули.
Письмо написано в порыве праведного гнева, и мне самому перечитывать его
неприятно (подумать страшно, до чего смог меня довести Чистяков), но
так как я свой труд ценю и ничего из написанного не выбрасываю, то
Вам предоставляется редкая возможность прочитать те тайны про Вас,
которые при других обстоятельствах я бы Вам никогда не открыл.
Получил в ответ на мое совершенно корректное письмо от 3.12.96
ответ в духе Чистякова - обычная смесь нытья и жалости к самому себе и
беспочвенного презрения и хамства (интеллигентного хамства как умеет
делать Чистяков - и вроде все как у людей, все литературно, а в то же
время в душу тебе смачно плюнули) в адрес всех на свете (и в мой в том
числе). От досады я даже уснул на 16 часов, чего со мной никогда не
бывает (можете радоваться, это был форменный нокдаун, чего Вы всегда
добиваетесь). Но вот проснулся и решил написать ему , что я о нем думаю.
Этот человек возомнил о себе бог знает чего. Ему предлагают
нормальные человеческие отношения , а он говняется в ответ. И сам - то
из себя ничего не представляет, просто в силу обстоятельств оказался в
центре любительского течения и располагает поэтому информацией в большей
степени , чем другие. В течении многих лет сочиняет бесчисленные тексты
и считает, что этим он "застолбил" место и никто не в праве делать
ничего
похожего на его идеи. Ни одной идеи самостоятельно не реализовал, зато
амбиций - хоть отбавляй . И почему-то он считает , что все остальные
любители выросли только благодаря ему и обязаны поэтому следовать всем
его требованиям. При этом он считает своей интеллектуальной
собственностью
все , что как-либо похоже на его бредни (из-за того , что годами ранее
он говорил, свою любимую фразу "как было бы хорошо, если бы кто-то
сделал
так-то и так-то..."). Вы почему-то считаете , что если вы случайно в
одном
из своих мечтаний выдали здравую мысль, то она не может прийти в голову
кому-нибудь другому ?
Если сам не в состоянии реализовывать свои фантазии, то не надо выдавать перлы типа "вы тайком использовали мою идею, которую я сейчас обдумываю" хотя бы из уважения к самому себе. Вы, Чистяков, трепло-с...Где ВВС ОРИОНа? Где многопроцессорный ОРИОН? Где SP-WINDOWS на бэйсике? Один только треп раздается из Санкт-Петербурга на всю страну. От Вас уже все программисты отвернулись , т.к. физически не могут успеть за Вашими метаньями (флюгер) в плане ПО, и не живут с Вами в одной квартире, чтобы знать какую Вы в очередной раз выкусили микросхему, и как это обходить программно. А ведь все хотят делать то , что приносит им удовольствие - это смысл любительского программирования, - а не то что Вы хотите иметь "под себя". Как только Вас бросили все программисты, так у Вас сразу не стало никакого нового ПО - это факт и нечего тут спорить. Вам к нам надо относиться бережно, а Вы хамите, видимо хотите остаться только со своими старичками, которые 5 лет делают ДОС и не сделали в ней ничего по-настоящему стоящего - одно извращение для папуасов.
И еще вот что. Система, как Вы уже наверное догадались, не гробит 256 байт в F-области для компесации дури тех, кто не ставит резисторы привязки +5В (а ставить их надо всем, т.к. это является стандартом Z80 CARD-II и не приводит к перегрузке системной шины, т.к. ставятся еще до шинных формирователей - на процессор), в F-области и так нет места, хотя сделать это, сами составляет никакого труда. Я могу увеличить ТРА еще на 1.5к т.е. до 59.5к чего Вам никогда не получить по вашему способу, хотя , не спорю, наша система работает чуть медленнее из-за вызовов в другие страницы, но зато она не использует диспетчер по 16к и под-ПЗУшечное ОЗУ, чем Ваши разработчики непомерно злоупотребляют, т.е. теоретически может работать и на голом Z80. (Чего у Вас никогда полноценно не будет, т.к. Вы как огня боитесь драйвера 480С, т.к. его написал Балдин, даже подменяете его суррогатом DRC, а мы 480С переделали на 50% , вот так-то). И это надо же догадаться за пустить систему на PRO, а потом язвительно писать, что она там не работает ! Мы этот PRO в глаза не видели , но если бы он у нас был, то система заработала бы на нем самое большее за 2 дня, а Вы целый год не можете сделать ДОС для PRO, хотя он у Вас есть. Сейчас мы обсуждаем идею наладить наши СУПЕР-4, которые Вы нам продали и которые лежат пока мертвым грузом (потерянные на плату и детали 50$) для того, чтобы пойти тем путем, которым идет вся прогрессивная общественность: компенсирование тормознутости крутых ДОС за счет ускорения аппаратуры.
Под Вашим тлетворным влиянием мы тоже слегка впали в маразм и сделали тут несколько адаптаций лучших старых программ (в основном игр- это сделал В. Власов), что давно надо было сделать. Так мы теперь кроме резидентного плэйера для AY-8910 (и 180 файлов к нему) имеем резидентные игры, которые всегда под рукой (по трем кнопкам - CTRL+SHIFT+nnn можно войти в игру и потом вернуться в прерванную программу) и (завидуйте!) программу BRIDGE PANELS , которая работает под BEST-DOS с любым уровнем BDOS. Но мы не разделяем любви чайников к ВР , т.к. он не может иметь более 128 файлов, не поддерживает имена дисков и юзеров, даты файлов, нестандартно работает с ХТРА (что впрочем для Вас совсем не аргумент, т.к. в Ваших системах все проделывают с ОЗУ ХТПА, что хочется и плюют на любые указания) и не работает с HD-дисками, а наш нортон версии 2.ХХ все это делает, хотя и чуть медленнее, чем BP, т.к. пользуется только средствами BEST-DOS (как должны делать все нормальные программы).
Вы совершенно зря говорите, что наша система не поддерживает внешний электронный диск - все она поддерживает, читайте описание (правда негде проверить правильность работы - у нас нет ни эл. дисков ни принтеров), а что касается внутреннего электронного диска, то он не был до сих пор сделан только из-за того, что у нас все доступное ОЗУ в ХТРА (а это около 116к при общем 256к) пожирают различные приложения и для эл. диска из ОЗУ не остается места. Впрочем, раз Вы считаете имеющийся у Вас VDISK столь гигантским достижением (хотя я уверен, что Вы просто перетащили его обслугу из АСРМ 1.53 ничего принципиально не изменив), то и мне надо будет встроить в ДОС нечто подобное (но распределение памяти должно быть динами ческим, т.е. в зависимости от запросов ХТРА и количества ОЗУ у юзера объем VDISKа должен "плавать"), а не так как у Вас - 500 версий ДОС, все различие в которых - отличающиеся по объему на 1 кбайт VDISKи.
С наездами о плагиате (к BEST-DOS) могут попытаться обратиться
только 3 человека: Килделл (безусловно) , Балдин (частично) и Кузнецов
(в очень малой мере, т.к. он сам плагиатчик). При всем при этом мы не
воровали ни у кого листингов, а получили их дизассемблером (т.к. Вы их
зажали). Наша система содержит 50% оригинального (нашего) кода, а в
чужой внесены существенные изменения. Разработка СОВМЕСТИМОЙ системы
не может обойтись без ПРИЕМСТВЕННОСТИ (а не плагиата, как Вы имели
наглость
заявить). Если человек за 10 лет не пришел к такому выводу , то чего еще
от
него можно ожидать кроме очередных нелепостей? И боже меня упаси
"воровать"
идеи, которые ваши разработчики делают последний год - меня тошнит от
них.
Везде проглядывает рука человека, мозги которого отравлены бэйсиком.
Вам самому не надоело в каждом новом тексте писать : "сюда не лезь, это
мое, это ничье, сюда лезь..." вместо того как это сделано во всех
нормальных ДОС - они сами несут в себе описание деления ресурсов, это же
очевидно.
Только так можно достичь совместимости, которую Вы любите только на
словах,
для всех будущих версий , а не до очередного Вашего заскока. А если Вы
вдруг полюбите крутейший язык ЛОГО, представляете на что станут похожи
Ваши системы?
Хотите получить ссылки на наши первоисточники? Пожалуйста, только
это Килделл и Балдин, а не Вы. Где Ваши статьи в журналах, где листинги
написанные вашей рукой - их нет! Вы в каждом письме пишете, что у Вас
перед глазами листинг АЛТАИР ДОС (видимо думаете, что уязвите нас
этим).
Так поучитесь у Балдина! Уверяю Вас, там есть чему поучиться, хотя это и
писалось 2 года назад.
И последнее дело - выплескивание своей желчи на головы людей, которые по некоторым моментам Вас переросли. Понимаю, Вы живете в городе
построенном на болоте и человеческих костях, и у Вас может быть принято
писать письма от которых разит, но остальные люди Вашего отношения не
поймут.
Не такого общения я от Вас хочу. Ведь Вам как человеку предлагали - пиши
нам нормальные письма и ты получишь все наши программы бесплатно , а
если
хочешь поучиться , то плати деньги и получишь все листинги. Как я понял,
нормально с Вами можно общаться только если писать Вам льстивые письма
(то,
что Вы называете моральной поддержкой) , а если пытаться говорить на
равных,
то сразу нарываешься на ответ , где между строк читается : "что эти
щенки
позволяют по отношению ко мне, великому деятелю ОРИОНа".
Свои дискеты я перед отправкой всегда проверяю на предмет дохлоты,
и если Вы пользуетесь дерьмовым дисководом - в этом я Вам помочь не
могу.
Сходите к Казимирчаку, может он сможет Вам помочь. И вообще, прежде чем
хаять наши программы посоветуйтесь с Казимирчаком, ведь он писал
программы
и представляет , что это за труд. Не Вам судить о моей
производительности
(скорости изготовления программ) - напишите сначала сами хоть одну
такую,
а потом говорите. И еще - вы ни разу не сделали предоплату , а пытались
указывать что делать, а что не делать. Хотите программу на заказ -
гоните
50% предоплату , иначе - выбирайте из того , что я делаю для
собственного
удовольствия. А то хотели загнать меня в рабство - я бы делал программы,
а Вы как барин бы выбирали: это возьму дешево, а это не возьму совсем. Коровкин делает то же самое, и я теперь понимаю, что по-другому нельзя.
Кстати, Вы сами присылаете дискеты в таком
мрачном состоянии, что их с трудом удается прочитать (все диски - шуршанчики).
Я не могу посылать вам 3.5" дискеты , так как боюсь что Вы мне их не
вернете, а вернете как всегда свой жуткий хлам 5.25". На 3.5" у меня два
формата : 5 секторов на дорожку и 7 секторов на дорожку.
Я раздумал посылать Вам фэйс В. Сугоняко, т.к. после таких Ваших
писем стал опасаться, что Вы что-нибудь подпишете или подрисуете и
покажете
это В. Сугоняко, чтобы возвести на меня поклеп и заранее испортить его
мнение обо мне.
Что касается Бэйсика, то Вы зря считаете, что я в нем ничего не понимаю. Конечно, я уже несколько вырос из коротких штанишек, когда начинают программировать на бэйсике и еще не впал в старческий маразм, когда к программированию на бэйсике возвращаются. Однако у меня 6 лет назад, когда я учился в школе, был опыт программирования на Бэйсике, я тогда даже писал игры, в которые играла вся школа. Но с тех пор я успел поучиться в институте, познакомиться со множеством языков и мой кругозор в этом вопросе намного шире Вашего. Я по предмету "Системное программирование" год назад даже делал 2 курсовых (себе и приятелю) - компилятор Паскаля и компилятор Бэйсика . Каждый из которых работал в минимальном базисе из 12-13 операторов и транслировал с соответствующего языка высокого уровня на ассемблер IBM (i8086), причем получаемые листинги компилировались и работали. Вы когда нибудь пробовали написать функцию, которая переводила бы сложные арифметические выражения со скобками и приоритетами операций на ассемблер ? И не пробуйте - для этого надо 4 года учиться в институте. А ведь это не самая сложная задача, которая решалась мной при написании компиляторов. Кроме Паскаля и СИ меня в университете учили так же языкам управления базами данных (СУБД dBase, FoxBase, FoxPro, MS Access - для всех я в свое время писал такие программы, в сравнении с которыми Ваша программа "Финансист" даже смеха не в состоянии вызвать). В этом году меня учили ПРОЛОГу , но я на нем никаких серьезных программ не написал, т.к. это слишком абстрактный язык и ему трудно найти применение для реальных задач, хотя для решения математических задач о графах, деревьях, списках, задач искусственного интеллекта ПРОЛОГ оптимален. При всем этом разнообразии любимым у меня остался Паскаль, т.к. при своей предельной простоте (напр., Власов при моей скромной помощи изучил Паскаль за 4 дня, хотя в техникуме его учили только BASIC-у) Паскаль очень удобен для любых инженерных приложений. Не знаю, в каком ВУЗе учились Вы, но в нашем университете BASIC учат только машиностроители, автотранспотртники и т.п., а для любой специальности хоть как-то соприкасающейся с ЭВМ или радио-производством дают еще Паскаль и СИ (как минимум), не считая различных САПР. Совсем смешными выглядят Ваши старания по русификации MicroSoft ВASIC-а. В.Власов еще в 1993 году (когда он не знал Паскаля и написал несколько программок на бэйсике) русифицировал Microsoft-Basic (в обход кодов-токенов), оригинальным способом, не требующим писать на ассемблере в каждой программке.
Он также переделал редактор строк. Кстати , стандартный редактор строк в
этом BASIC-е - одна из причин того , что я запускал его только 2 раза и
меня чуть не вырвало. Редактор среды Турбо-Паскаля - лучший редактор для
СРМ. На стандартном бэйсике в принципе невозможно применять рекурсии, 2 структуры, процедуры и функции (бэйсиковская DEF FN - подделка под
функции
нормальных языков, причем подделка весьма неудачная), динамическое
распределение памяти. На бэйсике можно писать только "линейные" программы,
которые
даже при большом объеме текста остаются примитивными и неэффективными,
поэтому
ни один нормальный инженер в 90-х года 20-го века не пользуется бэйсиком.
Я также писал на бэйсиках для MS WINDOWS. Это уже совсем не то, что
Вы себе представляете. Это уже больше похоже на СИ (Эти бэйсики -
настоящие
процедурные структурные языки с встроенным объектно-ориентированным
программированием - Вы знаете что это?). Ваше заявление о том, что Паскаль -
модифицированный бэйсик говорят только о том, что Вы никогда не открывали
книги
о Паскале. Вот dBase - удачный гибрид бэйсика с Паскалем (я имею ввиду
синтаксис dBase), причем первые версии dBase были написаны на СИ (как и
ОС UNIX).
Об игре XENO. Я очень сильно сомневаюсь, чтобы Вы заплатили Роенко за его работу и имеете моральное право требовать денег за нее. А насчет благодарности от нас я могу сказать Вам только одно: Вы уже 3 года должны нам 13 игр ZX . Две можно сказать вернули (XENO и EXPRESS), хотя это и не те игры, которые мы заказали и оплатили. Когда вернете остальные 11 или деньги тогда скажу спасибо (а может и чего-либо повесомее). Вы пишете , что не будете покупать ПО, а хотите взять его на "реализацию". Хрен с Вами, берите , все равно собирался послать . (Только ведь обманете - вот что обидно). И еще, чтобы все было честно, дайте нам адреса всех других торговцев, чтобы мы могли и им поставить на реализацию наше ПО (думаю они не будут кочевряжиться как Вы). Демонстраторы я делать не буду, на них уходит не меньше сил и времени, чем на рабочую программу. Хотите продавайте наше ПО, хотите - отдавайте даром, нам все равно, мы давно уже не ждем от Вас никаких денег. И что самое противное, так это то, что обидеть Вас в ответ на Ваши "происки" невозможно : Вам скажешь какую-нибудь неприятную для Вас правду, а Вы делаете вид, что не читали этого и опять гнете свое (типичная тактика лившицев, чубайсов и прочих гайдаров).
Короче, Вы здорово меня обидели , может через месяц-другой напишу Вам менее злое письмо, если от подобных Ваших злых писем не брошу Все к чертовой матери. Ваши злобные письма (а это не первое злое письмо) меня очень нервируют. Тем более, что почти всегда Вы неправы и сами наверняка это знаете, что характеризует Вас с не лучшей стороны. При всем при этом от Вас никогда нельзя добиться извинений, в лучшем случае Вы делаете вид, что все нормально, все так и надо. А по-моему так не надо, и если Вы не откорректируете свое поведение никакого диалога у нас с Вами не получится.
P.S. Тут пришло письмо на бумаге (видно Вам показалось , что Вы мало меня обидели двумя днями ранее и надо добавить). Это вообще верх неприличия, такое себе позволяют только члены тайной секты почитателей Карнеги. Вроде бы Вы в очередной раз меня осчастливили (написали юзерам несколько слов о нашей системе), но слова-то в стиле "эту ДОС я себе не заведу, да и другим не посоветую" и я не прыгаю в данный момент от радости. Зачем Вы "забегаете вперед" со своими словами о том, что наша система хуже любой из ваших (по крайней мере такой идет подтекст), ведь юзер еще не видел этой системы и не составил еще своего мнения о ней, а после такой "аннотации" он и не захочет ее покупать у Вас (я настаиваю на бесплатном распространении), и Вы сможете написать нам то, что Вам очень хочется : "Я как всегда прав, ваша система никому не нужна". В конце Вашего текста идет начало моего описания BEST-DOS (обрывок, в 3 строчки, видимо случайно распечатали). И в этом маленьком кусочке я заметил кучу несоответствий с тем, что я Вам послал (Ваших поправок). Может это из-за мифических сбоев на моей дискете, а может Вы правите мои тексты, что неприятно, т.к. Ваши поправки идут от моего имени. (Я не настолько безграмотен, чтобы мои тексты нуждались в редактуре). Я пошлю Вам описание системы еще раз, чтобы Вы могли не "восстанавливать" его. Я конечно понимаю, что Вам неприятно, что кто-то сделал лучше по некоторым аспектам, чем Ваши разработчики, но зачем это демонстрировать?
Короче, берите в руки Вашего любимого Фрейда и попробуйте под его чутким руководством разобраться, наконец, в сексуальной подоплеке Вашего поведения (это любимый конек Фрейда), и, может, общими усилиями нам удастся Вас спасти. А вообще-то мне жаль тех трех Ваших клиентов, которых Вы решили морально поддерживать - когда им надоест слушать Ваши рассказы о убогости Сугоняко и когда они не захотят делать то, что считают бредом, то начнут получать от Вас "пулю" за "пулей".
С уважением, Сергей Акимов. 20.12.96
На предыдущую страницу На главную страницу На следующую страницу