SprPoP: HDD-раскладка и пути от каталога EXE

This commit is contained in:
2026-08-30 11:21:11 +03:00
parent 602c3a20fa
commit 623199337e
20 changed files with 257 additions and 53 deletions
+3 -2
View File
@@ -17,6 +17,7 @@
#include "pop_music_tbl.h"
#include "pop_sfx.h"
#include "pop_app.h" /* POP_APP_DEMO — в демке музыки нет */
#include "_pop_file.h"
uint8_t pop_mus_page[POP_MUS_PAGES];
@@ -141,7 +142,7 @@ int8_t pop_music_load_begin(uint8_t id) __banked
/* Трек лежит ОДНИМ файлом, и fd остаётся открытым до последней
* страницы: `open` стоит дороже самого чтения (51,4 мс против 32,6 мс
* на 16 КБ), и платить его на каждую страницу — чистые потери. */
ld_fd = open(name, O_RDONLY);
POP_PATH_CALL(ld_fd, open(name, O_RDONLY));
if (ld_fd < 0) return -1;
slot_blk[n] = mem_alloc_pages(pages);
if (!slot_blk[n]) { close(ld_fd); return -1; }
@@ -288,7 +289,7 @@ int8_t pop_music_ring_start(uint8_t id) __banked
pop_music_free(); /* обычные слоты кольцу не нужны */
pop_music_ring_stop();
mus_name(name, id);
ring_fd = open(name, O_RDONLY);
POP_PATH_CALL(ring_fd, open(name, O_RDONLY));
if (ring_fd < 0) return -1;
ring_fd_open = 1;
ring_blk = mem_alloc_pages(RING_PAGES);