+16.72
20 читателей, 59 топиков

Технический разбор Illusion от X-Trade

Давно хотел попробовать написать новый тип заметки, специально для кодеров. Я хочу попробовать поговорить о внутренних циклах дем, о том, на чём держаться эффекты и об идеях, которые позволяют эти эффекты реализовать. Я не буду лезть в подробности реализации и не дам вам дизассемблер для сборки чего-то выдранного. Только идеи. Только самое интересное.



Ну и поскольку мне нужно с чего-то начать, я хочу начать с Illusion от X-Trade. Мне это демо всегда было симпатично.
Читать дальше →

Threads on Z80

Привет, друзья.

Хочу поделиться с вами своими наработками. Сперва хочу извиниться за то, что постоянно буду использовать свой ассемблер ASAM. Увы, он работает только под 32-бита, у этого есть ряд причин, но почему это так, — не сейчас.

Теперь о сегодняшней теме, о параллельных потоках. Начиная с 2003 года я постоянно использую два типа потоков на Speccy: первый, мой любимый — это сквозные функции; и второй, о котором пойдёт речь — это классические потоки. Я приведу пример самых простых потоков, и если вам это нужно — вы легко сможете доработать его до своих нужд.

Thread'ы очень просты. Всё сводиться к двум основным процедурам — это создание и переключение потоков. Текущий вариант потоков эволюционировал из простых переключений между блоками памяти в переключение между страницами, что очень удобно для decrunch'ингов чего-нибудь, или для распаковок данных. Хочу отметить, что впервые оправданное использование потоков я ощутил при coding'е под ts-conf'у.

Читать дальше →

Фак программисту. Или как понять свой старый код

Не так давно я вернулся к разработке zifi. Этот код был позаброшен больше 9 месяцев назад, и тогда я… устал продолжать :)
Но — не забываю, есть старые проблемы, есть вновь найденные неудобства. Надо фиксить, надо развивать.
Оболочка полезная вышла.
Но, ччёрт, столько времени прошло…
Как понять свой старый код через год? И как писать так, что-бы его можно было пОнять позже?

Читать дальше →

ZiFi или интернет для Z80


Сетевые разработки ведутся уже давно.
Давно существует прототип ethernet плата от nedopc, в U16 встроен ethernet контроллер, есть и зарубежные разработки в этой области.
Но почему же мы до сих пор их не используем?

Сейчас я вижу одну главную проблему. Существующее железо для сети лежит как прототип.
Для этого железа нет никакой программной поддержки.
Как вы думаете, почему?

В первую очередь — это равнение на существующий мир. Скайп, интернет-приложения, видеохостинги, всё богатство сети — в нашем спектруме?
Как посмотришь на обьём — сразу опускаются руки. Даже большой командой решить большинство вопросов реализации доступных нам на РС сервисов — невозможно из-за ограничения существующих и популярных сейчас платформ на базе Z80 и совместимых со спектрумом.

Но я вижу, что пришло время.
У меня есть видение, как реализовать такого рода вещь.

Читать дальше →

Как стартовать первую программу на ассемблере.

По небольшим просьбам публикую самую короткую и простую инструкцию, как с минимальными усилиями написать и запустить примитивную программу на ассемблере. Я нарочно не затрагиваю тут принципов работы, литературу, архитектуру итд. Цель — получить нечто двигающееся здесь и сейчас.


Читать дальше →

ZiFi is released!

Итак, случилось. Версия 0.61, с автообновлением из сети.

Что нового?
+ скорость кабельной версии приросла в два… нет, в ДЖВА РАЗА, КАРЛ!. 11,5 кбпс онлайн, без СМС. (From mighty DDp!)
+ куча новостей с разных наших сайтов
+ IRC Logs. Вы знаете что здесь делать ;)
Новенькие разделы разработаны и поддерживаются DMlog!

Что сейчас нужно для использования?
Для версии с esp8266 — ускорилась и устабилилась прошивка, здесь можно обновить прошивку ZX Evolution от DDp.
А вообще — мы уже полностью самостоятельны и независимы, МЫ — СПЕКТРУМ ОНЛАЙН.
Для версии RS 232 — ускорился сервер, ускорилась прошивка, необходимо скачать socket-сервер от PSB и обновить прошивку ZX Evolution от DDp с ускоренным до 115200 UART.

Читать дальше →

Сжатие данных для современного кодинга под Z80



Многие программы сделанные на спектруме в 1980е не использовали технологии упаковки данных. Вообще, сжатие было не так широко известно, упаковщиков было мало. RLE не считалось позорным алгоритмом сжатия! Сейчас ситуация изменилась; почти каждый современный релиз, как минимум, придёт в упакованном виде, а как максимум — будет хранить часть данных запакованными и распаковывать их на лету, по мере надобности. Тем не менее, разговоры о компрессорах часто показывают, что редкий кодер видит общую картину вещей. Люди используют один и тот же пакер десятилетиями; иногда неплохой, просто устаревший пакер, иногда — пакер, который даже 10 лет назад не стоило начинать использовать. Я сделал серию тестов для десяти достаточно модных упаковщиков, чтобы попробовать понять, какой пакер нужно брать для современного приложения. Надеюсь, вам будет тоже интересно (и полезно) посмотреть на то, как выглядят результаты.
Читать дальше →

Как быстро настроить среду разработки на ZX: Visual Studio Code + Z80MacroAsm boilerplate

В этой статье я расскажу, как начать пользоваться Visual Studio Code для разработки под ZX Spectrum, почему (если вы ещё не знаете) деббагер в Unreal Speccy такой крутой; и, возможно, в конце, в качестве бонуса: зачем вообще это нужно делать, даже если вас устраивает ваш Sublime Text/UltraEdit/Notepad++/Far/Vim/Microsoft Word.



Читать дальше →

GO WEST, часть 1

Я хочу попробовать собрать в максимально компактной форме более-менее всё, что нужно для того, чтобы либо портировать вашу программу на один из классических спектрумов, либо написать её с нуля сразу совместимой с классикой. Когда я говорю «классика», я имею в виду любую из следующих машин: ZX Spectrum 48K, 128K, +2, +2A, +2B или +3. На практике, многие из этих моделей очень похожи друг на друга с т.зр. программиста и реально важно отличать следующие три вида классических спектрумов: 48К или 128К/+2(«серый») или +2A/+2B/+3.

В целом, отечественные клоны обладают довольно высокой степенью совместимости с оригиналами и переделка вашей программы для Leningrad 48К на 48K классику или переделка вашей программы для Pentagon 128K на любую 128К классику скорее всего окажется возможной, зачастую даже необременительной. Тем не менее, различия есть, и если не принять их во внимание, можно очень легко получить спектрумовский софт, который ни на одном настоящем спектруме не заработает.
Как этого избежать?