02 ноября 2005 |
|
Новости by Alone Coder Дома сломался компьютер, а чинить пока некогда. Пишу на работе, чтобы не связываться с ноутбуками. Новостей было очень много, все не опишешь. Так что в двух словах, а остальное в другой раз. Студия переживает не лучшие времена. "Волшебный Мир" отделился от нас. Ушли старые директора (Владимир Денисов, Нина Абрамова, Алексей Пятшев ). Сейчас студией руководитВладимир Иванов с видеонаправления. Новый набор на киностудию провалился. С одной девочкой, которая пришла на моё направление ( "2D анимация и демосцена" ) мы пока рисуем комиксы. 3D направление закрыли из-за отсутствия слушателей. На общее собрание киностудии приходилLdir и хотел вести лекции - он владеет Blender'ом - но организовать лекции не удалось. John Silver переехал в собственную квартиру (которую он получил по линии ВДВ) и собирается вернуться к написанию музыки. Я тоже написал пару паттернов на студии - показывал студентам, как это делается. Ещё перевожу музыкуАртёма Чаузова с MIDI на AY - для графической новеллы Rusted Souls, которую пишут ребята (в основномArwald, Маша Любчак uLouisa ).John Silver uKarbofos спрашивали по поводу VST-плагинов, реализующих AY и TFM со всеми настройками и ограничениями, чтобы можно было сочинять музыку с удобством, а потом в случае чего можно было копипастить в спектрумовские трекеры. Я спросил на эту темуtrue-grue (автора известного AY движка), он готов консультировать любого, кто готов взяться. Кто готов? KSA-7G занимается только ремонтом, Спектрумом сейчас не интересуется. T(c)S'а не видел уже год. Насколько известно, он продолжает ремонтировать сотовые телефоны, найти его можно только на работе в фирме "Сотамастер". Crutch переехал на новый адрес (купил квартиру). Очень сильно похудел. Dissonator'а иногда можно встретить на улице. Вроде бы он чем-то торгует. Cyberdemon'а никто давно не видел. Hippiman успешно работает над расширением возможностей EvoSDK. NedoPC собирались в начале октября на дачеKOE, но я пропустил это событие.KOE купил машину, научился водить, а заодно нашёл и исправил глюк в эмуляторе ВГ93, из-за которого не работали некоторые номера ZX-Format. Максагор со свежими силами вернулся к спектрумовским делам и снова стал обновлять сайт про АТМ Турбо. Из мировых новостей: Олег Чередниченко реализовал Boulder Dash под 48K на Обероне. Destr пишет ЗD-игру под 48K. Screw/OHG разрабатывает мощную среду отладки на базе UnrealSpeccy. Einar Saukas поддержал в своём графическом движке NIRVANA+ мой мультиколоршириной 32 знакоместа. Проект Орфовики переехал на доменорфография.орг (сервер Slaven'а ). * * * Последние дни сыпались вопросы о том, как скомпилировать исходники WolfЧ8 под кросс-ассемблером. В этих исходниках есть две основные проблемы: первая - использование параметрических меток типаlabel 1 в макросах, вторая - конвертор текстур, написанный на ассемблере (он запускается до сохранения). Я решил покончить с этими вопросами кардинально. Для первого пункта я написал маленькую утилиту-препроцессор AsmPre (http://alonecoder.nedopc.com/zx/asmpre.zip ). Она реализует макросы следующего вида: #macro <name> (начать определение макроса) #endmacro (закончить определение макроса) #usemacro <name> <parO>,<par1>,<par2>... (использовать макрос с параметрами) Параметры в макросе - как в ALASM. Макросы могут быть вложенными. Второй пункт можно обойти с помощью UnrealSpeccy v0.37.1CFIX (http://alonecoder.nedopc.com/zx/USOЗ71FIXSRC.rar ). Кроме автоматической периодической подгрузки заданного файла в память (ключ-c filename ) она умеет автоматически периодически же выгружать заданный файл с заданного адреса (ключ-sPPAAAA filename , длина берётся с первых двух ячеек по этому адресу, дальше лежать сами данные) и при наличии этого ключа вываливаться поDI:HALT. Таким образом можно обрабатывать данные процедурами на ассемблере и использовать их результат в линковке. * * * Сейчас я копаюсь в старых бумагах, пытаюсь восстановить цепь событий. Бумаги представляют собой причудливую смесь кода, музыки, рисунков и мультиков на полях, схем железа и школьных-институтских уроков. Некоторые записи находятся прямо на школьных тетрадках и дневниках! Самая первая сохранившаяся запись по Спектруму относится к магнитофонному периоду (то есть самое позднее 1993 год), но уже с попыткой дизассемблирования какой-то программы. Других спектрумовских записей магнитофонного периода не сохранилось, а катушки и кассеты утеряны. Из тех времён осталась только дисковая версия iS-Chess 48 совместно с отцом, датированная 1993 годом (см. ZX-Pilot #41 ), и редактор анимации Animator на бейсике (см. ACNews #53 ). Если происходящее с 1999 года датировать нет особых проблем (я же публиковал дневник в ZX-Guide ), то с более седыми древностями приходится работать по методам Шерлока Холмса. На большинстве бумажек нет никаких дат, но можно определить год по датам релизов Font editor'а (по одной из записей, он писался с декабря 1995 года по 18.01.96) и Sapper'96 (12.12.96) - ведь известен же порядок исходников на дисках с исходниками. Ещё можно сопоставлять упоминания игр и даты в моих дисковых версиях этих игр. Можно смотреть обложки тетрадок. Можно в конце концов сравнивать с другими бумажками, где есть записи на те же темы. Тем более, в те времена у меня было такое развлечение - раскладывать год (например, 1995) по цифрам и с помощью математических операций составлять из этих цифр разные числа. Идея была взята из журнала "Наука и жизнь", и я надеялся поучаствовать в конкурсе, но не знал, проводится ли он ещё. Как датировать такие вещи? Логично предположить, что текущий год раскладывают в его начале или в конце предыдущего (иначе можно опоздать на публикацию в журнале). Например, разложение 1996 находится в записях по Font editor'у (декабрь 1995 - январь 1996), и разложение 1995 можно искать в декабре 1994 - январе 1995. И вот на этой границе 1994-1995 (если дата определена правильно) возникает огромный всплеск материала. Видимо, именно этой зимой я познакомился с товарищемNick'ом из соседнего двора (он же Вундик, он жеКоля Медведев ), увидел у него демы и стал пытаться писать свои. Он сам в то время писал игру-драку, которую впоследствии выставил на конкурс хакеров и потом благополучно стёр. Я же до этого занимался аналогом Supercode, плавно переходящим в проект графического редактора (а вылился он в конечном счёте в Font editor ), русификацией Masterfile, написанием всякой ерунды на бейсике, рисованием шрифтов и т.п. А мой круг спектрумовских знакомств ограничивался пятью юзерами в подъезде, из которых только один писал на бейсике, и одной попыткой отослать тот самый редактор анимации на городской конкурс. Ещё у отца были какие-то знакомые, от которых он брал софт. Но на конкурс хакеров, наАлексея Бугрова (он писал ассемблер) и на хакераВячеслава Михеева (и всюSTR group ) я вышел именно черезNick'а. (Следующим этапом набора закомств была школа программистов при радиоинституте, но это уже конец 1996 года.) Интересно, что пока я тусовался сNick'ом, у меня сменился даже стиль рисунков (а он очень хорошо прослеживается и датируется по обложкам дневников) - возможно, потому, что мать уNick'а рисовала и я это видел. И вот благодаря всем этим признакам, а также используемым чернилам, стилям оформления исходников и эмблемам, удалось восстановить некоторые даты. Например, вот как выглядит история изучения мультиколоров: 1994-1995:первый анализ мультиколоров 1x8 и 2x8 - лист содержит графредактор, шрифт на бордере, эмблему B&Б, идею арканоида, Multicolor через LDI:POP DE:PUSH DE 1994-1995:Multicolor шириной 14 знакомест (LDI:LD E,A) - лист "Yamaha+IBM is very big shit" 1994-1995:анализ ширины мультиколоров (LDIR 10, LDI 14, LD (HL),n 16) - лист содержит эффект wave, меню графредактора, русификацию токенов бейсика 1995:Multicolor шириной 16 знакомест (LD (HL),n) - для мультиколорного редактора 16x192, который не был написан 1995:анализ ширины мультиколоров, уже нет варианта LDI, зато есть LD (HL),n, POP HL:LD (),HL и LD:PUSH - лист содержит шрифт 3x3 и паузы для бордера 1996:полная программа Multicolor шириной 16 знакомест (уже POP HL:LD (),HL) - на листе также вертикальный скролл, сапёр и пентамино лето 1996:Multicolor шириной 20 знакомест (LD:PUSH) конец 1996:TMC12 (мультиколор 4x8 на 48К во весь экран, начало экрана около 1ЧЗxx такта) - лежит на дисках между исходниками сапёра конец 1996:эффект RADUGA, впоследствии скринсейвер к ACEdit (тогда ещё сплошными цветами и тоже под 1ЧЗxx) - лежит там же июль 1997:T2ЧMC (Multicolor шириной 24 знакоместа, нерабочий) 30-31 июля 1997:MC24.a (Multicolor шириной 24 знакоместа, рабочий) - набран позже, уже в MASM. Достаточно вероятно, что удастся отсортировать все записи и составить полный датированный список релизов, а заодно восстановить всю историю. Но работы понадобится много. Зато положительный эффект от такой работы - можно видеть все эти старые идеи и попробовать реализовать их на новом уровне. Пару примеров вы уже могли видеть в последнее время - Self Printing Greets(22.09.15) и режимR-Mode в конверторе Con18(11.09.15). Как, не видели? :) Ищите наhttp://alonecoder.nedopc.com/zx/ . Self Printing Greets - 32-байтное интро, которое выросло из одной мелкой заметки про ASCII coding в бумажках. Идея была в том, чтобы писать программу, ограничиваясь только символами ASCII, где в основном команды типаLD регистр,регистр. Разумеется, за счёт вычисления заданных байтов и патча заданных локаций можно получить и другие команды, но количество каких-нибудь круглых скобок и запятых (и прочих символов, которыми можно производить хоть какую-то математику) превысит все допустимые пределы, и текст совсем не будет выглядеть как текст. Поэтому в этой 32-байтной интре патчится всего один байт. R-Mode - потомок одного из программных видеорежимов из списка в ZX-Guide #2. Как, тоже не читали? :) А ведь некоторые перечисленные там до сих пор не использовались в софте :) Искомый режим там называется"16 COL 128x96/2 (RGBW)" - и это опечатка, которую надо будет исправить, так как имелось в виду, конечно,256x96. С этим режимом я развлекался на первом курсе, просматривая картинки с MS-DOS-дисков в стандартной CGA палитре. А на бумажках, которые я перебирал, осталась запись, как я просилЮру Свиридова найти и наконвертировать мне такие картинки. Как видно, этот режим предполагает наличие 2 экранов. На одном кадре чередуются строки двух каких-либо цветов на чёрном фоне (например, белые и синие), на другом двух других цветов, тоже на чёрном фоне (например, зелёные и красные). Итого 4 цветовых слоя. В итоге можно получить любой цвет в любом месте без особых затрат процессорного времени. Вообще практически без затрат - надо только заполнять атрибуты и щёлкать портом. Но картинка получается очень тёмная. А что такоеR-Mode? Это то же самое, только вместо красного, зелёного и синего цветовых слоёв используются автоматически подобранные атрибуты. Цвета получаются ярче и сочнее. Казалось бы, теряем самое вкусное - цвет на точку. Но не совсем! Поскольку белый слой остался нетронутым, мы всё ещё можем накладывать на картинку чёрно-белые спрайты. Более того, поскольку все атрибуты имеют чёрный фон, то яркость картинки можно плавно уводить в чёрный, используя штриховку. Не буду расписывать алгоритм расчёта атрибутов, он близок к перебору в лоб. Скажу только, что в конце концов я ограничился такими значениями атрибутов по слоям: ;0: G/M/C - низ(нечет) ;1: R/C/M - низ(нечет) ;2: B/Y - верх(чёт) ;3: W - верх(чёт) Такие ограничения позволяют заливать половину атрибутов с помощьюPUSH:PUSH:PUSH... в верхнем бордере - успевает даже на фирменных машинах. Картинка получается сравнимая по качеству сMCX, но при этом не требует столько памяти и процессорного времени
Other articles:
|
|
|
|
|
Similar articles:
В этот день... 21 November