ROM диск для ленинграда и других клонов.

Старый спектрумистский форум

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Ruslansh wrote:А прежде - понять как аппаратно привязать к какому либо порту пзу.
Ну если делать всё совсем просто, то, поскольку у МС ROM 27E040 организация 512К х 8,
то у неё должно быть 19 адресных линий: А0...А18 (2^19=524288; 524288/1024=512Kбайт).

Значит надо в пространстве портов Вашего "Ленинграда" иметь 3 порта, работающих на вывод,
которые будут обслуживать адрес байта в ПЗУ. Это могут быть обычные регистры-защелки.

И 8 линий данных нужно обслуживать через отдельный порт, работающий на ввод.
Это может быть 8-битный регистр с 3-м состоянием или шинный формирователь.

Весь процесс тогда на ВАСИКЕ через OUT и INPUT будет выглядеть так:
записали в 3 порта вывода числа 00Н, 00Н, 00Н.
Считываем из 4 порта данное и помещаем в ОЗУ.
Записали в 3 порта вывода числа 00Н, 00Н, 01Н.
Считываем из 4 порта данное и помещаем в ОЗУ.
Записали в 3 порта вывода числа 00Н, 00Н, 02Н.
Считываем из 4 порта данное и помещаем в ОЗУ.
И т.д.

По схеме лучше всего видно на этой - от "Ориона-128":

Image

Но у них ПЗУ небольшого размера, поэтому необходимы всего 3 порта:
2 - на вывод: 16 линий адреса и один - на ввод: 8 линий - данные.
Вместо регистров используют БИС DD4 - ППА К580ВВ55А.

Но у Вас 19 линий адреса, поэтому если делать просто, необходимы 3 регистра = 24 линии,
из которых 5 будут незадействованы.

Это основная идея - как сделать по-простому, а вариантов её реализации может быть много.
iLavr
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Пока вижу 3 варианта:

1) самый "простой", тот который предложил Lavr с 4 портами (три адресные и один - данные). Подойдёт для игр и програм со стандартным бейсиковым загрузчиком в стиле "CLEAR 32767: LOAD ""CODE 32768: RANDOMIZE USR 32768". При этом сам tap файл использовать невозможно, но можно кодовые куски записать с нужных адресов в ROM и потом загружать из бейсика конструкцией типа "CLEAR 32767: OUT адрес_банки_ROM, номер_банки_ROM: FOR n=0 TO 32768: LET h=INT(n/256): LET l=n-256*h: OUT адрес_старший_ROM, h: OUT адрес_младший_ROM, l: POKE 32768+n, IN(данные_ROM): NEXT n: RANDOMIZE USR 32768", где адрес_банки_ROM, адрес_старший_ROM, адрес_младший_ROM и данные_ROM - адреса соответствующих портов. Сам загрузчик каждый раз набирать, при этом, если кодовых блоков изначально много, то он увеличится кратно. На мой скромный взгляд - это самый страшный и кошмарный способ.

2) Сделать эмулятор магнитофона из предложенных, и на флешке написать гордую надпись - ROM. ;) Самый простой в повторении и, возможно, эксплуатации способ, к тому же позволяющий не курочить рабочее "железо".

3) По принципу действия - то же самое что и в п.1, но добавить в схему перехватчик с подменой стандартного ПЗУ на своё, в котором написать загрузчики нужных форматов (tap, tzx, sna и т.п.) и выбором нужных игр (банок ROM). Это самый творческий вариант и, возможно, самый удобный, но потребует вмешательство в схемотехнику. Конструктивно может быть оформлен как контролер физически отключаемых ROM-картриджей со слотом а-ля денди. Часть схемы можно тупо содрать с BDI/TRDOS, но вот прошивку ПЗУ придётся писать самому и не на бейсике. И да, в этом варианте точно не будут работать сохранения в ленту/диск.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

jdigreze wrote:Пока вижу 3 варианта:
...
Ну и jdigreze забыл 4-й вариант, который мы затронули в топике
Эмулятор магнитофона для ZX-Spectrum : 8)
ничего не делать, а использовать в качестве магнитофона МР3-плеер.
Tronix этот вариант хвалил, но мне думается - Вам он не понравится...

jdigreze и ты забыл подсказать свободные адреса портов для варианта "Ленинград-1".
Я их просто не знаю, где они и какие свободные, где и какая их дешифрация.
iLavr
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Post by DimkaM »

5. в первом варианте заменить пзу на spi-флеш.
spi либо по принципу z-контроллера. Либо программно-аппаратное решение - на AYгрик повесить с преобразователем уровней. В последнем случае можно обойтись кренкой и одной мс.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

DimkaM wrote:5. в первом варианте заменить пзу на spi-флеш.
Этот вариант не рассматриваем по конкретному желанию топикстартера:
Ruslansh wrote:Кассеты и работа с флеш карты не пойдут... а загрузка с карт для меня лично
ассоциируется с эмуляцией что мне не по душе.
Тем более я хочу собрать коллекцию на картриджах.
iLavr
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Post by DimkaM »

