Zx spectrum ula как спроектировать микрокомпьютер

Обновлено: 06.07.2024

Первые клоны

По словам Юрия Добуша, тогда была необходимость в создании компьютера, который имел бы хорошую графику. Нужно было, чтобы это был компьютер с достаточным количеством программ и игр и чтоб они были доступны. Возник вопрос, как сделать что-то компактное, удобное, дешёвое и одновременно надёжное. И тут под руку попался Спектрум.

Первый вариант клона был запущен в октябре 1985 года. При разработке старались приблизить все тайминги к параметрам оригинального компьютера, а также достичь аналогичного потребления тока. Схема на бумаге была составлена только после окончания разработки.

Прошивка ПЗУ была набрана с фотокопий статьи из западногерманского журнала, где опубликовали дизасемблированный код прошивки. Фотокопии статьи тоже были получены у иностранных студентов, занимавшихся разработкой ПО для ZX Spectrum и имевших много документации.

Успех и провал ZX Spectrum на Западе

Исторические источники, собранные Константином Свиридовым, дают куда более полное понимание истории Синклера. На сайте Свиридова опубликован крайне подробный отчёт о его изысканиях.

Первое, что нужно понять: Синклер начинал вовсе не с компьютеров. В начале своей предпринимательской карьеры он продавал радиодетали по почте. Первым настоящим успехом его фирмы был карманный калькулятор. Синклер вовсе не изобрёл его, однако нашёл удачное сочетание дизайна, цены и функциональности.

В Sinclair Research до последнего не отказывались от этих принципов, однако они мешали компании выйти на международный рынок. Дешевизна и простота конструкции ZX Spectrum недолго были его конкурентными преимуществами: более совершенные компьютеры дешевели, а попытки развить успех ZX Spectrum по большей части оказывались запоздалыми и проваливались.

Зарождение сообщества

Плотность кода

Достижения спектрумовского демо сегодня не очень понятны непосвящённым: вряд ли кого-то можно удивить, к примеру, трёхмерной графикой, однако на компьютере без отдельного видеоадаптера и со столь маломощным процессором иначе, как чудом, её не назовёшь.

Монстростроение

Поздние игры

Закат

Видео: Dragons lair zx spectrum Unemulated gameplay video and review. 2021, Ноябрь

Retro Teardown: Спектр ZX

В этом Retro Teardown мы рассмотрим самый знаковый компьютер Британской Истории - The ZX Spectrum!

История спектрумов

Вероятно, самым успешным и известным изобретением Клайва Синклера является ZX Spectrum. Это, возможно, самый популярный компьютер в британской истории и хорошо известен во всем мире. В своей жизни в Sinclair Research, Spectrum продал более 5 миллионов единиц и имел различные обновления в течение 10 лет. Первоначально он был выпущен в 1982 году и был прекращен в 1992 году.

До того, как компьютер был выпущен, Синклер уже выпустил три машины: компьютерный DIY-комплект MK14, ZX80 и ZX81. Это были невероятно популярные модели и помогли привлечь интерес к компьютерам в 1970-х годах, особенно в Британии.

Но 1 декабря 1981 года Acorn Computers выпустила BBC Micro, которая была мощной машиной, одобренной BBC через программу для инициирования компьютера. Это было нацелено на то, чтобы поставить компьютер в каждую школу и привлечь молодое поколение к развивающемуся компьютерному рынку.

Это была большая проблема для Синклера, поскольку он чувствовал, что не было открытого конкурса на заявку Би-би-си, и также понял, что любая машина с логотипом BBC будет иметь серьезную тягу и преимущество перед любым конкурентом. Так Синклер сделал то, что он сделал лучше всего, и разработал машину, которую все могли себе позволить и использовать.

Результатом стал ZX Spectrum, который продавался всего за 125 фунтов стерлингов (тогда как BBC-микро был 225 фунтов стерлингов) и взял штурмом общественность. Да, микрософт BBC важна для компьютерного образования, а также для компьютеров других компаний, но Spectrum - это машина, которая действительно стояла на вершине.

