Вход

Просмотр полной версии : Отличия RAM Спектрума 48k и Ленинград



Prehistorik
15.01.2015, 11:30
Добрый день!
Я только начинаю во всем этом разбираться. Появился очень ламерский вопрос:
У Ленинграда в качестве RAM используется 8 микросхем ру5, по 64 кбит каждая. Итого: 64 кбайт.
В оригинальном Спектруме: 8 чипов 4116 по 16 кбит + 8 чипов 4164 по 64 кбит, аналогом которой является ру5.

Почему так?
Я знаю, что исторически первоначально было только 8*4116. Но куда деваются лишние килобиты? Не говоря о том, что 8 микросхем ру5 это тоже не 48кбайт.

Лишние блоки памяти просто не используется?

Еще второй вопрос - из чего выделяется видеопамять на прорисовку экрана?
Спасибо!

Eagle
15.01.2015, 12:11
16 кБ деваются на ПЗУ, в оригинале ещё имеются два поля памяти из которых первые 16 кБ имеют рефреш от процессора и эта память медленная. ЕМНИП.
6912 байт следуют сразу после ПЗУ и используются под видеопамять.

Prehistorik
15.01.2015, 12:23
Спасибо! А можно по подробнее? В каком смысле оно уходит на пзу? Туда копируются данные из eprom? Касательно рефреша тоже не понял. Имеется в виду то, что процессор периодически обновляет ее, так иначе она стирается? Зачем вообще этот дополнительный блок более старой памяти?

SAM style
15.01.2015, 12:44
Спасибо! А можно по подробнее? В каком смысле оно уходит на пзу? Туда копируются данные из eprom?Если обращение идёт к адресам #0000-#3FFF (A14=0, A15=0), то сигнал выборки отправляется не на МС ОЗУ, а на МС ПЗУ, соответственно данные оттуда появляются на шине, и процессор их кушает.

Prehistorik
15.01.2015, 12:55
Спасибо! Имеется в виду, что так как вся периферия Z80 сидит на единой шине, то в виду, скажем так, коллизии, первые 16 кбайт оперативной памяти недоступны, так как эти адреса заняты ПЗУ?

Eltaron
15.01.2015, 13:03
Спасибо! Имеется в виду, что так как вся периферия Z80 сидит на единой шине, то в виду, скажем так, коллизии, первые 16 кбайт оперативной памяти недоступны, так как эти адреса заняты ПЗУ?
Да.
В некоторых клонах есть возможность отключить ПЗУ и использовать ОЗУ из нижних 16 килобайт. Такое ОЗУ называется теневым.
Но ни в оригинальном спектруме-48, ни в Ленинграде-1 это невозможно.

SAM style
15.01.2015, 13:03
Спасибо! Имеется в виду, что так как вся периферия Z80 сидит на единой шине, то в виду, скажем так, коллизии, первые 16 кбайт оперативной памяти недоступны, так как эти адреса заняты ПЗУ?Да, в обычных спектрумах так и сделано, но сейчас есть и "необычные", где в любую четверть памяти можно подсунуть любую страницу ПЗУ или ОЗУ по выбору - это работа диспетчера памяти, который по шине адреса и данным из портов формирует нужные сигналы нужным МС.

Prehistorik
15.01.2015, 13:18
А какая тогда была логика разработчиков добавлять еще 8*64 кбит оперативной памяти к уже имеющимся 16, если из них доступно суммарно только 48 кбайт? Почему нельзя было выбрать меньший объем? Память на меньше ячеек была менее современная и более медленная? Насколько я знаю, ОЗУ в те времена была достаточно дорога.

