Чтобы на орионе влезла вся океанская картинка 256x256 нужно четные столбцы - в одну плоскость, нечетные столбцы - в другую плоскость. Получившиеся промежутки конечно надо убрать, "собрать" вместе столбцы каждой плоскости.
Вид для печати
Чтобы на орионе влезла вся океанская картинка 256x256 нужно четные столбцы - в одну плоскость, нечетные столбцы - в другую плоскость. Получившиеся промежутки конечно надо убрать, "собрать" вместе столбцы каждой плоскости.
Ну или просто переписать процедуру PaintBitmap под "Орион-128". Она довольно несложная.
Глянь здесь - https://zx-pk.ru/threads/14176-kompy...l=1#post998053
Конвертер под специалист делал, я их при выводе переворачиваю. Если нужны океанские картинки, то можно просто сохранить экранную память в файл через отладчик, приложил архив.
Я, кстати, так БКшные картинки вытаскивал из эмулятора БК, чтобы их потом в эмуляторе океана смотреть. БК с океаном почти близнецы братья по графическим возможностям, даже пиксельклоки совпадают.
Наконец-то удалось добраться до картинок. Вот что получилось на Орионе:
https://pp.userapi.com/c849036/v8490...OQ8txC0NJM.jpg
https://pp.userapi.com/c849036/v8490...Dl2rXfpHFU.jpg
Не пойму, верно или нет? Какая-то "расчёска" наблюдается, прямо как при некачественной оцифровке ТВ-сигнала на писи :)
Использую на Орионе режим №4, никакого спец преобразования цвета не делаю, только "реверс" битов (всех) и "расфасовка" FG и BG по страницам ОЗУ.
Картинку отцентрировал, по краям полоски - это артефакты от мусора в экранном ОЗУ от родного 16-цветного режима.
Код вывода:
Скрытый текст
Код:; *** Загрузка экрана ПК "ОКЕАН-240" ***
; (C) 2019 Denn /SPb/
; Версия: 1.0a
; Создано: 12.03.2019
; Изменено: 12.03.2019
mode 3 ; режим трансляции (1..3)
cpu 0 ; инструкции: 0=i8080, 1=z80
file LDSCR$ ; имя выходного файла
page 0 ; рабочая страница ОЗУ
@DEBUG:EQU 0 ; 1 - режим отладки программы
BUFFER:EQU 0
B_SCR: EQU 0C800h
SvBYTE:EQU 0F839h; запись байта в доп.стр. ОЗУ
ORG 8000h ; а/п программы
; настройка проверки аппаратной части:
HW_TYPE:EQU 0; 0 - без проверки платформы, 1 - Орион-128, 2 - Орион-ПРО
HW_RAM:EQU 0; 0 - без проверки об'ема ОЗУ, 1=64, 2=128, 4=256, 8=512 Кб ОЗУ требуется
; настройка проверки версии ОС:
OS_VERSION:EQU 39h; 0 - без проверки, иначе - требуемый номер версии
INCL START.L ; размещается в самом начале кода!
; *** Интерфейс п/п ОС DSDOS ***
INCL DSDOS.L
; консольный ввод-вывод
INCL CONIO.L
; файловая система, диски
INCL FILE.L
; *** Библиотеки ***
if @DEBUG
INCL DEBUG.L
endf
B_NAME:DB 'PARROTS '
;B_NAME:DB 'SHIP1 '
REVERT:
LXI D,BUFFER
MVI B,40h ; 20h
MVI L,0
MEMRV0:
LDAX D
MOV H,A
XRA A
DAD H
RAR
DAD H
RAR
DAD H
RAR
DAD H
RAR
DAD H
RAR
DAD H
RAR
DAD H
RAR
DAD H
RAR
STAX D
INR E
JNZ MEMRV0
INR D
DCR B
JNZ MEMRV0
RET
; *** Основной код программы ***
START:
LXI H,B_NAME
CALL SET_FILE_NAME
LXI H,BUFFER
LXI B,1
CALL FILE_LOAD
RC
CALL REVERT
CALL ShowIMG
MVI A,4
OUT 0F8h
JMP INPUT_KEY
ShowIMG:
LXI D,BUFFER
LXI H,B_SCR
MVI B,20h
ShowFG:
LDAX D
MOV M,A
INR E
INR L
JNZ ShowFG
INR H
INR D
INR D
DCR B
JNZ ShowFG
LXI D,BUFFER+0100h
LXI H,B_SCR
MVI B,20h
ShowBG:
LDAX D
MOV C,A
MVI A,1
CALL SvBYTE
INR E
INR L
JNZ ShowBG
INR H
INR D
INR D
DCR B
JNZ ShowBG
RET
END
[свернуть]
Denn, как там процесс переноса "Тетриса" на Орион? :) а то скука заедает, начинаю отвлекаться.
Скрытый текст
Вложение 68416[свернуть]