Volkov: добавить Sprinter Commander
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места. Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* p2_platform.c — пакетный координатный вывод screen model через ESTEX.
|
||||
*
|
||||
* WINREST 5Ah не принимает идентификатор BIOS-окна: D/E/H/L задают
|
||||
* абсолютный прямоугольник активной текстовой страницы, B:IX — источник.
|
||||
* ABI SDCC __sdcccall(1) подтверждён P1-пробой.
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include "p2_screen.h"
|
||||
|
||||
void p2_winrest(uint8_t row, uint8_t col, uint8_t height, uint8_t width,
|
||||
uint8_t page, uint16_t offset) __naked
|
||||
{
|
||||
(void)row;
|
||||
(void)col;
|
||||
(void)height;
|
||||
(void)width;
|
||||
(void)page;
|
||||
(void)offset;
|
||||
__asm
|
||||
ld iy, #2
|
||||
add iy, sp
|
||||
ld d, a
|
||||
ld e, l
|
||||
|
||||
push ix
|
||||
ld l, 3 (iy)
|
||||
ld h, 4 (iy)
|
||||
ld bc, #0xC000
|
||||
add hl, bc
|
||||
push hl
|
||||
pop ix
|
||||
|
||||
ld h, 0 (iy)
|
||||
ld a, 1 (iy)
|
||||
ld l, a
|
||||
ld a, 2 (iy)
|
||||
ld b, a
|
||||
ld c, #0x5A
|
||||
di
|
||||
rst #0x10
|
||||
ei
|
||||
pop ix
|
||||
|
||||
pop hl
|
||||
inc sp
|
||||
inc sp
|
||||
inc sp
|
||||
inc sp
|
||||
inc sp
|
||||
jp (hl)
|
||||
__endasm;
|
||||
}
|
||||
Reference in New Issue
Block a user