Commodore 1541 (также известный как CBM 1541 и VIC-1541 ) — дисковод , который был изготовлен Commodore International для Commodore 64 (C64), самого популярного домашнего компьютера Commodore . Самый известный дисковод для C64, 1541 — это односторонний 170- килобайтный дисковод для 5¼-дюймовых дисков. 1541 появился сразу после Commodore 1540 (предназначенного для VIC-20 ).
Дисковод использует групповую кодированную запись (GCR) и содержит микропроцессор MOS Technology 6502 , который также выполняет функции контроллера диска и встроенного процессора операционной системы диска . Количество секторов на дорожку варьируется от 17 до 21 (ранняя реализация зонной битовой записи с 4 зонами постоянной угловой скорости ). Встроенная в дисковод операционная система — CBM DOS 2.6 .
На момент своего появления 1541 стоил менее 400 долларов США . C64 с 1541 стоил около 900 долларов, а Apple II без дисковода стоил 1295 долларов. Первые диски 1541, выпущенные в 1982 году, имели этикетку спереди с надписью VIC-1541 и корпус цвета слоновой кости, как у VIC-20. В 1983 году 1541 перешел на привычный бежевый корпус и этикетку спереди с надписью просто «1541» вместе с радужными полосками, как у Commodore 64.
К 1983 году 1541 продавался по цене $300 или меньше. После ценовой войны домашних компьютеров, спровоцированной Commodore, C64 и 1541 вместе стоили менее $500. [ требуется цитата ] Привод стал очень популярным и его было трудно найти. Компания заявила, что дефицит возник из-за того, что 90% владельцев C64 купили 1541 по сравнению с ее 30%-ными ожиданиями, но пресса обсуждала то, что Creative Computing описала как «абсолютно тревожный уровень возврата» из-за дефектов. Журнал сообщил в марте 1984 года, что получил три дефектных привода за две недели, [3] а Compute!'s Gazette сообщила в декабре 1983 года, что четыре из семи приводов журнала вышли из строя; «COMPUTE! Publications остро нуждается в дополнительных 1541 для внутреннего использования, однако мы не можем найти ни одного, чтобы купить. После многочисленных телефонных звонков в течение нескольких дней нам удалось найти только два устройства на всей континентальной части Соединенных Штатов », как сообщается, из-за попытки Commodore решить производственную проблему, которая привела к большому количеству отказов. [4]
Ранние (1982–1983) 1541-е имели пружинный механизм извлечения ( привод Alps ), и диски часто не высвобождались. Этот тип привода получил популярное прозвище «привод тостера», поскольку для извлечения застрявшего носителя требуется использовать нож или другой твердый тонкий предмет, [ требуется ссылка ] как кусок тоста, застрявший в настоящем тостере . Это было исправлено позже, когда Commodore сменила поставщика приводного механизма ( Mitsumi ) и приняла механизм Newtronics с перекидным рычагом, что значительно повысило надежность. Кроме того, Commodore уменьшила плату контроллера привода и уменьшила количество его микросхем по сравнению с ранними 1541-ми (у которых была большая печатная плата, идущая по всей длине корпуса, с десятками микросхем TTL ). Newtronics 1541 в бежевом корпусе выпускался с 1984 по 1986 год.
Все, кроме самых ранних моделей non-II 1541, могут использовать механизм Alps или Newtronics. Визуально первые модели с обозначением VIC-1541 имеют цвет с оттенком белого, как VIC-20 и VIC-1540. Затем, чтобы соответствовать внешнему виду C64, CBM изменила цвет привода на коричнево-бежевый, а название на Commodore 1541 .
Многочисленные недостатки 1541 открыли рынок для ряда сторонних клонов дисководов. Примерами могут служить Oceanic OC-118 , он же Excelerator+ , одинарные и двойные дисководы MSD Super Disk , Enhancer 2000 , Indus GT , BCD/5.25 от Blue Chip Electronics и FD -2000 и FD-4000 от CMD . Тем не менее, 1541 стал первым дисководом, получившим широкое распространение в домашних условиях, и Commodore продала миллионы единиц.
В 1986 году Commodore выпустила 1541C, переработанную версию, которая обеспечивает более тихую и немного более надежную работу и светло-бежевый корпус, соответствующий цветовой схеме Commodore 64C. В 1988 году ее заменила модель 1541-II, которая использует внешний источник питания для обеспечения более холодной работы и позволяет накопителю занимать меньше места на рабочем столе («кирпич» источника питания размещался в другом месте, обычно на полу). Более поздние версии ПЗУ исправили различные проблемы, включая программную ошибку, из-за которой команда сохранения и замены портила данные.
Commodore 1570 — это обновление 1541 для использования с Commodore 128 , доступным в Европе. Он предлагает возможность MFM для доступа к дискам CP/M , улучшенную скорость и несколько более тихую работу, но производился только до тех пор, пока Commodore не запустила свои производственные линии с 1571 , двусторонним приводом. Наконец, был выпущен небольшой, работающий от внешнего источника питания, основанный на MFM привод Commodore 1581 3½ дюйма, обеспечивающий доступ к 800 КБ для C128 и C64.
В 1541 нет DIP-переключателей для изменения номера устройства. Если пользователь добавляет в систему более одного привода, ему необходимо перерезать дорожку на печатной плате, чтобы навсегда изменить номер устройства привода, или вручную подключить внешний переключатель, чтобы его можно было изменить извне. [5] Также возможно изменить номер привода с помощью программной команды, которая является временной и будет стерта, как только привод будет выключен.
При включении питания приводы 1541 всегда по умолчанию используют устройство № 8. Если в цепочке используется несколько приводов, то процедура запуска заключается в включении питания первого привода в цепочке, изменении его номера устройства с помощью программной команды на самый высокий номер в цепочке (если использовались три привода, то первый привод в цепочке будет установлен как устройство № 10), затем включении питания следующего привода, изменении его номера устройства на следующий меньший и повторении процедуры до тех пор, пока последний привод в конце цепочки не будет включен и оставлен как устройство № 8.
В отличие от Apple II , где поддержка двух дисков является нормой, программное обеспечение Commodore сравнительно редко поддерживает такую настройку, а команда копирования файлов CBM DOS не позволяет копировать файлы между дисками — необходима сторонняя утилита копирования.
1541 до II также имели внутренний источник питания, который вырабатывал много тепла. Выделение тепла было частым источником юмора. Например, Compute! в 1988 году заявил, что «Commodore 64 был фаворитом у любителей и профессиональных поваров, поскольку они могли одновременно вычислять и готовить на своих дисководах серии 1500». [6] В серии юмористических советов в MikroBitti в 1989 году говорилось: «Когда программирование затягивается, кофе и шашлык прекрасно сохраняются теплыми на 1541». [7] В обзоре MikroBitti 1541-II говорилось, что его внешний источник питания «должен положить конец шуткам о тостерах».
Механизм головки привода, установленный в первые годы производства, печально известен тем, что его легко сместить. Наиболее распространенной причиной стука головки привода 1541 и последующего смещения являются схемы защиты от копирования в коммерческом программном обеспечении. [8] Основная причина проблемы заключается в том, что сам дисковод не имеет никаких средств обнаружения того, когда головка чтения/записи достигает нулевой дорожки. Соответственно, когда диск не отформатирован или происходит ошибка диска, устройство пытается переместить головку 40 раз в направлении нулевой дорожки (хотя 1541 DOS использует только 35 дорожек, сам механизм привода представляет собой 40-дорожечное устройство, поэтому это гарантировало достижение нулевой дорожки независимо от того, где головка находилась до этого). После достижения нулевой дорожки каждая последующая попытка переместить головку в этом направлении приведет к ее упиранию в твердый упор: например, если головка до этой процедуры находилась на дорожке 18 (где находится директория), то головка фактически будет перемещена 18 раз, а затем упрется в упор 22 раза. Такое упирание дает характерный «пулеметный» звук и рано или поздно выбьет головку из выравнивания.
Неисправная часть выравнивания головки, вероятно, была причиной многих проблем с надежностью в ранних приводах 1541; один дилер сказал Compute! ' s Gazette в 1983 году, что эта часть была причиной всех, кроме трех из нескольких сотен отказов приводов, которые он отремонтировал. [4] Приводы были настолько ненадежными, что журнал Info пошутил: «Иногда кажется, что одна из первоначальных спецификаций конструкции ... должна была сказать « Среднее время между отказами : 10 доступов». Пользователи могут самостоятельно выровнять привод с помощью программного обеспечения и калибровочного диска. Пользователь может извлечь привод из корпуса, а затем ослабить винты, удерживающие шаговый двигатель , который перемещает головку, затем с калибровочным диском в приводе осторожно поворачивать шаговый двигатель вперед и назад, пока программа не покажет хорошее выравнивание. Затем винты затягиваются, и привод возвращается в корпус. [8]
Появилось стороннее исправление для 1541, в котором сплошной упор головки был заменен пружинным упором, что значительно облегчило жизнь головки. [8] Более поздний привод 1571 (совместимый с 1541) включает обнаружение нулевой дорожки с помощью фотопрерывателя и, таким образом, невосприимчив к этой проблеме. Кроме того, программное решение, которое находится в ПЗУ контроллера привода, предотвращает повторные чтения, хотя это может вызвать проблемы, когда происходят настоящие ошибки.
Из-за проблем с выравниванием приводных механизмов Alps в 1984 году Commodore сменила поставщика на Newtronics. Приводы механизмов Newtronics имеют рычаг, а не защелку, чтобы закрыть дверцу привода. Хотя проблемы с выравниванием были решены после переключения, приводы Newtronics добавляют новую проблему надежности, поскольку многие головки чтения/записи ненадлежащим образом герметизированы, что приводит к проникновению влаги в головку и ее короткому замыканию.
Печатная плата 1541 в основном состоит из ЦП 6502, двух чипов 6522 VIA и 2k рабочей RAM. Можно добавить до 48k RAM; это в основном полезно для обхода схем защиты от копирования, поскольку в RAM привода можно загрузить всю дорожку диска, в то время как стандартные 2k вмещают только несколько секторов (теоретически восемь, но часть RAM использовалась CBM DOS в качестве рабочего пространства). Некоторые пользователи Commodore используют 1541 в качестве импровизированного математического сопроцессора , загружая на привод код с интенсивным использованием математики для фоновой обработки . [9] [10] [11] [12] [13]
1541 использует фирменную сериализованную производную параллельного интерфейса IEEE-488 , которая использовалась в предыдущих дисководах для персональных и деловых компьютеров PET/CBM [14] , но когда VIC-20 находился в разработке, искали более дешевую альтернативу дорогим кабелям IEEE-488. Чтобы обеспечить готовую поставку недорогих кабелей для периферийных устройств своего домашнего компьютера, Commodore выбрала стандартные разъемы DIN для последовательного интерфейса. Дисководы и другие периферийные устройства, такие как принтеры, подключаются к компьютеру через последовательную цепочку , что требует только одного разъема на самом компьютере.
В 1985 году IEEE Spectrum заявил, что: [15]
Один из главных недостатков C-64 заключается не в самой машине, а в ее дисководе. С достаточно быстрым дисковым накопителем и адекватной операционной системой (DOS) C-64 мог бы конкурировать на деловом рынке с Apple и, возможно, с другими деловыми компьютерами. Однако с нынешним дисковым накопителем ему вряд ли удастся потерять свой имидж игрушки.
Разработчики C-64 обвинили в низкой скорости 1541 отдел маркетинга, настаивавший на совместимости компьютера с 1540, который был медленным из-за недостатка в контроллере интерфейса VIA 6522. [15] Первоначально Commodore намеревался использовать аппаратный сдвиговый регистр (один из компонентов 6522) для поддержания высокой скорости привода с новым последовательным интерфейсом . Однако аппаратная ошибка в этом чипе не позволила первоначальному проекту работать так, как предполагалось, и код ПЗУ был спешно переписан для обработки всей операции программным обеспечением. По словам Джима Баттерфилда , это привело к снижению скорости в пять раз; [16] если бы совместимость с 1540 не была обязательным требованием, интерфейс диска был бы намного быстрее. В любом случае C64 обычно не может работать с 1540, если только вывод дисплея VIC-II не отключен посредством записи регистра в бит DEN (регистр $D011, бит 4), что предотвращает остановку ЦП во время определенных видеострок для обеспечения правильной последовательной синхронизации. [17]
Как реализовано на VIC-20 и C64, Commodore DOS передает 512 байт в секунду, по сравнению с 1000 байт в секунду у Atari 810 , 15 000 байт в секунду у Apple Disk II [15] и 300- бодовой скоростью передачи данных системы хранения Commodore Datasette . Для копирования одного диска требуется около 20 минут — 10 минут на чтение и 10 минут на запись. Однако, поскольку и компьютер, и дисковод можно легко перепрограммировать, третьи стороны быстро написали более эффективную прошивку, которая значительно ускорила бы работу диска. Без аппаратных модификаций некоторые утилиты « быстрой загрузки » (которые обходили процедуры во встроенном ПЗУ 1541) смогли достичь скорости до 4 кбит/с. Наиболее распространенными из этих продуктов являются Epyx Fast Load , Final Cartridge и картриджи Action Replay plug-in ROM , которые все также имеют на борту монитор машинного кода и программное обеспечение редактора диска . Популярные компьютерные журналы Commodore той эпохи также вышли на арену с утилитами быстрой загрузки, с Compute!'s Gazette, издавшей TurboDisk в 1985 году, и RUN , издавшей Sizzle в 1987 году.
Несмотря на то, что каждый 1541 имеет собственный встроенный контроллер диска и операционную систему диска, пользователь не может управлять двумя приводами 1541 для копирования диска (один привод для чтения, а другой для записи), как в случае со старыми двойными приводами, такими как 4040 , который часто встречался в компьютере PET, и с которым 1541 обратно совместим (он может читать диски 4040, но не записывать на них, поскольку небольшая разница в количестве байтов заголовка делает 4040 и 1541 совместимыми только по чтению). Первоначально для копирования с диска на диск требовалось программное обеспечение, работающее на C64, и оно сначала считывало данные с одного диска в память компьютера, а затем записывало данные на другой. Только когда были выпущены Fast Hack'em и, позднее, другие программы резервного копирования дисков, стало возможным настоящее копирование с диска на диск для пары 1541. При желании пользователь мог отключить C64 от приводов (т. е. от первого привода в цепочке) и выполнять какие-либо другие действия с компьютером, пока приводы продолжали копировать весь диск.
В приводе 1541 используются стандартные 5¼-дюймовые дискеты двойной плотности; носители высокой плотности не будут работать из-за другого магнитного покрытия, требующего более высокой магнитной коэрцитивности . Поскольку схема кодирования GCR не использует индексное отверстие, привод также совместим с дисками с жесткими секторами . Стандартный формат CBM DOS составляет 170 КБ с 35 дорожками и 256-байтовыми секторами. Он похож на формат, используемый в приводах PET 2031, 2040 и 4040, но небольшая разница в количестве байтов заголовка делает эти приводы и 1541 совместимыми только для чтения; диски, отформатированные одним приводом, не могут быть записаны другим. Приводы позволят производить запись, но несоответствующий размер заголовка повредит данные в частях данных каждой дорожки.
В приводах 4040 используются Shugart SA-400, которые были 35-дорожечными устройствами, поэтому формат там обусловлен физическими ограничениями механизма привода. В 1541 используются 40-дорожечные механизмы, но Commodore намеренно ограничил формат CBM DOS 35 дорожками из-за проблем с надежностью ранних устройств. С помощью низкоуровневого программирования можно переместить головку привода на дорожки 36–40 и записывать на них, это иногда делается коммерческим программным обеспечением в целях защиты от копирования и/или для получения дополнительных данных на диске.
Однако одна дорожка зарезервирована DOS для информации о каталогах и размещении файлов (BAM, block availability map ). И поскольку для обычных файлов два байта каждого физического сектора используются DOS в качестве указателя на следующую физическую дорожку и сектор файла, только 254 из 256 байт блока используются для содержимого файла.
Если сторона диска не подготовлена иным образом с помощью специального формата (например, для дисков данных), после форматирования будет свободно 664 блока, что дает 664 × 254 =168 656 байт (или почти165 КБ ) для пользовательских данных.
Используя пользовательское форматирование и процедуры загрузки/сохранения (иногда входящие в состав сторонних DOS, см. ниже), можно использовать все механически возможные 40 дорожек.
Поскольку в приводе не используется индексное отверстие, можно также изготавливать « переворачивающиеся дискеты », вставляя дискету вверх дном и форматируя другую сторону; распространение коммерческого программного обеспечения на таких дисках является обычным делом.
Треки 36–42 нестандартные. Битрейт — это необработанный битрейт между головкой чтения/записи и сигнальной схемой, поэтому фактическая полезная скорость передачи данных в 5/4 раза меньше из-за кодирования GCR . [18]
Диск 1541 обычно имеет 35 дорожек. Дорожка 18 зарезервирована; остальные дорожки доступны для хранения данных. Заголовок находится на 18/0 (дорожка 18, сектор 0) вместе с BAM, а каталог начинается на 18/1 (дорожка 18, сектор 1). Чередование файлов составляет 10 блоков, а чередование каталогов — 3 блока.
Содержимое заголовка: заголовок похож на другие заголовки дисков Commodore, структурные различия заключаются в смещении BAM ( $04 ) и размере, а также смещении метки+идентификатора+типа ( $90 ).
$00–01 T/S ссылка на первый сектор каталога (18/1) 02 Версия DOS ('A') 04-8F BAM записи (4 байта на дорожку: количество свободных секторов + 24 бита для секторов) Этикетка для диска 90-9F, $A0 с подкладкой Идентификатор диска A2-A3 Тип DOS A5-A6 ('2A')
Ранние схемы защиты от копирования намеренно вносят ошибки чтения на диск, программное обеспечение отказывается загружаться, пока не будет возвращено правильное сообщение об ошибке. Общая идея заключается в том, что простые программы копирования дисков неспособны копировать ошибки. Когда встречается одна из этих ошибок, дисковод (как и многие дисководы) попытается сделать одну или несколько попыток повторного чтения после первого сброса головки на нулевую дорожку. Немногие из этих схем имеют большой сдерживающий эффект, так как различные компании-разработчики программного обеспечения вскоре выпустили утилиты " nibbler ", которые позволяют копировать защищенные диски и, в некоторых случаях, снимать защиту.
Защита от копирования Commodore иногда дает сбой на определенных конфигурациях оборудования. Gunship , например, не загружается, если к компьютеру подключен второй дисковод или принтер. [19] Аналогично, Roland's Ratrace зависнет, если будет обнаружено дополнительное оборудование. Ленточная версия зависнет даже если дисковод будет включен во время игры.
Версия(ы) DOS 2.6 2.6 2.1/2.7 2.5/2.7 2.7
{{cite web}}
: CS1 maint: местоположение ( ссылка )