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

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

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

Threads on Z80

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

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

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

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

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

Работа с SDC/MMC на примере драйвера под Z-Controller (Z80)

BUDDER/MGN 2015

Лет 7 все собирался написать свой собственный драйвер, для работы с SDC/MMC под Z80, да всё как-то не складывалось. В своих проектах все это время использовал драйвер от Savelij'а. В принципе меня таковой вполне устраивал, т. к. недостатки в оном не сильно критичны. Драйвер сделан весьма упрощённо и соответственно не работает с некоторыми картами, но при этом очень компактен. Так же, из-за специфики реализации, работает с картами медленнее, чем можно было бы (что, пожалуй, вообще не критично). В свое время Слава меня таки спас от написания драйвера, за что ему мега респект.


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

Плеер MTC контейнеров для реала

Всем привет!

Рад сообщить, что представленный в предыдущей статье формат треков MTC (Multi Track Container) теперь можно (с некоторыми ограничениями) слушать и на реале.


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

z80: Инструменты статического и динамического анализа кода.


Отчасти развивая вопрос поднятый в этой публикации, хочу спросить у вас: «какие есть 'умные' интерактивные инструменты динамического и статического анализа кода для z80 (кроме дорогущего IDA Starter/Pro)»?

И что эти «умники» умеют?

  1. какие (и где) есть инструменты динамического анализа кода?
    к примеру, для того, чтобы получить маркировку участка исходного кода как «исполняемого», достаточно запустить программу под эмулятором, некоторое время погонять её с включенным логированием состояния регистра PC (указатель адреса исполняемой команды) — как результат получим массив адресов, по которым реально расположен исполняемый код.

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