я ж не имел ввиду sd-карту. у sd слишком жирный драйвер, даже без фатов если юзать.
я имел ввиду обычную 8ногую микруху
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

DimkaM wrote:я имел ввиду обычную 8ногую микруху
Ну да - я понял, но Ruslansh же конкретно пишет:
Мне нужно прицепить внешнее пзу, думаю подключу 27e040 для сборников
определенной серии нормально.
А другие версии ему представляются неинтересными. Хотя лично мне Ваш
вариант больше по душЕ, и для себя бы я сделал именно так.

А использовать в качестве магнитофона МР3-плеер я предлагал человеку
потому как "ничего не надо делать".
Я сам такой вариант тоже люблю. :lol: И во времена пользования ПК "Специалист",
когда ещё не было МР3-плееров, сам я решил похожую проблему с помощью
микрокассетного диктофона в качестве стриммера. :D

Image

Это именно он - приятная игрушка, и до сих пор работает. Хотя на рубеже 90-х
обошелся мне в 350 р., что было довольно недешево, зато компактно!... 8)
iLavr
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Lavr wrote:jdigreze и ты забыл подсказать свободные адреса портов для варианта "Ленинград-1".
Я их просто не знаю, где они и какие свободные, где и какая их дешифрация.
Для варианта 3: скрытые порты BDI/TRDOS: #1F,#3F,#5F,#7F
Для варианта 1, для ленина-1: #F0EF, #F1EF, #F2EF, #F3EF. Они конечно же могут использоваться другой периферией, но конкретно для ленинградской схемы могут использоваться.

Про мп3-плеер не забыл, но с тематикой форума просто опустил, бо неспортивно ;)
DimkaM wrote:5. в первом варианте заменить пзу на spi-флеш.
Не стал приводить этот вариант по причине не эффективного показателя, для меня, цена/объём.
Lavr wrote: Я сам такой вариант тоже люблю. :lol: И во времена пользования ПК "Специалист",
когда ещё не было МР3-плееров, сам я решил похожую проблему с помощью
микрокассетного диктофона в качестве стриммера. :D

Image

Это именно он - приятная игрушка, и до сих пор работает. Хотя на рубеже 90-х
обошелся мне в 350 р., что было довольно недешево, зато компактно!... 8)
Название плеера очень понравилось, прямо в тему! :kruto:
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

jdigreze wrote:Для варианта 1, для ленина-1: #F0EF, #F1EF, #F2EF, #F3EF. Они конечно же могут использоваться
другой периферией, но конкретно для ленинградской схемы могут использоваться.
Там прямо есть выводы дешифратора низким уровнем?
А то если топикстартер захочет - могу и нарисовать ему схему ПЗУ-диска, чтобы не толочь воду в ступе.
Только он еще пока ничего по вариантам не высказал...



PS. Помню как-то и студент давно свалил, а мы всё решали глупую задачку на ассемблере для ВУЗа,
и покидывались друг в друга при этом привычными фекальками....
:lol:
iLavr
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Нету там выводов дешифратора, надо как минимум ставить ИД7, чтобы что-то поиметь. ;) Мало того, в ленинграде-1 нужно подпаиваться будет к выводам процессора, и желательно глушить набортную периферию, ибо с дешифрацией у него, прямо таки скажем, не совсем хорошо, особенно в части опроса клавиатуры через #FE.
bigmax
Fanat
Posts: 79
Joined: 10 Feb 2014 03:37

Post by bigmax »

jdigreze wrote:Название плеера очень понравилось, прямо в тему! :kruto:
На диктофонах того времени часто писали не название а технологию, которая позволяла экономить пленку: отключение моторчика когда нет разговора. VAS (Voice Activation System), например. А учитывая войну копирайтов, вполне могла появиться и AVR (Automatic Voice Recognition). Но, конечно, это все догадки.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

bigmax wrote:На диктофонах того времени часто писали не название а технологию, которая позволяла экономить пленку: отключение моторчика когда нет разговора. VAS (Voice Activation System), например. А учитывая войну копирайтов, вполне могла появиться и AVR (Automatic Voice Recognition). Но, конечно, это все догадки.
Это весьма-таки соответствует действительности. Такая функция у диктофона есть,
хотя её и можно отключать.
И мне кажется, она и расшифрована мелким шрифтом на крышке кассетоприемника:
Automatic Voice Activities Recognising - по фотке видно плохо, но что-то типа этого.


PS. И что-то наш топикстартер, жаждущий ПЗУ-диска, так и пропал... :(
iLavr
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Скорее "AUTOMATIC VOICE ACTIVATED RECORDING"
Я тут за главного - если что шлите мыло на me собака shaos точка net