• avatar SAA
  • 1
Как то было дело у одноклаcсницы выклянчил HP-65, инструкция на немецком, я учил английский и уже хорошо умел программировать на МК-61. Не сумел освоить HP-65, не протиснулся через немецкий язык :) Но карточку эту магнитную помню — сколько не пробовал писать читать программу — нифига не работало. Наверное нужно было с ней какие то дополнительные процедур проделывать, а может убили покрытие магнитное. Так и остался с МК-61 и нереализованной мыслью как бы ему с задающего устройства кнопки зацепить и с ленты программу писать/читать :) Все равно все закончилось Радио-86РК :)
  • avatar nodeus
  • 0
Спасибо, очень интересно. Вышивка просто отпад!
Изначально пробовал конвертить картинки ню тематики на zx spectrum, получалось прикольно. На демопати такие картинки принимать было нельзя. Куда же отправить такие работы, думал я. Мне нравятся пиксельная эротика, если поискать у художников в архивах — есть просто офигенные картинки. Однажды moroz1999 проводил виртуальный тематический конкурс ZXA'13. Я тогда в нём участвовал и сам формат мне понравился. И как-то само по себе всё сложилось в моей голове. И решил провести Out Of Compo один раз, а потом вроде зашло, и пошло-поехало… как-то так ))
  • avatar sq
  • 1
Шуран, расскажи, как тебе вообще пришла в голову идея такого конкурса? Почему именно такая тематика? Расскажи немного об этом!
кошкин ёж, не тот код запостил во втором варианте, там должно быть

	ld de,$XX20☺
	add hl,de
	ld e,h
	ld a,(de)
	ld h,a

Хотя уже неважно, ведь оказалось, можно еще быстрее. Я как-то проглядел, что там же в аккумуляторе хранится исходный младший байт адреса! В связи с этим можно переписать:

		...
		ld a,l
		jp _loop3

_xrow1		ld b,8
_xrow2		add 32
		ld l,h
		ld h,$XX
		ld h,(hl)
		jp nc,_loop2
		ld h,l

_loop1		inc h
_loop2		ld l,a
_loop3		DUP...EDUP
		djnz _loop1

		dec c
		jp p,_xrow1
		ld l,a
		exa
		ld b,a
		ld a,l
		jr nz,_xrow2

		ld sp,0
		ret

«чистый» код down_hl (с _xrow2 по _loop1 включительно) на всю высоту экрана сожрёт 1493 такта
если жаба не задушит продублировать кусок _loop2...djnz — можно сократить заменой jp на jr до 1398
это с маленькой таблицей, а без таблиц у меня теперь получилось 1556 «чистых» тактов:

		...
_xrow2		add 32
		jr c,_loop1
		ld l,a
		ld a,h
		sub b
		ld h,a
		ld a,l

_loop1		inc h
		...
Магнитные полоски — это огонь!
  • avatar bfox
  • 1
очень круто! как всегда:)
  • avatar VBI
  • 3
Крутой чёрт! :)
Картинка очень хорошая получилась! Автор наверняка лукавит, что это первая работа на ZX :) Интересно сколько времени потрачено на неё?
Да, обзоры легче писать, чем графику рисовать ))) Хотелось бы еще от кого-нибудь почитать обзор графики.
Мой топ:
1. void. Камбэк OMEGA на платформу
2. Dark Transit. Такого забористого бипера я давно не слышал, аж пробрало.
3. Возвращение tayle в графике.
  • avatar nyuk
  • 4
Саня, спасибо за обзор! Прочитал с огромным удовольствием.
Спасибо! Исправил!
K5hO City? Я таких городов нинаю, наю тока KEMO City.

А за обзор спасибо огромное.
Конечно не заметил; смотрел применительно к своему коду, а не к твоему. Забавная идея про 2 точки входа!
За прошедший год я немного улучшил оба декомпрессора. Компактный распаковщик удалось сократить до 88 байт (если у кого-то будут мысли, как его можно ещё сократить — буду очень благодарен, так как
у меня там уже начались реально неприятные оптимизации). Быстрый распаковщик тоже удалось ускорить на несколько процентов, ещё и сократив его до 229 байт, в т.ч. благодаря идеям uniabis.
Последний компактный распаковщик (88 байт): unmegalz_small.asm
Последний быстрый распаковщик (229 байт): unmegalz_fast.asm

Внимание, я немного поменял систему нумерования версий, теперь версия указана внутри файла. Поэтому по этим ссылкам всегда можно будет взять самые последние версии распаковщиков.
Спасибо! Отличный обзор!
Отличный обзор, Саша. Спасибо!
  • avatar aa-dav
  • 1
В процессе обсуждения на другом ресурсе родилась забавная, имхо, идея.
Единственный формат инструкции Simpleton (2.0) содержит трёхбитовое поле условности инструкции COND:

И сама инструкция в процессе середины выполнения его в схемотехнических кишках должна отвлечься на его проверку и откинуть результат если условие не сработало.
Но как мы знаем побеждают всё-таки архитектуры где не каждая инструкция может быть условной, а всё-таки небольшое подмножество JMP, а всё остальное как правило работает плотнее если условности нет.
Но идеологическим примативом Simpleton является единственный формат инструкции «взять SRC (и возможно DST), поместить их в АЛУ с кодом операции INSTR и результат записать в DST. Это единственное что этот процессор умеет по своей идеологии и делать отдельный формат инструкций для него ну прям то не ради чего он придумывался.

И вот тут и рождается идея — а что если условность выполнения перенести в АЛУ?
Сделать код инструкции который делает следующее — воспринимает SRC как составную величину — 3 бита код условия и 13 бит знакового данного с расширением до 16 бит. И если код условия срабатывает, то складывает SRC с DST и выдаёт результат наружу — иначе наружу выдаётся неизменённый DST.
Тогда код такой операции „conditional 13-bit addition“ в случае если в качестве DST будет подставлен PC сработает как „relative conditional jump“!
Итого за счёт введения новой такой инструкции мы полностью освобождаем 3 бита COND в инструкции и можем, например, увеличить количество регистров с 8 до 16! И всё равно еще остаётся 1 бит. И при этом главное кредо Simpleton остаётся неизменным — правда АЛУ набухает и набухает, т.к. вся сложность и вариативность заметается в него. :)
Но это уже будет Simleton 3.0 пожалуй, ибо я всё еще в раздумьях как поэффективнее воспользоваться возникшими тремя битами (16 регистров, имхо, процессору в духе 8 бит только вредят).
Что интересно — не встречал ранее такого нигде — что код условия в операции становится частью операнда где хранится смещение условного перехода.
Это довольно необычно для меня и даже странновато. Но получается, что можно, например извлекая смещения переходов из таблицы динамически формировать и условность перехода где то в ключевой точке типа switch. Это даже что-то новенькое для меня и явно чувствуется, что может послужить источником каких то интересных полухаков. :)
  • avatar ShaMAN
  • 2
Мой топ:
— Pussy Lovers by zeebr^demarche
— Witch from Hell by shuran33 (от этой работы ваще в полнейшем восторге)
— Void by Invaders