SAM style
15.01.2015, 13:42
А какая тогда была логика разработчиков добавлять еще 8*64 кбит оперативной памяти к уже имеющимся 16, если из них доступно суммарно только 48 кбайт? Почему нельзя было выбрать меньший объем? Память на меньше ячеек была менее современная и более медленная? Насколько я знаю, ОЗУ в те времена была достаточно дорога.Первые спектрумы были с 16К ОЗУ - насколько я знаю, там не было неиспользуемых частей. Потом к ним навесили ещё 32К "быстрой" памяти, которая уже не делилась с видеопроцессором. И только потом стали использовать полные 64К, у которых первая четверть была неиспользуемой.
Думается, всё это сделано для уменьшения числа микросхем на плате и, соответственно, для удешевления - дешевле было иметь 8x64Кбит, чем 8x16Кбит + 8x32Кбит.

Prehistorik
15.01.2015, 13:55
Просто, все спектрумы 48к, которые я пока видел, устроены так:
8 микросхем 4116 (первые 16 кбайт) + 8 микросхем, кажется, 4235 (ей аналогична 4164, то есть, ру5). Изначально были модели спектрума на 16 кб и 48 кб. Плата у них была идентичная, только на первой не было дополнительных 8 микросхем (upper ram). Изначальная логика понятна - дешевле делать единую плату под обе модели. Насколько помню, платы rev.2-rev.3 полностью набиты памятью обоих типов.
остается загадкой - почему сразу нельзя было сделать под ру5 и не использовать более медленную память. А в моделях с 48 кб - просто добавлять ее.
Тут могу только предположить, что изначально 48 кб не предполагалось вообще, так как, кажется, в первой ревизии доп. слотов не было. А потом они решили это сделать уже малой кровью - докинули новой памяти, не убирая старой.

piroxilin
15.01.2015, 14:11
Prehistorik, В оригинальном спектруме памяти 16кб (8шт по 2кб) и 32кб (8шт по 4кб). Микрухи соотв 4116 и 4132(но там разная маркировка было но суть всёравно 32кбита).
В 16 кб оперативе был экран и остальное ( с 16384 по 32767) и при обращении к этой области проц притормаживался (из-за отрисовки экрана чтоле...).
В ленинградах и т.д. память делали общую и не тормозящую, но первые 16 кб памяти были никак не доступны.
В продвинутых клонах к ним можно обращаться через "выкрутасы".
Но были клоны с памятью , как в оригинале - 16+32кб (с раздельными полями" , например дельта-с .

Это если упрощённо.
-----
Да, если у тебя в 48-м родном спектруме стоят 8штук 4116 и 8 шт 4164 - то последние явно после ремонта поставили, взамен 4132-х.
А память "тогда" ,когда спектрум проектировали стояла очень много, поэтому экономя 16кб была ощутимая. А у нас когда делали, то уже не так ощутима была разница в оперативе, но схема гораздо упрощалась при работе с "общим" полем памяти.

Prehistorik
15.01.2015, 14:42
Понял, спасибо! Меня смутило то, что на ибее как замену upper rom предлагают 64-килобитную 4164 по 8 штук. Которая, видимо, будет использоваться на половину. Я же хочу такую пачку памяти использовать под Ленинград. Ру5 у меня есть, но сомнительного вида и не в полном объеме, а где закупить - пока не нашел. А так - хочу воплотить давнюю задумку - собрать Ленинград. Разобраться в его схемотехнике и, быть может, сообразить что-то свое на данной основе.

Eltaron
15.01.2015, 15:01
А какая тогда была логика разработчиков добавлять еще 8*64 кбит оперативной памяти к уже имеющимся 16, если из них доступно суммарно только 48 кбайт? Почему нельзя было выбрать меньший объем?
Видимо потому, что не бывает чипов по 32 килобита (?), а два по 16 стоят больше, чем один на 64.


4132
а, вот оно как

Prehistorik
20.01.2015, 00:13
Пока на начальном этапе меня мучает еще один вопрос: как правильно разбивать прошивку на 2 микрухи 2764? Может кто-то объяснить подробно? Либо кинуть информацию?) У меня есть уже разбитая версия прошивки. Хочу разобраться просто. Еще хотел спросить - не подскажите какие-нибудь материалы печатные? Что почитать? Описание принципиальной схемы, логика работы и т.д.?

