Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
Xela(04.01.2024)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Если для построения таблицы кластеров, то вовсе не обязательно, при условии что есть ~15к тактов свободных, но это при сильной дефрагментации, а в большинстве случаев и того меньше (сравнимо с выборкой значения из таблицы).
Плюс к этому можно немного оптимизировать текущий драйвер смука.
Да. Я прикинул, что памяти 2Мб хватит примерно на файл в 2 Гб. Ну то есть одной странички 16к хватает на файл 16 мегов.
В предыдущих версиях, когда играло через модуль в ГС, прокатило бы просчитывание следующего кластера. Такты свободные вроде есть.
А сейчас через ковокс, надо постоянно подкидывать звук в порт. Тут надо исхитряться, если заранее не сделать таблицу. А так сейчас свободно чуть не целое прерывание между кадрами.
Вот такое чтение сектора у меня сейчас:
Скрытый текст
read_sec_smuc ;чтение сектора с одновременным выводом звука через smuc
exx
ld bc,(snd_port) ;порт для звука
ld hl,(snd_adr_cur) ;адрес
exx
ld a,#20
read_sec_smuc1
exx
outi ;байт звука
ld (snd_adr_cur),hl
exx
dup 8
ld b,d
ini
ld b,e
ini
edup
dec a
jr nz,read_sec_smuc1
exx
nop
outi ;байт звука
ld (snd_adr_cur),hl
exx
ret
[свернуть]
Через каждые 16 байт чтения выводит один байт звука.
Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
А если кластер будет равен 512 байтам? Да и заполнить таблицу размером почти в 2 мегабайта, то все-таки время.
Видел я эту процедуру. Вывод в ковокс, можно организовать в любой процедуре
Оптимизировать в других местах можно,
во-первых все call out_c_a/call in_a_c заменить на out (c),a/in a,(c) это уже экономия на каждом вызове 27 тактов
во-вторых при мультисекторном чтении нет нужды читать регистр состояния после чтения каждого сектора
ну и наверняка есть еще моменты где можно и ускорить и сократить код, уж слишком глубоко код не смотрел.
Да, это я для кластера 4096 прикидки делал. А для 512 будет пол гига, получается.
Ну и обсчитывать файл 2 гига будет, конечно, не быстро. Ну это так, с запасом. А если запускать конвертирование такого файла, то это на ночь.
Кстати да, а я не догадался.
Ну тут надо подробнее будет раскурочивать драйвер фат. Он же у меня как кусок кода добавлен. Везде вставлять вывод в ковокс.
Видал исходники, но из незнакомого ассемблера не мог перенести. Да и не понятно последняя ли версия.
- - - Добавлено - - -
Ссылочку на описание можно?
Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
izzx(04.01.2024)
Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
LW(05.01.2024)
Это оказались какие-то мои фантомные воспоминания... Перечитал еще раз всю инфу про SоunDrive - да, v.1.51 умеет перехватывать обращения к портам COVOX'а (как #FB, так и #DD) но про автоматическое стерео ничего там нет.
- - - Добавлено - - -
255 папок, по 255 файлов в каждой.. это еще наконвертировать нужно столько)
- - - Добавлено - - -
а если использовать R8FAT? или наоборот будет медленнее работать?
драйвер сейчас после каждого сектора читает порт FFBE и проверяет бит 7. Это можно выкинуть? А если у человека старый медленный винт?
то есть особого смысла добавлять порт FB нет? Если будут пожелания - добавлю. И максимум файлов в папке могу сделать, скажем, 1024. Но это надо немножка поправлять код.
Главное бы улучшить звук. В эмуляторе сейчас звучит лучше, чем в реальности.
Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)