=======================================
Специально для журнала "Info Guide №13"
=======================================
(C) Dragons' Lord - март 2021
3D-движок, опублкованный в прошлом номере, был существенно доработан, и для него был написан новый (совершенно фантастический для 8-битного компьютера) пример. Передаём слово автору примера - Dragons' Lord:
---------------------------------------
1. Исходный 3D Engine
Чтобы не запутаться во множестве модификаций движка, с некоторых пор я стал давать условные цифровые значения версиям. Моя классификация:
- 3D engine 0.01 изначальный прототип 2016 года
- 3D engine 0.02 введение кренов
- 3D engine 0.03 исправлены некоторые глюки переполнения
- 3D engine 0.04 введены автоопределение мыши и прыжок
- 3D engine 0.05 промежуточная "nointerlace1к", как её назвал сам автор
- 3D engine 0.06 "fixinterlace" зевершена дописка режима "solid state screen" без интерлейса
- 3D engine 0.07 введена возможность цветного видео-вывода на компьютере АТМ
- 3D engine 0.08 написана функция "panorama 360", печатающая растровую графику на задник
- 3D engine 0.09 добавлена окраска неба, продолжающая рисунок панорамы.
Версией "3D engine 1.00" я буду считать полностью 3х мерный вариант, подходящий для реализации "Elite". Сейчас движок обсчитывает пространство по упрощённым формулам и реализация полноценного 3D не представляется возможной. Текущая версия отлично подходит для шутеров от первого лица и реализации maze аля Вольфенштейн или Doom. То есть, 2х мерные уровни. Хотя иммитация крена и прыжки присутствуют.
---------------------------------------
2. Моя модификация
Отмечу, что модификации подвергалась версия оригинального движка "3D engine 0.06", но потом результат бы объединён с версией 0.09. Крены для данной задачи выключены.
Во-первых, нужно понять, зачем модификация вообще нужна. Исходный движок имеет ряд моментов, путающих юзера. Формат осей, используемых при проектировании самих объектов (вертексов): ось X - от нас, ось Y - вправо, ось Z - вниз. Формат пространства в которое вы помещаете эти объекты в основном модуле кода: ось X - на нас, ось Y - влево, ось Z - вниз. Формат пространства в котором перемещается сам персонаж (т.е. камера): ось X - от нас, ось Y - вправо, ось Z - вверх. Как заметит внимательный читатель, пространства не бьются никак. И если инверсию первого логично объяснить, так всегда бывает, что после преобразования камеры объекты инвертируют свои оси, то несовпадение последних двух мерностей приводит к полной невозможности программировать адекватные перемещения объектов в мерности перемещений камеры. В исходном движке этот момент не решён.
Второе серьёзное ограничение применимости движка заключается в размерностях его сцены. Хотя, для координат и используются регистровые пары, т.е. 16 битные значения, но движок способен адекватно обсчитывать только мерность -1023...0...+1023 по всем осям. Далее идёт повторение объектов сцены. То есть, если вы поставите столбик в координаты 0,0,0 и побежите в любую сторону, то через 2048 внутренних единиц пространства вы снова прибежите к данному столбику, но уже с другой стороны, и так многократно через каждые 2048. Причём в виду упрощёнки обсчёта положения объектов, о котором я уже упоминал, вы уже не сможете взаимодействовать с этим объектом адекватно при любом повороте камеры объект будет хаотично скакать по сцене. Адекватная работа с углами будет только в пределах нулевого квадранта.
Модификация логики отображения объектов в мерности сцены призвана решить обе проблемы разом. Как это сделано: в модуле управления "script.asm" вывод рассчитанных значений mcamx и mcamy перехватываются и выводятся не в них, а в новые ячейки памяти camX, camY, оставляя mcamx и mcamy в нулях. Таким образом, камера завешивается в нулевых координат мерности сцены и висит там всегда. Теперь, если нажимать на кнопки - ничего не будет происходить, мы никуда не бежим. Логика отображения мира меняется на инверсную, раньше объекты были неподвижны, а перемещали мы камеру, теперь камера неподвижна и мы перемещаем вокруг неё весь мир. Все объекты в основном коде имеют в начале блока приращение на разницу между их "изначальными координатами" и мнимым положением камеры, т.е. координатами размещаемыми в camX, camY. Всё, теперь и камера всегда в нулевом квадранте, и оси перемещений объектов проинвертировались, войдя в синергию с теми осями, которые показывает камера (z ось в данном релизе не затрагивается, потому что это не имеет смысла). Теперь можно объекты адекватно перемещать динамически: если вы дали приращение +100 по оси X, то именно это и произойдёт визуально.
Также введён модификатор рэйнджа. Все объекты предлагаемого уровня поделены на условные конгломераты (пространство примерно 128х128х128 внутренних единиц), у которых проверяется дальность от мнимой камеры до координат ключевого объекта этого конгломерата. Если дальность больше заданной - конгломерат обходится по jp и не исполняется, а объекты конгломерата исчезают со сцены. Данный великолепный механизм (аналог стриминг контейнеров, который несколько лет разрабатывали разработчики "Star Sitizen", и которым безусловно гордятся), позволяет решить одновременно три проблемы. Во первых, рэйндж можно настраивать, и таким образом разгружать сцену под машину с любыми тактами процессора. Меньше дальность, меньше объектов в кадре, выше fps.
Настройка в самом начале модуля "my_lunohod.asm" и выглядит так:
dalnost=%11111111 256 единиц пространства - для машин с частотой процессора 3.5МГц
dalnost=%11111110 512 единиц пространства - для режима турбо 7.0МГц
dalnost=%11111100 1024 единиц пространства - для режима Evolution 14МГц, но не рекомендуется к использованию, либо нужно переключить range самого движка с 4 на 3 (дело в том, что максимально большой возможный объект диаметром 64 исчезает визуально с установленным range=4 примерно на дистанции 1040, то есть его будет видно у самой кромки горизонта как хаотично репитующая копия).
Во вторых новый встроенный рэйндж позволяет превозмочь главное ограничение исходного движка, и набирать сцену из сколь угодно большого количества объектов, которые размещаются в сцено-образующем коде все одновременно (сейчас на сцене 200 независимых объектов).
И в третих, что очевидно, вам становится доступной для застройки и путеществий вся 16 битная мерность пространства по всем осям. Причём, без страха встретить повторное появление объектов из другого квадранта. Теперь вы можете строить город на карте 0..65535 размера. На экран выводятся ваши координат в формате XXXXX_YYYYY_ZZZZZ и вы можете наблюдать своё положение на карте (можете отключить, 9000 тактов лишними не будут).
---------------------------------------
3. Уровень
Когда основные технические моменты решены можно перейти непосредственно к творчеству, - к застройке. В качестве образца для оценки возможностей движка я выбрал модуль посадки на планету из игры "Elite Dangerous". Строить будем руины стражей, общий план застройки приведён на скрине "elite_0_05_alpha_Исходные руины стражей из игры Elite Dangerous.jpg". Застроил только всю центральную часть, - внешние маленькие застройки по углам доделывать не стал. Почему? Потому что совокупность файлов уровня сейчас как раз в пределах одной страницы памяти Спектрума, т.е. вмещается в 16384, и может при необходимости успешно храниться в банке верхней памяти 128к, как один из уровней игры. Файлы моего уровня это конкретно:
"rotmodel.asm"
"3dmodel.asm"
"my_lunohod.asm"
Сейчас они размещаются в памяти следующим образом (строго в пределах средней страницы памяти):
> >>> ORG - start my level 33831
> ---------- rotmodel vertex --- size 6180
> ---------- model poly -------- size 881
> ---------- lunohod code ------ size 8416
> -----------RESULT (all my level): 15477
> >>> ORG - end my level 49308
Достроить уровень при необходимости, конечно можно - для этого нужно убрать рисунок панорамы и задать в настройках движка endfree=#10000, что даст 8K дополнительной памяти в верхней странице.
Пару слов касательно формфактора реализованных построек. В уровне присутствует симуляция правильного освещения, хотя в исходном движке освещения нет. Все постройки окрашены так, как будто свет падает с одной стороны. Для этого пришлось хранить в памяти копии некоторых осе-несимметричных объектов с разной окраской. Это, конечно, плохо. Память у Спектрума не ризиновая. Если убрать эти объекты и забить на свет, высвободится примерно 1,5..2 килобайта. Но, будет не так фотореалистично. Также, кроме шейдеров вращения и синусоидального перемещения динамических объектов (для этого в проект добавлена моя таблица синусов "tsinmy"), на вращающиеся объекты накинут шейдер, симулирующий динамическое правильное освещение, аля Flat. Делается подмена цветов на гранях (в модуле POLY) при определённых диапазонах угла вращения объекта.
---------------------------------------
4. Выводы
Проект делался с целью получить комплексное правдивое представление о:
- Какова будет скорость отрисовки сцены аля "город". Можно отметить, что скорости на машинах со стандартными тактами (70000), действительно не хватает. Получен результат на грани критического значения min fps=8. И это в режиме интерлейса, т.е. с черезстрочным выводом. Заключаем, что демонстрируемый уровень, это максимально возможная плотная застройка. Необходимо увеличивать дистанцию между отдельными конгломератами (по сути "домами" на будущих картах). Также на предложеном примере видно, что в "близоруком" режиме с рэйнджом 256 затруднено ориентирование в пространстве, особенно у человека, который никогда ранее не видел этот уровень. Введение карты в любом виде, с обозначение игрока и строений, - обязательное условие.
- Каково будет визуальное восприятие различных объектов. Можно отметить одну, как не странно, но техническую проблему. Максимально возможный размер одного элемента = 64. Чтобы изобразить что-то фундаментально большое, необходимо уменьшить "рост", а по сути приращение по +z в файле "script.asm" с дефолтного #020 до #010. Тогда двухуровневые строения "с крышей" воспринимаются максимально адекватно. Но при этом обратной стороной медали, вступающей в противоречие с первой, является отрисовка плоской плитки под ногами, которой кое-где рекомендуется мостить мостовую (значительно облегчает ориентирование в "сферическом вакууме"). Плитка не может адекватно отрисовываться с высоты такого малого роста из за фейковости отрисовки объектов в движке, - плитку начинает бить в неадекватных конвульсиях. Приходится выбирать некий компромис, ухудшающий указанные параметры на некоторое значение. А увеличивать этажность застройки вы не можете, потому что не хватит быстродействия для отрисовки столь многокомпонентных конгломератов. Если вернуться к восприятию объектов, то показано, что сложные многокомпонентные "дома" из нестандартных арочных конструкций уменьшеной толшины смотрятся отлично. В то же время отдельно стоящие простые геометрические формы выглядят отвратительно и не воспринимаются мозгом, как некие "постройки". Даже в случаях, когда таких мелких отдельно стоящих объектов много в кадре. При строительстве стоит придерживаться правила "редко, но метко". Мозг хочет, чтобы строение было с "крышей", под которую можно зайти.
- Каковы будут размеры занимаемой памяти. Память расходуется быстрее, чем ожидалось. Я уже описывал структуру уровня выше, здесь можно отметить, что создание подобных уровней вполне возможно, если держать свои хотелки в некоторых рамках. Демка показывает строго статическую картину строений. Геймплея нет. Динамических объектов (дронов стражей) нет. Взаимодействия с объектами нет. Интерактивного изменения построек нет. Процедурной генерации высотопеременной почвы и случайных RND объектов вне зоны руин нет. Всё это планировалось и может быть написано без проблем. Нет этого по причине желания не засорять код демо уровня. Для новичка необходимо постепенное знакомство с 3d engine. Вот чего наверняка не будет никогда - это физики. Я говрю о запрете игроку ходить сквозь стены. Для уровня с произвольной застройкой в рамках 3.5МГц это не решаемая задача и предлагается оставить, как есть. Полагаясь на фантазию игрока. В проектах аля "Вольфенштейн", с регулярной картой, физика реализуется весьма просто.
---------------------------------------
5. Заключение
Я не нашёл предела количеству одновременно отрисовываемым объектам, хотя проверял где-то до количества 60 штук. Это означает, что у вас скорее fps устремится к нулю, чем вы сможете навыводить кучу объектов в попытках завесить систему. Это приятно. Особенно это греет душу, когда вспоминаешь ограничения в стандартной Спектрумской "Elite" - не более 6 динамических объектов одновременно + станция. Здесь же можно выводить сколько угодно, если это вписывается в выделенную память:
---------- 52016 .. 52992(_tables) free for object list 976
(один выводимый объект занимает 16 байт).
По скорости отрисовки: если представить стандартную "Elite" и взять нормальные выпуклые объёмные объекты, то можно смело отрисовывать 4 таких объекта в кадре одновременно (~60 полигонов). fps не упадёт ниже 10 при любых приближениях. Это вполне юзабельно. 5 объектов одновременно (~75 полигонов) - fps не упадёт ниже 8. Это критически, но допустимо. Естественно, я имею в виду режим интерлейса. Так что "Элиту" с залитыми гранями реализовать технически возможно, если допилить расчёты внутри движка до полноценного 3D.
Очень понравился выдеовывод. Я в восторге. Скорость заливки и вывода видеобуфера на экран запредельная. Это единственный движок, где вы практически ничего не теряете, задавая область отрисовки на весь экран Спектрума. Отрисовка занимаеть лишь малую часть общего времени расчётов. Максимально нагружает систему обсчёт вертексов, поэтому примите правило не плодить лишних вершин без критической на то необходимости.
Благодарю Alone Coder'а за великолепную работу и надеюсь на полную 3D реализацию.
С уважением, Dragons' Lord.
Con18 - ��������� ������� � PC �� ZX Spectrum.
������ � ���������� ��������� ������� �������:
1. ������� Select File � ������� ���� (bmp, png, tga, jpg, gif).
2. ��������� ������ ������� �������� ������� � ������ ������ ����.
����� ������ �� �������, � ������ ��: LMB=set topleft corner, RMB=set bottomright corner.
������ 3:4 �������� ������������ ���������� ���������� ������ �������� 3:4.
3. ��������� ������ (Brightness), �������� (Contrast), �������� (Saturation)
� ������ ������� �������� �� ���� ������ ����� (Dithering level).
4. ������� ������ ��������� � ����� ������:
- to Multicolor (���������� 8x1 � ������������� ��������� ����� ������� ��� ��������� � ������,
���� ����� ��� ������ ��� �������� �� ��������� - ������ Limit MC;
Multicolor level ����������� "������������" �������� ����������� ������� �� ���������� �������� �����)
- to MCX (��� ����������� ������, � ���������� �������)
- to 6912 (���������� �����)
- to Gigascreen (��� ��������� ������)
- to 8col (���� �� ����, 8 ��������� ������)
��� ��� ������ ������� ���������� MCX viewer.
Gigascreen ����� ������������ � ��������� BGE � DBS.
8col ����� ������������ � ��������� AGA � 8col editor.
5. ���� ��� ��������� �� ����� ����� Floyd (������ ������),
�� ���������� �������� ����� ������� ���������������� ����, ����� ����� ����� ���������.
LMB ������ ��������, RMB ��������� Floyd.
������ ����� �� ������� 8 ��������, ������������ �����.
����� ����� ������� ������� ����������, �� ������� ������� ��������
(� Gigascreen ��� ��������).
6. ���� � ���-�� �����������������, ������� Save.
���� �� ��������������, �� �������� ��������� ������� � ������ ���������� ������������. ��� ����� �������� (Load).
������������� ����� �������� � ������ *.emg (����� Gigascreen, ����������� �� ���� ���)
� *.ch$ (�������� ������������ ������� �� ����������� - ���������� 384x304 viewer � ���������� � Info Guide #8).
��� ������� ������ �������� �����.
�� ��� ������ ����� ������ ����� ��������� ���������� ������� ��������� ��� ���������.
������ Bright Only ������� ������ ����� ��� ���������.
������ Floyd ������ ����� �������� ������� �������������� ����� (���� �������� ��������).
������ 5 chunks ��� ��������� �������� ����������� ����� �������� �� ��������� � 2x2 ����.
����� ������ ����� ������� ����� ��������.
�� ��������� � �������� �������� 16-������ ������� � ������� .act (Photoshop)
� ��������� � � ����� ������ "Pal".
���������� ������� �� �������� ��� ��������� � Gigascreen, �������� �����.
� ������� �� ������� ����� ����� ������ � 2 ���� ��� �����.
��� ��������� � Gigascreen � MCX ���������� ���������� �����+����� = ������+������.
��������� ����������� �� ������� Inferno/Info Guide � ��� Hexagonal Filler � Wolfenstein 2004.
������ ������:
scr
����� 6912
img
����� ����� 6912
������ ����� 6912
3
��� ������ 6144 (� �������� �����������) B,R,G
mc
����� ��������, ����� ������� �������� ����� �������, ����� ����
mcx
����� ����� ��������, ����� ��� ������� �������� ����� �������, ����� ����
������ ����� ��������, ����� ��� ������� �������� ����� �������, ����� ����
ch$
+0 "chr$"
+4 ������ � ����������
+5 ����� � ����������
+6 ������ ���������� � �����:
8=�/�,
9=�������,
18=2-�������� �������.
+7 ��� ����������, ����� �������, ����� ����
emg
6144 ����� �������� ��� ������� � �������������� ���� (����������� ����� deco256.dat):
���� ���� ����� �������� ��� ����� ������ - �� Y,X � Y+1,X
����� � ������ ����� �������� ����� ����
����� �������, ����� ����
1536 ���� ��������� (����� � ������ ����� �������� ����� ����) ����� �������, ����� ����
act
������ R,G,B �� ����� ����� 0 - ���� �� ����������
������ R,G,B �� ����� ����� 1 - ���� �� ����������
..
������ R,G,B �� ����� ����� 15 - ���� �� ����������
������� ���� ���������� ���������� con18.
Alone Coder, 14.ii.2014Fast ZX AY-Dump Player (with PC Compiler)
------------------------------------
codename: ay_zip_player
ver 1.2
thx to Robus for cool idea!
thx to Griv for some code optimization
thx to ayfly.dlls authors for cool stuff!
------------------------------------
(�)2012 TmK^[deMarche]
------------------------------------
Links:
1)
http://zx.pk.ru/showthread.php?t=14307
- Discuss on russian community board (zx.pk.ru)
2)
http://www.worldofspectrum.org/forums/showthread.php?t=32047
- Discuss on english community board (WOS)Hardy - ���������� ���� Rick Dangerous (�� �� ����, ��� ��������� ��������) � ����������� (� ������� �����������)
� ������ �� Rick Dangerous, ���� � ��������� ������ ��������, ���� ��� ����� ����������
� ������ �������� �� ������ � ������ ������ (�������, ����)
����� ���� ������������� �� Metroid, Spelunky, Cave Story, Celeste?
� ���������� ��������� � ����������� ����� X-���� �������, ���� �� ����������� ������� ����������.
�� ��������� �� 2 ����, ���� ���������� 8x2 - ��� ������ �� 1 ����, ���� ��� ��� ������ �������� ������ �������� (��� �� �������)
��� ����� / ����� / ������ + ������ � ������ (��� ����� �������� ������ ������ �������, ���� �� ����������)
����� ���� ����� �� ��������/�������� (��� � Rick Dangerous), �� �� ����� ���� � ������� ��� ������
��������� 48/128/[+3 �� �������� ���������]/[Pentagon �� �������� ���������]
48/128K ������� ���:
� 48� � ����� ����� ������, ������� � ���� ������
� 128� � ��� (slow memory), ������� ������ (slow memory), ����� (slow memory), ����� (slow memory?), ���������� �������� (fast memory), ������������ ������� (fast memory)
������-�������� ������ 48� �����, goto usr..., � ��� ����� � bc=����� ������ �� �������� ��������
��������� ���������� �����, ���� �� �� ���� ������ ������, � ������� ��� ��������� �� ����� ��������
� ������ ������� ����� ����� + out ������ �������� + ���� ������������ ����� (��� ������� ����� � slow memory)?
����� �� ����� ������� ����� �� ������ ������� � ����� (��� ����� �������� �� ����� ������, � ��� ����� - ����� ����� ���, ��� ��������)
��� ������������ �������� 64+48(64+56 �� ��������) ����� = 25088 t ��� ���������� ������, ������ � ������� ������ ��� out (-1792, ���� ����� �������� � 8-� ������ - ����� �������������)
���� ���������� ������:
- [�������� ������ ���������� �������� - ����� �������� ����� ������������ ������� �������]
- ����� ��� ����� - � ��� ���� ���������� �������, ������ ���� �������
- ����� ��������� ����� �����
- [������ ����� �������� (� ��� ���� ������ ��������, �� ����� ������, ����� ����� �����) - ����������, �������� 4 � (� ������ 2 ������), ������� �� ��������, ����� ����� ������ �����. ���� ���������� ������ ����������� ����������� ������� ���������, ���� ����� ������� �������� ������� ���� ��� (2 � - � ������ 1 �����). ���� �������� ��������� �� 2 ������, ��� ������� ��� (���� � ������������� �����!!!)?
����: �) ����� � ��� ������ ������ ����� � ������ ���� (�� �� ����� ����� �������); �) �������� ����� ������� ��� � ����� ������, � ��� (������ � ���) �� ������ - ����� ����� ������� �����; �) ������������ ld:push � ���������� ��� ���������� ���������� �������� � �������� � 1 ����� - ������ ����� ����� (����� ����� �� 128�); �) �������� �� 2 ������ 128�, � �� 48� �� ��������; �) �������� �����������; �) ������ �������� ������ � ������ ������, ����� ����� ����� �����]
- [bullet hell (��� � exolon?)]
- [����/����� � �������]
- [������� �� jetpac]
- [������� ���� (� ������� Rick Dangerous - ����� ���� �� ����������)]
������ 18x18, ���� ������� � �� 2 ������ (������ 4 �����)
���� ������ �������� ����� ����� ����� (��� ��������), � ���� � ��������
� Rick Dangerous ������������ �������� ��������:
- ������ (����� ���: ��������, 3 ����, 2 �������, 2 �������, 1 ������� (��� �� � ��������� ����������), 2 ����� - ����� 18)
- ���� ���� (����� ��� - ��������, 8)
- ������� (1-2 ���)
- ���� (2-3 ���)
- ������ ����
- ������ �����
- �������� ���� (����� ���) - ������ �������?
- ���� ���������� ��� ������������ (�������� ������� ���)
����� �������� 36 ����� ��� (�� 64 ����� *4 �������) � 7 ����� (�� 16 ����? ��� �������?)
16240 ���� (����� ��� ����, ���� ��� ����� �������� �����, � �������� ���� ��� �������) - �� 48� �� �������� ������������ ������ � ���
��������� ������������� ����� �� 48K:
� 0x6000:
� slowmem �����: 3K ���� ��������(��� �� ����� ����� ��� ������� ��� ������� �������), 16K ������� ��������, 256b tilemap, ����, ������....
� fastmem ����: 4K ��������� ��������� + ����������, 2K ����� ���������, 2K �������� ��������
����� ���� 8 ���������� �� ������ (� Rick Dangerous ��� 6: ��������, ��� �����, ��� �������, ����), ���� ��� ����� �����
����� ���� ��������+����������+�����+�������� �������� ������� �� ���������
� �� ����� � ���, ���� ������ ������ ������� �� ����� - ���� ������ �� �������, ��� ����� ���������
����� ����� �� �����, ������ �������� � ���������� ������ ������ �� �����, ������ � ���������� ������� � �.�.
��� ��������� ����� ������ ���� � ������ ������ 8*8 (�������, �������, ����? ����?) - � �������, ���������� �� �����
�������� ��� ������ ���� - ����� �����
����� ������ �������� 500t/����� �� ������
������� ��� �� 18 ����, ���� ���������� (130 ������ �� 2 ���� ����). ����� ����� ������ ��� ��� ����� �������������� �������� ������ (�� ��� ��������� ������� ����)
�� 128� �� 4*(64+56)=440 ������ ����, ��� �� 48�, ��� ��� �����.
�� ��������� �� 1000 ������ ����, ��� �� 48�, ���� � ������ ������� ���� ������? (� ����� ����)
��� ������ �� ��������� ������ ���������� �� 4 ����
��� 25 ��� ���� (�� ������ ����� ������ ����)
���� ����� ���� � ����� � ������� �������:
������ ������� ����� �����, ����� ���������� ������ - ��� ��������, ���� ����� ������ �����, ���� ��� �� ���������
<���� ����>: �� �����������,�������
� �������� L=y, E=x, � ����������� �����
������(� ���� �� �����)�� 58(!)������ ���-
���� ����.������� C ����� ������� �����
������ �����('TABLE), ������� D=C+2.
LD H,C
LD A,(DE);x/8�
INC D +��� ������ ����
OR (HL);L(y) -
INC H
LD H,(HL);H(y)
LD L,A
LD A,(DE);byte(x)
(X)OR (HL);����� ���������� ����
LD (HL),A
ex de,hl
ld a,(hl) ;x
ld c,a
add a,?xspeed ;/ld c,(hl):inc/dec (hl)
ld (hl),a
inc l
ld a,(hl) ;yspeed
inc (hl) ;yspeed++ ;����� inc a:ld (rp),a
inc l
add a,(hl) ;y ;��������� hl, ���� ������
ld (hl),a
inc l
ex de,hl
ld l,a ;y
LD H,ty/256
LD b,(HL) ;H(y)
inc h
ld a,(HL) ;L(y)
inc h
ld l,c ;x
or (hl) ;x/8 ;��������� hl, ���� ������
LD c,A
inc h
LD A,(bc)
XOR (HL) ;byte(x) ;���� ������, ���� ����� ����� �� � hl
LD (bc),A
;48+52+10 = 110 t ���������/�������� ��� ��������� � call, ����� 220 t/dot
��� ����� ���� � �����! ����� ���� (�� E!=0?)
dot
;c=color
;a=x
;l=y
srl a ;rra �� �������� ��� �������
jr c,...
rra/srl a
jr c,...
ld h,ty/256
add a,(hl)
inc h
ld h,(hl)
ld l,a
;�������� ����� res ..,(hl):ret - � ��� ��, ���� ��������� ����� ���������� ��� ��� � �������???
;ld a,(hl)
;set ..,(hl)
;inc h
;or (hl)
;ret nz ;no attr
;ld a,h
;rra
;add a,attr/256 - 0x40
;ld (hl),c ;color
;ret
;��� �� xor (� ���������� ��������� ����� ���������):
ld a,(hl)
xor ..
ld (hl),a
;�������� ����� ret
xor .. ;���� ����� �������� ���� ����, ���� � �� ����� ���� ������
inc h
or (hl)
ret nz ;no attr
ld a,h
rra
add a,attr/256 - 0x40
ld h,a
ld (hl),c ;color
ret
;~144 t ���������, 96 t ��������
��� ������ ��� ���� � ���� ��������� (TODO �� ��������� �����? ���� ����� ��������?):
� ������ ���� ��� x,y,xspeed (����� �� ������ xspeed, � ������ ����������� ����), yspeed, color (����� ���� �� ������, � ����������� ����)
����� ������ ����� ��� ���������, � ��� �������� ����� ��� �� ����� ������ (���� �������, ��� �� ��������� ���������)
ex de,hl
ld a,(hl) ;yspeed
inc (hl) ;yspeed++
inc l
add a,(hl) ;y
ld (hl),a
ld e,a ;y
inc l
ld a,(hl) ;x
add a,b ;xspeed
ld (hl),a
inc l
ex de,hl
;l=y
;a=x
call dot ;���������
;90+144 t
..
inc e
ld a,(de) ;y
ld l,a
inc e
ld a,(de)
inc e
;l=y
;a=x
call redot ;��������
;47+96 t
;����� 377 t/dot
;���� �������� �� �� 32 ������ ������, �� 19 dots
������ �������� (0..63):
��. ID_NONE � �.�.
0..3: ����� ��� ������
4..7: ����� ��� �����
8..9: ������ �����
10: �����
������ ������ (0..63):
���� ������������ ����� ������� � � ����, � � �������?
- ����������� ���������? �� �����, ��� ���� ������� �� ���������� ����������� ������, �� �� - ��� ���������� 30x �������, ��� 32 ������ � ������ �������; ��� ���������� 28x ������� ��� ����
- ��� jp/ld sp �����������? ����� ����� �� �������
- ��������� ��������? ����� ����� �� ���
- ����� ���������? ���� � ������� ����� �� ���������? ��� ������� ����� �� �����
- �������� ������? ����� ����� �� ��� � �������������
- �������� ����� 0xff? (�� ��������� ����, ��� ���� ������ ��-�������) ���� ������ ������� ����������� �����? ����� �� ������������������?
- ������ ������
- ���������� ������� �������?
- [��������� ������? ����� �� ����� �����, ����� ��� ���� �������� (� ����), �� ��� ����� ���������� ��� ��������]
- ����������� ���� ��� ������� (������ �����������)?
�����, ������ ��� ������� ������ ��������� �������� �� ������, � �������� �����
� Rick Dangerous ������ �� �������� ��������� � ��������.
� ����� ���� ����� �� ����� ��������� ��������� � ����-��, � ������ �������, ��� ��������� - ����� ������� ������� ������������ � ����������.
��� ���� ���������-�������� �������� ������������ (���� �� ���� 64 ������ �� �������� �� ������ �����), ������� ���������, � � ���� ������
��������, �������� �� 8 ����
��� ���� ������� ��� ������� 15*28*(8+4) = 5040 ���� + �������� ��������� ������
� GLUF ������ 24 ���������� (����� ���� 16), � ������ �������� ������ �����, ����� 5 ���� (������� ������ ������� ������� ���� - ��� ���� �� ������ �� Rick Dangerous)
�.�. � ��� ������ ����� ���
�� ������� (ld..push) ��� ��������� ������� �������� ������, � � 48� ��� �� ��������
� ����� ������� � ����� (�������� ����� pop..push), ����� ������ �� �����, ����� �������� ��������� ������ �� ������ (�� ���� ����� �� ����� ������������ ��� �����)
�� ���� ������� ������ ������� �� �������� �������, ������������� ���� ��������
������ ������� � ������ ������� (nowait)
�) ldi (16t/b) = 882 ����� � ������ �������
�) pop:push
(��� ������� ���� ������� ��������, ���� �������� ����! �� ����� ����� ����� ������! ��� ��� ����? �������������? ��� ��� ����� �� 8 ��������� �������� ��� ���������������� ���������� � ���������?)
(�������� � ���, ��� �������� � �������������� ������ ������ �������, � � ����� ��������� ����� ����� ����� - ����� ���� 3 ������)
������ ����� ������ �� 48�, ��� ����� ���� 0x8000..0xb561 + 5 ��������� �����, � ���� ������� ������ (16K), ���� (1K) � ������
������ ������ �� ���� ����� ���� �� pop:push � ��������������?
ld sp,ix
pop af
pop bc
pop de
pop hl
exx
pop bc
pop de
pop hl ;84
ld sp,iy
push hl
push de
push bc
exx
push hl
push de
push bc
push af ;91 (����� 20 ����, ��� hl<>ix, hl'<>iy ����� 22 �����)
inc hx/???
inc hy/??? ;16
;min = 191t/14b > 13.6 t/b = 1034 ����� � ������ ������� (73 ���������� ��� 3 ��� ������ 8 ���� � ����������)
����� ��������� ������� ix �� hl, iy �� hl', ���� ������ ��� ����� down hl/up hl � ������ � ��������� � �������
���� down hl/up hl ����� ���� � ���� pop:push, ���� � ��������
����� ������ ����� ���� ���� (��� inc � �.�. ������ ���� ����� �����: hl, hl'):
POPPUSH
inc h
POPPUSH
inc h
POPPUSH
inc h
POPPUSH
inc h
POPPUSH
inc h
POPPUSH
inc h
POPPUSH
inc h
POPPUSH
rrc h
POPPUSH ;attr
dec h
POPPUSH ;attr
dec h
POPPUSH ;attr
dec h
POPPUSH ;attr
ld a,l
add a,14
ld l,a
� �������
����� 290 + 15+15 + 290 = 610 ����
������� ��� prspr (�� ������� ����, ����� ���):
ld sp,hl
exx
pop bc <--------------- b=scroller/256
ld a,c
out (0xfd),a ;-1t
pop hl ;gfx <------------ ������ ������� �� dw scroller
pop de ;scr
ld sp,hl
pop hl ;l = f(hgt, x&4) <----------- scroller
ld h,b ;f(yphase)
jp (hl) ;f(yphase,sprhgt)
�� �� ����� ��� ������� (3 ���� ������ �� ��������!)
���� ����� ���:
INT
������ ������
����������
AY
���������, ����� �� ������
��������������� ����
������
������� ������ �������
���� 25 ���:
INT
������ ������
����������
AY
���������, ����� �� ������
��������������� ����
������
INT
������ ������
����������
AY
[���������, ����� �� ������] - �� ����, �.�. ������ �� ��������?
��������������� ����
������
������� ������ �������
TODO ��� ������ ����� � �� �������������� ����, ���� ������ �����? ���� �� �����?
�� 2 ������ ����� ����� ������� �� ���������� � ��������� ����������, ������ ����=3 ������:
��� ����� ������ �� 4 ���� (��������� ����� ����, � ������ ������� ������ ��� ����� 5 ���, � ������ 10)
�� 4 ���� ������ ��� ����� ����� ������!
����� �� ����� � 2 ������ � 2 ���� ������? (������, ����� ����� ��, �.�. ��� �� �����, ��� ����� ����� ����� �����)
�� 128� ����� ��� � ������� �������� ���� ����� � ��� �������, ������ ����� �� (2 ������)
������ (������ ����� ������):
..
���������, ����� �� ������
(��� �������������� ������)
(�� ��������� ����� ������� 25088 - 1000(AY) - �������� ������; ������ ����� ������ � ������ = 14058/3 = 4686 (�� �� 70 = ����+���))
������ 5 ����� �� ���� �����
������� INT
���������, ������ ��� ���� ������� {
����������� �������, hl,hl'
INT
������ 3 �����
����������
AY
������ 5 ����� �� ���� �����
����������� �������, hl,hl'
INT
������ 3 �����
����������
AY
������ 4 �����
������� INT
INT
��������� ������ (�����!!! �� ������ �� ���� �����!!!)
��������� �������� �� ������???
} ���������
(��� �������������� ������)
������� INT
����� �������� ����
������� ��������� ��������, ��������� ����, ���������� ���
������
Нумерация по исходнику
Нумерация в редакторе - на 1 больше
0 - выстрел
1 - damage
2 - попадание в монстра
3 - убийство монстра напрыгом, newlevel
4 - boss dying
5 - убийство монстра
7 - провалились через пол
9 - взяли ключ
11 - bomb
(�� Timex ������ ����������� ������ ��������? ���� �� ������ ����� �� NTSC - � ��� �� �������?)
���� �������� 18x16 (�������� = 24x16, 4 �����) � ����� � ������� �������:
��������� �������� ���� ������ ��� ���������� ���������. �� ���� �������� (��� ������� ����� ������+����� ���� - ����� ����� ������, ���� ����� ����� ������ ���� � ��������)
���� �������� ���, �� ����� 8 �������� � ������ �������, ���� � ������ ������ ������ ������
����� ��� ���� ���� ������ � slowmem
�������� � ������� �������!!! ��� �� ��������� ������� � ���� ����� (��� � ������) �������? �����, ��� �������� ���� �� ���������� ����? � ��������???
� ������ ������� ������ ����� ������� ������� ����? � ��� �� �����?
���� ������ ������� ����� �������
��� ������ ������� ��������� ���� ������ ������� ���� ������ �� ��� ���������??? [������ ���� ��������� �� ������ ��� � ���� �������??? ������ ����� (4 ��� �� X, 4 ��� �� Y)]
������ ����� 2 ������ ��������� ������? ����� ��������� ����� �� �� ����, � �� ����� �������, ����� ������ (������� ������ ������� �������� 12 ����, � ����� �� 2-6 ���� ����� �����:
X=-2: (2)+5+12(1 ����.��������� �����)+5, X=0: 1+12+5+(6), X=2: 3+12+5+(4), X=4: 5+12(1 ����.��������� ������)+5+(2))
�� ��� ������� ����� ��������� 2 �����, � ����� 2 ������
��� � ��������� ������ ������ ����� 3 (� Rick Dangerous II ������� 2 ����, � ������ 1 ����, ����� � ������ 21 ����, ��� 15 ����, ���� �����) (S = ����� ������ ������� ������� (��� ����������), s = ����� ��� ������� ������� � �����������, M = ����� �����, ����� ������ ������� �� ��� S, ���� ����� � ����� � ... ���� ������?):
..MMMss SSSSSSSS SSssMMMM
.....MM ssSSSSSS SSSSssMM
....... MMssSSSS SSSSSSss MM......
....... MMMMssSS SSSSSSSS ssMMM...
��� �����, ��� and+or �������� ����� �� ����� �� ����, � ������ ����� ld ��� ������� (�� ����� ��������)
��� ��-���� �������� ����� ��������� (� ��������?) �� ����� ��������, ��� ��������� �������? ���� ����� ���� � �� ���� ������ �����? ����� ld:ld ���� �������, � ������� ����� jp (� ����� ld sp, ���� ������� ���� �� 4 ��� �������?)). � ���� ������������, ��� �� ���� � ������ ������ ������ ������ ������� �� sp
���� �� ����� jp, ����� ������ ����.
������ ������� ������� ����� �������� �� �������� ������, � ���� ���� � �� �� HGT ����� � LSB �� ������ (��������� ����, �.�. ���-�� downhl)
� ��� ������� ������� ����� ���������?
�������� ����� ������� �����? 2 ���� ���� = 136+36 = 172/������ (1376 �� 8 ��������) - ��� ������ (���� ���� ������� 3-� downhl8)
�.�. �������� ������ 18x18, ������ ������� = 18*11-1(��������� inch)+2*9(downhl8)+3(ld:ret) = 218 b, ����� ������� �������� ������ ��������� (+4 b) = +5t/������ (bc ��������, ����� ���� 2 �������� �� downhl8 (1 ��������� ��������� � � downhl8attr), ����� �� +5, � -4t/������)
���� ������� �� ������ ��������, ����� ������ ������ ��������� (��� ������ �������) = -32[+4(����� inc l ��� ��������� � ���� �� �����)]/������
� ������� ����� ������� ���� ������ ������� �� POPAr_LDr_APOPd?
����� � ������ ������� ��� �� �������� ������ ���� (� ����������� ����� ��� ���� � ��������) - ����� �����, �� ���� 12t/������ (�����, �� ����� ������ �����, �.�. �� ����� ����� ����� � ����������� �� ����)
� �� 128� ��������� ������� pop af:out (c),a = +22/������ (out (0xfd),a = +21/������), ���� �� ������ ����� �� ������� ������ (��� ���� ������� ��� ��������?)
��� ��� �� X �����, ���� 2 ���� �������� �� X *4 ��� �� Y, ����� 8
��� ����� ���������� �������� �������� POPAORr_POPLDr_APOPORd_APOPORl_LDl_POPAORd = 176t/doubleline = (6+3+6 + 6+2+6 = 29) b/doubleline (����� ����� ����� �� � �������, � ����������� ���� ��� � ���������� ����� ����� �������� ������� ��������� - ����� ������� �� ������ ��� �� X ������� �������)?
inc h
macro DOWNHL8
ld a,l
sub -32
ld l,a ;NC=next third
sbc a,a
and -8
add a,h
ld h,a ;-8/+0
endm ;38t (+34 �� �������� � inc h)
��� �������� �������� �� ������ ������ �������� � ���� � �����������? ������ �������� ������ �����
���� ���� triple buffering �������� ��������
����� ������ �� ������������� - ������ �����, � ��������� �������� ��� ��������� ��������
�������������� ����, ������, ��� ������������ ������ ��� ��������� - �������� 4*6 ������ 16x16 (����� ������� � �� �������, ����� �� �������)
��������� ����������� 3 ������ ������ n � 3 ������ ������ 16-n
���� ����������� ������ 3*3 ���������� (������ ������������� �� sprhgt)
���� ������ ������� ��� �� (L ����), �� ������� � ��������������� ������ ���� �������������� - ��� ��������?
� ����� ����� ����� ������ ����, ������ � ���?
����� ��� �� ������� contention, � ���� �, �.�. ������������� �������� � ������ 128..191
...
ld (hl),c ;+7
dec h
ld (hl),b ;+23(18) (������� 5t)
dec h
pop bc
ld (hl),c ;+47(44) (������� 3t)
...
���������� ����� 4t/b * 8*(18*3+9*2) = 4*576 = 2304t
������ ���� ������� �� ��������� 128/224: 1316.6t (����� 6 �����)
������� (1.5 ������) ����� ��������, ���� attr � fastmem
���� ��������, ��� ����� �����, ���� �� ������� � 224t
����������� ����� �������� 1296t (6 �����), ���� �� ������ ����� ������ ���������
�� ������ ���������� ���� ����� ��������?
���� ������������� ����� �����: ������������� + ��������� ������� �� ����
��������, ������� ��������������� ����� �������, ������� ����� ��������� (���� �� �������������� �����):
;����� ������ pop iy:pop ix ����� ��� � �������� (����� �������� 3 ����), ����� ��� ������ �������, � ��� �� ������ ����� ��� (�� ��� ����� ����???) - ���� ����� ����� ix??? ��� pop af:jr c:pop ix:pop iy? (�� ����� ���� ���-�� ����� � add hl,de)
;�� ��� ���� � ������������� �������� ������� ���� ��� ������� iy
;����� ����� ��� iy (��������) ��� ����� 18 - ������ �� ������� ���� ����� ��� � 2 ����
;�������� �� �������� (���� ������� �������� ������):
;- �������� pg?
;- ���������� �� �������� (x&4)!=0? (��� �� 4t ����)
;� ������� ������� ����� ������� ���� x � ����� (����� ��� ����� �����)
;���� ������� �� ����� prspr, ���� ���� x, ���� y � �����
;��������, �������� �� �� ret, � ������:
exx
pop de ;���� ������ de', bc
ld a,d
out (0xfd),a ;pg (���� 0b010xxxxx, ���� ��������� 1ffd)
ld a,e ;f(yphase)
pop hl ;gfx
pop de ;scr
ld sp,hl
pop hl ;l = f(hgt, x&4)
ld h,a ;f(yphase)
jp (hl)
...
jp[x<4]/inc hl...inc l[x>=4]
...
ex de,hl
;91 (��� 70+4(nop/incl)) = +21 (17?)
;���������� � +22t/������??? �� � �������� ����� ������� �� ����!!! (��� ������ pop af:out (c),a:ret = 32, � ����� 77-10(ld bc,7ffd)=67, �.�. >8.3t/������ ����!)
;� ��� �� 128� ������ ����� 121t �� �������� 8 �������� = 14.8t/������!!! ����� ������ 3*2*8 = 48t �� attr=0xa300, ������ 21t/������ +1t
;���� ����� 7ffd? ���� �������� pg?
;��� ����� �� ������? �������� ������������� ������-gfx � ����� ������� ������
����� ������ ��������� ����� (�������/�����)
�� 4-� ������ ���� ������ ������� (����� ����� pop:ld)
���-�� � ����� ���� ���� ���������� ������� 0-� ������
��� ����� �������� ���� ������� � �� 1 ����
��� 3072 (4*768) ����� ������ � 1536 (2*768) ������ ��������� (�� �� 768 ������ � ����� ����������� � 768 ���-��)
����� ������ 4*768
������ ����������� ����� ���������� � 3*768 ������
����� ������ 1*768
��� 1*768*13 ~ 10000 = 45 �����! ��� � ���������� 0-� ������ "���-��" ����� ����� (����� � ������ ������� ������ � ������)
� ����� �������� ������� �������, � � ����� �����?
��� ���������?
���� ���������, �� ���� �� 1 ���� ������� ����� ������� (������ � ���������� �� 4-� ������)
��� ����� �������� � c2p ��� ������� �������� ������� � ����������� ��� ������������� ��������
c2p:
������� (������ � ����� �������):
pop hl
ldd ;����� ������ ������ - �� ��������� ������! ������ �� � �����, � � ����� �����
:26/���� * 32 = 832 = 3.714 ����� (����� 39936)
(� ��� ����� 2 ������ + 126 ������ �� ���������� 4-� ������: ����� ����� ldi, �� ��� pop, ��� �� �� �� ������)
+
����� (������ � ������ �������):
pop hl
ldd ;����� ������ ������ - �� ��������� ������!
ld a,(hl) ;����� ������ ������ - �� ��������� ������!
ld (bc),a ;slowmem!!!
:40/���� (����� 61440)
=66/���� * 32*48 = 101376 (��� ���� 2 ����� ������!!!)
���� ��������, �� ��� ����� �� ������ (��� ������) � ������� 7???
���� � ������ ������� � ������� 7, �� ����� - �� ����� ����� ���� ������ � ������� 7!
����� ���� ����� � ������ ����� (��� ������ ���? ���� � chmap?), ���� �� �� pop hl:dec h (+4 �����/����)
���� �� ���������, ����� ����� � ������� � �� ���� inc h.
���� ����� � �������, �� �� �������� ������ ��������� � 18 ������ (#dd..#ff ����� ����)!!! [����� ����� �� �� ������� (32 �����), �� ����� ������� �� ������� �� ��� �� ����� � ������� 7.]
���� �� ���������, �� ����, ���� ���������� ���� ����������� ���� ������� ��������� ��������� � ������ (����� � ���� ��������� �����).
��� ����������� �������� � ��������� ����� ��� c2p ���������? ������ ����� � � ������ ������ (�� ������) ��� ������ � �����? ����� �� ���������� � �����:
����:
1. ����� (5 �����)
2. ���������� 0-� ������ (45 �����)
3. ����������?
4. ���������� ��������������� ������
5. (����� - ��� �� ������ 3)
---
6. ���������� + �������������� ������� �� 6 �����
---
7. ����� ����� ���������� (56 �����)
��� ����� ����� ����� � ����� ����� � �����������? ����� � ����������� ����� ����� c2p (� 3 �����), � ����� ����� �� �� ����������. �� �� 2 ����� = 56*2 = 112 ����� = 25088 ������ �� ������ �� ��� ����� (3072 ������).
���� ���� 48x40, �� 1920 ������, ������ 88*2 = 176 ����� = 39424 ������ (20.5 ������ �� ����)
���� �������� c2p �� ����� ��� 2 �����: ����� ������� c2p ��������� � ������� ����, �.�. �� ��������� � ������ ����� �������.
���� ���� 48x40, �� 1920 ������, ������ 88*3 = 264 ����� = 59136 ������ (30.8 ������ �� ����, � � ��� ������� 31.5)
�� �������� ������ ����������.
��� ��� �������� ����.
����� ��� ������� ���� 48x48 ��� 64x32.
��� ���-������ 32x48 (1536 ������) - ����� �������������� ������� �� 7 �����. �� 56*3 = 168 ����� = 37632 ������ (24.5 ������ �� ����, � � ��� ������� 31.5).
�.�. ��-���� ���� ���������� ���������� � ������� �����������.
��������� ������� � 4 �����.
c2p ������ ������ ����������� ����� ��� ������ (���� ������ ����� �������� ��� ������� � ��������� ����), �������� ����� � � ������, � ��� ������ (���� ������� ����� � ������ ����� � ���� ������ ��������� � ������ �����, �.�. 7-� ������� ��������).
c2p ������ ����� ��������� (� ������ �������) ����� ��� ����������� ������� � �������, �� ����� ������ ������ ������ �� � ������ �����, ������ ��������� ����!
�� �������������� ���� �� � �������. ����� c2p ������ ��� � 5-� ����� (���������� ��� ������ (����� ������ � ��������� �������), �� ��������!!!), � c2p ��������� � ����� ����� (�� ������ ������).
����� ����� 32 �����.
���� c2p ������ ��� ������, �� � �������� �������� ������� � ������� �������. �� ������ ������� ��� �����.
��� ��-���� ���������� c2p ������ � ������ (�� ������ ������)? ���� �������� ��������� ��� ����� ����, ���� �������� ��� ������ �� 8 ������ (40 ������ �� ���� �� �������).
/**
���� � �����, � ������� � ����� �������, �� ����� ������ ������������:
pop hl
ld d,N
ld a,(hl) ;slowmem!!!
ld (de),a
dec h
ld d,N+2
ldd
ld a,(hl)
ld (bc),a
:72/���� - ��������
*/
�� ����������� ����� ��� c2p, �� �������� (���� �������� ��� ���� ������� �����, �� �� ���� � �������)
�������� ������� ��� ������������� �������� ������� �� 6 �����:
���������� ������ ������ �������� ����� ������!!! ����� ��� ������� 5 ���
jumpXX:
<mc>
ld iy,jumpYY
patchXX:
jp ...
---
[exx]
<����������>
[exx]
jp (iy)
---
jumpYY:
����� ������� 32 ����� �� ���� ���� (� �����������) + ���� (��� �����������)
���������� ����� ������ �������� ����� out (c),d...out (c),e
�� ���������� ������ ������� � ����� ��������! �.�. ������ ���������� d,e!
��� ���� ������ ���� ������ ����� (���� ������ ����� ������)
ld a,hx
or pg
out (c),a
��� (���� �������� a,a'):
<���� a,a'>
..
out (c),a
ex af,af'
��� (�� ������� ������������ �������):
<������ d,e>
..
out (c),d/e
���� �� ���������
�������� ������ ���������� ����� ������ � ������ ������� (� ���� ����� - ���������� ������ ����������)
� ������ ������� ����� ����� ����� ����������
����������:
�) ���������� ����������� (����� � ������������ ������):
add hl,bc
ld a,h
exx
add hl,bc
ld d,h
ld e,l
ld a,(de)
exx
ld (de),a
inc e
:60/���� * 64*48 = 184320
�� ������������ ��� �� �������� (���� � #8000..#ffff, �� +8 ������, �� ��� ��, ���� c2p ���� � ������ �����!!!)
� �������� bc, �.�. ��� �������� �����? ���� bc ��������� � sp
���� �� ��������� ������ ������ � �������, �� ����� ��� ���� � ��������� de (bc ����� ����� ld bc)
/**
add ix,bc
add hl,sp
ld d,hx
ld e,h
ld a,(de)
ld (...),a
:58/����, 10 ����/���� (30720 ����), ������ ����� � ������ - ��������
*/
/**
add ix,bc
add hl,de
ld a,h
exx
ld d,hx
ld e,a
ld a,(de)
ld (hl),a
inc l
exx
:68/���� - ������
*/
/**
add ix,bc
add iy,sp
ld d,hx
ld e,hy
ld a,(de)
ld (hl),a
inc l
:64/���� ��� bc,bc' � ��� ���� �������� iy
*/
/**�)
���� ���������� ����� 8-������� ����������
add hl,sp
ld a,d
add a,e
ld d,a
ld a,h
exx
ld h,a
ld a,l
adc a,b
ld l,a
ldi
exx
:67/���� ��� bc - ������
*/
�)
����� �� ������ ����������� ���������� �� �������� ������������?
���� ������ �� ��� ����� �� �������
����� ������ ���� ����� ����, �� �� ����� ����������� (����� ���������� ��������� �������� ��� �����)
���� ����� ����������� ������ ������ (����������� ������ ����� ��������� - ��� ��� ������ ����� �������)
����� ����� ������ �� ������ ������ ���������� (+0..1, +1..2, +2..3...), �� ����� ��� ����� ���� ���
����� ����� �� ������ �� ���������� (V, ���� ���������?)
��� �����???
/**�)
������� ���������, �������� 16x256 � �������� ������������
add ix,bc ;%uuuuVVVV vvvvvvvv
adc hl,sp ;%???????? UUUUUUUU
ld a,hx
or b;#f0
ld h,a
ldi
:62/���� ��� bc' - ������
����� �������������� ������� �� u
��� � ����???
62/���� ��� add a,b:adc hl,sp:ld c,hx:ld h,c (��� ���������� ����������, �� � ��� ���������)
*/
�)
����� U � V �� ��� ������ - �� ������ ������ �����, ����� �������� ���� � ������ �����, � ����� �����
��� ����� � ������ ���� u � v?
�)
16x16:
add hl,bc ;%11VVVVvv vUUUUuuu
[ld a,h:or #c0:ld h,a]
ld d/e,(hl)
1/2*push de
:23.5 [+15]
����� �������������� ������� �� v
��� � ����? ����� �� �� ���������� (��� ������ ������ ������ ������� �����������)
��� bc<0 ��������� ������ set. � ��� ������� ��� bc>0? ���������� �������� � ������ �������?
����� 31.5
�)
������� �������???
�)
�������? ���� ��� ���� �������� - ��������� ����� �����������
�)
�� �������? ��� ������ ������������? � ����� ����� ���� ���?
����� ����������� ���������� ��� ������� �� �������� (������!) � ���� ��������, ������� �� X
�)
������� ������� ���� �� ����� ������� �� 4 ��� 8 ����� (��� � DMA Sound Blaster)
����� ������� �������� �������?
�� ����� ���: +0, +1/8, +2/8, +3/8 ... +63/8 � ����������, ����� ~128
�� ��� ���� ������ ����� ��������� (128*128)
������� � ���� � ����������
��� ����� ����� ����� ����� c2p, �� ��� ������ ������ ����� - ��� ����� ������?
�� �������� ���������� ��� ��-���� ��� c2p, � ���� � ����� (������� � �������)
����� ���� 2 ������
�����, ������� ���������� ����� ���� ������� � ���� �� 2 ���. �� ��� ����� �� ������� � ������� 7 � � ���� ����� ������?
��� ������� ������ ���� � ��������. �� ��� ����� � ������� 7?
� ����� 4x2:
����� 271000..322000
�� ��:
91739 background (ldir)
6293 rotmatrix
4000 rotate
125074 drawpolys (12 ��) tmap
91862 c2p
�� �������� SOMMER:
����� 431000
�� ��:
2416 rotate axes
75688 background (ldi)
45079...49324 rotate
19743..20037 prepare
3591 prepare stacks?
111698...139902 drawpolys (24 ��) gouraud
154769..159248 c2p
16 ������� �������
test_rndnoise.scl - ������� ��� (��������, ���� ����� ������ ��������� ��������� �� �����)
test_rndframeshift.scl - �������� ������������ 16 ������� � ����� ������� (�����-�� ������ ����, ��������� ���������)
test_rndxyframeshift.scl - �� ��, �� � random ���������� x+y (����� � �������� �� �����)
test_xyframeshift.scl - ������ ���� ����� pixel > (frame+x+y)&0xf
test_chunk.scl - ���������� ����� ������ x+y (������ �� ��� ����� - ������ �������)
test_woolchunk.scl - ������ ����� ������ x+y (������ ��� �����), ����������� ���� ��� ���������� �� 3 ������
pixel > frame+achunkpixelnumber[pixelnumber])&0x0f
������ ������ ��������� ������ ������������� ����� ��� (���� ������ ���� 50% �������� �� ������ �����)
��� ������� ��� ������� � realtime? ��������� � � ������������ �������
frame+achunkpixelnumber[pixelnumber] ����� ������� �� achunkpixelnumber[frame, pixelnumber] � ���� ���� � ������� �����������
��������� �� 1 ������ - ��������
������ ��������: scrpixel = achunkscrpixel[pixel(4), frame(4), pixelnumber(4)] - ����� ����� 12 ���
������ ����� �������� �������� �� ����� ������ �� �������
���� �� 8 �������� = 32 ����
�� ������ frame+pixelnumber = 4 ���� �����������, ��� ��� ����� 8 ��� - ����� ���� �� 2 ����.
�) pixel > frame+achunkpixelnumber[pixelnumber])&0x0f
;8 �������� abcdefgh ������� ��������� - ������� � ����� ����� ��������
pop bc ;%ccccggggddddhhhh
ld l,b
ld b,framepluspixelnumber1
ld h,framepluspixelnumber2
ld a,(bc) ;%d000h000
rrca ;%0d000h00
or (hl) ;%cd00gh00
rrca ;%0cd00gh0
pop bc ;%aaaaeeeebbbbffff
ld l,c
ld h,framepluspixelnumber3
or (hl) ;%bcd0fgh0
rrca ;%0bcd0fgh
ld l,b
ld h,framepluspixelnumber4
or (hl) ;%abcdefgh
ld (de),a
inc e (d?)
;111 t/b (����� 99 t/b ��� rrca, ���� 4 ����� �����, ����� 16�, � ������ ������� ��������)
� ����� ������ � ��������� �� �� inc/dec h ������ ld h
����� ���������� ����� ������� ����� �� �� �����, �� ���� ����� � ������ ������?
��� ������� ������� ����� ������ ������� (16 ������� �� 4 ������ ������ 19- ��� 22- b/b, ����� ����� 1.5�)
��� ����� ����� 24�, ���� � ������ �����, ���� �� ���� ���� ����� �������+��������
�� 48� ����� ������ � �������� ������� �������� ������� ������� (�.�. ������ ����� �����), ��������, 3D ������ (� ��� ��������� ������ ���? �� ���� � ������� ����� ���� ���, �� � ��������� ������ 3D ������ - ���? � ����� ����������)
���� ����� �� 3 ������, ���� 34 t/b, � � ��� ��� ������� 8(� �������� ������� 10) �������! ��� ���� ����� ����������, ���� ������� ��������� ��� �������������� ������������?
�� 128� ����� �� 2 ������ ������ R-Mode ��� ������ 4 ������ ���, ����� ���������� ����� �� 16 �������, ���� � ������ ����� (4R+4G+4B+4w)
����� ������� ������ �� R-Mode? ������ ������� 4x4 �� ��������� �����, � �� ������ �������� ���� ������ �������� ������ (����� � ����� ������ - �� �� ����� ����� ������) � ������ ����? �� ���� �� ����� ������ ��� �� ����� �������� �������
����� ������ ���� �������� �� ����� R-Mode, �� ����� ��� �� �� ������ ����
��� ����� �� 128� ������� ����: ��� ��� 4R(M)+4G �� 8 ������� ��� ������, ��� ������ ������� ��������.
��� ����� �� 128� ��� ������ �� 12 ������� (�� �������� �� 8 �������, �� 128� ����� � �� 2, ���� ������ ����������� �����, ������ ������ 96�+6..12� ����������, � ����������� �� ��������� �������� pop:ld (),hl � LDI) ���� ��� 4R+4G+4B, � ������� ������ (�������� ������������ ������� � ������ ��������, �.�. ��� c2p �������� 48000 ������), ��� ������ ������� ��������:
����� ����������� ������:
- R screen1 (c2p)
- G screen0, �������� ������� screen0
- B screen0, �������� ������� screen0 (��������� �� �����)
- R screen1 (c2p)
- G screen0, �������� ������� screen0
- B screen0, �������� ������� screen0 (��������� �� �����)
- R screen1 (c2p)
- G screen0 (c2p)
����� ����������� ������:
- B screen1 (c2p)
- R screen0, �������� ������� screen0
- G screen0, �������� ������� screen0 (��������� �� �����)
- B screen1 (c2p)
- R screen0, �������� ������� screen0
- G screen0, �������� ������� screen0 (��������� �� �����)
- B screen1 (c2p)
- R screen0 (c2p)
� �.�.
����� ������� 16 ����� ������ ���� � 3D ������� (�� ����� � ������ ������, � ���������� �� 3 ������)
�� �������� �������� ����� �� 4 ������ � ����� (����� 256 ���� ���������) - ��� ��� ������� �� ���� 64�:
pop bc ;4pix + 4pix
ld l,b
ld b,framepluspixelnumberRN
ld a,(bc) ;%abcd0000
or (hl) ;%0000efgh
ld (de),a
inc e (d?)
;46 t/b (3 ������ �� �����), 16*2*256 = 8K �����, ����� 12K - ����� �� 48K
��� ����� ��������� �� 4 ���� (����� 256 �� ����� 65536)? ���� �� ������ ������ - ����� ���
���� ��� ������� ����� ����� ������������� (17����� * 17������ = ��� ����� 256!) � ����� ��� � ����� ���� ������� ������� �� ���� ���� � ���� �����
� ����� ���� ���� _/ ��� \_ (��������, � /- ��� -\)
������ �� ��������� � ����� �����? ����� ����� ������! ������� �� ����� �����? ���� ���-�� ������� ����������� ��������� ��� ����� �������
��� ���� �������� �����?
���� � 17 ����� ����� ������, ������� ����� ���������
��� ��������� ���� ��������� �� ������� ������ ������� ��������� (� ������� +-1 �� ���� ���) � ����� � (�� ������ ������� ����) ������ � ����
�) ������� ��������� �� ������� ����� - ���� ��������� ����� �� �����, ���� ������ ��� ��� (� ���� �� ����� ������ ����, ��� �� ������ �� 3 ������)
� ������ �������� ���� ��� ����� (������...������)
����� ��������� ���, ��� ��������� ����� � N1 ����� �� ����� � N2, � ��� ����� ��, ��� � N3, � ��� ����� ��, ��� � N4, � � ����� %11111111
???����� �� ������ ������� �������� ��������???
�� ����� ����� ��� ����� ���� ��� ����������� ������!!! ��� ��� ��� �������, ��� �� �������, �� �������!
���� � ������ ��� 3210, ��� 3 ����� ��� ����� (� �������� ������)
�����1:
3232
13.3
3232
313
�����2:
2323
3.31
2323
313.
�����3:
313.
2323
3.31
2323
�����4:
313
3232
13.3
3232
�����5:
3232
313
3232
13.3
�����6:
2323
313.
2323
3.31
�����7:
3.31
2323
313.
2323
�����8:
13.3
3232
313
3232
���� � ���� ���0, �� ����� ����� 9 ������� ������� ������ 16
���� � ����� ���� ���0, � ����� ������ �����, �� �� ������� ����� %11111111
� ����� ���� ���0, � � ������ ���3?
[ pop bc
ld a,c
and N1
ld c,a
ld a,b
and N2
or c
ld (hl),a
pop bc
ld a,c
and N3
or (hl)
ld c,a
ld a,b
and N4
or c
ld (de),a
inc e
;105 t/b]
[���
ld a,(hl)
inc l
and c;N1
ld d/e,a
ld a,(hl)
inc l
and b;N2
or d/e
ld d/e,a
ld a,(hl)
inc l
and N3
or d/e
ld d/e,a
ld a,(hl)
inc l
and N2
or d/e
ld d/e,a
1/2*push de
;99.5/105.5 t/b]
[���
ld a,(hl)
inc l
xor (hl)
and c;N1
xor (hl)
inc l
xor (hl)
and b;N2
xor (hl)
inc l
xor (hl)
and N3
xor (hl)
inc l
ld d/e,a
1/2*push de
;89.5 t/b (and e...push af:inc sp �� ���� �����, � 16 ����� ���� ������� ld (...),a �������� �� �����)]
���
pop bc
ld a,c
xor b
and l;N1
xor b
pop bc
xor c
and h;N2
xor c
xor b
and N3
xor b
ld (de),a
inc e
;74 t/b (����� 73 t/b, ���� and e...ld (...),a)
16 ������� �������
test_rndnoise.scl - ������� ��� (��������, ���� ����� ������ ��������� ��������� �� �����)
test_rndframeshift.scl - �������� ������������ 16 ������� � ����� ������� (�����-�� ������ ����, ��������� ���������)
test_rndxyframeshift.scl - �� ��, �� � random ���������� x+y (����� � �������� �� �����)
test_xyframeshift.scl - ������ ���� ����� pixel > (frame+x+y)&0xf
test_chunk.scl - ���������� ����� ������ x+y (������ �� ��� ����� - ������ �������)
test_woolchunk.scl - ������ ����� ������ x+y (������ ��� �����), ����������� ���� ��� ���������� �� 3 ������
pixel > frame+achunkpixelnumber[pixelnumber])&0x0f
������ ������ ��������� ������ ������������� ����� ��� (���� ������ ���� 50% �������� �� ������ �����)
��� �������� �� R-Mode ������ � �������� ������� ����� ����������:
bit 0,d
jr z,drawnoise_skipnewphase ;for R-Mode
ld a,h
cp rebyte/256+16 -(4*2)
jr c,$+4
sub 16
add a,4*2
ld h,a
drawnoise_skipnewphase
inc d
ld a,d
and 7
jp nz,drawnoisenchr
ld a,h
cp rebyte/256+16 -(1*2)
jr c,$+4
sub 16
add a,1*2
ld h,a
...
drawnoisenchr
��� ������� ��� ������� � realtime? ��������� � � ������������ �������
frame+achunkpixelnumber[pixelnumber] ����� ������� �� achunkpixelnumber[frame, pixelnumber] � ���� ���� � ������� �����������
��������� �� 1 ������ - ��������
������ ��������: scrpixel = achunkscrpixel[pixel(4), frame(4), pixelnumber(4)] - ����� ����� 12 ���
������ ����� �������� �������� �� ����� ������ �� �������
���� �� 8 �������� = 32 ����
�� ������ frame+pixelnumber = 4 ���� �����������, ��� ��� ����� 8 ��� - ����� ���� �� 2 ����.
�) pixel > frame+achunkpixelnumber[pixelnumber])&0x0f
;8 �������� abcdefgh ������� ��������� - ������� � ����� ����� ��������
pop bc ;%ccccggggddddhhhh
ld l,b
ld b,framepluspixelnumber1
ld h,framepluspixelnumber2
ld a,(bc) ;%d000h000
rrca ;%0d000h00
or (hl) ;%cd00gh00
rrca ;%0cd00gh0
pop bc ;%aaaaeeeebbbbffff
ld l,c
ld h,framepluspixelnumber3
or (hl) ;%bcd0fgh0
rrca ;%0bcd0fgh
ld l,b
ld h,framepluspixelnumber4
or (hl) ;%abcdefgh
ld (de),a
inc e (d?)
;111 t/b (����� 99 t/b ��� rrca, ���� 4 ����� �����, ����� 16�, � ������ ������� ��������)
� ����� ������ � ��������� �� �� inc/dec h ������ ld h
����� ���������� ����� ������� ����� �� �� �����, �� ���� ����� � ������ ������?
��� ������� ������� ����� ������ ������� (16 ������� �� 4 ������ ������ 19- ��� 22- b/b, ����� ����� 1.5�)
��� ����� ����� 24�, ���� � ������ �����, ���� �� ���� ���� ����� �������+��������
�� 48� ����� ������ � �������� ������� �������� ������� ������� (�.�. ������ ����� �����), ��������, 3D ������ (� ��� ��������� ������ ���? �� ���� � ������� ����� ���� ���, �� � ��������� ������ 3D ������ - ���? � ����� ����������)
���� ����� �� 3 ������, ���� 34 t/b, � � ��� ��� ������� 8(� �������� ������� 10) �������! ��� ���� ����� ����������, ���� ������� ��������� ��� �������������� ������������?
�� 128� ����� �� 2 ������ ������ R-Mode ��� ������ 4 ������ ���, ����� ���������� ����� �� 16 �������, ���� � ������ ����� (4R+4G+4B+4w)
����� ������� ������ �� R-Mode? ������ ������� 4x4 �� ��������� �����, � �� ������ �������� ���� ������ �������� ������ (����� � ����� ������ - �� �� ����� ����� ������) � ������ ����? �� ���� �� ����� ������ ��� �� ����� �������� �������
����� ������ ���� �������� �� ����� R-Mode, �� ����� ��� �� �� ������ ����
��� ����� �� 128� ������� ����: ��� ��� 4R(M)+4G �� 8 ������� ��� ������, ��� ������ ������� ��������.
��� ����� �� 128� ��� ������ �� 12 ������� (�� �������� �� 8 �������, �� 128� ����� � �� 2, ���� ������ ����������� �����, ������ ������ 96� (���� 16 ������� �������) +6..12� ����������, � ����������� �� ��������� �������� pop:ld (),hl � LDI) ���� ��� 4R+4G+4B, � ������� ������ (�������� ������������ ������� � ������ ��������, �.�. ��� c2p �������� 48000 ������), ��� ������ ������� ��������:
����� ����������� ������:
- R screen1 (c2p)
- G screen0, �������� ������� screen0
- B screen0, �������� ������� screen0 (��������� �� �����)
- R screen1 (c2p)
- G screen0, �������� ������� screen0
- B screen0, �������� ������� screen0 (��������� �� �����)
- R screen1 (c2p)
- G screen0 (c2p)
����� ����������� ������:
- B screen1 (c2p)
- R screen0, �������� ������� screen0
- G screen0, �������� ������� screen0 (��������� �� �����)
- B screen1 (c2p)
- R screen0, �������� ������� screen0
- G screen0, �������� ������� screen0 (��������� �� �����)
- B screen1 (c2p)
- R screen0 (c2p)
� �.�.
����� ������� 16 ����� ������ ���� � 3D ������� (�� ����� � ������ ������, � ���������� �� 3 ������)
�� ��� R-Mode48, � �� ������ ����.
���� ��� RGB ����� �����, �� ��� � �����, �� �� ������ ������� ����� �� �����!
�� �������� �������� ����� �� 4 ������ � ����� (����� 256 ���� ���������) - ��� ��� ������� �� ���� 64�:
pop bc ;4pix + 4pix
ld l,b
ld b,framepluspixelnumberRN
ld a,(bc) ;%abcd0000
or (hl) ;%0000efgh
ld (de),a
inc e (d?)
;46 t/b (3 ������ �� �����), 16*2*256 = 8K �����, ����� 12K - ����� �� 48K
��� ����� ��������� �� 4 ���� (����� 256 �� ����� 65536)? ���� �� ������ ������ - ����� ���
���� ��� ������� ����� ����� ������������� (17����� * 17������ = ��� ����� 256!) � ����� ��� � ����� ���� ������� ������� �� ���� ���� � ���� �����
� ����� ���� ���� _/ ��� \_ (��������, � /- ��� -\)
������ �� ��������� � ����� �����? ����� ����� ������! ������� �� ����� �����? ���� ���-�� ������� ����������� ��������� ��� ����� �������
��� ���� �������� �����?
���� � 17 ����� ����� ������, ������� ����� ���������
��� ��������� ���� ��������� �� ������� ������ ������� ��������� (� ������� +-1 �� ���� ���) � ����� � (�� ������ ������� ����) ������ � ����
/*
�) ������� ��������� �� ������� ����� - ���� ��������� ����� �� �����, ���� ������ ��� ��� (� ���� �� ����� ������ ����, ��� �� ������ �� 3 ������)
� ������ �������� ���� ��� ����� (������...������)
����� ��������� ���, ��� ��������� ����� � N1 ����� �� ����� � N2, � ��� ����� ��, ��� � N3, � ��� ����� ��, ��� � N4, � � ����� %11111111
???����� �� ������ ������� �������� ��������???
�� ����� ����� ��� ����� ���� ��� ����������� ������!!! ��� ��� ��� �������, ��� �� �������, �� �������!
���� � ������ ��� 3210, ��� 3 ����� ��� ����� (� �������� ������)
�����1:
3232
13.3
3232
313
�����2:
2323
3.31
2323
313.
�����3:
313.
2323
3.31
2323
�����4:
313
3232
13.3
3232
�����5:
3232
313
3232
13.3
�����6:
2323
313.
2323
3.31
�����7:
3.31
2323
313.
2323
�����8:
13.3
3232
313
3232
���� � ���� ���0, �� ����� ����� 9 ������� ������� ������ 16
���� � ����� ���� ���0, � ����� ������ �����, �� �� ������� ����� %11111111
� ����� ���� ���0, � � ������ ���3?
[ pop bc
ld a,c
and N1
ld c,a
ld a,b
and N2
or c
ld (hl),a
pop bc
ld a,c
and N3
or (hl)
ld c,a
ld a,b
and N4
or c
ld (de),a
inc e
;105 t/b]
[���
ld a,(hl)
inc l
and c;N1
ld d/e,a
ld a,(hl)
inc l
and b;N2
or d/e
ld d/e,a
ld a,(hl)
inc l
and N3
or d/e
ld d/e,a
ld a,(hl)
inc l
and N2
or d/e
ld d/e,a
1/2*push de
;99.5/105.5 t/b]
[���
ld a,(hl)
inc l
xor (hl)
and c;N1
xor (hl)
inc l
xor (hl)
and b;N2
xor (hl)
inc l
xor (hl)
and N3
xor (hl)
inc l
ld d/e,a
1/2*push de
;89.5 t/b (and e...push af:inc sp �� ���� �����, � 16 ����� ���� ������� ld (...),a �������� �� �����)]
���
pop bc
ld a,c
xor b
and l;N1
xor b
pop bc
xor c
and h;N2
xor c
xor b
and N3
xor b
ld (de),a
inc e
;74 t/b (����� 73 t/b, ���� and e...ld (...),a)
*/
���� �������� � R-Mode, ���� ������ (rebyte ����� �� ��� �����, ����� ��������, ���� ��������� ���������, �� ���� �� ����� ��������):
repic (0x3000) - 0xd000 ��� ��� ���� (������ ����� � fastmem)
rebyte (0x2000) - 0x6000 (slowmem)
repic1 (0x3000) - 0x9000 (������ ����� � fastmem)
rebyte1 (0x2000) - ������ ����� � pg7 (slowmem) 0xe000
� ������������ � lowmem 4 ����� ��������� (����� �� 0x180+�������)
�� �� � ������ ������ ����� ����� 2 (�� ��������?)
��� 0x8000,0x1000
� ������� ������
�� ���� �������� (�������� � mlz, �������� 24K, � ������ 0x8000..0x8fff):
rebyte1.mlz -> pg7 rebyte1 (0xe000)
��������� ��� ���������� ���� � ���� �����
rebyte.mlz -> rebyte (0x6000)
repic1.mlz -> repic1 (0x9000)
repic.mlz -> repic (0xd000 ��� ��� ����)
���� ���� ������� � ��������, �.�. ���� �� ���� �������� ������
������ ����� ������ �������? scr0 � scr1 ����� ������� ����������, ��� �� �� ��� �� �����
pop bc ;4pix + 4pix ;slowmem
ld l,c
ld a,(hl) ;%abcd0000
inc h
ld l,b
or (hl) ;%0000efgh
ld (de),a ;slowmem
inc e ;47
pop bc ;4pix + 4pix ;slowmem
ld l,b
ld a,(hl) ;%0000efgh
dec h
ld l,c
or (hl) ;%abcd0000
ld (de),a ;slowmem
inc e ;+47 = 94t/��� �����
������ ��� ���� �� slowmem � slowmem, ��� ��� ������������ ������� (6 ���� slowmem)
������ �� ��� ���� ����� � ������ + ����������? 188t
����� �� ������, ���� �� ������� bc, �.�. ��������� ������� �� ���������
ld a,0x5x
out (0xfd),a ;+18t - ��� ���� ����� �� ������ ������ �� R-Mode, �� ���� ����, ���� ����� ������ �� ���� - 0 ��� 7
;��� exx:out (c),d/e:exx = 20t, ����� ������� �������� � ���� �����
����� 206t + wait (12 ���� slowmem, �� �� 6 �� �������, ������ 100t �� +2)
����������� ����� �� �������
� ���� � ������������ de
���� ��� ������ �� � �����, ���� �� ������� ��������� �����������
������������ de ����� ���� � �������� (+1 pop ������ ���������� inc e)
���� ������, �� ���� ������ ������ ������ ��������� �� 32/4 = 8 ����� ������
���� ���� �� ���������� ������� ������� ������� � ������ ������, �� ������� �� 16 ������� (�� 1 ����� ������ 24 ������ ������ ������)
���� ���������� ������ ������ (48+23=71 ������ ������, ��� ������ ����� ��� 72?), �� ����� �� <=12 ������� (�� 1 ����� ������ 32-33 ������ ������ ������)
�� ��������� ���� ������� ���������� ������!!!
���� ����� ��������� � ������ ������� = 768*2*5.5 = 8448 (�� 14362), �.�. >37 ����� ������, �������� <11 ����� ������ �� +2
������ ���� ����� �� +2:
;+112
exx
out (c),d/e ;screen change at +128 (nowait)
exx
inc e:inc bc / pop de ;for end of line
;+142
pop bc ;4pix + 4pix ;fastmem
ld l,c
ld a,(hl) ;%abcd0000 ;slowmem (nowait)
inc h
ld l,b
or (hl) ;%0000efgh ;slowmem (nowait)
ld (de),a ;slowmem
inc e ;47
;+189
pop bc ;4pix + 4pix
ld l,b
ld a,(hl) ;%0000efgh ;slowmem (nowait)
ld l,c
;+214
dec h
or (hl) ;%abcd0000 ;slowmem (nowait)
pop bc ;4pix + 4pix ;!!!!!!!
;+235 = +9
ld (de),a ;slowmem (write at t-state +16)
;+16
inc e
ld l,c
;+24
ld a,(hl) ;%abcd0000 ;slowmem (+32(31))
;+32
inc h
ld l,b
;+40
or (hl) ;%0000efgh ;slowmem (+48(47))
;+48
ld (de),a ;slowmem (write at t-state +56(55))
;+56
pop bc ;4pix + 4pix
;+66
inc e
nop ;!!!!!!!!!!!!!!!
ld l,b
;+78
ld a,(hl) ;%0000efgh ;slowmem (+88(85))
;+88
dec h
ld l,c
;+96
or (hl) ;%abcd0000 ;slowmem (+104(103))
;+104
ld (de),a ;slowmem (write at t-state +112(111))
;+112
�� ��� ��-�� ������ ����� ������� 3+5+3 = 11 ������
� ��� ������� (��� � � ����� �� ���� ���������� ����, �� �� �� ��� ����� ����)?
� ���� ����� �� ����� � ����� �� �����
���� ����������� ����� ����� �������:
- �� ����� ������ ����� 32 ������ �� ������ ������ �������, ��� ��� pop de �� ������ (���� � ������ �����)
- jp nz ����� �� ������ ������ ������, ����� ������ �������� ���� ������
- ������ inc d, ����� ������� e (4 ����� �� ����� ���)
- ����� ���� ���� ���� �����
��� ��� ����� ��������� �� ����� �� ������� ��������� ��� ��������?
��������, ��� 16 ����� (8+8) �������� � ����� � ��� �� h - ��� �������� (�� ��� �� ��� ��������, �.�. ��� ������ ������ ����������)
�� ��� ������� ��� ���� h �� ������ 32 �����?
������� ld h,N ����� ������ ����� ���� �����??? �� � ��� ����� 3 �����! ���� ����� ����, ������ ����� ������� �� +8 ������!
[��� ����� ���� h ������ ���� ����� �� ������?
�� ��� ����� 5 ��� �����:
<body>
jr nz
inc d
<body>
jr nz
inc d
ld h,
<body> - �����, �������� �� +7 ������
<body>
jr nz
inc d
<body>
jr nz]
mcloop
;max +122 (119-1, 120-1 ��� 126-1 (ld h,N))
exx
out (c),d ;screen change at +138 (nowait)
exx
;+142
pop bc ;4pix + 4pix
ld l,c
ld a,(hl) ;%abcd0000 ;slowmem
inc h
ld l,b
or (hl) ;%0000efgh ;slowmem
ld (de),a ;slowmem
;+185
pop bc ;4pix + 4pix
ld l,b
ld a,(hl) ;%0000efgh ;slowmem
ld l,c
;+210
inc e
dec h
or (hl) ;%abcd0000 ;slowmem
pop bc ;4pix + 4pix ;!!!!!!!!!
;+235 = +7
ld (de),a ;slowmem (write at t-state +16)
;+16
inc e
ld l,c
ld a,(hl) ;%abcd0000 ;slowmem
inc h
ld l,b
or (hl) ;%0000efgh ;slowmem
;+48
ld (de),a ;slowmem (write at t-state +56(55))
;+56
pop bc ;4pix + 4pix
;+66
inc e
nop ;!!!!!!!!!!!!!!!
ld l,b
ld a,(hl) ;%0000efgh ;slowmem
dec h
ld l,c
or (hl) ;%abcd0000 ;slowmem
;+104
ld (de),a ;slowmem (write at t-state +112(111))
;+112
;-----------------
inc e
exx
out (c),e ;screen change at +132 (nowait) - ���� ������� �����!
exx
;+136
pop bc ;4pix + 4pix
ld l,c
ld a,(hl) ;%abcd0000 ;slowmem
inc h
ld l,b
or (hl) ;%0000efgh ;slowmem
ld (de),a ;slowmem
inc e ;47
;+183
pop bc ;4pix + 4pix
ld l,b
ld a,(hl) ;%0000efgh ;slowmem
ld l,c
;+208
dec h
or (hl) ;%abcd0000 ;slowmem
pop bc ;4pix + 4pix
;+229 = +1
ld (de),a ;slowmem (write at t-state +8)
;+8
inc e
ld l,c
ld a,(hl) ;%abcd0000 ;slowmem
inc h
ld l,b
or (hl) ;%0000efgh ;slowmem
;+40
ld (de),a ;slowmem (write at t-state +48(47))
;+48
pop bc ;4pix + 4pix
;+58
inc e
nop ;!!!!!!!!!!!!!!!
ld l,b
ld a,(hl) ;%0000efgh ;slowmem
dec h
ld l,c
or (hl) ;%abcd0000 ;slowmem
;+96
ld (de),a ;slowmem (write at t-state +104(103))
;+104
inc e
jr nz,mcloop ;+120
;+115
inc d
;+119
...
�� ���� ����� � ������ ����� � ���� ������� ������ (�������� ����� ��������)
R-Mode (������ 2 ������):
�� ������ ������ �������� �� 2 ������ ���������:
frame1: W (�������������), G/M/C
frame2: B/Y (������������� ����� push:push:... (4 rp)), R/C/M
�.�. ����� ��� ������ ��������� � ������ �������:
768*10.5 + 768*5.5 = 12288 (55 ����� ������)
� �� ���� ������ ����� �������� ������� �������� ����� ������
������:
scr1 (6144 ��������) (����� �����)
scr2 (6144 ��������) (������ �����)
attr1 (768) ;G/M/C - ���(����) ������� ������
attr2 (768) ;R/C/M - ���(����) ������� ������
attr3 (768) ;B/Y - ���(���) ������� ������
attr4 (768) ;W - ���(���) ������� ������
- TODO ������ 3 ���� �������� �� ����������
7 ������:
MCYW (C,M,Y,w) - ����� M,C,Y,w, ���� � attr1 � attr2 ��� ����� �� ��� �������� (������������� ����� push:push:... (4 rp))
MRYW (M,R,Y,w)
GRYW (G,R,Y,w)
GCYW (G,C,Y,w)
GCBW (G,C,B,w)
MCBW (M,C,B,w)
MRBW (M,R,B,w)
����� �� �������� �������� ������:
�����������: (0G/0M/0C)*(0R/0C/0M) + (0B/0Y)*(0w) = 0/r/c/m/g/y(gr)/gc/w(gm,cr,w)/mr/mc/M/C + bw/yw = 14
������ (7 ������): 0/c/m/r/g/cm/rg/cg/rm + bw/yw/w = 12
����� ����� ��������� �/� ������ �� ���� W
�����, ��� ����� 7 ������, ����� ��������� ������ � ���� ������� �� ��� ���� (� ������ �� ������������, ��� ����� ��������� ����� ��������� ������), ���� ����� �������, ����� ���� ������������ ��� ������ ��������� ���� ������ ������� + �������
������, ������ ��� ������� GCBW ����� ���� ����� ������, ����� ��� � ���� ������ (� �.�.)
R48-Mode (��� ������):
�������� �� 3 ������ ���������, ������ 0-R(0-C), 0-G(0-M), 0-B(0-Y)
������ ��������� ������ ����� push:push:... (4 rp)
������:
scr1 (6144 ��������)
attr1 (6144 ��������) - ����� ������ 3 ���� �������� �� ���������� 8x1
8 ������:
RGB
RGY
RMB
RMY
CGB
CGY
CMB
CMY
����� �� �������� �������� 7 ������ (���� ����������)
������ ����, ��� .mc � ����������� �� 8 ��� ��������� �� ������, �� ������ ���, ��� ��� �� .mc � bright only
� ���� ��, ����� ��������� ������ ���� �� ����, ��� � R-Mode
���� ������� ��������� ���� �������, �� ����� ������ �����, ������ ����� ������ ��� ���������� � ������� �������� �� ������ �������
A process consists of an address space, object handles, and one or more paths of execution (threads). Threads are used to perform work. For example, a thread can respond to interrupts and handle asynchronous process-related events in thread context.
RTX timers are not synchronization objects which means threads cannot wait on an RTX timer handle. This is in contrast to the Windows waitable timer, which is an object on which a thread can wait, or against which a thread can receive notification.
event - ����� �����������. ������ pulse (��� ���� ����� waitforsingleobject)
��������, ��� ������� ������ ����� ��������� � ���� �������� ���� � ��������, ������ ����� � ������ ��������
(������ ������� - � ���� �������)
������ ������ �� � � �������� "��������", �.�. ���� �������� �������������� ��������
� �� ������������� �������� ������ �� ���, ��� ���� �������� � ����� �� ����� �������������
�� ����� �������� ���� ������������ ���������
������ ����� ������ ��� ������ �������, �.�. ������ ���� ��������� �� ���������� (����� �� ������� �� ��� ������ - ��� �������, � � ������ �� ���� �������� ����� �� ����� ��� ������, �� ��� include �� �����)
�� ����������, ������������ � ������ ������, ����� ������
�������(�������) ����� ������ �������� (����� ���� �����, ��� ��������� �� ������ ������ ���� ���):
1. ������ ��� ������ � ���������: � ���, ����� � ������.
���:
- fixed (�� ��� �� ����? � �������)
- nearcode
- [initialized neardata (==nearcode?)]
- [empty neardata]
- farcode
- [initialized fardata (==farcode)])
- [empty fardata]
2. �� ������� ����� ������ ���� �������� - ������� ������ ���� ��� ������ � ����� ���� � ��������� �������� ������?
3. ����� ����
4. ������ �����
5. ������ ��������
���� �������� ����� �� ������ �����:
1. �������� 16-������ ������ ��� ������ (����� ����� �����, ����� �������)
[2. HSB �������� 8-������ ������ (����� ����� �����, ����� �������)]
[3. LSB �������� 8-������ ������ (����� ����� �����, ����� �������)]
4. ������� �� far ����� (����� ����� �����)
5. ����������� FIXUP "�������� ������ ������� �����-�� ����� �����, �����-�� �������"
5. ����������� FIXUP "�������� ������ �������� �����-�� ����� �����, �����-�� �������"
��� ����� ����� ����� ���� � �����?
��� ��������� ����� ���� ������� � ������ �����?
��� ������, ��� ����� ����� ���� ���� "����� �����" (����� ������������� �������, �� �� ������, � ������ �� 2-������)
��� ��� ������ �������������� ��� ������ � ���� ������ ����� ����� �������
(����� � ���� �����:
- ���� �� ���� �����, �� ���� �� �� ���� FIXUP "����� �����, ���������� ����������� FIXUP �������� ������ ������� �����-�� ����� �����, �����-�� �������" (�� ����� ����� ����� �� ����� ������!!!), � ������� ��������;
- ���� �� ���� ������� �����, �� ���� �� �� ���� FIXUP "����� �����, ���������� ����������� FIXUP �������� ������ �������� �����-�� ����� �����, �����-�� �������" (�� ����� ����� ����� �� ����� ������!!!), � ������� ��������
- ���� ���� ������� �����, �� �������� ��������� � � ��������
- ���� ���� ������� �����, �� ���� ���� �������� "����� ����� �����, �������"
- ���� ��� ������� ����� � ���� �����, �� ���� ���� �������� "����� ����� �� far �����"
��� ������ ������� �������� ������ ����? �������� ���������-������?
��� ������ ������ ������� � �������� ���� ($-1, �����+��������� (��� ��������� ��������, ������...), ���� �� call/jp/jr, ������ � ������ ����� ������ (���� � ������������ ��������), ������ ������� � ����� ������ �����, ������� ������� �� ������ �������(�������?))?
��� ������ org $-1? �������� ���������, ������ ��� � ��������?
����� � nearcode ��������, �.�. ������ ����� �� �������������? ��� ����� - ���� ����!
)
�������(�������) ���� ����� ������ ������� ������ ��� ������, ������� �� ������, ����� ��� ����� ����� �������� � ����� ����
���� ������� � far ����� ����� ������ ������, �� ����� � ����� ����� �������� 128� ��������� �� 48�
�� ��� ����� ������ �������� (� �� ����� �������� ����� ������ ������� � ����� ����� � ����� �������)
��� ���������, ���� ��� � ������������� � ��������.
� ��� ���������� � ����� ����������� 48� �������� �� 48� (������� ����� ��������, ���������, ��������� �������, ����� near �����)
��� ������ �������� �������? ������ ������ ������������ ������ �� �������� ����������? ��� ������ �� �����, ����� �� ������?
� ������ �� ������ ��� ������, ��� ��������
��� ������ ����� � ���������?
�) ����� � ����� (�� ������ �� 48�), ����������� �������� ����, � ������ ������ �� ���������
�) ����� � �������� ����� (�� ����� ��������� ������ ���� ������������ ����� ����� ������, ��� ��������)
�2) ����� � �������� �����, � ������ ������ �� ��������� �������� �������
������� ����� ������ ��� ��, ��� ��� ����� ������ �� ������ - ��������� �������� � ����� (�� �� ���������� ����, � �� ����������, �.�. ���� �������� ���� ����� ��� ��������), ������� ��������, ���������� ��������. ��� ���� ���� ����������� �������� � �����.
��� ������ �������� ����� �����1 � �����2?
��� ���� �� ��������� �������� ����? ��������? ���� ����� ����� ������ �����1, �� ���� ������ ��� �����
�) ����� � ����� ���������� ����� (������ � ������ ������� �������� � ���������� �� 48�, � � ��� ��� ����� >40K)
�) ��� ����� ������� � ������, ������� ������� � ��������, � ���������?
�) ���������� � ������� ��� ����� � ����������� � ����� - ����� �������� ������ � ��?
� ��� ��� ��� ���� ���������� include? ����� ������� �����������-��������� ����� ���������� � ����� ���������?
�� ��� � ��� �������� ����������� ��������� ������? ������ ��� �������� ���������� �� ������ ���������� �����?
�� ���� ����� ����� ������������ ������ ��� ������?
�����������, ��� ����� � �����, ������� ���, � �������� ��� �� ������� ������� ����� � ���������, � ��� � ��������� (���� ��� ���� �����, ���� ����)
������ �� ������ �������� �������� (���� ���� ������ ��� ��������� ������)
� ������� ��������� (� ��������� ����� ��� ���������), � �� ������� ����� ������� ��� ������� ������� �����
��� ���� incbin ����� ������� ����� ������ ����, ������ ������� ��� ���������
� ��� ��������� ���������� ���������� � ������ ���� �� ����������? ���� ����� ������ ����? �� �� ����� �� ��������!!!
�� ����� ���������� - ��� ������������ ��������:
- ��������� (~10K)
- �������� (~20K+�����)
- ��������� (~25K+�����)
- ��������� (~10K+�����)
- �������� ��������� (����� �� ����, ��������, ���������)
���� �������� ���� ������� �� 48�, ��:
������������ ����� ����� ����� � �����
����� ����� ��������� �������� ���������� � ����������? �� ���� �������� ������� � ����, �.�. �� ����� ���������� �� ������ � 48�
�������� ����� ������� ����� �������. �����?
������� ����� ���� ��������! � ��� ����� �������? � ��� ������� �������� �����������? �� ���� ������� ������ �� �� ����!!!
�� ������� �������� ��������� ����� � ����� ������ ������� ������������� �� �����. ��� ������ ��� ���� ��� ������������ �������� ���������?
�������-�������� �������� - ������ ������, ������ ���� � �������
����� �������
������ �������
���� �������� �������, �� ��������� �� ����
����: ���� ��� ���� (��� �����? �������� ���� ��������� ���� � ���������� ����!), �� �������� �������, ���� ������� ������� � ��������� ����
�������� ������� (��� �� ������?), �������� �������, ��������� �������
� 48� ���������� �� ���� ����:
�������������� ����� near ���� � ����
�������������� ����� far ���� � ���� (��������� � near)
256b ����� ������ ���������
256b? ����� ������� ������ ���
���� �������� ������ � ������������� ��������:
����� ������� (word �� 16M) (4 ����� �� �������(2 ����� �����, 2 ���. ����� ������)=4*1024=4k, �� ��� word, �� ����� ����� ������ ���.������ ������ � ������ ���.������� �� �����)(������� ������ �������������� ������ ������ � ������� - ��� �������� ����� ��� ������ � ������������ �����)
���������� eff7 - ���� ����� ����� ������!!!
���������� fe? �� ���� �������?
������ ����� (0/8) - ���� ����� ����� ������!!! ���� �� ATM �� ������� � 7ffd ����� ��� ��� ���������� ������
��������� �������� ������� (���� ������������� ����) �� ����� ������� ����� ������� ��������, �.�. ���� ����� �������� ������ ����� ���������. ������ ���� ����� ������, ���� ����� ����� ��������, �� ���� ����� ����������� (��������� ��������) � �.�.
������� � ������ ����� �� ������ (������ � ������ ��������)
������ �� ������� ����� � ������������ ������ � ���� ����
��� ������ ���� ��� ����, � ������ ����� ������� �����, ���� ������ �����? ����������� ����� ��� �����?
������������ ����� - ������� ����� (���-�������, �������)
�������� ������ � ����� ������ - ������� �����
���� ����� � ��������� �� ������� �����, ���� � ��������� ��������� ��� ����� ��� ������� �����
���� ���� ���������� ���� ������ ���
����������� ������� (������� �� ���� ���������):
+����� ����� �������� range check (��� ����� � � ���)
+����� ����� �������� ����� ����� (��� ����� � � ���)
+�������� ������� ����� ��� ���
+����� ������������ ��� ����
�������:
-��� ��������� ������ ������� ������ �����, ���� ������������? ������� �������� ��� ��������?
-��� ���� �� ������ ������ ����� ��� ������ ��������?
����� ������������ ����� � ������� � ���� ���� ����������
������� ����� �� ���� ������ ����� ������� � ��������� ����.
� ����� � ���� ����! ��� ������ �����?
������ ������ �������� �� �� ���, ���� �� ���������� ������.
���� ����� �� ��� ��� �������� hdd! ����� ��� ����� ���� ����?
�) ������� ����� � ������ ����� (�������, ���� ��� ����� � ���������� ������� �� ������!)
�) ���� � ��������� � ���� � ������ �����
�) ������� ��� �����, ����� � ������������ ������ � ��� ������� �� ���� ����� ��� ��������
�) ��� ������������ ������ ������ �� ����� �� ������ � ������
;��� � ������������� ������
or a
semaphoreloop
call c,Sleep
ld hl,fsemaphore ;#fe - ��������, #ff - �����
sra (hl) ;#ff
jc semaphoreloop
;����� Sleep � ����������-������� ��������?
;���� �� ��������������� ������
ld hl,fsemaphore
ld (hl),#fe
���� ���� ��� ��� ��������, �� ������� ���� ���������� ���� ����, � �� ������ ������� �� �����, ����� �� ������, ���� �������� ������.
semaphore12loop
STARTCRITICAL
ld a,(fsemaphore1) ;#fe - ��������, #ff - �����
ld hl,fsemaphore2 ;#fe - ��������, #ff - �����
or (hl) ;���� ��� ���� ����, �� #ff
rrca
jnc semaphore12ok ;��������
ENDCRITICAL
call Sleep
jr semaphore12loop
semaphore12ok
ld a,#ff ;�����
ld (fsemaphore1),a
ld (fsemaphore2),a
ENDCRITICAL
����� �� ��� �������� ����� 60 ����, ���� � ����� �������� ������� ������� ����� ����/�������.
��� ������� ����� ���������� ����������� ����� �� ������ ��.
��� ������� �����, ������ �������� ������ ������ ��� ���������� ����, � ������ ��� ��������?
��� �� ����� ������� �������. ���������� ���� ����������� ����� ���������.
���� ��������� ��� �� ��������� �� �������, �� ��� ������ � ���� ��������, � �.�.
��� ���������, ���� ����� �� memory overflow ��� ������ ������� ������.
�� ���� ��� ��������� ������ - ��� ������ ����� ���� ������������ (��� ������� � ���������),
�� ���� ������ ����� � ������ ��� (��� ������� ���� ������).
����� ���� � ������� ����, ���� ��� �������� ������.
�������� ��� ������ � ���� ���� ������ - � #4000? ����, ���� ���� ���� �� ������� ��� ld a,%0x0xxxxx:out (#fd),a � ��� out #dffd, #fdfd, #1ffd.
��������, ���� #3ffd (���� �����, �.�. ��� #7ffd, #bffd, #fffd) ��� #9ffd.
��� ��� � #0000 (���� #FE ��� �������� ��� � ������ ���), ��� ���� ���:
1. ���������� ����������� is-dos chic (����� �� 128-� ������� � #0000),
2. �� �������� ������� ������� �� ����� ����� (����� #1ffd),
3. ������ ����� 0 (��� ���� ������������) - ����, ��� 5, 4.
���������� ����������� ��������� ���� ������ �� ����������� ������ ���� �� 0-� �����, ���� ���������� ������ �� ���������� ����� �� ����������� ������ ��������.
����� � ���, ��� ���� ����� ������� vtrdos ����������� ������ � #4000, �� ��� � �� �����.
�������� � ���������� ���� � #3dxx, �� ����� ���������� ������ ���� �� ����, � ������ �� ����, � ������� �� �����.
�� ����BQ ��� SOS: ��� ���� � #0000 ��� #8000 ��� �����������
����� ��� ������ �� ��������� ������������ (���� ��� 32� ��� ��+�����+
����� ����������+�������...). ����� ����� ������ ������ "5-�/1-� ���. � #4000". ����� ���� ���� � ������ "��� � #0000"?
��� ���� � #4000 ����� ������� ���, �� ���. ���� ������ �� 2 ����� �� 16�, ��� ��������.
���������� �������� ���, ���� ����� � #0000, �������� (����� ��� ��� inc h:call z,... � ��.). ������ ����� �� ���� - ��� ���� ���� � #8000.
������� ����� �������� ��������� SP � ��������, ����� ����� ���
�������� �������. ��� ����� � ������� ���� ���� ����� � ���. ����, �� ��� ���������� �� ���.
������� � ���� 3 ����: � ����� ���, � ������ �����, � ������ �����, � � �������� ����� ��������� ������������ - ��+�������.
���� ������� ������ ��� ������ � �� ���. ����, � �� ���. ����, ��� ��������� ������.
��� ���� ���� ���� ������ �� ����� ��� �������� ����� �� ���� ������.
���� ����� ����������� ������ �������� (���� BQ), ���� �� � #0000 (������������ ���.), ����� � #4000, ��� � #8000, ����� � #c000.
���� 2 ����, �� ��� � ������� ������ ���������������� ������� ����� ����.
��� ���������� ���� ����� ��� ����? �������� �� ������ ����� �����, ���� ��� ������ ����������� �����. �������� �� ����� �� ������? ������ ��������� ������� ���� �� fork ����� ����� ��� ��� (������ ���� ����� vfork). ������� � ���� � �� ��������, � �� �����... (�����: 1. ��, 2. ����� 8�, 3. ��� ������� ����� (����� �� ���������), 4. ��������� ������� �����, 5. �������� ����� �� 16�, 6. ���� �������, [7. ������ ��]). �� ����� ���� 7 ���� �� 8� (��������� � ����� ������) � ���� 16�. ������� ���� � �� ����� �� ����� �� ������; ��������� ������� ���������� ��������� ������������ �����; ���� ������ ������, �� ��� ����� ���� ������ �������� ������ ����.
������ ������� �������� �� ������������ ��� ����� ������ ���� � ���
������� ������. � ����� ������ - ���������:
WORD size
WORD nextpg
WORD nextaddr
��� ��������� �������� ������� ����� � � �� �������� ������� �� ������� ��������.
�������� ������, �������������� �� ������, ����� �� ��������� ������� ������.
��� ����� ���� �� ������? ����� ���������� ���������� �������� (�.�. �� ������� �� ����, � ����� ������� �� �������).
� ��� �������� ������ �� ��������? ������ ������� ���� ���� � ����� "������ �� �������".
�� ������������ ����� �� ���� ������� ����� �������� � ��������, ����� ��������� - � ������������.
��� ����� �������� ���������� ������.
���� ������� ��������� �� ����� �� �������, �� � �� ������ �������, � �� ����
� UNIX �������� � ���� ���-�� ������� ����� � �������� ��-�� fork.
������ �� fork, � ������ �������� � �����? (��� �������� �������� ��� ������)
�� ������� ���� ���� ��� � �����, �� ����� ����.
���� ���� �������� ���� (����� �� ������ ������, ���� ������� ������ �����), ���� ������� ������ � ����� (����� �� ������ ���� �����, ���� ������� ������ �����).
�� ��� ����� ���� ����� �� stack overflow � ����� ��� �������� (������� � ���� �����), underflow �� ����� �������, � ������������ ����� ������ ������� ����� ������������� � ����������. �� ������� ����� � ����� ��� ����� �����, �������� � ������ ���������� - ��� ��������!
16-����� ������ ����������� ����� 22 �����. ����� 32-�����?
���� ��� ��� ����� 100% �������� ���� ��������� �? ���� ���� ������� ����� ����� ������ ������, �� ��� ������� � �� �����, � ������.
������� ���� ����� � ��100% ��������� ��� ���� �� �������������
���� ���������� ����� �������� O(1), �� ������ �������� ������ ������ � ������ ����������� �����.
������� � ����� ������:
���:
+ �������� ������� �� �������� � �� (���� ����� ��� � ��������)
+ ������ ����� ������ ��� ������ (��� ������ - � �������, �������� ��������� ����� �� ���� �����); ���� - ����� ����� �������� ���� ������� � ������� (����� �������������� ������ �� ������� �����������)
+ ��������� ��������� �� ������� ����� � �������� ���
+ ����� ���������� RST (��� ����� ���������� �� ���������� ����!)
(���������� CP/M ����)
�����:
- �������������� � �������� 128 (� ���� ��?)
- ������� �������� ������� ������ � ������ ����� ������ (�� �������� ������), ��� � ����������?
�) � ��������� (����� ��������)
�) � ������� �������� ����� (��� � ���� �������?)
�) ������� �������� ����� = ������� �������� ����� (��� �������� ������, ����., DNA OS - ������ ������ SOS)
�) � ���� ��? ����� �� ������ �������, ������ ����� � ������� (� ��� ������/�������� �� ������?). ����� ������ �� ���� � ������������ ��.
������� ������� ���� ���������� � MSX-DOS �/��� CP/M.
����� ���������� ������������ ����� �� �������/����� � ���� � ��������
rpm -qa | more
ls -l `which su`
����� SManager.
��� ����� ���� ������ ���������.
������(� ������� ������) � ����������(�����) ��� ����� (ontimer, onkeydown, onkeyup) ��. ��� ����������� �������� ������, ��������� ����� (����� �� �����, � ����� ��� ����/�����)
� �������� ����� ������.
���������� - �����, ������ � ������ � �������� ������ ������� ��������� (� ��������� ���), ������� �������� ��������� (keypressed)
����������� ����� � ������.
������ - �������� ������� �� �������� ������ (�� ����� ������ ���������� �� �������� � �������, ��������)
�����, ����, ���� (������� �������) ���� �� API.
���������� ���� ������ �� [�� �������� ������� ���� �� ����� ������ ���������� ����� �! ���� ��� ����� gui, � �� ���������� ������ ������ - ���� ���� ��������� �� ����� ������, �� ���� �������]
API �������� ���:
��������� ������ OpenDevice � ������� �������� �� ������� ������� (��� �� ��� ������?)
������ �� ������ ����� ��� ����/������ ������� ��������, ���� ��� ����� �� ������� �� ���� (����� CloseDevice)
��������� ����� ���� �������� �������� ������� - �� ����� ����� ������, ��������, ����� ����������� (��� �������, ���� ������ � ����� �����������)
��������� ����� ���� �������� �������� ������� � ����� � �������� �� ������ ������� (���� �� � ����������, ����� ����� � ��������� � ������� �� ��������)
��������� �� ����� ���� �������� �������� ������� ������, ��� ������, � �������� �� ������ ������� (����� � ��� �� ������� ���� ���������� ����� - ��� �������� � ����, ��� ���� ������� � ����� �������� � ISR)
��������� �����? ����� ����� ����� ������ - ���������.���&������� � ����� �������� ����� ��� ������ ��������� ����; ����� ���� ������/������ ������� - ������ ������ � �������; !!!�������� � ���, ��� ���� ����� ��� ��������, �� ����� ������ ������� ������, � ��� � �� �������, ���� �� ����� ������� � �� �������� �������!!! � � ISR � ����� ��������� �������� ���� (����� ��� ���� � �������� ��� �������� - ���� � �������, ��� ������� FIFO-������ ������� � ��).
��������� �� ����, ��������� �� �����, ���� ���� �������. Ÿ ����� �����, � �������� ������ ������ ������������. ������ ��� ��, ���� ������� ����� ����� � ��� �� ������� (������ ���������� � ����� ���������, ����� � 32768)?
���� ��� ������ ������� ����� �������� �����, �� ������ ����� ����� � ��������� � �������� �� �����, ������� ��� (���� ��� �� � ����������).
� ���� ��� � ����������, �� ������ ������ ����� � ��������� (���, ���� �� ���� �� ���� ��� ����� �������� ������ ��������) � �������� �� �����, ������� ���. ���� ��� ���� �������� ������� � ��������� �������� (��� � ��������): "����� ���� �������� �� ����� ����-��", ����� ��� �� ����� ����� ��������� ������, �� ����� ��������� ������ ������-�������, ����� ������� ��� ������� �� ������ �����.
��� ���� ������ ����� ������� �� �����������.
��! ���� �������� ���� �����, �������� �� �������.
������ ����� ������� � SENDMSG, �� �������� �������� ����� �� �������� � ������� � ����� ���������.
����� ������� - �� ���������� ���������������� � ON_INT (�� � ISR!!!) ������.
��� ������ �������� (��������, � ���������� ������ � ����������) ����� �� ����� - ���� ���������
���������� �� ������� ������ �� �������, ����� ���� ������ �� ������ �������. � ����� ������ �����
������ ���� ��������� ��������� ������ �� ������� (���� ����� ��� - ����� �� ������ � ����� ��������� ���������; � ����� ���� ����� �� �������� ����� �������), ���� ��������� ������� ��� ��������� ����� ������.
����� �� ������ ������� � �����, ���� �� ������ ������� ���� ���� ��� ��������������.
��� �����, ���� ������� ��������� ���� �������� ��������� ����?
��� ������, ���� ���� �������� �������? ����� ������ � bitmap � ���� ������ �������? �� � ����� ��� ���������� ���� ���������� ������ ����������.
����� ������ � ����� ���������� ���� ������� �������. �.�. �� ���� , ��������, ����� � ������ (������ ��������) ���� �������. ���� ���� ������� �������� "�����", �� ��� ��� �������� ��������� ������ � ��� �� � ��������� ����� �������� ������ ����. ���� �������� ����� ��� ���� ������ (��������, �� F10), �� �� ��� �������� ������ ���� � ��� �� � ��������� ����� �������� ������ ����.
���� � ����� ��� ����, �� �� ��������� ������ ������.
� ���� ���� �����? �������� ����� ������ ������� ���� (�������� ���� - ����� ���� �������� ����� ���� ������ ���, � �� �������� ������� ����) � ���� �, ������ ��� ������ ������.
���������� ������ ����� �� �����: ���� ���������� ���� ������ ���� ���������� ������������ (��������, ���� DMA �� ����� - ������, ����� �������� �� ���������� ������ ������� ������� � ������� ����� ���� DMA: ���� full screen, �� ��������, � ���� � ����, �� ������ ����� � ���� ���� ������� �� �����)
��������, ���� ����� ������� ���:
IQ(������ ���������):
0. ��������� �� ������ � ����������.
1. GETMSG.
���� ������:
T1. ����� ������ ������;
T2. ���� ���� ���, �� ������ �� ���� �������� ����� MAIN.
T3. ������� �� 1.
���� ���������� (��� ����� � MAIN):
K1. ������� ������ ���������/��������� �� ������� ������;
K2. ������� �� 1.
���� "�����":
E1. ����� ��� � ������� ������ ������� "�����".
���� ������� �� 1.
MAIN:
0. ...
1. GETMSG.
���� � ������ �������� �����
{
���� "����� �����":
R1. ����� � ����� �������� "������ �������� �����".
R2. ��� ������� ��� (����� ���� �� ����� ����� IQ, ��� � BQ)
R3. � ����� ������ ��������� � ����� - ������� � ��������� ������ (����� �������� � R2, ���� ��������� �������� ���� �� ���� ��� ���� ����� - � BQ �� ���).
R4. ����� � ����� �������� "�������� �����".
R5. ����� � ����� �������� "�����, ����� �����".
R6. ������� �� 1.
���� "���� ���":
O1. ����� � IQ �������� "�����".
O2. ����� ����� ���� ���.
O3. ������� �� 1.
���� "�����":
E1. �������� ������ �������.
E2. ����� � IQ �������� "�����".
E3. ����� ����� ������.
E4. ������� �� 1.
���� ������� �� 1.
}
���� � ������ ������
{
���� IQ ������� "������":
Q1. ����� ��� � ������� ������ ������� "�����".
���� ������� �� 1.
}
���� � ������ ���� ���
{
���� IQ ������� "������":
Q1. ����� ����� ���.
���� ������� �� 1.
}
���� � ������ ���
{
���� "�����":
Q1. ����� ��� � ������� ������ ������� "�����".
���� ...
..
���� ...
B1. ����� ����� �������� �����.
B2. ������ IQ � ������ �����������.
B3. ������� �� 1.
}
����� ������������ �������� ������, ����������� ���������, ������ ������� ������ ������ � �������, �� GUI � ��������� �� �����.
���� ���� GETMSG ��� ��������, ���� �������� ���, �� ��� - ����� ������� ���������� �������� ������, ������ � ���� ����� �������� ���:
1. ��������� ��� �������� �������� "�����, ����� �����" � ���� �� ���� ����� ��������;
2. ����� ������� ������� ��� �������� � ���� ����� ����� ��������, �� ������� ���������� �������� "����� �����" � ��� ��� �� ���� ����� ��������;
3. ��������� ��������� �� �������� "����� �����".
���� ���� Wolf/Quake ������ ������� �� ������� ������-������.
������ ��� � ���� ������ ����������+�� (��� ���� ����) � ������� � ������� � �����.
������ ������ ����� � ����������� �� � ������� ������. (���� ���� ������� ���� > 70000t, �������� ��������������.)
��������� ����� ��������� (�������� ������ + ��������� � ������ ��� ������� ���������/�������� ������),
��� ����� ����� �� ���� ��������� ������ � �������.
������ ����� �� ������� (��������, General Sound).
������ ������ ������� ������ ����� ��������� � ������ ��������.
���� ����� �������� ������ � ������������, ���� ��������� (����� � ����� ���� �����, ���� � ���� ����� ����� �� ����� EOF).
���� ���������� ������������, �� ����� ���� ������ �������
(����� ��������� �������� ����� ��� ���������� ����� ���������+�� � ������� � �������).
����� �� ������� ��� �������� EOF � ���� ������? ����� ��������� �������� ������ ������� ��������� ����� (� ������� �����)?
�� ����� � ����� (��-���� � ��������� EOF) �� ������, ��� � ������� ����� ������ ������ ���� ������ (���� ��������� �� �����, � ����, �� ���� ������, ��� ����).
�� ���� ����� �������� �������� ������� ���������� �� ������� (��� ��������� �� �� ������� ��������� � �������),
� � ������� ������ ����� ����� �� ����� ����
(��� �� ������� �������� ��������, ��� ����� ������ ���������� ��������, ��� ��� � ����� ������).
��������� � ����� ��������� �������� (��� ����� ���� �������� ���� ������) ������ �������� GETMSG, ������ �������� �� �������.
50Hz ����� ������ "������", ������ ���� ���������� �� ������ ����� � �������� �� �������.
������� ������ �������:
���� ��� ��� ���� ����� � ����������� ��������, ������� ����� ������, �� ������� � � ���� ������ �������� (��� ���������� ������ �� ������ � ������) � ������� �� ��.
���� ��� ��� ���� ����� � ����������� ������, ������� ����� ������ ��� � ������� ���� ����������, �� ������� � � ���� ������ ������ (��� ���������� ������ �� ������ � ������) � ������� �� ��.
���� ��� ��� ���� ����� � ����������� ����, �� ������� � � ���� ������ ���� (��� ���������� ������ �� ������ � ������) � ������� �� ��.
���� HALT.
����� ������ 256 �����������: ��� � ����� ������ ������������ �� �����������.
� ������ ��������� ����� �������� �� ����� ������ �� ����� �����������.
�����, ��� ����� �������� �����, �� ����, �� ������� � �� ����� ���� ��������, ����� �����, ��� �������� �����
��������� NMI - ������ �� ON_INT (����� � ������, ���� ���� ��������� NMI?)
��� ������ 54 ����� (���) ����� �������� RS232 �� ������� 50Hz �� ������� �� 23040 (������� 5) ���������
���� ���� RS232 �� ������� � �� ������� �������� ����� ��� ���� ���������
���� ��� ������� �� ��� ���� � ����� ���, �� ����:
������ ����� � ���������� ������� �����, � ���� ���� ����� ����� ������ �������� ���� �������, �� ������ ���� ��� ������ ����� �������� ������� (����� ����, �� ��� �� ����� ����� �������� ������� �� ������)
������ ���� ������ �������� � ������ ����� ����, � � ������� �������
� ������ �����:
Struct app
Byte priority ;���������
Byte flags ;����� (factive, ftimeslice, fusetimer)
Word mainpg ;������ ������� ����� (��� ����� ��������)
Word curmsg ;����� ������� ������� ���� �����
Word endmsg ;����� ���� ������ �������� ���� �����
Word curpg ;����� �������
Word sp ;������ ����� ����� (����� ������ � ������� �������, �� ��� �����������)
Word next ;�������� �� ������ ����� (������ �� ��������� ������ ���� �� ����������)
;[����� �����, ������ ��� ���������� ���� ����� - ������ ��� ������ � ������� � �������/���������]
EndStruct
������� ������ ���:
��� ����� ������� ����� �� ����� ������ ���� (�.�. �� ��� ����������)
���� ��� ����� ��� �� ���������, ��� "������ ������ ����������", �� ����������� ���� - ����������
���� ����, ��� "������ ������ ����������", ���������� ��, ����� � �����.
����� �������:
��� ���� � ����� ������="������ ������ ����������"
��� ������ ������� (� ���������� ������� �� ��������) �������: ���� ����������� ����� ����� ��������� ��, ��� �����(��� ��� "������ ������ ����������", ��� ������������) ����� � ��� ���� ����� ����, ��� ������, �� ������=����������� �����
������� ������� �������� ������ ���� � ����� ������.
����� �������� ����� � ���������� ������� ����� (256 ����)
� ������� �� �������� �������� ����:
Struct msg
Word type ;��� ������� (2 �)
Word sender ;����� ������� (2 �)
Array param,12 ;�������� (2-������) - ����� �����������!!! 6 ��? (����� ���������=16 ����)
EndStruct
����� �������� ����� �� � ���� ����� ������, ���������� �� 256 ����. �.�. ���� ����� ����� ���� ����� �������, � ����������� ��� ����� ����� �������. �� �� ����� ��������� ���� - �� �������������� ������ (#C000)? ����� Ctrl+Alt+Del ����� �������� �������� ��� "��;����� ������ ��������"
����� ���������� ����� �������� (� ���������� �� ������� ��������),
���� ���� ������� ������ � ����� ����������.
�� ��� ���������� (��������, ����������) ����� ����� ���� ��� �������,
���� ��� �� ���, ����� � �������?
Windows.pas:
tagMSG = packed record
hwnd: HWND;
message: UINT;
wParam: WPARAM;
lParam: LPARAM;
time: DWORD;
pt: TPoint;
end;
Types.pas:
TPoint = packed record
X: Longint;
Y: Longint;
end;
�� ��� ��������� ��� + 4 ��������� + ����(����?)
��� � ����� ���� �������� �� �������� ����������� �� ������ ������, ���� �������� � ������ ��� ���������. �� ���� �������� ����, ���� ��������� ��������.
[20:15] <alone> ��� ��� � ���� � ������� ��� �� ZX: MagOS (�� ���� ����� ����������) + ������������� + �������
[20:16] <alone> ���������� �� ��� (���� Alt+Tab, �� ����� ������, �.�. ���������� ����� �����-������� ����� �����)
[20:16] <alone> ��������� ���������� � ����������� ������
[20:16] <alone> ����� ���� ���� �� ���� ������� ��������������
[20:17] <alone> � ������������ ������ ������ ����� ������� 47K ��������� � ������ #400 + ������ ������ ������ (������ ��������)
[20:17] <savelij13> �� ��� �� �� � ������� ������� ���� )
[20:17] <alone> �����, ����� ����� ����� �� �� ��, ��� � �����, ����� ��� �����
[20:18] <alone> �������� ��� �����, ����� �����, � � ���� ����� ������
[20:18] <savelij13> �� �� ���� ����� ������? ���� � �� ��� ������ ���
[20:18] <alone> ��� ��� ������ ��� ������ �������
[20:18] <alone> ������ ��� ����� ������ ������
[20:19] <alone> ����� ���-�����
[20:19] <savelij13> �����?
[20:19] <alone> ������ ��� ��� ������ ������ ����������������
[20:19] <alone> ����� ������ ������ ��������
[20:19] <alone> � ��� ��� ��� ��� ���� ���, ����� ������ �/� ��������� ��� ����� ��
[20:19] <savelij13> ������. �� �� � �������� ������������. ���� ���������� ��� ���� � �� ��������� )
[20:20] <alone> � ����� ����� �� � ��� ����, ������ ��� ��� �� ������� ����������� ����� ��� ���
[20:20] <alone> 47� ����� ���� �� �� �����
[20:20] <alone> ����� ���� 63�, ���� ����� �� ����� ����� � ����
[20:20] <savelij13> �� ��� �� ����� � ���� �� ���������������� � ���
[20:21] <alone> ��� ��� �������������� ���� �-� �����
[20:21] <alone> �� ���� ����� ����� ������
[20:21] <savelij13> � ��� ����� �� ���������?
[20:21] <alone> 100% ����������
[20:21] <savelij13> ��� ����� ���� ��� �� ����� ��� ����� �����?
[20:22] <alone> ������� �������
[20:35] <alone> ���� � ������ #100 ���� ���, ���� �� ������ ��/� �������
[20:35] <alone> �� ������� ���� ��� ������ ��� ��� ���� ������������� ������. � ����� ���� ���������
[20:36] <alone> �� ���� � ���������� ��/� ���� ������� ������ "������� ����", "����� ����", "��������� ����"
[20:37] <alone> sleep - ����� getch
[20:37] <alone> ����� ����� �������
[20:37] <alone> ������� � ��������� �����:
[20:38] <alone> ��� ��������� ����� � ������� ����
[20:38] <alone> ��� ������ ��� ������������� ��� �� ������� ���������
[16:21:03] <Leaf44119> ������� API - �� �������, ��������� - �� ����
[16:21:27] <Leaf44119> ��� ��� ����� ��� ��� ���������� - ������-�� ����� ����
���� ��� ����� ��� ������� 63� ���� 47�+����.
��� ��������� ����� � �������?
�) ���������� �� ��������?
�) ��� ���������� � ����� �������?
�) ��� ������ � ����� �������?
��� ������� ��������� sp? 0 �� 63�, �000 �� 47�?
�������� �������� �����! ��� � ������� ���� �� ������
�����.���.: ����� �� �������, ���������� �������� � ������ �������� ������ �� ������ ������ ����� ��������, ���� ����� �����
��� ����� ����� ��� ��� ����������, ���� ���������� � ��? ���� ���� �� 31� �����: ���� ��� ����� ���������, �� �� ��1!!! ����� ��2 �� 31� ����? � ��� ���� ������? ��� ����� ������ �������� ������ �������� ���� � 0?
������ � �������: ���7, ����������, 16�, ��� � 0, ������ ��� 7���, 7 ��, 320 �����, ��������� � ����� �� �����, ������ (����� ����� �� ������ � ����� �80 ��� ��������� ������80) - ������� ����� ������80. � ��� �� zxbus?
������-��������:
���������� 128� (48K?)
���� �� ������� ������ ��, �� ��� ������� (� ���, ������ ���� 16�! ��� ��� ����� ������ �� ��������)
��������� ���� (������� ������ �� hl', ��� ������ ����, � �� ������), ������� ���� ����� �� ����� ��
��������� ��� ���� �� ������� ������� (���� �� ���� ��� ������ ������)
���������� ��������� ��������
������� ����� ������������
������� �������������� � ���������
���� ������ ������ ����� ���� ��� ��������� ������������� ��� �������������
�������� ����� ������:
1. ����� ���������� (��� �������?)
2. ��� ������
3. ���� ������� ���� ���������� ��������
4. ��� ������, �� ����� ������ �������� (��������� ���� � ��������� ������� (�� ����� ����� ���� ���� ������� � �����), ��� ���������� �����)
5. ��� �� ������, ��������, ������� ����� (���������� ������ �����, �������� �����? � ��� �������� ����������, ���� ����� ��� ����� �������� ������������?) (������� ����� � ����?)
���� ����������� � ������ (�.�. �� �������� ������ �������) ���������� ���� ���� � ����, ����� �������� �������� � ���������� ����� �� ������� �� 256 ����.
��� ����� ������ ���������� (DS n ��������� �� ������� ����� ��� ������������, � � ����
��� ���������� ������ >=#xxfa ������ jp #(xx+1)00. ���� � xxfa �� �����������, �� �����
��������� 4-������ �������, � jp �� ���������.
� ��������� ���� ���������� jr �����.
jr ����� ����� ������������ ������ �� jp ��� ������������.
djnz ����� ���� �� ����� ����� Z, �.�. ������ - dec b:jp nz).
����������� ������ ������� �������� ���� ����� ������ ����������.
��� ������ ������ ����� �� ����� ��������, ���� ��� ��� ����� ��� � ������ ����� (� ��� ����� ���������).
����� ������ � ������ ����� (�� zxrar) ����� �������� �������� �� 256 ���� (��� ���������
������������� ����� ���� �������),
� ���������� ������ ����� ������ ������� ������� �������, ������ ������� ���� ������ ����
���������� �� ����.
����� ���� ���������� (����� ������ ���� � ������ �����):
���������� ������
������� � ���������� ���������
��������� ���� "�������� �� ���������� �����"
������ ����� ������ ������� �������
������� ���� "�������� �� ���������� �����" (��� �������� ����� ���� �������� ��������)
�� ������������, ����� ���������, ���������� ����� � ��� �� ��������� - �� ������ ������� � ������ "����� ����� �������� - ���� ����� ��������"
����� ������������ ������ �� ������� ���������, ����� ������ ���������, � ���������� � ��� ��
����� ���������� ��� "��������" ��� ��� "�������� ��� NULL", �.�. 0 �� ����� �����������, ��� ��� ��� � ������
��� ������� �������?
exd � �����, ���� ��� de!=��� hl, ����� ����� ����� �������� ������
ld h,(hl) � �����, ���� ��.��� hl!=���.��� hl, ����� ����� ����� �������� ������
ld l,(hl) � �����, ���� ��.��� hl!=���.��� hl, ����� ����� ����� �������� ������ (��� ����� ����?)
ld hl,(hl) - ���� �������� ������, ���� �� ������ � ��������� A
���� ����� � ���� �����������.
��� ���� ����� �� ���������� push:pop, ��� � jr, ���� �� ��� ���������� �������.
��� ���� ���������� �������.
�������� ���� (��������, setpage) �� ����� ������ ������� ����� � �� �� ��� �������
(���� � ������� ���������: 1. ��������� ��� ��� ��������� (����� �����, �� �����);
2. ��� �� �/� ����� ���������� �� ������ ������ �������� � ����� ��� ���������)
��� ����� ����� � ���� - ��� 4 �����, �� ����� 2 �������� (����������), � 2 ����� (���)
����: push af:call [z,]...:pop af
����������� ����� bc: push bc,bc:...:pop bc(����������),bc
����������� �������� hl: push af,hl:...:pop hl(����������),af
���� ������� �� ����������, � ��������� ����� ����� � IX, IY, �� ��� �������
�������� �� ���������� � ������� ��� �������?
�����:
ld (pointer1),ix
pointer1=$+2 ;H ����������, ���� ����
ld iy,(0)
;40t
�����:
ld (pointer1),ix
pointer1=$+2 ;H ����������, ���� ����
ld (0),iy
;40t
���� ���� ������� �� (ix+...), �� ������ ���������� ���������� :(
push ix ;��������, ��� ��� ���� ����������� ��������
ld de,...
add ix,de
ld (pointer1),ix
pointer1=$+2 ;H ����������, ���� ����
ld iy,(0)
pop ix
;94t
�����:
push ix ;��������, ��� ��� ���� ����������� ��������
ld de,...
add ix,de
ld (pointer1),ix
pointer1=$+2 ;H ����������, ���� ����
ld (0),iy
pop ix
;94t
� ��� �� �������:
ld a,ly
ld (ix+...),a
???ld (pointer1),ix ;?????????
ld (ix+(...+1)),0
pointer1=$-1-1 ;����������, ���� ���� (����� H)
���� ����� IX,IY, �� ���� ���������� LDIR � ����� ����-����� (256 ���� (DE),(HL)).
��� ����� � ����-�������, ������ �� �����, ����� ������ ��������?
�������� ������������? �� ����� ���� � ���� ��� �������� - �������� ��
����-����� �� �����, ��� ������� ���� ��������� �� ������?
��� �� ������ � ���������� ����� � ��������� ����.
� � �������� ����� ����� ������.
������ ������ (� ������ ������) �������� ����� �������� ������, � ������ ����� �� ������� �� ��������.
�������� ���� �� ���������, ��� �������� ����� �������� ������ � ����� �� ������������ �������.
��������� �� ������ ����� �� ���������, �.�. ���� ��� ������ �����
������� ����� ����� ���������.
������ ������ �� ���������, �.�. � ��� ��� ����� �� ���� (�����, � ��� ��� ����� �� ����, �.�. ������ ������ �� ��������� � �� ����������� ��� ������������).
������� ��������� ��� ���� � ����� ����� ������� ���
������������ � ���. ��� ����������� � ��������� �������.
� ��������� ���� (� ���������� �����) ��������� ����� ���� (������������ ����),
��� ���� ���� ����� � �������� �������.
�������� ������� ��������� ��� ���� � �����, ��� ����� ����������
���������� ������� ����� �� ������ ���������.
������� �� ���� ����� ������� ������� � ������ �� ������� ��������,
� ��� ������� ������� �������� ���������� ����� ���� ����� ������.
������� �� ���� � ��������� ���� ����� ���������� ��� �����,
�� ��� ������� ������� ��������, � ����� ������� �������.
����� ���������� ������ ����� ����� �������� ����:
(1 ����) ����� �������� � ������
(1 ����) ������� � ��������
��� �������� ���� ���� ��� ����� ������ <��. ���� ������ ��������>(<����� �������� � ������>)
�� ������� �����.
�� ������� �������� ����� ����� ���� ������ ����, ��� �� �������
�� ������� ����� ����� ����� ���� ��������, ��� �� � ������ ������� ������, ��� ��������
�� �������� ������� ���� ������ (���� ����� ��� ������ ���� �������)
������ �� �����:
==================
�� ������� �������� �����
{
��������, ��� �� �� � ���
���� ���, �� ��������� ����, ��� �� �������, � ����� ������ ������� ������
}
�� ������� �������� �����
{
��������, ��� �� �� � ���
���� ���, ��
{
���� ������� �� ����� ������ ������� ������
��������� ��� � ����� ������ ������� ������ (���� ����� ������, �� ���������)
�������� ������ ������� ����� � ���� ����
�������� � ������ ������� ���������
}
�������, �������� �� ����� ��������
���� ��, �� ��������� ���, ������� �� ���� �������
}
�� ������ ������� ��������� ��������� ������ <���� ��. ���� ������ ��������>(<����� ��. ���� ������ ��������>)
��������� ����� � �������, ������ �� ������� ������������� ������ ���� �������
����� ������ ������� ���������
������ ����� ������� �� �����
�������� ����
������� �����:
1. ��� �� (� ��� ����� ��� ��������� �����)
2. ���� ���� ��� ��� (������ ������� - 256 ����? ��� 16?)
3. ���� ���� ��� ����� (����� � ����� �������� � �����, ��������� �������� ���� �� ������ ����� ������ �������� �� ������� ��� ���, �� ����� ������� ��� ����)
4. ���� ���� ��� ���� (��������� 256 ����)
5. �������� ���� (����� �� ������� ����� ���� ��� � ����, ��� �� �� ������ �������� ������� ����� �����)
6. ���������� ����? (� ��� ����� ����� ��� ��, ��� ��� ���/�����/����, �� 256 ����)
7. �����? (��������� ������ � �������)
8. ���� ��� ������� (����� � ���; �������� ������ ����� ����� � ����� ��������� ���� ���� ������ ����� �� ��������) (������ ������� - 256 ���� ��� ��� ������� �����? ��� �� 16 �� ������� �������?)
9. ���� ��� �������� ������� (� ���?)
������ �� ����� ��� (���, �� �����...) ����� � ����� ������ �����, � �������� - � ����.
��� ��������� ������ ����� �������� ������ ������� � �������/�������� ���� ��� � ���� ������ �����.
����� ����� ������ ����� ������ ������� �� �� �� �����!
���� ���� ���� �������� ��� ������ ������� ���, �� ��������:
������ �������� ���� - � ���� ����� ������� �������.
������ ������ � ���� ����� ����� �����.
���� ����� ����� ����� � �����, �� �� ��� ����� ��������� ����� ������ ��������. ���� ���� ������ ������������, �� �� �� ����������� ��� ����� �����! ���� ���� ����� ����� ������� ������ ���, � �������� �� ������ �������.
���� �� ����� ����� ���� �� ���������� �� ���� ��������, �� ������������ � �������� �� ������ �������. �� ��� �� ������� ����� ��� ���� ���� ����� �������� ��� ��������.
���� ������ ����� 16 ����, �� �������� 49152/16=3072 ����� �� ����� �������� (��� ����. 256 ������� � ������ �����). ������� � ��������?
������� � ��� ����� �������� �������� �� ������� ��������.
������ � ��� ����� �������� �������� �� ������� ������.
� ���� ��������� ���������� ����� ������ ��� �����, ������ �� �� ��������,
���� ����� ��� ��� ����� ��������� (������� ������ ����������?). ���� ������ �����������, �� ��� ������� ���� � ����� �� ���� �������. ������ �� ����� ��� ���� - ����� ����, �.�. ���������� ����� �� ���������.
���������� ������ ������, ��� ������� ������� � ������ �������� ����� �� ���������.
���� �� hl' (����� ���� ��� ����� - ���� ���������� (SP), ������ ������������ (hl') ��� (IY)):
����� ������ ������ ���� ����� � ������ � ������ #c000...#ffff � ������� �������
����� �������� 8192 ���� �� ������
����� ����� + ��������� ����� ������
call:
exx
ld (hl),nnH
dec l
ld (hl),nnL
call z,os_growstack
dec l ;�������� �� �� ������, � �� ���� ���� (����� �� ������ �������)
ld (hl),d?? ;pgH
dec l
ld (hl),e?? ;pgL
call z,os_growstack
dec l ;�������� �� �� ������, � �� ���� ���� (����� �� ������ �������)
exx
ret:
jp os_ret
os_ret:
exx
inc l
call z,os_reducestack
ld e,(hl)
inc l
ld d,(hl)
call os_setpage
inc l
call z,os_reducestack
ld e,(hl)
inc l
ld d,(hl)
exd
ld a,(hl)
inc l
ld h,(hl)
ld l,a ;��� ��� ��� jp?
exd
push de
exx
ret
��� �� ��������, ��� �������� ����� �� ����������!
���� �� ����:
(���� ������� ��������� ����� ����� ��������, �� ����������� ����� - �� ��������� ������)
(��������� ������ ������� �������������� ������� ���, ���� ����� ���� ������ � ������� ��� ���� ����� ��������, ���� ��� ��������)
���� ���������, �������� �� ������� �������� ������ (��� ����� ����� ���������� - ������!)
�) ������ ���.�������->���.������� (������ ����� �� ����������!!!), ��������, �� ����, �� ������� �������� ��������� ��
��������! ���� ���� ����� ����� ������ ����� �������!
�1) ��� �������� �������� ������
�2) ��� �������� �������� ����� �������� �� ��������� (����� ���� - ���� ����� (���������� - ������), �� ������ � ��� �� ��������)
�3) ��� �������� �������� ������ �������� �� ����� (������ ����� �� ����������!!!) - � ������ �����
�) ������ ����� �������->���.������� (������ ����� �� ����������!!!) - � ������ �����
����� ��� ������� ����������� � ���� ������ ����������� 0000 � c000:
1. LEC Memory Extension (1987)
2. MB02 (1992)
3. ATM2/2+ (1992/1993)
4. ���� fk0 �� KAY, Pentagon, Scorpion (ZX-MMU) (2000)
5. ������� ������� KOE �� Pentagon 1024SL2.x (������ ���� ���������� �� #fe) (2007)
6. ATM3 (2010)
[7. ������� ������� LVD �� NeoGS - �� ��� ������ NeoGS]
��� ��� � ��� ����?
�) ����� ���� ����� � ����� ���� ����� (�������� ����� ������ ���) (��� ������ �� �����? ����� �������� ��� ����� ������ ���?) (���� ����� �� ������ � ������� ���� ����� ����� �������� ��� ������ ���)
�) ����� ���� ����� � ����� (����� �������� ����� �� �����, � ���� ����, ������ ������ ��� � ������ �����)
�) ����� ����/���� ����� � ����� (����� �������� ����� �������� � ������� ������ ������ ���� - ������ ����� ����� �������� ��� �������� - ����� ����� ���� � ������ ������� ����)
�) ����� ����/���� ����� � �������� ��
�� �����������:
�������� �� 48�
��� ���������
��� ��
�������� ������ ����� ������� ���� 16� � ������ �����
������� ����� ��� ������� � ������ (����� ������� ��������� �����)
������� ������ ��-��� ��������? �������� ������ (���� ����� ������).
� ��� ������������ ���� ����? ����� ���, ��� ���?
�� ���� ����� ����� ���� ������� � ������ ��� (���������� ��� � �����) � ������ ��� ����� � ������
����, ���� �� ������� ������. ���� ������ ��� � ������� � �����, ��� ������� �� ���� ���� ���
��������������.
��� ����� �� (48K ����� ������ ����) ������ ����� �� ������, �� ���������� ����� ������ ���������
����� 1 ������ (� ����� ����� � �������� - ������������� ������� ���������).
���� ������ �� ���� ����, �� ������� � ��������� �������, ���� ��� ������������ 3-�������� ����, ���� �� ���� ���� ����������� ������� �� �����?
���� ����� ������ "����" (���� ������ ����������� ����� (���)) � ������ �� "���" (������� �������� ���������).
� ����, ������� �, ������� ������ (������ ���������� �� ���� ������), �� � � ��� ����� ����� ����� �������� � ���� �������!
��, ���� ������ ������ �� ���������� ���� ����, �� ����� �� ������ ��������� ��� ���������� �� ����, �� ��� �� ��� �������.
�� ����� �� ����� "���������������� ������ ����������� �����" (����):
����� ����� �������� �������� (�� ����� ��������), ��� ��� ����� ������ ���� ���� ������� �� �����������.
� ������ ����� ��� ���� �����:
- ������ ����� � ����������� ���� (� ���� ����� ������ � �������� � �������! pointer!=dynpointer!)
- ���� (��� �������� �����������!)
- �������� ���������
- �������� ������ �� 256 ���� �� ����/����
Thunk'� ��� �� ����� - ������ ����� �� ������. ������ ���� ����� ��������� - ����� ������ ���.
������� ��� �����, � ����������� ������ ����, ���������� � ����� ���
������� ��������, � �������, ����� ������ ���� ������. ����� "�����������
������ �����" ��������� ����� ��� ������� ���������, �� ����� ����������
������ ��� ��������� ����-�������!!!
�������� ������ ����� ����, �� ��� ����� �������� �������� ��
������, ���� �� ����� ������������ �� �������� � ������
�����, � �������� � ������ � ������ ������� ���� �� �����
(� ��� ������� ����� ������ ������������ � ������ �����, ���� ������
�������). ����
������ ������ ����� �� ������� ����� - ����� �������� �����
������ (� ���� ����� ������������ ��� ����� �� ������ FARCALL
name_of_function, ������ ������������ � ���� ������ � ��������
2 ����������: ����� �����, �����/����� ������).
����� ������� ����� ���������� ���������. �������
��������� �� ����� � ����� - �) ����� �������, �) ����� ���������
������, �) ����� ������ (ld (de),a:inc e:call z,os_queue_put �� �������� ������� � ld
a,(hl):inc l:call z,os_queue_get �� ���������).
����� �� ������ ��������� �� �������������� ������ (��������,
����� ������ �� ���������).
��� ��� �� ��������� ��������� �����, �.�. ���� ����� � �����, �� ��������.
�� ����� ������������ �� ����� � �������� � �������� - �����������.
����� ��� ������ ����� ����������� � ���� ������������ �������,
��� �� ������ ������������ �������. ���� ���������� � ���������� ������
������ ������� � ������ ����� (���� �� ��������� ����� ��� ������ ����� ��������).
� ������ ������������ ����� ����� � �����, � ������ ����� ����.
������ ������� ������� - ����� � sword, ������ ������� - ������ ������� �� ����� ������.
(�� �������� �� ����� sword'�� ���� ������� � ���� ������� ���� call z, � � ���� �������
bit:call z)
���� � ��� �� ����/������ ���� ������� ����� � �����? � ��� ����� ������ �������?
(��� ������ ������ - (PC)). ���� �/� ���������� ������� ������ ����� �������� �������.
���� ������ ����� (���� � �� ���������� ���� writeable) ��� ���� �� ���� �������
����� (flush).
���� ������� ����� �����, �� ��� ����������� ������� ����� ������� 5000t �� ���� 256 ���� + ������ �� ��� ������ ���������� ���� (flush)
�� ���� ����� ����� ����� ���� ���� (��� ������ ����� flush ��� ��������� ������� �����)
sword ��� ����� �� ��� ����� (��������� �� �������), ������ �� ������ ����� ������ (���� ������� ������� �� �������� ������ ����, �� ������ ���������� � ���������� ������ �����)
� �������?
os_farcall_fromlow
;de,bc (��� de,bc,ix,hl �� ���.������ � long) = �������� �������� �������, �� ���� � �� ��������
;hl(iy?) = calladdr
;a=callpg (���� ������!)
call os_set_pg_a ;��������� bc
jp (hl) ;iy?
_farcall_fromfarpg1
;de,bc (��� de,bc,ix,hl �� ���.������ � long) = �������� �������� �������, �� ���� � �� ��������
;hl(iy?) = calladdr
;a=callpg (���� ������!)
call os_farcall_fromlow
ld a,retpg1
jp os_set_pg_a ;��������� bc
;��� thunk, �� � ����� ������� (�� ������ �� ����� ������� ����)
� PT player ���� ����� ����� ����� � ������� � ������ � ��� ������ �������� 13-14K.
���� ������� ������ ���� �� ����������� - ���� ��������?
���� ���� ���������� ��������� ����� �� ����� � ����� � �� ����� � ����� ����� ������ � ������ �����?
1. �� 21 ����/���� �������� ���� ��������
2. �� 65 ������/���� �������� ������� ������ � �������� ������� ����� (� ���������� 256 ���� ��� ����� ������)
����� ������� ��� ������?
1. ��� �����, ����� ������� �� ������? ���� � �������� ������ - ����� �������� �����?
2. ��� ��, ���� ������� ����� ��������� � �� ��������� � ���.��� �� ��, �� ����� ��������� �������? ���������� ���� ������?
���������� ���� (���� ��� ����������), ���������� �� �� ������
������, � �� ������ �������� ����������?
��� ��������, �.�. ����� ������������ ������ �� � ������ ����� � ������ �������� - ����� ����� �� ������.
������� ����� ����������
����� ����� ���� ������, � ����� ������ (������ ������ �� 256-�����
���������, ����� ��������� � �� �����).
���� �� ���� �������� ����� �� ������ �������� ��������� �����.
�� ���� 2-������ ������ ������, � �������� ������� � ����.
� ��������� ����� (���� ��� �����) ��� ��������� ����� ������, �
��� ��������� ������ ������� ���������� �����.
������� ��������� ����� ������� � ��������� ����� (���������
�������) �����������
������ - ������� ������, ���� ������, ������������ ������.
������� ����������� ����� �������� ������������ �������
�� ������� �������� ������ (256 ����) ���� ������ ��� ������������: page, H
����� ������ ��������� (256 ����) �������� 85 1/3 �������
����� ��������� ����� �� �� 85, ��� ��� ������ �������� 256*(85 1/3)*85 ����
��� ����� ������� � ������� ����� ������? �� �������� ��� �������� �����
..
copyloop
ld a,(hl)
inc l
call z,user_queue_get_lowmem
ld (de),a
inc e
call z,user_queue_put_lowmem
dec bc
ld a,b
or c
jnz copyloop
..
user_queue_get_lowmem
;������ ���� ����� hl
ld (user_queue_get_lowmem_a),a
ld (user_queue_get_lowmem_bc),bc
exd
ld (user_queue_get_lowmem_de),hl
ld hl,(os_cur_pg)
ld (user_queue_get_lowmem_pg),hl
call os_queue_get_lowmem
user_queue_get_lowmem_pg=$+1
ld hl,0
call os_set_pg ;��� ���
user_queue_get_lowmem_de=$+1
ld hl,0
exd
user_queue_get_lowmem_bc=$+1
ld bc,0
user_queue_get_lowmem_a=$+1
ld a,0
ret
os_queue_get_lowmem
;de'=�������� �� ������ ��������� (���� � � � ���� ����)
;hl'=�������� �� ������ �������� ����� ��������� (���� � � � ���� ����)
;� ��� ������ ����� ��������� �� put-������???
exx
ld a,(de) ;pgL
inc e:call z,os_queue_get_lowmem_block
exx
ld l,a
exx
ld a,(de) ;pgH
inc e:call z,os_queue_get_lowmem_block
exx
ld h,a
exx
ld a,(de) ;H
inc e:call z,os_queue_get_lowmem_block
exx
call os_set_pg ;hl ;�� ����, �.�. os_queue_get_block ��� ����� ����� �������
ld h,a:ld l,e ;=0
ld bc,256
ldir
dec d ;����� ������
ret
os_queue_get_lowmem_block
push de ;�������� �� ������ ���������
ld e,(hl) ;pgL
inc l
ld d,(hl) ;pgH
inc l
exd
call os_set_pg ;hl
exd
pop de ;�������� �� ������ ���������
push hl ;�������� �� ������ �������� ����� ���������
ld h,(hl) ;H
ld l,e ;=0
ld bc,256
ldir
dec d ;����� ����� ���������
pop hl ;�������� �� ������ �������� ����� ���������
inc l
ret
os_set_pg
;������ ����� bc
;������ push ����!!!
;(����� push bc, ���� ��� 100% �����:
;������ �����, ����� � �������� �� ���������, ������� � ���������,
;� ��� ���������� �������� ��� ��������� ����� � �������� �������)
ld (os_cur_pg),hl
ld bc,memport1
out (c),h
ld bc,memport2
out (c),l
ret
17.12.2007
18:57 LordVader ��� � ����� ��� ������� ����� �� � �������
LordVader ���� ������
18:59 alone_co ���� �������� ��������� �� ����� ��������
alone_co ����-�� � ���
19:00 alone_co ��� ��� �� �� ������, � �������� ���
LordVader ����� �� �����
19:01 alone_co ����� ������ ��-����� ����� ������: ���, �����, ����, ��������, ��������
LordVader ���� ��� �� ������������� � ������ �������
LordVader ��� - �� �����!
alone_co �� ����� �� ���� ������
LordVader �������� � �������� ����
LordVader ���� "� ���� � ����� ������"
alone_co ��� - ��� ���� ��, ������ �������� ����� �� ����-����� � ������ �����, ����� � ������� ����������
LordVader
http://www.6502asm.com/
19:02 alone_co � �������� - ��� ��, ���� ���� �� ��������
alone_co ��� �� ����� ������� �� �����
19:03 LordVader ���� � ����� ������
LordVader �� ��������� ��������� ���� �� �� ������ (���� ���� ���� ���)
alone_co � ��� ������ ����?
19:04 LordVader ����� �� ����
LordVader ���� ������ ��� ���� 4000-���� � ����� � ����
alone_co ����� ���� ������ �����
alone_co ���� �������� ��� ��� 10
19:05 alone_co � ���������� �����������
LordVader ����� ��� �� �����!
LordVader �� �����
LordVader � ��������� ������
alone_co � �� ��� ����, ���� ��� �����
19:06 LordVader �������� � �� ����� ��� ����
LordVader �� ������
alone_co ��� ��� �������� ��� � ����� ������� �� 16� �� �����
LordVader ���� 16�� �� ������� - � 48�� ���� �� ������
LordVader ���� �� ������
LordVader ��� ��� ��������� �� �����
19:08 alone_co �� ����� ��-����� �������
alone_co �������� ��� ����
LordVader ��������� ���� �� ���� � ����� �� ����
19:09 LordVader ������ ��� ������ ����� ������ 32�
LordVader � �������� ��� �� ������ �� 16� ������
LordVader � ��
alone_co ���� � ������� ����� ������� ����� ���������
LordVader �� �����? �����
alone_co ��� ��� �� ���� ������
LordVader ��������
19:10 alone_co ���������� ������ (� ��� ����� �����-������), ������� �������
alone_co ������� �� ������
alone_co ���� ������
alone_co ����
alone_co ���������
LordVader ��� �� �������� ��������
19:11 alone_co ���
LordVader ������ ��� ������ � ������� �������
alone_co ��� � ����� ��������
alone_co � � ������ ���
alone_co ���� ��� ���������� �� ����� ������
alone_co ������, � � ����� �� �� ��������
alone_co �����-������ � ��������� - �� ��������
alone_co � �������������� ����
19:12 alone_co ��, ��� ����� ������ �� � ��������� ����� - �������
alone_co � � ���� ����� ������ ����� ������
19:13 LordVader ��� � � ������ ����� ����-���
LordVader �� 1 ����� ������ 10�� �����
alone_co ��, �������� ������, ��������, ����� ��������
alone_co � ����� �������� �����
alone_co � �� ��������� � ��� ���� �� ����� ������, �� � ������� � ������
alone_co ����� �� ��� ��������� �� ������
19:15 alone_co ���� � ���� ���, ���� ������ �� ����� ���-��
alone_co ��� ���� ���� ������ �� ����� ���-��
alone_co ��������, ��� ����� ��� �������� ����������������� �������
alone_co ������ �� ����� ������ �����, � �������� - �����
LordVader ��� ���� �������� �����. �������� ��� ��.� ����� ������ �������� �����
LordVader � ������ � ������ ���������.
alone_co � ���?
19:20 alone_co � ��� ��� ���� �������� �����?
alone_co �� �� ����� ��� ����������?
alone_co � ��������� ������� ���������
alone_co � ��� �� ��� ���������� ���� 61 �������
alone_co ������������ ��������
19:23 alone_co ��� ������ ����� 64
LordVader � ��� ��� ���?
19:25 alone_co ������� �������� ���������
alone_co �� ��� ���� ���� ���� ������� ���������
alone_co ��� ������ ����� �� ���
������ � ������� ��� ������ ����� ���� � ����� (� 256-������ �������� ������� �����)
�)
ld hl, ;�������*2
ld a, ;�������
jp longjump
..
longjump
;hl=������� � �������
;pg=*hl++
;h=*hl
ld l,a
;�������� pghl
jp (hl)
*hl �� �������, ��������� � ������������ ��������:
;����� - �������, �������� 64�-�����
;64�-���� - �������, �������� ������� �������
;������� ������� - ���� ��������� ����� �� �����, �� ���� ������������� � ������ �����!!! ��� �� ���������, ��� ������ ����������!!! �� ���������������� ������� ��� ����
;���� ��� ������-������ ��������� ���� (���� ��� ����� ��� ������� ������)
;�� ���������� sleep �� ������� (����� ������ � ���������?)
STRUCT app
BYTE priority ;��������� (0=���� ������)
BYTE flags ;����� (factive, ftimeslice, fusetimer)
factive=0 ;��� �������: SET ��� ���������� �������, RES ��� ����� ���������� �������
ftimeslice=1
fusetimer=2
;ftimer=3
;fcritical=4 (���� �� ������ hl)
WORD id ;����� �����
WORD mainpg ;������ ������� ����� (��� ����� ��������)
WORD curmsg ;����� ������� ������� ���� �����
WORD endmsg ;����� ���� ������ �������� ���� �����
WORD curpg ;����� �������
WORD sp ;������ ����� ����� (����� ������ � ������� (�� �������) �������, �� ��� �����������)
WORD next ;�������� �� ������ ����� (������ �� ��������� ������ ���� �� ����������)
;[����� �����, ������ ��� ���������� ���� �����]
ENDSTRUCT
STRUCT msg
WORD type ;��� ������� (2 �)
WORD sender ;����� ������� (2 �)
WORD par0
WORD par1
WORD par2
WORD par3
WORD par4
WORD par5
ENDSTRUCT
;16 ���� (������� ����� 256)
WORD Os_curapp ;()=Os_Tapp
WORD Os_nextapp ;()=Os_Tapp
WORD Isr_SP
WORD Os_frames
BYTE Os_critical
WORD Os_targetid
ARRAY Os_msg1,SIZEOF_msg
ARRAY Os_msg2,SIZEOF_msg
Os_TIMERSENDER=55555
MACRO STARTCRITICAL
ld hl,Os_critical
inc (hl) ;� ����� ������� ��� �� �����, � �������
ENDM
MACRO ENDCRITICAL
ld hl,Os_critical
dec (hl) ;�������+�������� ������������ ������������
call nz,IsrEndCritical ;������ �� IsrEndCritical �� ��������, �.�. � ���� ����� di
;��� ��� ����� �����, ��� �������� �����
ENDM
;��� �� ��������� �����
MACRO RELEASECONTEXT
ld ix,(Os_curapp)
ld hl,(curpg)
PUTWORD app_curpg,HL
ld hl,0
add hl,sp
PUTWORD app_sp,HL
ld sp,lowmem
ENDM
;��� � �������� �����
MACRO GETCONTEXT
GETWORD HL,app_sp
push bc,hl
GETWORD HL,app_curpg
SETPG
pop hl,bc
ld sp,hl
ENDM
MACRO SETFLAG
SET \0,(IX+app_flags)
ENDM
MACRO RESFLAG
RES \0,(IX+app_flags)
ENDM
MACRO TESTFLAG
BIT \0,(IX+app_flags)
ENDM
;���� ������ ����������, ��, ��, ������ (����, ��� �������� �� ������)
;������������ �� ������ - ������ fusetimer (��� ��������� ��� ���������?)
;������� �� ���� ������ ������ ������ �������!
;������ �������� ���� ftimer
;[�������:����� ��������� ������� � ����������� ������ (���� ����� �����)]
Timer
ld ix,Os_Tapp-SIZEOF_app
ld de,SIZEOF_app
Timer0
add ix,de
ld a,(ix+app_priority)
or a
ret z
TESTFLAG fusetimer
jz Timer0
SETFLAG ftimer
jr Timer0
;������ �� ��, ��� ���������
Sleep
STARTCRITICAL
ld ix,(Os_curapp)
SETFLAG ftimeslice ;� ��������� �����
call Sched ;�������� ����� (���� � �.�.)
;ld ix,(Os_curapp) ;��� � Sched?
RESFLAG ftimeslice ;� ��������� �����
ENDCRITICAL
;��� �� ����������
ret
IsrEndCritical
;�������� ������
;����� ������ ����� AF,HL
dec (hl) ;1-1=0
push ...
call Isr
pop ...
;�������� �����
ret
Isr
;������� ����� ������, �� ������� ������ �� ������ �� ��
ld (Isr_SP),sp
ld sp,lowmem
;��������� ��� �������� � �������� � ��� (������ ������ ���� � ��������)
;���� �� ����������� RS232, �� ��������.
;���� ����������� RS232, ����� ���� ����� (�.�. ����� ������� ��������� �� RS232).
;���� RS232 �������� ��� ����� ���������, �� ��� ������.
;���� �������� �������� ��� ����� RS232, �� ��� ������ (� ���� ����� �� �������)
;fcritical=0, �.�. ����� ����� SENDMSG (�� ���� DOMSG)
call Timer
;
ld sp,(Isr_SP)
ei
ret
;����� ���������� ���������� �����
;����� �������, � ����� ����� �� ���������� ����� ����� IsrEndCritical
CriticalInt
;�������� �����
inc a ;=2
ld (Os_critical),a
;pop hl
pop af
ret ;� �������
OnInt
push af
;push hl
;todo ������ timer
;ld hl,(Os_frames)
;inc hl
;ld (Os_frames),hl
ld a,(Os_critical)
or a
jnz CriticalInt
push ...
CALL Isr ;������ ei
;����� �������� �����, �� ���� � �� �������, �.�. ���� ��� ��������
call Sleep
pop ...
;pop hl
pop af
ret
GetMsg
STARTCRITICAL
call Sched
;exx
;todo ��� ����� Sched ������� ����� ���, � ���� � �� ���� (� �� ����)?
ld bc,(Os_msg1+msg_par3)
ld de,(Os_msg1+msg_par4)
ld hl,(Os_msg1+msg_par5)
exx
ld bc,(Os_msg1+msg_par0)
ld de,(Os_msg1+msg_par1)
ld iy,(Os_msg1+msg_par2)
;������� ������� � hl',de',bc',iy,de,bc
ld hl,(Os_msg1+msg_type) ;��������� � ���������� �����!
ld ix,(Os_msg1+msg_sender) ;
push hl
ENDCRITICAL
pop hl
ret
;������� ������� ��� � bc,de,iy,bc',de',hl'
MsgGetPars
GETWORD HL,app_mainpg
SETPG
GETWORD HL,app_curmsg
ld de,Os_msg1
ld bc,15
ldir
ld a,(hl)
ld (de),a
inc l
PUTWORD app_curmsg,HL
GETWORD DE,app_endmsg
or a
sbc hl,de
ret nz ;�� ��������� �������� � ������
RESFLAG factive ;���������
ret
;������ �� ����� � ID=bc
CallTask
STARTCRITICAL
RELEASECONTEXT ;������ hl,ix
ld ix,(Os_curapp)
SETFLAG ftimeslice ;� ���������� �����, � �� ����� �� STARTCRITICAL ������ ���������, ������� ������� ����� � ��������� � �� ������� ���� � �� ������ ���� ����
;����� ����� (���� ���� �����, �� ���)
ld ix,Os_Tapp-SIZEOF_app
ld de,SIZEOF_app
SchedGivenSearch
add ix,de
ld a,(ix+app_priority)
or a
jz SchedSearch ;���� ����� ����� - �������� �� ���
GETWORD HL,app_id
;CY=0
sbc hl,bc
jnz SchedGivenSearch
;�� ������� ����� Os_nextapp, �.�. � ��� ���������������� �������� ���� ����� �� ������ �����
jr SchedFound
Sched
RELEASECONTEXT ;������ hl,ix
SchedSearch
;call SchedFind ;������� ����� - �������� � ix
;��� ����� �������/����������� ����� �� ����� ������ ����
;������� - ���� � ����������, ���� ��� �������, ���� ������
;SchedFind
LOCAL
ld ix,Os_Tapp-SIZEOF_app
ld de,(Os_nextapp) ;"������ ������ ����������"
ld bc,SIZEOF_app
_next
add ix,bc
ld a,(ix+app_flags)
and factive|ftimeslice|ftimer
jz _next ;����� ��� �� ���������, ��� "������ ������ ����������", �� ����������� ���� - ����������
ld a,(de) ;��������� ������/������� ������ ����������
cp (ix+app_priority)
jnz _ok
push ix
pop hl
;or a ;CY=0
sbc hl,de
jc _next ;����������� ���� ������ ���������� - ����������
_ok
GETWORD HL,app_next
ld (Os_nextapp),hl ;"������ ������ ����������"
ENDL
;ret
SchedFound
TESTFLAG ftimeslice
jnz SchedOk ;��������� - ������ �������� �� �����
TESTFLAG ftimer
jz SchedGetPars ;���� ������ ��, ����������� ��� � ����� �����
;nz
RESFLAG ftimer
ld hl,Os_TIMERSENDER
ld (Os_msg1+msg_sender),hl ;��������������, ����� ����� sender
;jr SchedOk
SchedGetPars
call z,MsgGetPars
SchedOk
ld (Os_curapp),ix
GETCONTEXT ;������ hl,����� ix
ret ;�����
;CY=������� �� ������
SendMsg
;ix - ID ��������
;hl - ��� �������
;bc,de,iy,bc',de',hl' - ��������
;���� ��� ������ ������� ����� �������� �����, �� ������ ����� ����� � ��������� � ������ �� �����, ������� ��� (���� ��� �� � ����������)
;� ���� ��� � ���������� - �������, ���� �� ����� ������, ��� �� ��������
push hl
STARTCRITICAL
pop hl
;��������� � ���������� �����!
ld (Os_targetid),ix ;ID ��������
ld (Os_msg2+msg_type),hl
GETWORD HL,app_id
ld (Os_msg2+msg_sender),hl
ld (Os_msg2+msg_par0),bc
ld (Os_msg2+msg_par1),de
ld (Os_msg2+msg_par2),iy
exx
ld (Os_msg2+msg_par3),bc
ld (Os_msg2+msg_par4),de
ld (Os_msg2+msg_par5),hl
;exx
RELEASECONTEXT ;������ hl,ix
;����� �������� (���� ����, �� ���)
ld bc,(Os_targetid) ;ID ��������
ld ix,Os_Tapp-SIZEOF_app
ld de,SIZEOF_app
SendMsgSearch
add ix,de
ld a,(ix+app_priority)
or a
jz SendMsgError ;���� ������ ���� - �� ������� �����
GETWORD HL,app_id
;CY=0
sbc hl,bc
jnz SendMsgSearch
;������ ������ ������� ��������
GETWORD HL,app_mainpg
SETPG
SendMsgLoop
;��� ����� � ������?
GETWORD HL,app_curmsg
GETWORD DE,app_endmsg
or a
sbc hl,de
jz SendMsgNoRoom
;��� ����� {
;���� ��������
ld hl,Os_msg2
ld bc,15
ldir
ld a,(hl)
ld (de),a
inc e
PUTWORD app_endmsg,DE
ld ix,(Os_curapp)
GETCONTEXT
ENDCRITICAL
or a ;CY=0
ret ;����������
SendMsgError
ld ix,(Os_curapp)
GETCONTEXT
ENDCRITICAL
scf ;CY=1
ret ;����������
;}
SendMsgNoRoom
;de=curmsg=endmsg
;��� ����� {
TESTBIT ftimeslice ;������� � ����������?
jnz SendMsgTimeSlice
;�� � ���������� {
;����� ������ ��������
push de
exd
ld de,Os_msg1
ld bc,15
ldir
ld a,(hl)
ld (de),a
inc l
PUTWORD app_curmsg,HL
;����� ��� ��������
pop de
ld hl,Os_msg2
ld bc,15
ldir
ld a,(hl)
ld (de),a
inc e
PUTWORD app_endmsg,DE
;������ �� �������:
ld (Os_curapp),ix
;��� "������ ������ ����������", ���������� ��
GETWORD HL,app_next
ld (Os_nextapp),hl
;exx
ld bc,(Os_msg1+msg_par3)
ld de,(Os_msg1+msg_par4)
ld hl,(Os_msg1+msg_par5)
exx
ld bc,(Os_msg1+msg_par0)
ld de,(Os_msg1+msg_par1)
ld iy,(Os_msg1+msg_par2)
GETCONTEXT ;������ hl,����� ix
ld hl,(Os_msg1+msg_type) ;��������� � ���������� �����!
ld ix,(Os_msg1+msg_sender) ;
push hl
ENDCRITICAL
pop hl
ret ;�������
;}
SendMsgTimeSlice
;� ���������� {
;����� �������� ���������� � ����� �������
;exx
ld bc,(Os_msg2+msg_par3)
ld de,(Os_msg2+msg_par4)
ld hl,(Os_msg2+msg_par5)
exx
ld bc,(Os_msg2+msg_par0)
ld de,(Os_msg2+msg_par1)
ld iy,(Os_msg2+msg_par2)
ld ix,(Os_curapp)
GETCONTEXT ;������ hl,����� ix
ld hl,(Os_msg2+msg_type) ;��������� � ���������� �����!
ld ix,(Os_targetid) ;
push hl
ENDCRITICAL
pop hl
;��������� �����
;��������� ����� �������
;���� ���� ������� ����� ��������� ���� ���������� ����������, �� ��� ����� ������ ����� ������ ����� ����, ��� ��� ��� ������� ������� - ����� ���� ����
;��������, ���� ������� ��� ���� �����, ��������� ������� ����, ��� ��������� ����������!!!
;����� ��������� �������� �� ����� ����������?
push af
push hl
push ...
push ix
pop bc ;ID ��������
call CallTask ;��������� �� ������� (���� �� ���������, �� �� ��� �����)
;��� �� ����������
pop ...
pop hl
pop af
jp SendMsg ;���� ������
;}
;}
��������� ���� �� Speccy
by Alone Coder
v0.4
?PIRACY! (c) VJ.SOFT 1984 (system36 � MidiSoft) - ���������, ���������� ������ ������ Lenght
���������� ����� fongen � ��������� �� ��� ��������� speak russian, ��������� 4 ������� 1985 ���� ����� �������� (���������� ������ � ��). /Speaker: KVED (c) 4-AUG-85, �� ������� ����!!!/ ������ ������ ��� �����, ������� ����� ��� ���� �����:
http://www.issp.ac.ru/main/index.php/ru/rasmember/kveder.html
m00h ���� ������ � �������:
����������� ������� �����������!
�� ������� �� zx spectrum ��������� � ��� 2 �������� �� �������
������ � �������� - Fongen1, � Speak Russian, � �� ������� ����
������ 1985 ���� � ��� ������ KVED � Kveder moscow 1985. ��� �� �
�������� �� ��������� � �� ������� ?
� ������ ���������� ������ ��� �����!
������������, � 1982�. � ����� ���� zx spectrum � � ������������ ���������� � ���.
� ���������, - Fongen1, � Speak ��� ��� ��������...
������� �� ��� �����. ������ �������� ��������!
����� �������,
������� ������
HOMECOU (������� ��������) (1986) - ��� ����� � ������?
������ ANDI 1986 ���� (conversion by ANDI, �������� ��������), ��� ���������� ����� � ���������
/��. ���� ��� ���������, ��� ������� 1986 ����, ����/
Tape to Tape Copier 1986 Jury Nikolskiy English Utility: Copy/Backup (������ ���. 386-54-45)
RDOS-128 (��������� � ������� ������ TR-DOS ���� CAT !, ����� �� ��������) � TREXT (�� ��, �� ���� CAT *) (CPU2\SYSTEM-1.TRD) - ���� ��������� RDinstr (�������� �������� "RAMDOS"): RICHARDSON SOFTWARE 1985. LONDON. ����� ������� �������� �.�.,����.1986 (�� ��� ������ ������ ������ ������)
��������� �������� - PSION + G. (1986) (system28/ROST2 � ����� � MidiSoft) - ������� ������� ���������� �������
������ ������ - PSION + G. (1987) (system28/DICTOR � MidiSoft) - ������� ������� ���������� �������
FRIQ-M - Izmerenie F - zk87 (1987) (system26 � MidiSoft)
CATALOG - ��������� ������ �������� (1987 - ���� ������: ������� �.� ������� �.�.) (SYS59.TRD � vBv)
�������� � ���������������� � ���� ���� ��� ����, � ����������������� �� ������� ��������� ����� ��, ���� ��� ���������� �� �������� ������ (���� ����������� �����, �������� �������������� ����, ��� �������, ������� � ����������� ��������� ����������������� ������ �� ����� ������������ ����������, ���� ��������� /��. SYS60.TRD � vBv, (CPU2\SS_DGAME.TRD - ������� ����������� 1991)/, ���� ������ ������ ���������, ���� ������������ ��������� 2-�� ������, ��������� �������� �� ���� �����).
� �������� ���������� ����� ������� ���� ������� ����� ��������� ���������� ��������� - �������� TASWORD (Tasword-RL). ��� ������ ��� �������� � ������ ������� ����. (ZX-Forum #1) /��. ����� "���������������� �� ���� ������" 1987, ���� ������� ���/
Character Editor 2 1987 Jury Nikolskiy English Utility: Fonts & UDGs
Editor 1987 Jury Nikolskiy English Utility
RS 232C Interface 1987 Jury Nikolskiy English Utility: I/O Handling
STR Edit 1987 Jury Nikolskiy English Utility: I/O Handling
Xonix Surna A.'87 Sukin&Son Corp'93
Polygraphics �� �.�.������� (~1987?):
http://spectrum4ever.org/download.php?t=fulltape&id=3265
�.�.������ - ������, "������" - ������� ��� "��������" 1987 (��. ����� '������� ������������ ��������'; ������, �.�.; ���-��: �.: �� ������������, 1990 �.)
ZX-KEY+ - ����� �� ������� ���� - �.�. 1987 GORDWARE (system45 � MidiSoft) - ��������
?DPW2-GRAPFIC ASSEMBLER - ROBERT GRAVAS (C)1987 A.D (���������� �������� - system12/PICASSO � MidiSoft)
������ ������ �.'88
����� 1, 2, 3, 4 C.C.B.'88 Inforcom'90 (��� �� C.C.B. - ���� ����� C.C.B.)
"Pentis" (1988 Tony Raugas ���� ����)
������������ ���������� ����� (������ ��������, ��������� 1988) (TELETEST �� SYS59.TRD � vBv)
������ (FRQ MB+) (1988 �. �������� - ����� ��� � ���������) (CPU2\SS_DGAME.TRD - �� �����������?)
"������ �����" (1988, SF Software, ������ ����� ��� 1983 ���� by RORY DUFF)
����� (1988, Softmaker Box) �� �������
��������� Nether Earth "������ 1988"
��� �����, � ��� 87-�� � ����� ����� �������� "The Last Word 2". ��� �������� �� ��������������� ������� ����� "Saga", ������ �������� ��������� ��������� �� "���������". ��������������� ������ � ������ ���� ������� � ����, ��� ��������� ������������� �������� ���� �������� ��������. � ��������, ������� �������. �� ����� � ����� �� ������ �, ���������, ����� ������-�� ��-��� �������� ������� TLW-2 � ����� ���������. ��� ������� ������ ������� ����� � ��� � ���� ����. ����� ��� �������� TLW-2 ��� ���� �� ������ (�������� � ��� ����, � ����� ��� ����� � �����), � � ����� ������� (1988) � ������� ����� (�� ������ ���������, �� �������) ��������� ������� TLW-2. (ZX-Forum #1)
MENU-128 (c) Y. & N. RODIONOV 1988 (44.TRD � ���������) - �������� ��������
������� - ��������� ����������, 1988 (system45 � MidiSoft)
������� ������� � ������� � ������ (system40 � MidiSoft) - ��������. ��������, ����� ���� � �������� ����� �������� - ��������� ���������� (����� �� ���������)
14 ������ ������� (system40 � MidiSoft)
��� �������������� (system41,42 � MidiSoft)
������� �������� ����� (system41 � MidiSoft)
��������� (system41 � MidiSoft)
������� ������ (system41 � MidiSoft)
��������� �� ������������ ���������� (system43 � MidiSoft)
���������� ��� (system44 � MidiSoft)
��������� ���� (c) ����� ������ ���. �����, 1988
https://zxaaa.net/view_demo.php?id=12230
DISK ERASER ((c) A. Dereshchuk Software 1988) (MidiSoft/system29)
��������, �� ����, � ����? M.STUDIO (MUSIC STUDIO ONLY FOR SPECTRUM 128 Program (c) 1987 JAROSLAW SOBCZAK ADAPTED TO 128 BY: HACKER CHRIS 1988*06*24 DISKED BY FCS'88)(CPU2\SS_DGAME.TRD)
�� �� ������� �� PSION - ������� �� ������� ��� �������� �.�. �������� 1988 (system30/LES0 � ����� � MidiSoft) - ������� ������� ���������� �������
Screen Virus (c) 1989. Wlodek Black. Moscow, school nr. 91
https://zxaaa.net/view_demo.php?id=7204
UNI-MENU # Y. & N. RODIONOV (c) 1989 (44.TRD � ���������) - �������� ��������
22 (1989 ������, ����� �������-��������, ��� ������� ��������)
������ ��������� �. (������) - BETA/MAGIC zap program (A-POKE) (1989) � ������ ������ ������ � ���� �����
"��������� � �����" (1989, Wlodek Black - ������, ����� �����������)
������ �� ������� (1989 ������ �.�., � ����������� �� ������� � ���������), ����� �� ������ ��������� (������ �� ��?) 1990 (���� � ����������� �� ������� � ���������)
��������� �� ���� (1989 ���-��� ���������), ��� �� ���� ���� "�����" (�� ����������, ����� �� �������, �.�. ��� FULLER), ����� � �������������� �������� "������" (�������� �� Acidrain)
ZYNAPS disk version by V.D.G. 1989
(c) Disk-Tape-@ Copy by V.D.G. (c) DENSOFT 1989 (SYS59.TRD � vBv)
TLW "��������� ������� * ����������� �.�.�. * ����� * 1989" (SYS21.TRD � vBv) - ������� � ������ ��������� �� ������ ����� ������ ���������
����� "��������" �������� � ����� ������������-������������ ��������� �������� ��������� ZX-SPECTRUM � 1989 ���� (SYS22.TRD � vBv)
ART48RUS - ������ ����� Art Studio 48 "����� 1.7 ������������ � 1989 ���� �� ������" (SYS20.TRD � vBv)
�������� �������� � ����� �������� "���������� ��������� ��� � ���������������� �� ���� ������" (1989)
�������� �� ������ 04 �� �������� - 12 ������ � ������� 1989 ���� (Newart)
����������� ��������� (������� �.��������� ������ 1989) (43.TRD � ���������)
DENCOPY ������. Densoft 89 �. ����������� �� ����� ������
���� "MAGIC", � ����������.
PASCAL'D (������ ������ HP4TM16) ������. HiSoft 84 �.,
������� Dereschuck.
H2O n/a'89
Game 40 Nikolay Trius'89
��������� Vadim Stramous'89
��� - �������� KSA (MEGASYSTEM 1989 ), ��� ���� ������� � ����� � ������ [AAA]
Test RAM 1989 M.S. Chubarov Russian Utility: I/O Handling - ���� �� �������� � ������ �������:
http://www.worldofspectrum.org/infoseek.cgi?regexp=^Test+RAM$&pub=^M%2eS%2e+Chubarov$
FONT (Sergei Smirnov 1989)
https://spectrumcomputing.co.uk/index.php?cat=96&id=27922
MICRON (MONITOR MI(c)RON) (����� 1989?) (CPU2\SOFTWORK.TRD)
S-S Copy ((c) A. Dereshchuk Software 1989) (CPU2\SS_DGAME.TRD) /��� ���� �������� �������� �������� � PCOPIER/
Artist 2 (DISC VERSION BY N. RODIONOV LENINGRAD 1989) (cpu3\-----001.TRD)
Lister89 (system24 � MidiSoft)
UDG (Diskversion (c) 1990 By W.Janowski - ��. D.D.V3 VLADIMIR IANOVSKY (c) 1990 S.PETERBURG) (cpu3\-----001.TRD)
D.D.V3 (DISK-DISK COPY) (VLADIMIR IANOVSKY (c) 1990 S.PETERBURG) (cpu3\PPPPPP.TRD, ��� �� ����� ����-�������� 1.06.1990 (NB �� ���������!!!) �.260-55-25)
Art Brush (SIM & Company 1990 - ������ �������)
https://spectrumcomputing.co.uk/index.php?cat=96&id=27460
������������ (����� ��������) (FANNY 1990?)(cpu3\LOGRO000.TRD)
FLOW (�������� ������ - FANNY 1990?) (cpu3\LOGRO000.TRD)
WAVES (FANNY 1990) (cpu3\LOGRO000.TRD)
����� ����� ������� (FANNY 1990) (cpu3\LOGRO000.TRD)
������ �������� (FANNY 1990) (cpu3\LOGRO000.TRD). �� ��� ������� �� FANNY �� "�������" ����� - MidiSoft/system48
Memoryte (Memory test for ZX-SPECTRUM) (c) 1990 Macary Software (newart/UNSORTED/SYSTEM/LOGROS.TRD)
IBM ������. Lebedev S.M., Krotov V.V. (for "Spark"). ���� ��
(�������� �� ���������� ���� � IBM ������ �� TR-DOS; ������
�� ��������; ������������ ����� 2D, ID, 2S, IS. /��������, ��� IBM>SPEC (cpu3\SYSTEM-2.TRD)
��� IBM COPY (DISK.TRD � Newart'�)
��� IBM conv (DISK.TRD � Newart'�)/
MASTER-KEY ������. Kotlarov D.V. (DVK-soft), TRTI v3.2 90 �.
����� �� ��� �������� ���� "disk doctor" �������� �
�������������� ���� �� �����, ����� ����� ������) /MASTER - KEY (���� �����������, ���� MASTER COPY Dmitriy Baranov �.��������� 1992) (cpu3\LOGROS.TRD)/
ZX-Commander V1.0 KIEV'90 (SYS20.TRD � vBv)
AYservis "Grafic by OGNEW M.A TUCHINO lotok #55" - ���� �������� AY (SYS21.TRD � vBv) (����� ����������� 1990 �.)
REDS "��������-�����" - ������ ����� Tasword (SYS21.TRD � vBv) (����� ����������� 1990 �.)
� 1990-1992 ��� ����� Kordial, ������ ������ ��� � ���� ��������. ������� ��� ����� ��� ������?
https://zxaaa.untergrund.net/demo.php?t=0&s=kordial&author=Author
BANK 25 - Valery present "New programs bank" (SYS21.TRD � vBv) (����� ����������� 1990 �.)
BANK NEW - KORDIAL & VALERY Presents "PROGRAMS BANK" V3.10 (SYS21.TRD � vBv) (����� ����������� 1990 �.)
KAT D "KORDIAL corp 90' tel.274.83.31" (SYS21.TRD � vBv) - ������� ������
GARboot "ZX Spectrum commander 4.2" (c)GMR Ltd ����� 1990 �������� ������� 281-37-18 (SYS21.TRD � vBv) - ������ ��������� MOA Service � SHELL
ZN64-RL by PENCRAFT SOFTWARE ��������� 1990 (SYS54.TRD � vBv) - ������� ����� 64 ������� � ������
LBF - TO LOOK BASIC FILES (c) Leningrad 1990 (SKI) (SYS58.TRD � vBv)
DISK ERASER as RT11SJ (c) CREATED BY K.Studencov 1990 (c) Leningrad 311-43-41 (SKI) (SYS58.TRD � vBv)
MDDM2 - MIKLE's Double Disk Monitor (SYS58.TRD � vBv)
LAST HOPE tape-to-tape copier (program and artwork �.�.����������,20.7'90 ���.393-14-31) (SYS59.TRD � vBv) - � �������� ��������� ��
DJCRACK - Cracker 3.0/42 (6.5.90), 3.0/42H � 3.1 (C) 1990 �.�.���������� 393-14-31 (SYS54.TRD � vBv)
CP/M �� "�����" (1990 ��������� SOFT, �����?) - ����� 7-92 �.26 - � ������ ��� ���� (�����), � �����, �� ��� CP/M!
���������� ������� (1990)
��������� tape to disk by MOA (1990) (�� ������, ��� ����� 1992 ���� ACOPY �� MI&DI (cpu3\MICRO000.TRD))
MOA Service - �������� IX.90 (�����-���������), V01.05 ���� 1990 (SYS59.TRD � vBv), V2.5 MOA&PV'turbo ���� 1990 (CPU1\ZX000.TRD)
���������� �.�. 3931431 - DJCRACK (1990)
������� ����� - DISK DOCTOR for BETA 128 (DD �� CPU2\SS_DGAME.TRD) (1990)
READER by IskraSOFT 1990 (2327767.TRD � Newart'�)
�������� �������� Spark v2.0 (1990) - Ko."Iskra" Design Abramov I.A. (CPU2\SS_DGAME.TRD)
TSW>Sp (Text Transformation From Tasword to Spark v2.0) by IskraSOFT 1990 SPB /NB!!!/ (CPU2\SS_DGAME.TRD)
S*H*E*L*L (FCP) (1990 IskraSOFT) (46.TRD � ���������)
������� ��������� (������� ���) (274500 �.���� ��.��������� 3 ��.15) - ��������� KARTEX (1990), DEM.KTX (1990) (CPU2\SS_DGAME.TRD)
���������� ������� (��������������) - Beta-Disc's Test Program (B.D.TEST) (1990) (ZX000.TRD)
Change Disk Name Program (c) 1990 Dmitry Sologub (Sputnik Research Ltd) (ZX000.TRD)
PCopier by Nicolas Rodionov - 10-16.04.1990
DISK DOCTOR (c) CREATED BY N.Rodionov 1990 (SYS58.TRD � vBv)
������� ������ ������ ��������� � ����� ������������� - 1990
"����-�������" (�.��������� ��������� 1127566 - ����� ������� 1990)
����������� ������ (1990 Service Software & Silva Software - ������-2, 143040, ���������� "������" ���. 5900714)
���� STEK v1.1 (1990 MPF Software ���������)
LIGHT PEN by Roy Eastwood dkTronics 1983/disk version by Petrov Sergey.
Krasnoyarsk 1990. [LP 48 V4.1] ������ ������ - ���� �� ����
ZX-��������� � �. ����������, ������� �� ������ ������,
������� ��������� 48-� �������� � ����������� �����������
�������. � �������� �������� ������� �����������.
TASWORD RL by Tacman Software 1987/disk version v2.1.0, adapted by Petrov
Sergey, Krasnoyarsk. 28.12.1990
���� "������" (�������) � 1990 ������ �� ����� �������� �� ������.
https://zxaaa.untergrund.net/demo.php?a=HTTM+Eureka
LIST BASIC UTILITY (*RATCOPY* Program System'90) (C15.TD0)
TDCOPY production by AVF & CH (c) 1990-1991 - ������ (SYS59.TRD � vBv)
DCU v1.01 (1990) DCU v2.01 (Nicolas Y. Rodionov, 01.1991 - Leningrad) (SYS54.TRD � vBv), DCU v2.02, DCU v2.12, DCU v2.31 (1992, ������� ��������)
VU-EPSO (PSION SOFTWARE & Youri Rodionov 1990) (70.TRD � ���������)
SPECTRUM micro-PROLOG T1.2 (C)LPA, B-disk by N.Rodionov
BETA COMMANDER ver 1.2 by Trubinov J.U. on 19.12.90 (46.TRD � ��������� ��� ������ SLAVA)
L-COPY written by Laptev (46.TRD � ���������)
Chuck/Mapson&Rapson Software ���������� - ���� ������ (1990)
The complete machine code tutor (c)1990 Cracked & fully disked by Trubinov J.U. (46.TRD � ���������)
BACK128 (N.RODIONOV'90) (46.TRD � ���������, ��� �� COPY 128 (cpu3\SYSTEM-2.TRD)) - ���������� ���������
Dictator - ������� �. � �. �������� (����� ������� 1990) (26.TRD � ���������)
PINBALL (Unified disk/tape loader Y.R. 12/90) (55.TRD � ���������)
SOPHISTRY Restored by Nic Rodionov 1990 Screen & T/D loader by Yu. Rodionov 1991 (55.TRD � ���������)
"����� �������" ("������") - �������������� ��������� ���� ������ ����� (��������� TR-DOS). ����� ������� � ���� 80-�, �������� "�������� ������" - ����������, ��������� ������
BDJTEST (Beta-disc's test) ������. Starocoltsev Eugen, 90 �.
��������� ������ ������� �� �����, ������ �� ������.
GENS 451 ������. HiSoft v4.1 87 �., beta-disk ����� �� 90.
����� ��������/������ ��������, �������� ������ ������
����� ������ � ��������� ��������������� ���� �� ����!
MONS 4 beta. ������. HiSoft 87 �., ������� IC' 90. ������-
������ ����������� ����������-������������������ ����� ����-
���� ���� �� ����.
TLW2 (The Last Word 2) ������. Saga System & Myrmidon 86
������ ����� �.�.�., ������� 90 �. �������� �������� �
������� ������� ������. ��� � DOS ����� ������ BASICa.
TREK A>B ������. Kordial 90 �. ������ ��������� �� ��,
��� ����� ���������� ��� ���������. /cpu3\PPPPPP.TRD - ��� �� � ���� �� B>A/
WHAM (Music Box). ������. MarkTime 85 �., ������� �����
�.�������� 90 �. �������� ��������. ����� ������/��������
����� ������, ��������� ��������������� ����� �� ����.
Guess Number Vladimir Fufaev'90
Memory Vladimir Fufaev'90
Sex Show 1990, The D. Rovenko, O. Borovik'90
���� - ���� Denis Korshunov'90
Columns 1990 �������� Sunny Tram Ltd
TASWORD adapted by PITER 1990 (2327767.TRD � Newart'�)
PC Companion (������� �������� "��������") EO Arsenal ������ 1990
https://zxaaa.net/view_demo.php?id=11217
������ �������� ���� ������ - ������� 1990
K.D.'90 boot - ������� �����, ������������ 1990
TPC boot - TPC' soft, ����������� 1990
VDG boot 48k - V.D.G. 1990 422-32-47
ZX Top Service boot - 1990 Eugene Stepanoff Saint Petersburg 295-88-00
CDE Music Bank - Andrew Strikes Code, �������������� 1990
https://zxaaa.net/view_demo.php?id=6125
�������������� ��������� DEMO - ��������� ����� �����, ������? 1990?
https://zxaaa.net/view_demo.php?id=5603
������� ���� ��-08 - Trotsenko A / Tarasuk W, �������������� 1990
https://zxaaa.net/view_demo.php?id=2532
TATSU demo by CATGEN - ������������ 1990
https://zxaaa.net/view_demo.php?id=1585
TRACE SP (ELISEEV V.A.1990) (CPU1\PPP.TRD) - �������� ��������� �����������
*RATCOPY* TEST SYSTEM (1990?) (CPU1\PPP.TRD)
LIST BASIC UTILITE *RATCOPY* Program System'90 (CPU1\PPP.TRD)
������� ������ DU ����� 105p *RATCOPY* Program System'90 (DISK.TRD � Newart'�)
TrakCOPY (DISK to DISK COPIER (c) 1990) (CPU2\DDD.TRD)
BEYOND BASIC (������� ���������� �� �������) (����� 1990?) (CPU2\DDD.TRD)
DISK DOCTOR for BETA 128 by Mike Golubew (c) 1990 (CPU2\SS_DGAME.TRD � MidiSoft/system37)
S.LOTO (��������� ��������� �� ���������) (����� 1990) (CPU2\SS_DGAME.TRD)
SH RUS (������� ��� ����� �������� ������ �� ����������) (����� 1990) (CPU2\SS_DGAME.TRD) - �� �� RUSFONTS (cpu3\-----001.TRD)
TEST D-D (Program for control the floppy disk) (Vitebsk 14/07/1990 MSW) (CPU2\SS_DGAME.TRD)
DEM.KTX (������� ��������� (������� ���) (274500 �.���� ��.��������� 3 ��.15) 1990) - �������� ��������� KARTEX (1990) (CPU2\SS_DGAME.TRD)
DOCTOR R (����� 1990?) (CPU2\SYSTEM-1.TRD)
DCtrk (������� ���������, ����� 1990?) (CPU2\SYSTEM-1.TRD)
YuricCom (��� ����� ���������� CAT) ((c) DynaSoft 1990 Version W.1) (CPU2\SYSTEM-1.TRD, MidiSoft BOOTS.TRD/YURIC)
EPSON driver (AVP, ����� 1990) (CPU2\SYSTEM-1.TRD)
DR55 (EPSON driver R-soft90) (CPU2\SYSTEM-1.TRD)
PrTXT (���� ���������� �����, ����� 1990) (CPU2\SYSTEM-1.TRD)
PHTOOL (PROFESSIONAL HACKER'S TOOL - ���� ���������� 1990, ���� ������, V.L.V. 1992, MiPh&T Hacker Club - �� �� �� ADM, Magic File Compressor, ADS) (ver.3.3 � ������ 24.10.1992 - cpu3\LOGROS.TRD)
VCOPY3 (CK COPY /K ������ C/) (� ����� TREK A>B by KORDIAL 1990) (cpu3\PPPPPP.TRD)
Rboot (N.Rodionov Leningrad, 11. 1990) (cpu3\SYSTEM-2.TRD) (GAMES-1.TRD � Newart'�)
MPPS EPROM i2716-27256 (c)PVA-soft, Leningrad'90 (system24 � MidiSoft)
Hex Calculator - (c)1990 Fr-Soft (system24 � MidiSoft)
FILE CHANGER - Fr-SOFT (system24 � MidiSoft)
MOVE - (c)1990 Fr-Soft (system24 � MidiSoft)
DT (c)1990 Alexander Troosh - ��������? (system24 � MidiSoft) - ��������� � ����� �� �����
Odessa-90 disk catalog driver Written by "Andriuha" Kazakov 10.07.90 (system25/boot � MidiSoft)
*TR-DOS WINDOWS* (c)Copyright 1990 ELAN Software (system25/boot2 � MidiSoft)
boot by Kraskovsky Vass from Leningrad 22.11.1990 (system25/boot6 � MidiSoft)
TL DISC (system25 � MidiSoft) - ��������� � ���� �� ���� (����� ���� � ���������� ������� 1989 ����)
Tape-Tape Copy (c) Y.Kovalevsky /Leningrad/1990 (system25/T-T Copy � MidiSoft) - ����������� � ����������� �� ���������� � ������� ������� � ��������� �� ����
L.WORD 2 (TLW2) - Rusificated by ~Inforcom~, Moscow, 1990 - Disked by LSA Service, Odessa, 1991 (system26 � MidiSoft)
OM-2RLe, OM-exp (system26 � MidiSoft) - ���-�� �� ������������� ������
��������� (system26 � MidiSoft)
?������������� ������� �� ����� 102� (system36/TT � MidiSoft)
?���� ����������� �������� �� "������48" (system36/Test KP � MidiSoft)
?Test OZU (system36 � MidiSoft)
?Test Z80 (system36 � MidiSoft)
DOCTOR-2 Disk Doctor v2.2 - written by Nicolas Rodionov Leningrad 1990 (system36 � MidiSoft) - ������� ������ (���� ����� 4.3 ���� ��� ��)
SPECH128 (AY CONVERSION BY BR0MBA 1989, DISKED BY GURIN 1991) (CPU2\SS_DGAME.TRD)
Gemini Wings disked by Cleopatra (XYIZNAET\GAME\FAX.TRD � Newart'�)
Alfavit (Y. Kovalevsky /Leningrad/ 1991) - UDG � ���������
Columns Piter'91
Fox Hunting (���� �� ���) Andrey Mikhailov'91
Gallows (�������) Alexander Eskevich'91
Kubes (������) DenSSoft Inc'91
On Susan Poptsov D., Shalyakin A.'91
QWERTY-training 'Soft'91
Sir Knight DZh'91
Sokoban SU Gold'91
Tetris ShiSoft'91
Track Russian Bear'91
Xonix ShiSoft'91
����� �� ���� ������� �.�'91
���� �� ��� AG'91
��� ! POB'91
���� ����� Izvekov A.N.'91
���� �������� �'91
Boulder Dash 5 Kraskovsky Vass'91
Boulder Dash 6 Kraskovsky Vass'91
Lode Runner (�����) (dsk) Sterh'91
1991 - ����� ������ ������ (������� �����, ������, C.C. (������ ������������) � ��� ���������)
Andy Tacker - �� ������� "�����"
http://zxbyte.ru/additional_tapes_for_computer_byte.htm
Catalog (����� 1991, ������ �������� �. 382-20-01 ���.21-09 (21-23���.)) (C2.TD0) - ������� ������
TLF-48 (1991, D.M.Shtabsky - LIANSOFT & ALEXCO) (C2.TD0) - ������� ������ � ��������� ������
Cerikiller (1991, ����) - ������� ����� ����������
MASTER FILE 14. ������ �. �. ������� ����� �������� (���. 33-04-48, 01.1991)
PLATA v4.01. ������ �. �. ������� ����� �������� �� �������� ����� ���� �� ������� ����. (���������)
T32K.v2. ���� �����. Disk version by Petrov Sergay.
tel. 33-04-48 Krasnoyarsk 1991.
SPORTLOTO. 48K. ������������� �������� vBv (��������� ��������). �� � ���
���� ���� ��� �� ��� ������, � ����� ������ ������� �� ������. /Sportloto (���������) Tera Software Group'90/
COOKIE. 48K. ������� ������� �� ������� ��� vBv. ������ ������������
����� ����� �������� � ������� ��� ���.
HARRIER. 48K. vBv ������� � ���� �������� �� ������� ����. ������ ����������
��� ��� �� ��������� ������, �.�. �� ����� ����� ��� ���
�������� ���. ���, ���������, ������� ����� � ���� ���������
������.
������ (��� 1991 Tera Software)
CONVER--Comander V 2.06 128K (c) Y.Kovalevsky S.Peterburg 1991
BETA-disk monitor (Y.Kovalevsky Leningrad 1991) (ZX000.TRD V 2.3) True English by L.Kluev (CPU2\SOFTWORK.TRD)
������ �. (S.A.P.) (���������) - TR0to159 (04.91)(CPU2\SS_DGAME.TRD)
MIRROR - ��������� ���������� ����� �� ����� 159 - �������� �������(sic!) ������ 1991 (MIRROR �� CPU2\SS_DGAME.TRD) (SYS20.TRD � vBv)
����� (�.����������) � Game Box (�. � �. ���������� 1991)
Mike Studio S.Peterburg 1782908 - ZX ARC (CoCo) (Compressor v 1.01) (1991)(CPU2\SOFTWORK.TRD), V3.03 1992 (CPU2\SOFTWORK.TRD)
ASC packer (1991 ����)
COPY*IBM - BG&SI-SOFT (c) 1991 (SYS20.TRD � vBv)
ZX-Word (1991 SI-SOFT & BG-SOFT (Broken Glass Software) ������) - ������������ ����� �� ���������� �������� ���������� � ������ Pencraft ��� ������� ��������� �������
����� 1991 - ��� �� �������� ������ � ������� � ����������
������ 1991 ���� - ��p��� ����p�� (�������)?
TR-DOS 5.04T - ������ ������������ 1991, ������? (�� C.C. ������� thanks to Vasilyev & Laptev 12.11.91 - Dragon Breed �� DISK002.TRD � Newart'�): "In 1989 I got my first computer � a Sinclair ZX Spectrum 48K. A year later I started building computer external hardware modules like EPROM programmers and ROM emulators, and writing different programs in assembler for the Zilog Z80 processor used in it. All those projects were a hobby, but that was probably the first time I started reverse engineering code. There were two reasons for that. One was to learn the assembler language better through understanding disassembled code; another was to modify the programs, for example, to add extra features."
DISCBLOC - TR DOS 5.04T (c) MAKSSOFT 1991 Servise 1.01 -DISK BLOC- "plomba ok" (SYS20.TRD � vBv)
���� ������, �.������� (Pencraft) - DATALOG data base English version & Beta-adaptation (1991)(CPU2\SS_DGAME.TRD) special thanks to V.Yeliseyev
TETRIS 2C (1991 ������� �������, �����, �.���������)
���� ������ ������ LAYOUT (C22.TD0) "���������� ��� �����, ��������!" - �� �� LAYOUT91 � ��� "�����"? ���, ��. �������
BMD-DATA (1991-1993 �������� �������, ������) - ���� ���� 48/128 (C24.TD0)
RESISTOR - ������� ��� ���������� (SYS20.TRD � vBv) (����� ����������� 1990 � 1991 ��.)
�� �������� "������" (1991-1994) "Copyright (c) Koslov O., InterCompex 1991", "Repaired by P.Trubinov, 06/10/91", "HOBBIT 2 (C) INTERCOMPEX CP/M VERS.2.3.28 - 26/05/92 - 48 KB with CCP-loader", "InterCompex (C) 1992", "FFS (Forth File System) V1.6, release 5.10.92", "FFS V4.3 (c) MD 1993", "-=* Hobbit Commander v.1.2 (c) by AGA, July 1994 *=-", "Gentleman's Toolkit v2.3 (c) by AGA, 1994", "-= GENTLEMAN's TOOLKIT =- ������ 2.4p (c) ������ ��������� ���. (812)-235-08-95 1994 �", "� ������ 2.3, �� �������� � ����������� { (c) by OK, 1993 } ���� ��� ����� ������� ����, �������, �������� ��� ��������, �� � �� ���� ��������� �� ����", "-= DISK MANAGER v3.2 =- (c) by Alexander Agranov, August 1994 (c) by Oleg Kozlov, December 1993", "-= Forth->ME Texts Translator v1.0 =- (c) by Alexander Agranov, August 1994", "iS-DOS v2.0 (Hobbit) (c) by IskraSOFT, 1992/1993 Adapted to Hobbit by Peter True & AGA", "*** ZX WORD v2.5H *** (�) by V.Yeliseev, 1993 Adapted to Hobbit by Sasha Agranov"
Set Mov4 (Yu.Rodionov 1/91) (46.TRD � ���������) - ���-�� �� ��������
MEGABASIC [russian] autocopy system v.1b by Yu.Rodionov 1991 (46.TRD � ���������), � ��� �� ������ Eagle's Nest (55.TRD � ���������)
Mad Martha - disk version by Yu.Rodionov (1991) (4.TRD � ���������)
ASC Screen Crasher version 2.6 07.Aug.1991 (58.TRD � ���������)
CUT OFF (PENCRAFT SOFTWARE (c)1991 ���� ����) - ������� �������� �� Magic'� (58.TRD � ���������)
PR40/50R (������ ����� ����� PENCRAFT ����� 1991 - ������ L.Kluev, I.Dumov) - ������� ����� �� ����� (58.TRD � ���������)
HELP ME! (��������� ���� ����������� (������� 1 ����� �.�.�.) �����-��������� ��. ���-���� ������ 1 �������� 2) (83.TRD � ���������) - ���� �� ������� (��� �� ������, �� ����� ���� 1991)
ROM>RAM>ROM (c) Yvtooshenko,1991 (system27 � MidiSoft)
EPROM programmer by RA3AO (system27 � MidiSoft) - ��� ����� 27512. �� ��� �� ����� ������ ������������ ��� �� ����� ������� (�������� ��������)
������� 7 ����� - ����������� ���������� ��������, 420133 �����, ��.���������, �.50 ������� 56-76-74 (1991) (system46 � MidiSoft)
�������� 7 ����� - ����������� ���������� ��������, 420133 �����, ��.���������, �.50 ������� 56-76-74 (1991) (system47 � MidiSoft)
ARTSTUDIO v1.5 ������. James Hutchby (OCP) 85 �. ������ ��
DOS - �.��������; Kordial 91 �. (� ����������). ������
���������� ��������; �������� ������� ���� �� ������� �����.
COPY ������. Lebedev S.M. 91 �. ��������� ������ A<>B �
A->A; �������� ���� ����� 41 KB �� ���, �������� ��������
�������� � ������� ������.
MON7 (Advanced monitor v7.05). ������. Wolf. ������������
�������� ��������������� �� �����.
Manager n/a author 122 - ������ ������, ����� �������, �� �������, �� ����� �� UDG � ������� ��������
����� n/a Andrey Plakuschev 42 - ������ �����, ����, �.�. �� ������� ����� ����� � � ������������� ���������
��������� n/a author 66 - ������ �����, ����, ������, UDG, ����� �������
� �������� �� Copper Feet: ������-1, ������-2, ����������, ���������, ����������, ��������� �����-������� ������
���� ����� Vladimir Fufaev'91
Blackjack (���) ITP Universal'91
ATM comm - �������� (�� ����� 1991: ��� ��������� ���-�����, �� ��� ������� ���) (newart/UNSORTED/SYSTEM/LOGROS.TRD)
HIRO (��������) - adapted for BETA unit KROTOV V Leningrad 1991 520 51 34 (newart/UNSORTED/SYSTEM/LOGROS.TRD)
ww.com (��� CP/M) - ����� �����-���������������� ���������� "����" ����������� ��������� WW (�����, ��.��������� 202 ��� 2-74-24) - �� �������� ��������� ��������� � ������ "�� �����, ��������� �������"
https://www.youtube.com/watch?v=PjeHsDs3d0g
Elite SU - ������� ����� ��� �������� � � ������������ �������� �������� (ZXDISK.TRD � Newart'�)
IKARY WARRIORS CRACKED BY MICHAEL ABRAMZON 1991 (6SYS.TRD � Newart'�)
1991 DISK CRAKED UTILITY Writed by S.Volkov & E.Rytikov (DISK.TRD/DCU_WORK � Newart'�)
ZX-Spectrum+ DISK DOCTOR 2.1 (c)GMR Ltd ����� 1991 ������ ������� (DISK.TRD/DOCT 2.1 � Newart'�)
DISK.D.B - S-SOFT Moskow 1991 (DISK.TRD � Newart'�)
IBM COPY (DISK.TRD � Newart'�)
IBM conv (DISK.TRD � Newart'�)
SCREEN MACHINE DISK VERSION BY PENCRAFT 1991 (DISK.TRD � Newart'�)
� ��� ����� �� dropbox ��� ���������� ������� � ���������, ���� �� ���
https://www.dropbox.com/s/kd7wm6768n52rts/old_systems.zip?dl=0
SEANDEMO (ZX Top Service demo) - 1991 Eugene Stepanoff Saint Petersburg 295-88-00 (CPU1\DISK1.TRD)
�� � ������ AMS1 by Megamonster / ���� �������, 1991?
https://zxaaa.net/view_demo.php?id=6695
����-128-1 (c) 1991 RATCOPY ������ ������ ��������
DISBAS-R (������� ��������� ������-�����) (����� 1991?) (CPU2\SOFTWORK.TRD)
TWO (������� ������ � ��������������) ((�)TWO co.ltd. ����� 1991) (CPU2\SS_DGAME.TRD)
Pirat 05 (�������� ���������� �������� �������� �� ���������� Y.Kovalevsky /Leningrad/ 1991) (CPU2\SS_DGAME.TRD)
�����-2.0 (���������� ������ �������� ���� �� ��� ����� � ����� ������ �� �� �� ����������) (�.����������� /���������/ 1991���) (��������� ���� ������) (CPU2\SS_DGAME.TRD)
MAGIC SCREEN* (������� �������� �� MAGIC-�����, ����� 1991) (Program writen by * A.S.Ko"LN *) (CPU2\SS_DGAME.TRD)
M.MAKER (Disked by PAPIR & 1991 The town of Gatchina) (CPU2\SS_DGAME.TRD)
�������������� (SPD MB+) (����� 1988 � 1992, �. �������� ��� ������� ������?) (CPU2\SS_DGAME.TRD - �� �����������?)
STATIST (����������� ������ �� �������, ����� 1991) (CPU2\SS_DGAME.TRD)
COP128.2 (��������� ���������, ����� 1991) (CPU2\SS_DGAME.TRD)
SYSTEM TRACK DUMP (PENCRAFT SOFTWARE (c)1991 ���� ����) - ������� �������� ������� �� ����� ������� (CPU2\SS_DGAME.TRD)
DICT-80S (�����-������� ������, ����� 1991) (CPU2\SYSTEM-1.TRD)
ID-COM (((c))ID-COMANDER V1.2) (�������� �� �������, ����� 1990-1991) (CPU2\SYSTEM-1.TRD)
COMM (MR SUPERBOOT) (��� �� �������, ����� 1990-1991) (CPU2\SYSTEM-1.TRD)
bootGAME ("No more than 20 !") (M.RUSALOV 1991) (CPU2\SYSTEM-1.TRD � system25/boot 10,11 � MidiSoft)
ART STUDIO (adapted for BETA unit KROTOV V LENINGRAD 1991 (t. 520 51 34)) (cpu3\-----001.TRD)
�������� ��� ��� ����� � ��������� (�� ����� 1991?) (cpu3\LOGRO000.TRD)
��������� (������� �� "�����" 1991)(cpu3\LOGRO000.TRD)
Test KP (���� �������� ������48) (����� 1991) (cpu3\LOGROS.TRD)
TrCopA/A (��������� ���������) (Written by Michael (c) 1991) (cpu3\PPPPPP.TRD)
DISKCOP2 ((c)PV' 1991) (cpu3\PPPPPP.TRD)
V.V.Commander (SERVISE+, CORNORT - ����� 1990-1991) (������ �������: Master of Power, Corrected by Lebedev) (cpu3\SYSTEM-2.TRD, system25 � MidiSoft)
BLAST (���-�� �� �������� �������) (DISKED by DUPANOV 1991) (cpu3\SYSTEM-2.TRD)
LAYOUT91 (Translated and disked by �.����� 1991) (cpu3\SYSTEM-2.TRD)
GRB (Monocolor sprite grabber) (����� 1991) (cpu3\ZXDIS013.TRD)
ALGTXTM (�� ����� MidiSoft) (��� ���, �������������� ���� "���������� ����", �� � ���������� ���������)
PASSWORD (�� ����� MidiSoft) (��� ���) - ������������� �����
LOM by ���� ����� - "�����������,����������,������ ������ �������,������ �������� ����� ������� ������ � ��������� �� ??.05.1991 ����" (system20 � MidiSoft)
BOOT SYSTEM (c)1991 Fr-SOFT corp. (system25/boot7 � MidiSoft)
Copy screen to printer version 1.3 14 dec 1991 (c)1991 Shevchenko Vadim, Trush Alexander - �������� (system25/SCR->PRN � MidiSoft)
ZX DISK DOCTOR V1.0 - Koban A.V. (c) 1991 (system26/ADV1.0my � MidiSoft)
Secretary - 26.03.91 ROSMARKETING ONPC (system26 � MidiSoft)
DICTIONR (system26 � MidiSoft) - �����-������� ������
boot by Pink Flamingo Software (system25/boot03 � MidiSoft)
PAINTFILL (system25 � MidiSoft) - ������ ������� ����� �� ������-��������
?DICT-80s (system28 � MidiSoft) - �����-������� ������
?BIORITMr (system28 � MidiSoft)
?SEX (system29 � MidiSoft �������� - ������� � �������� �� �������)
?CHANGE.M (system29 � MidiSoft)
VRESTORE (c) CK software (system29 � MidiSoft)
Art Studio 128 - Beta 128 adaptation by D.Koveos and IndSoft'91 (system29 � MidiSoft)
UNIBASE+ (system29 � MidiSoft)
OPEN (system29 � MidiSoft)
SAVE9997 � SAVEscr. (system29 � MidiSoft)
CAT 0>80 - �.������ ��������� (system29 � MidiSoft)
Russian Letters (system30 � MidiSoft)
?CRAC S (system31 � MidiSoft) - cracker � ���������, ����� ����� 1991 ����
?Z80-list (system37 � MidiSoft) - ������� � �������� ������ ������
-�� ����: MIC-COPY by Michael Patlis (system29 � MidiSoft) - ���������� ���������, LOAD UTILITY. From AY-REAL 128K by Michael Patlis (system29 � MidiSoft), AY-REAL SOUND 128K by Michael Patlis (system29 � MidiSoft) - MICRUS SOFTWARE ODESSA 1993
-TLW2 by MELsoft & SII 13.2.1992 (������ & ����� ��.���������)? ������������ PENTAGON,Profi,UiPs,ZXLPRINT3, ���� ���������� (2327767.TRD � Newart'�)
-BOILER (cpu3\QWERTYUI.TRD) - �� ����������
[Chaos n/a author 65 - �� �������, �� ������� �� UDG]
[Color Lines n/a n/a 48 - ������� � ����� 1995]
[Lines n/a author 22 - �����, � �������, ��� Kempston]
[Overload n/a n/a 32 - ��������, ����� �������?, �� �������, �� ����� �� UDG � ������� ��������, ����������� � REM]
[Tetris n/a author 29 - �����, � ������� ���������, ������� ������]
[������� 4 n/a author 21 - ��������, �� �������, �� ����� �� UDG � ������� ��������]
[������� "�����" n/a author 67 - �� �������, �� ����� �� UDG � ������� ��������]
[�������� n/a author 30 - �� ������ Overload, ����������� � REM, x-color]
������ ������ ���������, ������� ��� ��� ���������:
DB>> ����� ��, �� ���� �� ���� "�������
DB>> ������" - ���? � ����� �������� ���
DB>> �� �����?
> �� ���, ��-�����, ����� �� �� �������.
/�������� ��� ��������� �� ����� 1991(cpu3\LOGRO000.TRD)/
DB> ���, ������� ��������� � ������:
DB> PITER Ltd 1991
DB> Akhudow T.A. tel 2353749
DB> ��� � ���� ��������� ��� ������
DB> �� "�����" - ����������� �������
DB> "�����". �����: ������ (�����������)
DB> � ��������� (��������).
DB> � ������ � ���-����� ��
DB> ����������?
> ��, � ������. ��������� �� ����� � ��
> ���, � � ���� ������� ������������
> ������� � �����.
/�� Laser Basic/
�� ��� ������� �� ������ ��������� ����� �������� �������:
*** Area: NET_2_5090_108_21 Date: 10 Jul 03 1:10:10
*** From: Vladimir Bogdanovitch (2:5090/108.21)
*** To : Vadim Chumachenko (2:464/117.27)
*** Subj: ����������� ���������� ���������
In a message of 07 Jul 03 Vadim Chumachenko wrote to me:
VB>> ���� ����, �� ����� � �p����. ��� �p���p ���� �� ����p���
VB>> ���p�����p������� � ������� ������� ����p���, ����p���, �� ��������.
VC> �! ���� ��������� �����������? ��� ���������!
���p���� �p��: �p��������p, �����p���� � �p��p������ (�p� ��� ���
������ �p���� �������, p��p������ ��� �p��p���� � ����� ������ ���
�� �����, ������ ��� �� p��� � �� ������������ ��������p���, ��� ������
�p��p��� ����� �� ������). �p��������p ������ � ����p��� � ������p���
�� ��� ����������� �p���p� �� ����p��� ���p���� �p������� ����������
�������. �� ���� ����� �p� ��p������ �������� �����. ���� ��� � 1989
����. �� ������� 1990 ���� � � ������ ���� �p���p. �� ������ ����
�������� ��p�� 48-�� �����p��� � �p���p������� ������������ ������p���
��p���� (�������� �� ������� ������) � ���p���� ��� � ��p���
�������������� ������p� �����p����� 302 (�p��� ��� �������). � ������
����� ������p� ������� �p���������� ����p����, � ����p�� ��������
�����p�� � ����� (����������� ����������� - �����p�� p�����). ���
���� �����p ������ �����p������. � ����������� �����������, ����
�����p����� 302, ���p������ �p��p���� (�������� � ����, �������� �
������). ����� ������ � �������� ��� (���-�� ���� ����) �� �����
�������� � ����� � ��������� ������� � ������������� �p���������� ������
(���p���p, ����� �p���) - �� ��p��� ������p� � p������ �p����� ����p�����
���p������ �p���� � ���� ���p������ ������� ��������� ����� ���p���
�� ���� ��p��� � ����� �� �p��� (� ����p����� �p�����). ����� �
��p������� ������ ����p������ ��������� ���p��� ������. ��� ����
�������� �p�����p������ ��� � ������, � �� ������� ����p������
���p��� ������. ����� �p���p �� ����� ��� ������ ��� ���p�� �p��.
��� ��� ���� �� ���, ��� ��� �p���������� �� �p��. ������, p�������
�� ����� �� �p������ ���� �� ����.
��, �p��p���� ���-�� �� ������� ������ ��, �����, ����p���, ��� �p�� ��
�������.
Vladimir Bogdanovitch (vBv)
--- Spot 1.3b
*** Area: ZX.SPECTRUM Date: 26 Sep 03 22:17:56
*** From: Vladimir Bogdanovitch (2:5090/108.21)
*** To : Kirill Frolov
*** Subj: ���������� �������� � ������ �������
In a message of 26 Sep 03 Kirill Frolov wrote to Andrew V. Miheev:
KF> ��������� � ����� �����? �������� ������� � ������ ���������
KF> ����������, �� ���� ���������� ������������ ��������...
���, � ���� ������ ����� �� ������ ����� � ������� �� ������� �
������� �p����p��� ��p������� �������� ��p���� (7 ��p���� - �p��p����
�� �����) � ���������� ��p����. ���� ��� � 1990. ������� � p���������
�p���� ��� ������ � ������-�� ��p����.
-
Vladimir Bogdanovitch (vBv)
� Pencraft ����� ������: �������� ������ (Technomax), �������� ������� - SAMPLER v1.1 (������ 1994) (59.trd � Newart'�)
������� ����� ����� iS-DOS?
1987 ���������������� �� ���� ������
1988 ������ - ������ � ���������������� � ����� ����
1989 S I N C L A I R R E S E A R C H L T D . ZX SPECTRUM. MONITOR 48K. L E N I N G R A D 1 9 8 9 (RST.TXT)
1990 ������. ����������� �� �����������. - ������������� (� ������� ��������)
1990 ������ ��� �������� - ����� ���� � ������� ���� Z-80 (��������)
1990 Layout. ��������� ����������� ���� Layout 86
1990 ��� "����". ���������� ����������. ��������� ������������ �������� "��������". ����� 1. ������ 1990
1990 ������ ������. ���������������� �� ���� BASIC - ���� ��ֻ (� ������� ��������)