goodboy
20.01.2015, 00:23
вот как раз про память http://radioway.ru/1995/04/_spectrum_-sovmestimyi_kompyuter.html
в журнале Радио были ещё статьи этого автора - ищи

Prehistorik
20.01.2015, 15:00
Спасибо! Изучу.
но мой последний вопрос пока остается открытым..

SAM style
20.01.2015, 16:52
A0..A12 пускаешь на адресную линию ПЗУ, A13,14,15 используешь для формирования /CS обеих микрух:
\MRQ=0, \RD=0, A15=0, A14=0, A13=0 - чтение из нижних 8Кб
\MRQ=0, \RD=0, A15=0, A14=0, A13=1 - чтение из верхних 8Кб
Если A15!=0 или A14!=0, то это ОЗУ, там адреса через мультиплексоры пропускаются.

Lion17
20.01.2015, 18:02
Да, если у тебя в 48-м родном спектруме стоят 8штук 4116 и 8 шт 4164 - то последние явно после ремонта поставили, взамен 4132-х.
А память "тогда" ,когда спектрум проектировали стояла очень много, поэтому экономя 16кб была ощутимая. А у нас когда делали, то уже не так ощутима была разница в оперативе, но схема гораздо упрощалась при работе с "общим" полем памяти.

На самом деле в Спектрумы ставили 4164 у которых в одной половинке были битые байты. Такие бракованные микрухи стоили намного дешевле. А Синклер был большим любителем купить подешевле. А на плате Спектрума есть перемычки, которыми можно выбирать какую половинку
использовать.

Кстати, информации по 4132 в интернете не нашел. Сомневаюсь, что такой чип вообще существовал.

piroxilin
20.01.2015, 21:27
Lion17,
4132 это я навскидку - вот в реалах :

TMS4532-21
OKI M3732H-20

Prehistorik
21.01.2015, 12:23
A0..A12 пускаешь на адресную линию ПЗУ, A13,14,15 используешь для формирования /CS обеих микрух:
\MRQ=0, \RD=0, A15=0, A14=0, A13=0 - чтение из нижних 8Кб
\MRQ=0, \RD=0, A15=0, A14=0, A13=1 - чтение из верхних 8Кб
Если A15!=0 или A14!=0, то это ОЗУ, там адреса через мультиплексоры пропускаются.

Спасибо! А как разбить ROM-прошивку на 2 части?

SAM style
21.01.2015, 20:08
Спасибо! А как разбить ROM-прошивку на 2 части?Первые 8192 байт заливается в одну МС, вторые 8192 - в другую. Резать файлы умеет, например, TotalCommander.
А вообще, лучше использовать сразу 16К ПЗУ (27128), а то и вообще 64К (27512), чтобы с заделом на будущее.

Prehistorik
22.01.2015, 14:21
Первые 8192 байт заливается в одну МС, вторые 8192 - в другую. Резать файлы умеет, например, TotalCommander.
А вообще, лучше использовать сразу 16К ПЗУ (27128), а то и вообще 64К (27512), чтобы с заделом на будущее.

Спасибо! У меня на данный момент на руках есть только 27128 в любом случае:) Так что будет все на одном чипе. И ром есть тоже в двух версиях- целиком и в двух частях. Я так - для понимания процесса.

Prehistorik
06.02.2015, 16:26
Еще один вопрос давно сидит, правда очень ламерский. Когда смотрю на каких-либо сайтах архивы игр, обычно варианты: .tap, .tzx. Эмуляторам,положим все-равно. положим, что .tap это это некая запись с ленты просто. tzx это тоже, как я понимаю, способ представления данных, именно, с ленты? А в каком виде файлы были представлены для дисковых ос, например для tr-dos для spectrum 128?

Gutten
06.02.2015, 16:45
.SCL и .TRD в основном.