История Apple
Первая модель - Apple ][ (канонически писался именно так!), созданная в 1977 г., имела адресуемое адресное пространство в 64к, из которых 16к было зарезервировано под системное ПЗУ, а 48к доступно для ОЗУ. В базовой поставке имел 4к ОЗУ и 4к ПЗУ, в котором размещались программа системного монитора и Integer Basic (Basic для целочисленных операций). В Apple ][ имелось 8 слотов расширения, семь из которых использовались для установки контроллеров различных внешних устройств, а восьмой (точнее нулевой) позволял установить дополнительное или альтернативное ПЗУ. Это был, пожалуй, первый компьютер, предлагавший подключение цветного монитора, в качестве которого ДОЛЖЕН был использоваться телевизор, воспринимающий НЧ-видеосигнал в формате NTSC (стандартный для США). Текстовый экран давал 40х24 символов в черно-белом отображении, каждый символ мог быть обычным, инверсным или мигающим, при этом отображались только заглавные буквы клавиатура, соответсвенно, генерировала коды только для заглавных букв. Графический режим обеспечивал разрешение 280х192 точки, для цветного изображения реальное горизонтальное разрешение было вдвое хуже. Для кодирования цвета использовалась особенность стандарта NTSC, позволяющая сделать контроллер терминала крайне простым - биты в области графического экрана (располагалась в основной оперативной памяти и при работе с текстом могла использоваться как обычное ОЗУ) непосредственно ставились в оответсвие фазе сигнала. Два бита со значение 1 подряд давали белый цвет, а комбинации 10 и 01 - по два цвета каждая (красный/голубой и зеленый/пурпурный, если не ошибаюсь), в зависимости от старшего бита в байте. Никаких других цветов не воспроизводилось и "цветные" были прорежены черными (в паре, например, "01" "ноль" давал черную точку, а "единица" - цветную). "Сплошная" закраска была доступна только для черно-белого изображения. Кроме того был режим "графики низкого разрешения" - 40х24 цветных элементов (фактически, закрашенные текстовые знакоместа), каждый из которых мог иметь разноцветные верхнюю и нижнюю половины, доступно было 16 цветов. Эти особености сохранились и во всех последующих моделях Apple II. Впоследствии для моделей поставляемых в Европу (Euroapple) была создана плата PAL-кодера, установливаемая в один из разъемов, поскольку стандарт NTSC в Европе не используется. Звук же реализовывался обычным динамиком, управляемым обращением к регистру в памяти. То есть того же смысла и качества, что на привычном нам PC-speaker. В качестве устройства внешней памяти, как у всех мини-компьютеров этого поколения, использовался бытовой магнитофон. Еще одной интересной возможностью было наличие "игрового порта", к которому подключались до 4-х так называемых "Game paddle". Это были, фактически, обычные переменные сопротивления, положение которых считывалось схемой игрового порта и отображалось значением в специально отведенных ячейках памяти. Комбинация из двух резисторов с движками в перпендикулярных плоскостях давала аналоговый джойстик, который стал активно спользоваться в игровых программах.
Наличие разъемов расширения и хорошо описанных спецификаций для них способствовало быстрому развитию периферийных устройств для Apple II, что послужило одной из основных причин его популярности. Вскоре был разработан контроллер привода гибкого диска - Woznyak Machine (по имени создателя), позволявший подключить два 5.25" дисковода disk ][. Эти дисководы работали только с одной стороной дискеты, одна дискета, используемая с двух торон, давала два независимых диска. Для работы с дисками была написана операционная система DOS 3.0, развившаяся впоследствии до DOS 3.3. Она поддерживала только disk ][ и позволяла записать на одной стороне 35 дорожек, 16 секторов по 256 байт на каждой. То есть всего 140 кбайт на одной стороне дискеты. Появившаяся для Apple ][ программа Supercalc - одна из первых "электронных таблиц" - вместе с возможностью хранить информацию не на магнитофонных кассетах, а на удобных и в то же время достаточно компактных 5.25" дисках превратила Apple ][ из игрушки для любителей в нормальный рабочий инструмент, который мог использоваться для вполне жизненных задач - например, ведения бухгалтерии для дома или небольшого офиса. Именно комбинация удачного и компактного компьютера Apple ][ с дисковой ОС и программой Supercalc породила персональный компьютер как массовое явление.
В 1978-1979 годах появилась и получила широкое распространение модель Apple ][+ (Apple two plus), у которой было 48к ОЗУ стандартно и увеличенный до 8к объем ПЗУ. Нулевой слот стал использоваться для расширения ОЗУ до 64к, в каждый момент времени можно было обратиться либо к ПЗУ, либо к дополнительным 16к ОЗУ. Осталась также возможность установить в нулевой слот альтернативное ПЗУ - например со старым Integer Basic. Integer Basic был заменен на Applesoft Basic, поддерживающий работу с плавающей точкой и имеющий больше возможностей. Была добавлена также функция автоматической загрузки с диска при включении питания (в Apple ][ для загрузки с диска требовалась специальная команда системного монитора). В новом мониторе появился также встроенный дизассемблер, упрощающий просмотр содержимого памяти (работа с памятью "напрямую" была важной функцией всех персональных компьютеров 8-ми разрядного поколения). Для Apple ][+ впоследствии появилась возможность обновить знакогенератор так, что появлялась поддержка не только заглавных, но и строчных букв, что сделало более удобной работу с текстом и дало толчок развитию текстовых редакторов.
Следующая модель - Apple //e (писаться стал так), выпущенная в 1981-1982 г.г.. Была кардинально изменена конструкция системной платы, вместо стандартных микросхем стали использоваться заказные с высокой степенью интеграции. Поддержка заглавных и строчных букв стала стандартной возможностью. Нулевой слот для расширения ОЗУ исчез - стало 64к ОЗУ на плате. Появился новый разъем для платы "расширенного видеорежима" (80-column card), с которой стал доступен текстовый режим 80х24. Позднее появилась также "extended 80-column card", дающая дополнительные 64 к ОЗУ (то есть всего 128к) и поддержку графического режима 560х192. В целом возможности вывода текста и графики приблизились к тем, что привычны нам сегодня. Расширенный графический режим 560х192 позволял использовать (в черно-белом режиме) вполне приличные графические редакторы и даже издательские системы (например PublishIt!, появившуюся именно для Apple II), а 80-символьный режим вывода текста - писать достаточно профессиональные текстовые процессоры. Все ограничения по выводу цветов сохранились, по прежнему был нужен телевизор или монитор, понимающий композитный сигнал NTSC, для Европы требовалась плата PAL-кодера. Объем ПЗУ увеличился до 16 к, дополнительный объем использовался для функций поддержки 80-ти символьного режима и доступа к дополнительному ОЗУ. Адресное пространство осталось прежним - 64 к, для доступа ко всей памяти (128 к ОЗУ и 16 к ПЗУ) использовался довольно замысловатый метод коммутации банков. "Лишние" 64 к могли использоваться как для работы специально написанных приложений (никакого управления памятью из ОС, естественно, не было - все возлагалось на конечное приложение), так и для организации "виртуального диска", с помощью которого можно было заметно убыстрить работу. Apple //e выпускался в новом корпусе большего объема, в который было удобнее ставить платы расширения, номенклатура которых была к тому времени весьма широкой - последовательные порты для модема и принтера, часы, контроллер "мыши", звуковые эффекты и т.д. и т.п.
В 1984 году был выпущен одноплатный Apple //c, без разъемов расширения, но имевший на плате два последовательных порта (для модема и принтера), контроллер disk ][, выполненный на одной микросхеме, контроллер мыши и 128 к ОЗУ с возможностями работы с 80-ти колоночным текстом и графикой 560х192. В Apple //e для всего этого требовались отдельные платы. В Apple //c использовался новый процессор 65C02 с уменьшенным энергопотреблением и расширенным набором команд. Кроме того, прямо в корпус Apple //c был встроен один 5.25" дисковод, а возможность работы с магнитофоном была исключена. Второй дисковод мог быть подключен к внешнему разъему. Apple //c работал от питания -12V и мог использоваться в автомобиле. Для работы от сети требовался внешний источник питания. Фактически Apple //c был одним из первых (если не самым первым) портативных компьютеров. В 1985 году была выпущена новая модель Apple //c со встроенным контроллером Smartport, к которому мог подключаться внешний 3.5" дисковод UniDisk емкостью 800 кбайт. Интересно, что для подключения использовался тот же разъем, что для 5.25" диска и тот же аппартный контроллер, но через линии, которые использовались для управления головкой disk ][ стали передаваться логические управляющие сигналы, а все схемы физического управления дисководом были вынесены в сам UniDisk. Можно сказать, что Smartport был предшественником интерфейса SCSI. Поддержка Smartport потребовала увеличения ПЗУ до 32 к, в тот же объем был включен микроассемблер, позволяющий писать несложные программы прямо из системного монитора.
Apple //e также стал выпускаться с новым процессором 65С02 и увеличенным до 32к ПЗУ со встроенным мини-ассемблером. Эта модель получила название Enchanced //e. Для одключения к нему 3.5" привода Unidisk требовалась отдельная плата расширения.
Для поддержки нового привода появилась операционная система ProDOS, имевшая иерархическую файловую структуру и позволявшая работать как со старым дисководом disk ][, так и с другими накопителями. Интерфейс к внешнему устройству был унифицированным, впоследствии кроме UniDisк стало возможно подключать и жесткие диски емкостью 10-20Мбайт. Надо сказать, что это было безумно много. Например, созданный одновременно с ProDOS офисный пакет Appleworks (довольно мощные для своего времени текстовый процессор, электронная таблица и база данных) занимал две стороны гибкого диска 5.25" (280к), а с такими расширениями, как поддержка макросов, наборы шрифтов для принтера и графический редактор - 560к. Издательская система PublishIt! тоже помещалась на один-два (в зависимости от набора прилагаемых шрифтов и картинок) гибких диска.
В 1986 году Apple //c подвергся еще одной модификации. Была добавлена возможность установить дополнительную плату ОЗУ емкостью до 1Мбайт. Основным назначением этой платы было создание виртуального диска. Подразумевалось, что при первом запуске операционная система и необходимые программы будут скопированы на этот диск и впоследствии стартовать практически мгновенно. Возможно было использование платы и как ОЗУ, но довольно медленного из-за сложного механизма обращения к адресному пространству платы. Выпускаемые для Apple //c платы расширения памяти имели также часы реального времени - другой возможности поставить их в Apple //c из-за отсутствия разъемов расширения не было.
Последняя модель этой линии - Apple //c Plus, с повышенной частотой процессора (4МГц, у всех предыдущих был 1МГц) и встроенным 3.5" дисководом. Надо сказать, что даже Apple //c с тактовой частотой 1МГц многие приложения работали заметно быстрее, чем аналогичные на IBM PC XT с процессором 8088 и частотой 4.77 МГц.
Дальнейшее развитие линии Apple II пыталось пойти по линии шестнадцатиразрядных компьютеров (Apple IIGS, выпускался одновременно с Enchanced //e и Apple //c и первыми моделями Macintosh) Сначала Apple IIGS был в чем-то даже более передовым, чем Macintosh (выпускаться он начал позже), поскольку имел нормальную поддержку цвета (у первых Mac'ов ее не было). Кроме того на нем можно было запускать программы для старых восьмиразрядных Apple II. Но в конце концов эта линия была полностью вытеснена Macintosh'ами и прекратила свое существование.
В конце восьмидесятых - начале девяностых у нас в стране была достаточно
известна линия болгарских компьютеров "Правец 8", которые повторяли собой
Apple II - с точностью до формы корпуса.
Правец 8 - Apple ][
Правец 8М - Apple ][+
Правец 8е - Apple //e, путем замены процессора и ПЗУ превращался в
Enchanced //e
Все платы расширения и все программы для "настоящих" Apple II работали и на компьютерах "Правец 8", включая платы расширенного текстового режима и дополнительной памяти для Apple //e. Для "Правец 8е" были даже платы, позволяющие нарастить память до 192 и 256 кбайт, причем такие программы, как Appleworks, это понимали и могли дополнительной памятью пользоваться. Компьютеры "Правец 8" стояли во многих наших ВУЗах и школах. Особо стоит упомянуть производимую для "Правец 8" плату U-LAN, позволявшую связать их в локальную сеть. Плата базировалась на микросхеме последовательного порта Motorola 6850 и обеспечивала скорость 115 кбит/с. Правда, работала она только со старой операционной системой DOS 3.3 и набор прикладных возможностей оставлял желать лучшего - весь интерфейс реализовывался только из среды Applesoft Basic и позволял передавать файлы и сообщения между компьютерами сети.
В СССР также была создана серия "персоналок" на базе Apple II - компьютеры "Агат". Производились на предприятиях НПО СВТ. Публикация об "Агат" в журнале Byte называлась "The first soviet microcomputer is a bad copy of Apple". Копия действительно была плохой. Широко выпускались две модели - "Агат 7" и "Агат 9". За основу для них был взят Apple ][+, элементная база была отечественная за исключением процессора (выпуск 6502 наша промышленность не освоила). Корпус был в несколько раз больше прототипа и, тем не менее, перегревался и работал весьма нестабильно. В отличие от Apple ][+ и "Правец 8", компьютеры "Агат" имели встроенный дисковод, причем в штатным для "Агат 7" и "Агат 9" был не disk ][ с очень небольшой емкостью, а дисковод двойной плотности, позволяющий записывать 720к. В "Агат 7" было 48 к ОЗУ и совершенно по другому, чем в Apple II был сделан видеоконтроллер - он был гораздо более сложным, поддерживал вывод сигналов RGB и позволял нормально работать с цветом на мониторах серии "Электроника МС", а также обеспечивал вывод текста "в цвете" для режима 40х24 символа или в черно-белом режиме 80х24. По другому было орагнизовано и расширение памяти. Наращивать ее можно было до достаточно больших величин (я видел 192к), но делалось это только через "окно" в 16к, а не параллельными банками по 64 к, как в Apple //e. Платой за усовершенствования стала полная несовместимость с "родными" программами для Apple II. Были и другие отличия, но менее принципиальные. Другим было и содержимое ПЗУ, большинство вызовов к стандартным подпрограммам монитора работало не так, как в Apple II. Фактически это была другая машина, программное обеспечение для которой надо было создавать заново. Впрочем, тогда, похоже, еще никто не задумывался над тем, что успех компьютера определяется в первую очередь наработанным программным обеспечением. Умельцами была разработана специальная "плата совместимости", после установки которой в "Агат 7" становилось возможно ввести его в "режим совместимости Apple II" и запустить DOS 3.3 и почти все написанные для нее программы, в том числе и игры. Естественно, для этого требовался еще и "родной" привод disk ][. Cистема ProDOS и все программы для нее на "Агат" принципиально не работала. "Агат 9" имел 64к ОЗУ и штатную поддержку "режима совместимости". Но в любом случае эта, выпускавшаяся в 1988-1990 гг. машина оставалась на уровне "сильно усовершенствованного" Apple ][+ образца 1979-1980 года. К середине 90-х она была практически забыта.
Говоря об Apple II в СССР не могу не упомянуть о кооперативе XONIX, которым в конце 80-х был разработан и выпускался компьютер того же названия. Это был Apple ][+ , собранный полностью на отечечественной элементной базе (кроме, естественно, процессора). От прототипа он отличался тем, что, как и "Агат", имел раздельные корпус и клавиатуру (у всех моделей Apple II клавиатура была встроена), 64 к ОЗУ и контроллер disk ][ были размещены на плате, видеоконтроллер имел выход RGB и мог быть подключен к любому телевизору или цветному монитору, а количество разъемов расширения уменьшено до трех. Причем разъемы использовались иные, чем в "оригинальном" Apple II. Некоторое количество таких компьютеров было поставлено в школы и игровые классы. Это был полностью программно совместимый с Apple II компьютер, на нем, в отличие от "Агат" можно было запустить даже систему ProDOS и приложения для нее.
Еще одна компания, названия которой я уже не помню, создала для Apple II/Правец 8 контроллер дисковода, совместимого с IBM PC. Эта плата и программное обеспечение к ней называлось Liberty Drive. С ее помощью можно было организовать обмен файлами между Apple II и IBM PC. Эта же компания поставляла в СССР достаточно интересную среду программирования для Apple II, называвшуюся Micol Advanced Basic. Это был "структурно-ориентированный BASIC", активно использовавшийся в компьютерных классах на базе "Правец 8" некоторых московских школ.
Кооператив XONIX, ставший к тому времени компьютерным подразделением компании "Русский Ренессанс" занялся переработкой сетевой платы U-LAN для этих классов, с тем, чтобы она могла использоваться при работе с Micol Advanced Basic под операционной системой ProDOS. Я принимал в этих работах самое непосредственное участие. В итоге была создана сеть "Клиент-сервер", в которой один "Правец 8е" (или Apple //e) с дисками Liberty Drive предоставлял свое дисковое пространство всем остальным компьютерам сети. Была сделана автоматическая загрузка бездисковых клиентов с сервера и даже система разделения прав - каждый пользователю можно было назначить свою директорию на дисках сервера, которая выглядела для него как целый диск и выйти за которую он не мог. Для иллюстрации скажу, что весь драйвер клиента, обеспечивающий загрузку по сети и полностью прозрачный обмен с диском сервера, как "со своим", а также пересылку сообщений с сервера на клиент помещался в ПЗУ платы размеров в 2 кбайта. Кроме переработки платы U-LAN (то, что получилось, назвали ProLAN), была разработана плата Serial Mouse Pro, позволявшая подключить к Apple II "мышь" от IBM PC, которые были заметно дешевле, чем "родные". Особенностью этой платы было то, что для сопряжения "писишной" мыши с программами Apple II на ней пришлось установить отдельный процессор 6502 - благо, к тому времени они были уже дешевы. Плата была многофункциональной - могла работать как контроллер мыши, могла как стандартный, распознаваемый Apple II последовательный порт. В любом режиме на плате работали также распознаваемые ProDOS часы реального времени. При этом все программное обеспечение помещалось все в те же 2 кбайта ПЗУ, больше не позволяла архитектура Apple II. Дополнительно для этой платы была написана резидентная файловая оболочка к системе ProDOS, повторявшая многие черты уже популярного тогда Norton Commander - и помещалась она в 4кбайт памяти. Больше было нельзя, поскольку понятие "резидентных программ" в ProDOS не сущестовало, а обмануть ее на больший объем было принципиально невозможно.