Это было незадолго до сотен игр (Digger Dan, кто-нибудь «Jet Set Willey».

До сих пор Спектрумы все еще продаются, программное обеспечение все еще написано и играется. Когда я пишу эту статью на своем компьютерном столе, у меня есть настройка спектра слева от меня. С помощью системы с двумя мониторами для моего ПК левый монитор также является телевизором и постоянно подключен к спектру, 32-мегабайтный RAM-пакет и кассетный магнитофон.

Прочитайте больше

  • ZX Spectrum - Википедия
  • Спектральный макет оборудования - L BREAK
  • ZX Spectrum ULA: как спроектировать микрокомпьютер
  • Мир Спектра

Простота в спектре

ZX Spectrum имеет минималистичный дизайн и невероятно мал для компьютера, размером 223 мм х 114 мм х 30 мм (Ш x В x Г). Spectrum использует резиновую мембранную клавиатуру, которая славится своим плохим пользовательским ответом, но лично я чувствую, что клавиатура идеально подходит для машины.

Image

Передняя часть ZX Spectrum. Такое прекрасное лицо!

Спектр удерживается вместе, используя пять маленьких болтов, привинченных к задней части. Задняя сторона также имеет четыре резиновые ножки (мои исчезли на протяжении многих лет), логотип спектра с некоторой информацией, серийный номер и вырез решетки динамиков.

Image

Задняя часть ZX Spectrum

Image

Логотип Sinclair должен быть лучшим логотипом!

В спектре имеется только несколько портов ввода-вывода, которые являются общим портом ввода-вывода (который содержит все линии управления ЦП, datalines и адресные строки), порт микрофона и уха (для кассет для кассет), входное гнездо питания и видеовыход линия. Я модифицировал свой Spectrum так, чтобы он обходил RF-модулятор и выводил композитный цвет, который не только позволяет спектру использовать современные телевизоры, но также имеет лучшее качество видео.

Image

Параллельный порт - это может повредить ULA

Image

Выходы Mic, Ear и RF

Материнская плата, процессор и память

Spectrum - это одноплатный компьютер, который означает, что все компоненты, необходимые для правильной работы машины, находятся на одной печатной плате. Это не только значительно снижает стоимость производства, но и упрощает сбор и ремонт компьютера.

ПХБ на Спектруме удерживается всего одним винтом около центра.

Image

Материнская плата ZX Spectrum. Обратите внимание, что нет паяльной маски верхней стороны

Image

Клавиатура подключается к спектру через два плоских ленточных кабеля

Вы можете заметить кусок провода, припаянного к моему процессору Z80. Это было последнее изменение, добавленное в Spectrum на более старых PCB (это модель 16KB, проблема 2), так как в ULA (Uncommitted Logic Array) была ошибка.

Вот главный процессор (Z80 NEC) и ПЗУ Spectrum, в котором хранится Sinclair BASIC. Вы также заметите несколько электролитических конденсаторов и индуктор, который предназначен для регулирования входящего питания 9 В.

Над Z80 вы увидите большое количество контактов PCB, которое является универсальным расширителем IO, который позволяет подключать ваш Spectrum к внешнему оборудованию, например принтерам и пактам памяти.

Image

Процессор (Z80) и ПЗУ (D23128C)

Image

16 КБ ОЗУ должно быть достаточно для всех!

В моем спектре также есть восемь DIP-сокетов, которые пусты для обновления 32 КБ, что увеличит операционную память с 16 до 48 КБ. Но для меня я получаю 48 КБ, используя внешний 32-килобайтный RAM-пакет, который входит в порт расширения IO Spectrum.

Image

В случае, если 16KB недостаточно, конечно, 48 КБ больше, чем много, не так ли?

Регулирование мощности

Спектр - очень простая машина, которая использует один 7805 3-контактный TO-220 пакет для регулирования входа 9 В на 5 В.

Радиатор для Sinclair довольно тяжелый и занимает много места, что неудивительно, когда текущая ничья составляет около 650 мА. Учитывая, что большая часть материалов Sinclair обеспечивает выход напряжения 9 В (но на самом деле ближе к 12 В), рассеиваемая мощность 7805 приближается к 4, 5 Вт, что может стать действительно теплым!

Image

Это мускулистый радиатор!

ULA и радиомодуляция

Спектр использует ULA (Uncommitted Logic Array), который представляет собой устройство, состоящее из множества логических логических элементов в кремнии. Взаимосвязи между логическими воротами определяются клиентом, поэтому можно сконструировать персональную ИС (это было до CPLD и FPGA).

ULA Spectrum обрабатывает генерацию видео, некоторые операции с памятью, операции ввода-вывода и взаимодействие с клавиатурой.

К сожалению, для многих владельцев Spectrum ULA, как правило, является первым IC, который умирает. Без производства ULA их становится все труднее заменить. Тем не менее, теперь вы можете приобрести ULA-замены, которые используют современные ИС, чтобы имитировать работу ULA и восстановить неисправные Spectrum (но включение современных технологий в Spectrum - это грех, насколько мне известно).

Image

Spectrum использует микросхему Ferranti ULA 6C001EX-7, которая находится в 40 DIP-пакетах

ULA выводит композитный видеосигнал, который затем модулируется в радиочастотный сигнал, поэтому его можно использовать со стандартными телевизорами на канале 36 (PAL). Микросхема модуляции радиочастот является LM1889N, которая дополнительно поддерживается многими компонентами, окружающими IC, а также большой RF ASTEC UM1233.

Image

Секция видео ZX Spectrum. Тяжелое использование аналоговых компонентов!

Здесь вы можете увидеть мою композиционную видео модификацию, которая по сути обходит стадию радиочастотной модуляции и оставляет составное видео неизменным. Это позволяет использовать спектр на современных телевизорах.

Image

Черный провод обходит ступень радиочастотной модуляции для вывода композитного видео (композитный видеоролик)

Замечание для тех, кто заинтересован в выполнении сложной видеомодуляции: я искал как настроечные конденсаторы, так и резисторы, показанные ниже в строке. Я продолжал приспосабливать их, пока изображение не получило хорошего белого цвета.

Image

Два настраиваемых конденсатора и два потенциометра позволяют регулировать видео

Подвеска печатной платы

Я был потрясен, увидев нижнюю часть печатной платы Spectrum. Я никогда не видел такой старой схемы, которая была действительно чистой и хорошо построенной. Верхняя сторона печатной платы не имеет маски припоя и только лужения, а нижняя сторона имеет зеленую маску припоя. Это делается для защиты следов, когда печатная плата проходит волновую пайку.

Image

Нижняя часть материнской платы. Невероятно чистое!

Изображения, которые вы видите здесь внизу, являются истинным цветом! Да, PCB действительно THAT зеленый.

Image

Нижняя сторона около ОЗУ

Image

Логотип Sinclair на печатной плате

Резюме

Так вот ZX Spectrum срывает все внутренние детали и конструкцию машины. Для продукта, который использует шесть винтов и почти никаких движущихся механических частей, я действительно поражен тем, насколько хорошо этот компьютер работает. Отсутствие грязи или пыли (в отличие от многих других моих машин) подсказывает мне, что эта машина будет длиться намного дольше, чем большинство компьютеров своего времени.

Многие люди (такие как я) любят эту машину, в то время как есть другие, которые ее ненавидят. Но один факт, который нельзя оспаривать, заключается в том, что это действительно знаковая машина. Рядом с Apple I и Commodore PET, Spectrum будет знаменит грядущими поколениями.

Почти невозможно поверить, что всего за 2.5 года фирма SINCLAIR RESEARCH OF CAMBRIDGE изготовила и продала около 500 тысяч микрокомпьютеров.

Весной 1980 года был разработан микрокомпьютер ZX-80. Разработка этой машины явилась большим успехом, поскольку это был первый сравнительно дешевый микрокомпьютер для любителей. Однако Клив Синклер и его лаборатория изготовила машину ZX-81 всего за 1 год. Эта модель была более совершенна по сравнению с ZX-80 и явилась развитием этого компьютера с низким разрешением и чёрно-белым экраном.

Но теперь мы имеем ZX-SPECTRUM. Эта машина была разработана по принципу ZX-80, ZX-81. Сделав это, фирма разработала микрокомпьютер с высоким разрешением и цветным экраном. Однако с сожалением надо отметить, что ZX-80, ZX-81 были вытеснены, хотя обе являются прекрасными машинами. Они просты в работе, что приятно для программиста, но это не означает, что SPECTRUM это трудная машина для использования, но я чувствую, что для того, чтобы от неё получить всё, потребуется написание более совершенных программ. Эта книга написана для более глубокого понимания работы со SPECTRUM и компьютером в целом.

1. ПРИНЦИПЫ РАБОТЫ МИКРОКОМПЬЮТЕРНОЙ СИСТЕМЫ

Всегда очень любопытно погрузиться в чтение, открывая книгу то здесь, то там; но компьютер является самой логической машиной и каждый, кто попытается совершенствовать свои познания, должен начать с самого начала.

1.2. ОПИСАНИЕ СИСТЕМЫ

Сам по себе SPECTRUM представляет собой чёрный пластмассовый корпус шириной 233 мм, глубиной 144 мм, высотой 30 мм. На верхней части расположены 40 клавиш, которые образуют клавиатуру. Сзади расположен выходной разъём для подключения антенного входа телевизора, входной разъём, который соединяется с выходом магнитофона, разъём для подключения УВВ: принтера, микродрайверов и т.д.; разъём для подключения БП.

На основной плате находится процессор Z80 и другие элементы. Плата находится в том же корпусе, что и клавиатура. Клавиатура и ПП соединены между собой 2-мя ленточными кабелями.

Система разработана таким образом, что она может отображать информацию на экране TV приёмника или выводить её на принтер или другое периферийное устройство.

А сейчас рассмотрим каждый элемент печатной платы:

1.3. Z80 - МИКРОПРОЦЕССОР

Это кремниевый кристалл (чип). Он является самым важным из всех элементов и предназначен для управления работой компьютера. Программа для Z80 представляет собой набор кодовых инструкций и согласованных с ними данных. Z80 имеет задающую частоту 3.5 МГЦ, что позволяет выполнять 875000 простых кодовых инструкций в секунду. При подаче питания к МП он через определенное время становится работоспособным.

1.4. 16K ROM (ПОСТОЯННАЯ ПАМЯТЬ)

Представляет собой чип объёмом 128 Кбит или 16 Кбайт памяти, содержащей программу в машинных кодах

Программа монитор 16К разбита на 3 части:

7 Кбайт - операционная система;

8 Кбайт - интерпретатор Бейсик; 1 Кбайт - генератор знаков.

АТИВНАЯ ПАМЯТЬ - ОЗУ)

