8e389c03f8
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места. Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
36 lines
968 B
C
36 lines
968 B
C
/*
|
|
* p1child.c — дочерняя программа для проверки ESTEX EXEC.
|
|
*
|
|
* Намеренно меняет видеорежим, ничего не пишет на диск и возвращает 0x5A.
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdint.h>
|
|
#include <unistd.h>
|
|
#include <conio.h>
|
|
#include <sprinter.h>
|
|
|
|
static char child_cwd[256];
|
|
|
|
int main(void)
|
|
{
|
|
(void)settextmode(TEXT_MODE_40x32);
|
|
clrscr_attr(0x27);
|
|
gotoxy(0, 0);
|
|
textattr(0x2F);
|
|
cputs("P1CHILD.EXE\r\n\r\n");
|
|
textattr(0x27);
|
|
cputs("EXEC reached child successfully.\r\n");
|
|
cprintf("W1/W2/W3: %02X/%02X/%02X\r\n",
|
|
(unsigned)_io_page_w1, (unsigned)_io_page_w2,
|
|
(unsigned)_io_page_w3);
|
|
if (getcwd(child_cwd, sizeof(child_cwd)) != 0) {
|
|
cprintf("CWD: %s\r\n", child_cwd);
|
|
} else {
|
|
cputs("CWD: <getcwd failed>\r\n");
|
|
}
|
|
cputs("\r\nPress any key to return 0x5A...");
|
|
(void)getkey();
|
|
return 0x5A;
|
|
}
|