Благодаря svofski в "Прекрасном Ассемблере 8080" появилась рыба для "Океана-240":
https://svofski.github.io/pretty-8080-assembler/
Нужно ткнуть в значок рыбы:
Вложение 67004
И в открывшемся безбрежном море возможностей выбрать нужноэ:
Вложение 67005
Вид для печати
Благодаря svofski в "Прекрасном Ассемблере 8080" появилась рыба для "Океана-240":
https://svofski.github.io/pretty-8080-assembler/
Нужно ткнуть в значок рыбы:
Вложение 67004
И в открывшемся безбрежном море возможностей выбрать нужноэ:
Вложение 67005
Кусок кода из Тест-ПЗУ про прерывания:
Код:MVI A,36H
OUT 63H ; регистр задания режима ВИ53
XRA A
OUT 60H ; системный счетчик 0 ВИ53
OUT 60H
LXI SP,T90
MVI A,0C3H ; первый байт команды JMP вектора прерывания RST4
STA 20H
LXI H,T92 ; второй и третий байты команды JMP
SHLD 21H
MVI A,0EFH
OUT 81H ; ВН59
; слово OCW1 (A0=1, D4=1): маска прерываний 11101111 (разрешены прерывания RST4)
MVI A,20H
OUT 80H ; ВН59
; слово OCW2 (A0=0, D4=D3=0): EOI
LXI D,0FFFFH ; некоторая задержка
EI ; разрешаем прерывания
T94:
DCX D ; и ждём
MOV A,D
ORA E
JNZ T94
DI
MVI E,08H
MVI D,02H ; тест не удался
LXI SP,T95
JMP MSG
T92:
DI
MVI E,08H
MVI D,00H ; тест вполне удался
LXI SP,T95
JMP MSG
Под впечатлением от редактора шрифтов ZNG набросал примитивный редактор битмапов 8x8:
Вложение 67787
Стрелки - перемещение курсора
1, 2, 3 - поставить точку соответствующего цвета
0 - очистить точку
Z - очистить битмап
F - сменить цвет переднего плана, B - фона
ESC - выход
Исходники здесь: https://github.com/timtashpulatov/ok...aster/graf.asm
Можно сразу открыть в "Прекрасном ассемблере": https://svofski.github.io/pretty-808...aster/graf.asm
Микроапдейт:
Вложение 67815
- Переход к предыдущему/следующему битмапу по кнопкам < и >
- Клипборд по кнопкам C и P
Добавил поддержку файлов, мигающий курсор, немного eye candy
https://sensi.org/~tnt23/ok240/software/graf01.png
Свалка информации по GRAF
- Рабочее поле (слева) - тайл 8 на 8 пикселей. Каждый тайл занимает в памяти последовательно 16 байт: 8 байт первого цветового плана, 8 байт второго цветового плана
- Тайлы хранятся в памяти последовательно друг за другом
- Превью (справа) - отображение тайлов, как они лежат в памяти, в графическом виде. В строке выводится 8 тайлов, в следующей строке следующие 8, и так далее. Таким образом, превью есть квадратный гипертайл из 64 битмапов (зачем я это все пишу?)
- В один 128-байтовый сектор CP/M свободно входит 8 тайлов, или 1 строка гипертайла
- 8 строк гипертайла займут, соответственно, 8 секторов
- При запуске с именем файла в качестве параметра 8 секторов файла будут загружены в рабочую область редактора с адреса 4000h. Имя файла будет отображено in big friendly letters над превью, на манер МЕНЕ ТЕКЕЛ ФАРЕС
- При запуске без параметров редактор не очищает рабочую область, что в большинстве случаев удобно. При этом в качестве имени файла будет использовано волюнтаристски выбранное SCRATCH.PAD
- При выходе редактора по кнопке ESC будет предложено сохранить рабочую область в файл
- Для демонстрации можно запустить GRAF.COM с параметром GRAF.COM и насладиться богатым внутренним миром бинарника (точнее, только первых его 8 секторов)
- Для редактирования соседних тайлов используем кнопки <, >, Q, A. Превью при этом скроллится не самым удачным образом, всегда фокусируясь на активном тайле в левом верхнем углу. Я подумываю использовать кнопку TAB для переключения между рабочим полем и превью, но это как-нибудь потом
Так же на потом отложено перемещение к соседним битмапам просто попыткой сместить курсор за пределы рабочего поляDone- В тот же бэклог занесено отображение кромок соседних битмапов вокруг рабочего в каком-нибудь полупрозрачном виде, вместо унылой кирпичной стены
Накидал вот слайд для визуалов вроде себя
https://sensi.org/~tnt23/ok240/softw..._explained.png
Добавил hex dump редактируемого блока 8х8, в перспективе отключаемый кнопкой H.
Вложение 83074
Первая колонка - 8 байт первого плана, вторая колонка - 8 байт второго плана.