С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
В моём случае 8-битка, в т.ч. расчёт на платформу с КР580ВМ80 с тактом 2,5 МГц и боевая задача добиться максимальной скорости работы с файлами. Оптимизация стековыми операциями и прочие ухищрения. Лишние циклы - непозволительная роскошь.
В моём случае попались "классические" фуджики МПГ и МПЕ, у обоих есть фича "slave present".
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Если мне не отбило мой склероз накопитель должен получить/отдать сектор целиком.
Такая "роскошь" случается всего один раз на файл, в его хвосте. Не такие уж большие расходы. Что касается служебных структур, то они все кратны размеру кластера, который на небольших накопителях равен размеру сектора, и их все равно придется вычитывать до конца. Кроме того у меня есть сомнение что вы хорошо объедете этот вопрос прерывая не операцию чтения, а операцию записи.
ram_scan, например копируем "100500" файлов размером 3 байта. Ситуация утрированная, но тем не менее. На практике размеры файлов не кратны 512, и хвосты как раз представляют собой эти "три" байта. 100500 по 3 или по 512, есть разница?
В случае записи, разумеется, без вариантов - приходится честно добивать "мусором" до 512.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Denn, именно те же проблемы и с IBM PC и MS-DOS. И что?
А вот с этого места поподробнее, плз.
- - - Добавлено - - -
Где конкретно такое написано?
Про эмуляторы ничего не знаю, и мне это не интересно. По факту поведение реального железа соответствует тому, что написано в оф. документации.
Важный момент: если у привода есть перемычка "Slave Present", то её обязательно нужно использовать. Выше я про это упоминал.
Детект ведомого накопителя делается в три хода:
1) установка бита DRV=1;
2) выдача какой-либо команды (например, NOP);
3) Анализ регистра состояния (согласно п. 7.2.13, NOTE 6).
Всё.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)