Volkov: добавить Sprinter Commander
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места. Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
This commit is contained in:
+14
-7
@@ -27,16 +27,23 @@ static int _estex_open_raw(const char *path, int posix_mode) __naked
|
||||
(void)path; (void)posix_mode;
|
||||
__asm
|
||||
push ix
|
||||
;; HL = путь, DE = posix_mode. Перевести в нумерацию ESTEX.
|
||||
;; HL = путь, DE = flags. Низкие биты libc: W=1, R=2, RW=3;
|
||||
;; ESTEX: RW=0, R=1, W=2. flags=0 оставляем совместимым с R.
|
||||
ld a, e
|
||||
and a, #0x03
|
||||
ld c, #1
|
||||
or a, a
|
||||
jr Z, _oopen_real
|
||||
ld c, #2
|
||||
dec a
|
||||
jr Z, _oopen_real
|
||||
ld c, #0
|
||||
or a, a
|
||||
jr Z, _oopen_read
|
||||
cp a, #1
|
||||
jr Z, _oopen_write
|
||||
cp a, #2
|
||||
jr Z, _oopen_read
|
||||
jr _oopen_real ; 3 = read/write
|
||||
_oopen_read:
|
||||
ld c, #1
|
||||
jr _oopen_real
|
||||
_oopen_write:
|
||||
ld c, #2
|
||||
_oopen_real:
|
||||
ld a, c
|
||||
ld c, #0x11 ; ESTEX OPEN
|
||||
|
||||
Reference in New Issue
Block a user