valerium(24.11.2021)
"И как за 5 сек вся дискета - разъясните, а то аж уснуть не могу )"
Как 5 секунд дискета не знаю, но без памяти просто, in из порта и следом out в порт эти же данные. Но если честно я абсолютно не знаю как работает IDE, наверное там нужно еще выбирать откуда и куда)
Так. Немного уменьшаю рыбу. Телефон не сохранил скрины секундомера, но я записал видео и выложил в ту папку, что в первом сообщении.
Копирование с карты на карту образа TRD через WDC занимает примерно 1:10.
А через GMXCOM почти целая дискета, 2446 секторов, копируется с карты на карту примерно за 6,5 секунд.
Так что я почти не соврал.
Скрытый текст
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
[свернуть]
А вот inir и otir это интересно. Действительно 21 такт на байт и так до 256 байт строчит. Просто под Z80 я почти не пишу, вот и думаю как писал под 8080 )
Из какого и в какой порт ? Там все непросто хотя бы потому, что IDE 16-разрядный и процессор одним движением эти данные обработать в любом случае не может.
Еще у него записью в отдельные регистры адресуется каждый сектор (или LBA-блок, в зависимости от режима адресации),а внутри него есть еще таблица разделов, внутри которых лежат структуры файловых систем. Так что одно IDE-устройство со своей файловой системы корректно отдать данные в файловую систему другого устройства просто не сможет, нужен промежуточный интеллект )
Upd: про разделы, наверное, гоню, это ж не esxdos, который работает со всеми фишками писишных устройств, наверное тут данные организованы проще. Но структуры, контролирующие размещение файлов, точно никто не отменит )
- - - Добавлено - - -
Вариант был мало того, что неоптимальный, так еще и неправильный. Лет 20 почти ничего под Z80 не писал - похоже и начинать уже не надо )
Красиво. Респект )Сферический конь без проверки готовности данных состоит из одной команды inir/otir, это 21 такт =) Если же раскранчить код в памяти (кучу команд ini/outi), то вообще 16 тактов.
Последний раз редактировалось valerium; 24.11.2021 в 22:07.
Из какого и в какой порт ?
Как оно там работает на GMX не знаю, может там все хитро. Авторы GMX commandera прям прямо писали что там они что-то хитрое делали и обещали обмен до 300кб/с при том что стандартный софт пишет больше минуты.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Такое возможно только в том случае, когда копируемые данные не покидают контроллер и у проца нет необходимости их все усваивать.
Повспоминал программный режим ATAPI, предположу, что при копировании файлов, когда в регистрах IDE уже определены конкретные сектор-источник на одном винте и сектор-приемник на другом, одному винту записывается команда на чтение сектора, другому на запись, а затем выбираются оба устройства, у обоих выставляется адрес регистра данных , после чего за 256 циклов выполняется передача одного сектора между их регистрами данных (256 16-разрядных слов) через общую у них шину данных. А процессор эти данные не видит и они ему неинтересны, ему надо только 256 раз стробирующим сигналом дрыгнуть.
При строго последовательном размещении секторов файла так можно даже читать-писать группы секторов. Но выигрыш будет только если файлы хранятся в последовательных секторах и нет необходимости строить сложный каталог с таблицами размещения.
В той файловой системе есть подобие FAT-таблиц ?
Скрытый текст
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
[свернуть]
Тогда вся моя гипотеза идёт мимо.
Магия )
А если один файл trd в середине диска удалить, чтоб задействовать его пространство, уплотнять данные требуется?Не знаю, но думаю непрерывное пространство внутри одного образа TRD, без всяких там фрагментаций.
Если да, то уплотнение тоже происходит с магической скоростью или занимает ощутимое время ? Хочу понять, читает ли в себя z80 при таком обмене
Скрытый текст
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)