ACNews
#45
31 января 2006 |
|
Новости - Мы одолжили у Макса Тимонина АТМку и сделали на ней игру "Time Gal"
ACNews #45 AC Edit v0.98 supplement 31.01.2ooб :::::::::::::::::::::::::::: Новости ::::::::::::::::::::::::::: Итак, мой пц починен методом перепаивания двух конденсаторов,и я снова с вами. У нас на завод кто-то пронёс вирус, в связи с этим был объявлен шмон; в частности, закрыли доступ в интернет (я, впрочем, не был туда записан). Даже рассказик придумался по этому поводу, в стиле древнего фидошного юмора: ──────────────────────────────────────────────────────────────── Касперский: Эй, задача, ты хто? DrWeb: Я DrWeb, типа антивирус. К: Это я антивирус! Я ставлюсь так, что меня фиг снесёшь! D: А я нахожу вирусы, которые ещё не придуманы! К: Зато я... замедляю файловые операции в два раза! D: А я - перезагрузку в полтора! К: А я... а я... а я тебя сейчас вылечу, выскочка несчастный! D: Обломись, я тебя заблокировал. Norton AntiVirus: Я вас щас обоих сотру. К: А енто хто? D: Нутром чую - вирус! Заблокирую-ка я его. Ну-ка, ну-ка... N: В памяти обнаружен вирус DrWeb. Windows: Закрываю DrWeb. Он блокировал Касперского. Разблокирую. N: Товарищ юзер... я к тебе по вопросу о вирусе DrWeb. Стереть файл / Отформатировать диск? Юзер: Отмена!!! N: Как так отмена?.. Отмену мы не тестировали... W: Выполнена недопустимая операция. Снимаю Norton. Перезагружаюсь... Nero: Стой, я болванку не дорезал! W: Nero не отвечает. Снять задачу? Ю: Подождать!!! К: Ага, у меня теперя 20 секунд. Ща я вылечу этот DrWeb, не будет выпендриваться :) N: Эй ты, вирус! Думал, я одна задача и меня просто так сняли? Закрываю тебя нафиг и сотру. К: Ручки твои загребущие. Я свою память защитил. W: Выполнена недопустимая операция. Снимаю Norton. Перезагружаюсь... N: Хрен ты перезагрузишься, пока я этого гада не стёр. К: Ну-ну, так ты всю жизнь меня стирать будешь, а я пока твои запускальники поищу... CPU: Я кипю. Дрова: Температура процессора 100 градусов. Выключай комп! W: Выключаю комп. N: Ничего ты не выключишь, пока я не снимусь! Ю: Чё-то всё повисло. Reset! BIOS: Тестю память. Память: Тестюсь. CPU: БАБАХ! ──────────────────────────────────────────────────────────────── С 2 по 8 января я был в Москве у Shiru Otaku. Мы одолжили у Макса Тимонина АТМку и сделали на ней игру "Time Gal" (игра с древнего игрового автомата, представляет из себя в основном видео). Конечно, сама игра делалась не всю неделю, ведь сначала надо было изучить, можно ли её сделать вообще - и как, собственно, её делать. Сперва мы выясняли, как перегонять файлы с пц на АТМ. Пц Shiru не захотел писать на ZX дискеты. Заработал единственный способ - через MS-DOS дискету, используя iS-DOS'ные утилиты. Собственно, на этом первый день и закончился ( Тимонин приехал довольно поздно, и все эксперименты заняли довольно долгое время, не считая показа демок, которые Макс очень хотел нам показать и показал :)). Потом надо было переделать под АТМ 16-цветный видеоплейер, который я писал дома под пентагон. Как и ожидалось, запустить плейер не удалось до тех пор, пока я не переделал HDDoctor под АТМ (я пытался ещё летом у Чунина, но не вышло). При этом мы выяснили, что CD-ROM, стоящий на АТМ Тимонина, умеет читать только заводские диски и Очень Неохотно может читать Некоторые CD-R. RW-шники он не читает в принципе. Поэтому пришлось поставить CD-ROM Shiru, и тут обнаружилось... что с ним на одном шлейфе не дружит винт. Поэтому мы занялись ди-джейским перетыканием CD-приводов. Чтобы проверить каждую новую компиляцию программы, надо было: 1. Собрать загружаемую версию программы под эмулятором. 2. Урезать .trd с помощью SN. 3. Записать .trd на дискету. 4. Подключить к АТМ CD-привод Тимонина (иначе не работала запись на винт). 5. Включить АТМ. 6. Скопировать .trd с дискеты на винт. 7. Выключить АТМ. 8. Подключить к АТМ CD-привод Shiru (иначе CD-RW на читались). 9. Включить АТМ. 10. Запустить программу. 11. Выключить АТМ. С горем пополам плейер удалось запустить. Потом синхронизировали звук (для чего пришлось на слух определять скорость компьютера :))). Потом убирали щелчки при переполнении буфера звука - для этого пришлось положить в видеопоток больше звуковых данных и, соответственно, меньше графических (понадобилось предусмотреть 1 сектор звука на каждые 7 секторов графики). На третий день Shiru предложил идею: писать код игры на саму болванку, а загрузчик с CD сделать раз и навсегда (списать его один раз - и тогда больше ди-джействовать не придётся). Конечно, чтобы отладить этот загрузчик, таки пришлось подиджействовать на всю катушку :) Вытаскивание файла игры из trdшника (ради чего раньше приходилось запускать SN ) Shiru смог автоматизировать небольшой утилиткой. Параллельно я создал учётную запись на zx.pk.ru и пытался проконсультироваться там хотя бы у кого-нибудь, но получил в ответ только глупые шутки. Разве что SMT смог уточнить, что неэмулируемость CD-операций в HDDoctor'е (а за ним - и в видеоплейере) происходит из-за кривой поддержки ATAPI-команды #00 в драйвере (эта команда должна снимать любую предыдущую ATAPI-команду). А без #00 поддержку CD не написать. Разве что через ATA-команду #EC (хитрость, найденная Budder'ом ), однако с #EC можно очень конкретно обломаться на ряде приводов - ведь её командоснимательные способности не документированы. Тем временем из инета докачалось Delphi, и дальше шли эксперименты с видеоконвертором, для которых ему пришлось скормить кучу видеороликов самого разного вида. На "Симпсонах" мы обнаружили накопление рассинхронизации видео относительно звука. На ролике из игры "Soul Edge" - плохое звучание после передискретизации без интерполяции и ещё рассыпание быстрых фрагментов видео, которое эффективнее всего лечится снижением площади картинки (например, если картинка на 15% меньше - пропускается на 25-30% меньше кадров!). На какой-то песне - сбой в выгрузке файла конвертором. На полнометражном мультфильме "Призрак в доспехах" (там очень, доложу вам, реалистичные тени и блики, как живые! ничего подобного в рисованной анимации я раньше не видел) - пропуск кадров на почти не меняющихся участках. Заодно конвертор удалось ускорить примерно в 5 раз. В пятницу-субботу я наконец дописал скриптовой движок. В ночь на воскресенье мы конвертили уровни. Shiru находил, какие ролики (основная последовательность и сцены гибели) соответствуют конкретным уровням, доставал из них картинки и звук, нормализовал звук и составлял таблицы действий с указаниями, какое когда. Потом за пц садился я - конвертил ролики в спектрумовский формат, писал скрипты, записывал болванку, тащил её на АТМ и садился тестировать уровни. В это время за пц садился Shiru и конвертил следующие уровни. И так до утра. Причём пришлось потратить час на выяснение структуры каталога CDFS. С определённого момента дескрипторы файлов перестали помещаться в один сектор - и начались глюки. Выяснилось, что в Абзаце#25 ошибка: длина дескриптора =#0000 означает не конец каталога, а переход к следующему сектору! В воскресенье утром я захотел добавить в игру ещё немного кода, но не получилось. Собрали как есть, с тем я и уехал. Дома я портировал игру под пентагон с 16-цветной примочкой и добавил загрузочную заставку (точнее, нашёл глюк, из-за которого она не выводилась). Вот, собственно, и всё. Shiru выложил игру на своём хостинге. Теперь Макс не может сказать, что на сайте http://atmturbo.narod.ru есть весь софт для АТМ :) Наша игра как минимум раза в 2 больше этого сайта :))) Ещё в Москве я успел зарелизить кучу самого разного софта, который долгие годы копился у меня дома. В том числе много исходников я отослал Crank'у, но... ни ответа, ни привета. Что-то случилось с его сайтом или с ним самим, или и то, и другое... А уехал я из Москвы, вывозя огромную кучу скачанных сайтов с библиотеками (например, огромная www.krotov.info и знаменитый www.vostlit.info ) и энциклопедиями ( www.1911encyclopedia.org и ещё несколько маленьких, которые кинул мылом Константин Свиридов ). Shiru даже умудрился скачать всю Википедию, но распаковать её .tar не удалось - хитрая кодировка русских имён. Пока меня не было, Евгений Серёгин с помощью KSA-7G подключил себе CMOS-часы. Протестировал их, а потом снова отключил :) Недавно, когда ко мне приходил KSA-7G, мы случайно сожгли 12-вольтовый трансформатор для паяльника (произошло короткое замыкание в вилке этого самого паяльника). Так что теперь я паять не могу :( А у меня была мысля... Приходил также John, мы даже попытались написать какую-то музыку. Basil сейчас в Тамбове. Интересно, что они с John'ом купили себе GamePad для пц. Типа чтобы веселее было играть... В мыле появлялся Nikphe. Он рассказал, что теперь живёт и работает в Рязани, что Event теперь пишет музыку на пц и что оба они часто сидят в интернете. Когда я спросил, какие у них последние релизы, Nikphe мгновенно испарился :-/ У Ldir'а, как обычно, Last выпустить не получилось (как он сам говорит, "пропил"). Я существенно расширил и исправил список композиторов с помощью Shiru и Newart'а. Теперь известно 1053 (!) AY/YM композитора. Подавляющее большинство - спектрумовские :) И подавляющее большинство - из России :))) Под Turbo-Sound, кстати, пока никто, кроме Shiru, не пишет, хотя болтовни и обещаний было много. А между тем, у Чунина уже есть рабочий экземпляр Turbo-FM (где вместо YM2149 стоят YM2203, в которых кроме обычных 3 каналов имеются FM-каналы). Коммодорщики, оказывается, вполне нормально смотрят на распространение огромных баз своих адресов... А меня вот некоторые спектрумисты бранят всё время... Я уже не могу по-человечески зарелизить новую версию своего списка спектрумистов, который куда подробнее старого. Elph прислал мне конвертор графики от Baze, он вышел одновременно с IG#8, где я про него писал. Он называется "bzither". Палитры подбирает очень удачно. Но не умеет делать Floyd-Steinberg diffusion :( Baze говорит, что есть конвертор "dithvide" (by Pavel Cimbal ), который это умеет. Выпущено: HDDoctor 0.10, Time Gal, VideConv.
Другие статьи номера:
Новости - Мы одолжили у Макса Тимонина АТМку и сделали на ней игру "Time Gal" |
Прогрммирование - ZX-СТАНДАРТ НА АВТОЗАПУСКАЕМЫЕ CD v1.0 |
Похожие статьи:
В этот день... 21 ноября