1.5. 16K RAM (ОПЕРАТИВНАЯ

В стандартной версии 16К SPECTRUM имеет 8 чипов по 2 Кбайта или 16 Кбит, а версия 48K содержит ещё дополнительно 32 Кбайт памяти.

Три из 8 чипов памяти образуют "ОБЛАСТЬ ЭКРАНА" и обычно используются только для этой цели, а 4 чип предназначен для хранения всех атрибутов 768 знаков экрана (24 по 32 строки) и системных переменных. В версии 16K остается свободным не более 8К памяти.

Это большой чип, включающий в себя много небольших чипов. В SPECTRUME ULA больше всего связана с областью экрана и атрибутной областью для получения TV -сигнала.

1.7. PAL - КОДИРОВЩИК

Этот чип получает цветовую информацию от ULA и использует её в формировании требуемого сигнала для UHF-МОДУЛЯТОРА. В английской версии SPECTRUM сигнал, полученный от модулятора, находится на 36-м дециметровом диапазоне.

На печатной плате дополнительно размещены: динамик, радиатор, регулятор напряжения, системные часы, чипы выборки адресов и другие.

Рассмотрим связь между различными элементами микрокомпьютерной системы.

Z80 микропроцессор (МП) может обращаться к 65536 адресам памяти (64K). Ограничением на непосредственную адресацию МП Z80 является 64K. В версии 16K SPECTRUM можно адресоваться только к адресам от 0 до 32767 десятичном, а в версии 48K SPECTRUM - доступны адреса 0-65535. Адрес задается в виде 16-битного сигнала. 0 представляется как 0000 0000 0000 0000, а 65535 как 1111 1111 1111 1111. Адреса, выданные Z80 поступают на адресную шину, состоящую из 16 линий, находящихся в высоком или низком напряжении (0 или 1). Адрес можно описать в двух байтах по 8 бит. В отличие от адресной шины, шина данных имеет 8 бит. Поэтому любые данные могут представляться как 0-255 в десятичном виде или 0000 0000 - 1111 1111 в двоичном.

Как часть логической концепции SPECTRUM, также важно рассмотреть нормальный режим работы системы и обсудить карту памяти. SINCLAIR RESEARCH выпускает SPECTRUM с 16K мониторной программой и обеспечивает пользователя операционной системой (ОС) и интерпретатором Бейсик (ИБ). По существу, возможно вместо программы монитор использовать МП Z80 с программой в машинных кодах.

При обычном использовании ОС не требует со стороны пользователя, каких либо сложных действий. Поэтому при работе SP уже работает ИБ как часть мониторной программы. Пользователь может сразу выводить или выполнять Бейсик программу. Т.о., ИБ является подпрограммой ОС, а Бейсик программа - подпрограммой ИБ.

Заметьте, что Z80 сам по себе не может выполнять Бейсик - программы, а только программу, составленную в машинных кодах.

Карта памяти стандартного 16 K SP представлена на рис. И далее крат ко описана.

Графическая область пользователя

32767 32600 32599

Область Бейсик программ

Область информационных каналов

RAMTOP указатель стека STREND STKBOT WORKSP ELINE VAHS PROG CHANS

23734 23552 23296 22528 16384 0

16K ROM содержащие ОС, ИБ и генератор знаков (ГЗ) располагаются в адресах 0-16383 (16-ное 0-3FFF). В адресе 0 хранится стартовый адрес программы в кодах.

1.9. КАРТА ПАМЯТИ ЭКРАННОЙ ОБЛАСТИ

6K памяти с 16384 до 22527 (4000-57FF) обеспечивают высокое разрешение на TV. Важно, что расположение экранной области зафиксировано в аппаратуре SP и не может меняться программно. Имеется взаимно однозначное соответствие всех битов области и точек экрана TV, и следующие вычисления показывают, что число битов в 6K памяти равно числу точек экрана.

В 6K - 1024*8*6=49152 битов.

Рассмотрим каждые 2K памяти, как 8 областей по 1/4 Кбайт. Каждая из областей задает биты 1 линии (256 точек) трети экрана начиная сверху. Это распространяется на все 24 строки экрана.

_ Принципы работы микрокомпьютерной системы _

1.10. ОБЛАСТЬ АТРИБУТОВ

Экран имеет 768 символов, каждый из которых имеет 1 из 8 цветов "бумаги", 8 цветов "чернил", признак мигания, признаки повышенной или пониженной яркости.

Зависимость между площадями символа и байтами атрибута несложная, так как байты просматриваются подряд для каждой линии экрана сверху вниз, слева направо.

Биты 0-2 определяют цвет чернил, 3-5 цвет бумаги, 6 яркость, 7 мигание.

1.11. БУФЕР ПЕЧАТИ

Область, расположенная в адресах 23296-23551 (5B00-5BFF) содержит 256 байт, по 32 байта на каждую печатаемую строку.

Этот буфер, если требуется, можно использовать как рабочую область памяти.

1.12. СИСТЕМНЫЕ ПЕРЕМЕННЫЕ

182 байта в адресах 23552-23733 (5С00-5СВ5) отводятся под системные переменные, которые в дальнейшем будут подробно описаны.

1.13. КАРТЫ МИКРОДРАЙВОВ

Эта область памяти начинается с 23734 (5СВ6).

1.14. ОБЛАСТЬ ИНФОРМАЦИОННЫХ КАНАЛОВ

Специальная область памяти, расположенная с адреса, указанного в переменной CHANS. CHANS находится в адресах 23631-23632 (5C4F-5C50). Область переменной длины. Концом области служит маркер со значением 128 (80 HEX).

В стандартном SPECTRUM без подсоединенных микродрайвов имеются 4 основных канала:

A. Канал K - обеспечивает ввод от клавиатуры и вывод на нижнюю часть экрана;

Б. Канал S - только вывод на верхнюю часть экрана;

B. Канал R - только вывод на рабочую область, которая по требованию может быть увеличена;

Г. Канал P - только вывод на принтер.

Информационные каналы состоят для каждого канала из 5 байт данных. Эти байты содержат: адрес программы ввода (2 байта), адрес программы вывода (2 байта) и один символ имени файла (1 байт).

В стандартном SPECTRUM, с учётом 4 каналов и маркера конца, область занимает память 23734-23754 (5СВ6-5САА=21 байт).

1.15. ОБЛАСТЬ БЕЙСИК-ПРОГРАММЫ (БП)

Область содержит последовательные строки программ. Её размер определяется количеством строк. Начало программы задается в переменной PROG (адрес 23635-23636 (5С53-5С54)). Заметьте, что в стандартном SPECTRUM переменная PROG указывает на адреса 23755 (5ССВ) и так до тех пор, пока не будет подключен микродрайв или использован дополнительный канал (скажем, для подключения дисковода).

1.16. ФОРМАТ СТРОК БП

1.17. ОВЛАСТЬ ПЕРЕМЕННЫ

Начало области, описывающей все переменные, задается в переменной VARS - адреса 23627-23628 (5С4В-5С4С). Начало этой области остается постоянным во время работы БП, однако в связи с появлением новых переменных её длина будет меняться. Граница области задается маркером конца (код 128).

Следующая программа содержит только переменные оператора FOR NEXT: 10 FOR A=23804 TO 23823: PRINT A; TAB 9; PEEK A: NEXT A RUN

_ Принципы работы микрокомпьютерной системы _

1.18. ОБЛАСТЬ РЕДАКТОРА

В области отражается строка, которую вводят или редактируют Начало области задаётся в переменной ELINE - адреса 3641-23642 (5С59-5С5А).

Когда нижняя часть экрана высвечивает только мигающий курсор, то область редактирования будет иметь 2 определяющих её адреса.

Первый из них, указанный в системной переменной KCUB, хранит адрес символа ENTER 2-ой адрес указывает на маркер конца (код 128). Нижняя часть экрана высвечивает редактируемую строку программы по мере поступления входных символов с клавиатуры область редактирования расширяется.

Аналогичная процедура имеет место, когда используется клавиша EDIT для вызова строки БП на нижнюю часть дисплея. Прежде всего область редактирования расширяется до требуемого размера с тем, чтобы разместилась эта строка. Затем эта строка копируется из области программы в область редактирования и, наконец, строка из области редактирования копируется в нижнюю часть экранной области RAM. Этот последний этап в действительности включает в себя отображение на экране символов с высокой разрешающей способностью.

Так как область редактирования представляет собой динамическую область, т.е. она меняется при использовании, то нецелесообразно давать пример на Бейсике.

1.19. РАБОЧАЯ ОБЛАСТЬ

Эта область используется для выполнения большого числа различных задач, например ввод данных, соединение в цепочку строк и т. д. Начальный адрес области задается величиной, содержащейся в системной переменной WORKS, которая сама находится по адресу 23649 и 23650 (5С61, 5С62). Когда же требуется дополнительное место в рабочей области, то эта область памяти расширяется. После использования рабочая область освобождается. Это значит, что она сводится к 0, чтобы избежать большего расхода памяти, чем это необходимо.

Ещё раз отметим, что поскольку эта область является динамической, то невозможно привести простой пример на Бейсике.

1.20. СТЕК ВЫЧИСЛИТЕЛЯ

Это очень важная область памяти. Она начинается с адреса, определенного системной переменной STKBCT, которая сама находится в адресах 23651 и 23652 (5С63, 5С64). Область распространяется до адреса, заданного в системной переменной STKEND (адреса 23653, 23654 (5С65, 5С66)). Стек вычислителя содержит числа с плавающей точкой, пять байт целых, а при использовании строк, он содержит пять байт, определяющих параметры строки. Стек обслуживается по правилу "первым пришел - последним ушел". Можно рассматривать величину, находящуюся вверху стека, если она существует, как последнюю пришедшую величину.

1.21. РЕЗЕРВНАЯ ПАМЯТЬ

Область памяти между стековым вычислителем и стеком машины представляет собой количество памяти, которым располагает пользователь. В стандартном 16K SPECTRUM номинальный размер области равен 8939 когда система включается. Однако интересно отметить, что приемлемая самая низкая величина для CLEAR равна 23821, которая опускает RAMTOP и расширяет резервную область до 8878 байт.

1.22. МАШИННЫЙ СТЕК

Мп Z80 должен иметь рабочую область для своего использования, и это называется машинный стек. Указатель стека Z80 всегда показывает на последний адрес, который должен заполняться.

Ж будет подробно рассматриваться дальше.

1.23. GO SUB - СТЕК

акое-либо активное GO SUB, количество строк сохраняется в GO SUB-стеке. ся в памяти вниз и каждая команда GO SUB требует 3 адреса. Самый старший адрес содержит номер операнда в пределах строки Бейсик, к которой должен быть осуществлен возврат. Второй адрес содержит младшую часть номера строки, определяющей цикл и третий адрес содержит её старшую часть.

Демонстрация следующей программы показывает стек GO SUB, который используется для сохранения чисел строки при организации 3-х гнездовых подпрограмм.

Демонстрационная программа GO SUB-стека

1 CLEAR 32599 10 GOSUB 20: STOP 20 GOSUB 30: RETURN 30 GOSUB 40: RETURN

40 FOR A-32547 TO 32584 STEP 1: PRINT A.PEEK A: NEXT A: RETURN RUN

Два адреса выше GO SUB-стека всегда содержат величины 0 и 62 (00 и 3E), и они представляют собой

_ Принципы работы микрокомпьютерной системы _

неправильный номер строк.

Примечание: фирма SINKLAIR не совсем уверена в написании GO SUB.

Системная переменная RAMTOP, которая занимает адрес 23730 и 23731 (5CB2, 5CB3), содержит адрес ячейки, в которой хранится код 62. Эта ячейка рассматривается как последняя ячейка системной области Бейсик.

1.24. ГРАФИЧЕСКАЯ ОБЛАСТЬ, ОПРЕДЕЛЕННАЯ ПОЛЬЗОВАТЕЛЕМ

До тех пор, пока системная область Бейсика расширяется вниз вследствие использования команды CLEAR, старшие 168 ячеек памяти содержат представления 21 графического символа, определенного пользователем.

Самый старший адрес памяти всегда адресуется системной переменной PRAMT, расположенной в адресах 23732 и 23733 (5CB4, 5CB5).

В стандартном 16K SPECTRUM величина, содержащаяся в PRAMT, должна быть равна 32767, поскольку это показывает, что все 16K памяти находятся в рабочем состоянии.

Это, очевидно, не вредит случайному вводу строки: PRINT PEEK 23732+256*РЕЕК 23733 и видно, что результат является в действительности величиной 32767 (в 48K SPECTRUM - 65535).

ZX - Spectrum

REAL HARDWARE MUST LIVE !

Этот раздел сайта посвящён клонам ZX-Spectrum , которые вы можете собрать самостоятельно ! x

Leningrad 48k - один из первых массовых клонов ZX-Spectrum 48 (правильная схема , монтажка , фотошаблон).

Composite (Leningrad+) - ( фотографии платы с двух сторон и общий вид , есть схема и монтажка) .

Leningrad2 48k - фотографии платы с двух сторон и общий вид , схемы и монтажки двух разновидностей .

Baltik - безглючная схема , есть монтажка микросхем и несколько статей из журнала .

AY-ADAPTER - адаптер для музыкального сопроцессора (устанавливается в разъём Z80) .

Pentagon 48k - сканы верхней и нижней части платки с детальками и без , схемы .

Pentagon 128k - сканы верхней и нижней части платки без деталей , альбомы схем .

GRM2Plus - одна из разновидностей Pentagon128k (схемы , монтажка , скан платы с деталями).

DUET - Клон с асинхронным прозрачным доступом к памяти (как у Pentagon ) . + Схемы апгрейда до 128K / 1024K . В качестве общего описания можно использовать цикл статей М. Буна из журнала радио (с.м. в линках ниже).

KAY-1024 - фотографии материнской платы и контроллера дисковода .

Profi - альбомы схем для версий 3 , 4 , 5 .

VIDI - VIDEO DIGITIZER (пара вариантов устройств захвата видео кадров для Speccy).

ANT-1024HD under construction - конструктор на базе ALTERA EPM7128SLC84-15 , с интегрированным на плату контроллером HD и муз. сопр.

ReSpecT under construction - клон на основе схемы SpeccyBob . (Делается на базе ALTERA EPM7128SLC84-15).

ANBELO-C - схема и описание .

PLM-X - востановленна схема , есть два слоя платки на просвет .

Sirius - схема с монтажкой и фотки .

ATAS - ATAS V1,5 48k воссоздана по плате схема , есть два слоя платки на просвет , скан корпуса и внутренностей ATAS V1,5 48k + Схема и монтажка ATAS 256k .

Master - схема , фотки , скан платы с деталями .

ROMs - некоторые прошивки (пока только для дидактика , остальное можно взять в практически любом эмуляторе).

LUT216 - Версия платки для 216`х матриц специально заточенная под ЛУТ .

TurboTapeLoading - Описание процесса создания ленточных аудио файлов с ускоренной в четыре раза скоростью загрузки , для последующей записи на аудио носитель .

Dual Flash Prog - простейший программатор флэш памяти различного объёма .

Membrane Keyboard - Переделка PC'шных плёночных клавиатур в спековские .

Flat Keys - Самодельная клавиатура с плоскими кнопками .

VMG11 - Регистр палитры от В.М.Г. .

PseudoTR-DOS - Блок выбора страницы ПЗУ с TR-DOS .

NEMO IDE for LUT - Вариант контроллера винчесткра по схеме NEMO заточенный специально под ЛУТ .

AY-ADAPTER for LUT - Вариант адаптера для музыкального сопроцессора (устанавливается поверх Z80) заточенный специально под ЛУТ .

ZX PORTs LIST - список и описание портов (как есть. ).

Sprinter resurrection - На этом сайте WingLion_aka_Ivan Mak (создатель Спринтера) будет постепенно выкладывать информацию о Sprinter-2000 . ( Проект стал открытым . ) .

ZX_Multi_Card by caro - Мультикарта для Speccy на базе ATMega8515 , даёт возможность подключения PC клавиатуры и мышки (PS/2) , имеет последовательный интерфейс и часы реального времени . ( Данную мультикарту можно собрать самостоятельно , либо заказать у автора ! ).

KAY2006NB - Прошивка "Северный мост" ( by ZEK (aka heroy)) на основе схемы KAY-1024 , для матрицы Altera MAX EPM7064SLC84-10 на 64 макроячейки ( и т.п. аналогичного и выше объёма). Имеет 4 видеорежима и INT фиксированной длинны 9мкс . При соответствующей доработке можно использовать с платой ANT-1024HD .

AY_Emul - Эмулятор AY-8910 на контроллере AVR (ATMega8,ATmega16,ATmega32,ATmega8515) .

ZX FlashTaper - Эмулятор магнитофона на флэш картах с поддержкой .tzx и .tap файлов.

"Spectrum" совместимый компьютер - Цикл статей М. Буна из журнала "Радио" . (Можно сказать это небольшая энциклопедия по аппаратной части ZX-Spectrum).

SwinSID – 16-bit stereo hardware sound module for C64 . Аппаратный эмулятор муз.сопр-а SID , на базе разогнанного до 24MHz (при дефолтных 16MHz) микроконтроллера ATMega- 8515 и ЦАПа TDA1543 . ( Пока откликов о работоспособности ATMega- 8515 на 24MHz в данной роли не поступало ).

ZX128 - Клон спектрума на дискретных элементах . Имеет две раздельные платы под видео контроллер и процессорную часть , что безусловно облегчает изготовление в домашних условиях .

PENTAGON-1024 SL - Вариант пентагона с мегабайтом памяти и слотами расширения . Имеет граф. режимы цвет на точку и 384x304 . Турборежим - 7MHz . ( Данный компьютер можно собрать самостоятельно , либо заказать у автора ! ).

ATM-turbo - Неофициальный сайт поддержки ATM-turbo 1,2,2+ . (На сайте так же можно найти ПО для данной модели).

Chrome - Italian ZX Spectrum Clone - Итальянский вариант ZX-Spectrum-128 на ПЛМ с дисковой системой +D . Базируется на схеме SpeccyBob и повторяет особенности фирменного ZX-Spectrum .

ZX BadaLoc - Итальянский клон на ПЛМ с поддержкой SD card . Турборежим до 21MHz . Есть поддерка PC клавиатуры и мышки .

ZXGATE - Вариант ZX-Spectrum48k на FPGA . Есть исходники на VHDL .

Betadisk Iterface TR-DOS - Подборка информаци о популярном на территори xUSSR варианте клона итерфейса TR-DOS .

IMAR-3 PC-KEYBOARD ADAPTER - Адаптер для подключения PC клавиатуры к системному разъёму .

ZX-Flash Cart - Самодельный картридж для игр и ПО на флешь памяти 29F040 , так же есть необходимый софт для подготовки файла с дампами для последующей записи во флэш памят .

ZXSPECTRUM.IT - ROMs , ROMs , ROMs .

ZX - Mega Drive - SEGA Mega Drive в качестве видео контроллера (и не только) для ZX-Spectrum .

AMIGA HARDWARE - THE COMPLETE AMIGA HARDWARE REFERENCE MANUAL в переводе Zetter'a .

XiNES - Исходные коды NES на VHDL (видео сопр. и проц).

NES FunkyFlashCart - Флэш картридж для NES (со всеми сырками , печатки нет).

V9938 - Исходные коды на VHDL (добавил самые древние сырки).

V9938 RUS Manual - Полный перевод всех глав первой части оригинального описания V9938 .

V99XX-Video - Скриншёты кадоров из ролика Dragon's Lair .

V9990 - Фотки платы для MSX .

Other - Всякие фотки и сканы .

YM2612Device - YM2612 to LPT (с исходниками и описанием).

Track Engine - (в закрытую тему).

Syncdoubler - Поднятие пиксельклока для Scandoubler`а .

Krista2 - схемы Криста2 .

General Sound - The purpose of this epic to find enthusiasts for the implementation of a sound card "General Sound" , on the microcontroller AVR .

TV-Tuner Oscilloscope - Использование тв-тюнера и VBI View не по назначению ;)

Читайте также: