Speccy - наш выбор!  
ZXPRESS
ZXTUNES
Virtual TR-DOS
World of Spectrum
ZX Spectrum Old Demos •

Go Back   Speccy - наш выбор! > ZX Spectrum Hardware > Unsorted

Reply
 
Thread Tools Display Modes
Old 15th March 2005, 13:44   #1
Moderator
 
Join Date: 22nd February 2005
Location: Украина, Харьков
Posts: 1,524
Thanks: 141
Thanked 99 Times in 74 Posts
spensor has a spectacular aura aboutspensor has a spectacular aura about
Default Порты SMUC

Как общеизвестно SMUC помимо IDE-адаптера (если кому угодно контроллера), содержал на "борту" также часики (CMOS RTC), адаптер ISA-шины, Serial Flash память (NVRAM) и контроллер прерываний i8259A. Вопрос в следующем – кто знает полную раскладку портов устройства?

“Вскрытие” CD-WALKа и IS-DOS-драйверов породило такие вопросы:
1. Обращение к IDE происходит только через 8 портов (#xxВЕ). В других адаптерах 16 портов. Достаточно ли 8 портов для полноценной работы с IDE?
2. В драйверах IS-DOS обращение к CMOS RTC происходит через один порт #DFBA. Записываем в порт адрес ячейки и считываем из нее данные. Каким образом происходит запись данных в ячейки?
spensor is offline   Reply With Quote
Old 15th March 2005, 14:38   #2
Activist
 
Spectre's Avatar
 
Join Date: 26th January 2005
Location: Минск
Posts: 287
Thanks: 0
Thanked 6 Times in 5 Posts
Spectre is on a distinguished road
Default

Я уже как-то закачивал всю доку по скорповской переферии, что у меня есть (сам возился с портами SMUC'а при поддержке CMOS часов). Но ссылку найти сейчас не могу, поэтому прилагаю еще раз.
Attached Files
File Type: rar scorpion.rar (285.8 KB, 411 views)
Spectre is offline   Reply With Quote
Old 15th March 2005, 20:44   #3
Veteran
 
SMT's Avatar
 
Join Date: 16th January 2005
Location: Бобруйск
Posts: 1,267
Thanks: 3
Thanked 33 Times in 21 Posts
SMT is on a distinguished road
Default

Quote:
Как общеизвестно SMUC помимо IDE-адаптера (если кому угодно контроллера), содержал на "борту" также часики (CMOS RTC), адаптер ISA-шины, Serial Flash память (NVRAM) и контроллер прерываний i8259A. Вопрос в следующем - кто знает полную раскладку портов устройства?
я пока не совсем разобрался. пока смотрю схему и читаю шит от 24LC16 (надо смотреть профПЗУ, пока не знаю, кто контроллирует i2c: аппаратно в альтере или програмно спеком?)

Quote:
1. Обращение к IDE происходит только через 8 портов (#xxВЕ). В других адаптерах 16 портов. Достаточно ли 8 портов для полноценной работы с IDE?
да, из 8 регистров, выбираемых при активном CS1 физически откликается только регистр 6. на чтение он дублирует регистр статуса, но его чтение не сбрасывает INTRQ (то есть если аккуратно читать статус и не выкидывать считанные байты, всё ok). запись - софтварный сброс и маска запрета прерывания, вроде тоже можно обойтись, тем более zx не использует прерывания

Quote:
2. В драйверах IS-DOS обращение к CMOS RTC происходит через один порт #DFBA. Записываем в порт адрес ячейки и считываем из нее данные. Каким образом происходит запись данных в ячейки?
вот что я нашёл:
Code:
(x) Jason

  Доступ к микросхеме CMOS-часовъ в контроллере SMUC.

#DFBA        - порт адреса/данных
#FFBA bit 7  - разрешение записи данных, маска #77.
 _В пространстве ввода/вывода TR-DOS!_

   Для чтения из регистра:
- записать номер требуемого регистра в порт #DFBA;
- из него-же прочитать значение.

   Для записи в регистр:
- записать номер требуемого регистра в порт #DFBA;
- разрешить запись в регистры микросхемы, для этого
  установить бит 7 в порту #FFBA (маска #77), например так:
        LD      A,#77
        SET     7,A
        LD      BC,#FFBA
        OUT     (C),A
- записать новое значение регистра в порт #DFBA.
- запретить запись в регистры микросхемы, для этого записать
  число #77 в порт #FFBA.

Адреса процедур в ПЗУ trdos:

#3FF0   OUT (C),A
        RET
#3FF3   IN A,(C)
        RET
SMT is offline   Reply With Quote
Old 18th March 2005, 16:07   #4
Moderator
 
Join Date: 22nd February 2005
Location: Украина, Харьков
Posts: 1,524
Thanks: 141
Thanked 99 Times in 74 Posts
spensor has a spectacular aura aboutspensor has a spectacular aura about
Default

Спасибо за информацию!
Жаль только, что больше сообщений пока не поступало - вопрос с I2C Flash и контроллером прерываний i8259A остается открытым.

Насколько я понимаю, в Altera реализован только адаптер IDE. Косвенно на это указано в документации присланной Spectre (если кому интересно, то источник информации находится по адресу http://scorpion.ru/spectrum/hard/kontroller_SMUC.htm),
там Altera названа 7032HDD5 (почему 5 я не знаю, но скорее всего это версия прошивки).
В общем, то на отсутствие чего-нибудь в ПЛМ еще кроме адаптера, указывает достаточно большое количество микросхем мелкой логики на "борту" SMUC.
Предположительно микросхемы SMUС выполняют следующие функции:
1533ТМ9 (в smuc.doc - не обозначен, находится под i8259A) - порт #FFBA;
??????? (в smuc.doc - не обозначен, находится под MC146818) - вспомогательная схема, не устанавливается;
1533АП6 - буфер шины данных и одновременно разделитель внутренней шины данных SMUC и внешней шины данных компьютера;
1533ЛА2 - дешифратор пространства портов #Bx или %10111x10;
1533ТМ9 - неизвестно;
1533ИР22- буфер шины адреса для ISA;
1533ИР23- буферные регистры для IDE (судя по всему объем Altera настолько мал, что разработчики SMUC посчитали нерациональным реализацию регистров внутри ПЛМ);
i8259A, MC146818 - выполняют всем известные функции.

По серьезному нужно было бы попросить нарисовать схему у имеющих SMUC, но где то за 10 лет существования SMUC не у кого, соображающего в электронике, подобной идеи не возникло - всем в лом (а тут еще новый Spectrum строить собираемся. Так что имеем, то что имеем.
Теперь собственно по поводу порта #FFBA. Раскладка пока такова:
D0 - неизвестно;
D1 - a7 ISA;
D2 - a8 ISA;
D3 - не подключен (в первых реализациях SMUC ошибочно был задействован под a8 ISA);
D4 - неизвестно;
D5 - неизвестно;
D6 - неизвестно;
D7 - вывод /DS MC146818.
Тут правда стоит уточнить, что 1533ТМ9 шестибитная, поэтому 2 разряда в принципе не задействованы в порту - какие не знаю.
В принципе оставшихся 3 бит достаточно для управления линиями SDA и SCL шины I2C на запись и выборки одного из двух внутренних регистров i8259A, но как происходит чтение по SDA из Flash, я пока не представляю. У кого есть информация по поводу subj - просьба поделится.
spensor is offline   Reply With Quote
Old 18th March 2005, 16:22   #5
Guru
 
CHRV's Avatar
 
Join Date: 18th January 2005
Location: Москва
Posts: 3,661
Thanks: 5
Thanked 302 Times in 180 Posts
CHRV is a name known to allCHRV is a name known to allCHRV is a name known to allCHRV is a name known to allCHRV is a name known to allCHRV is a name known to all
Default

Quote:
Originally Posted by spensor
По серьезному нужно было бы попросить нарисовать схему у имеющих SMUC, но где то за 10 лет существования SMUC не у кого, соображающего в электронике, подобной идеи не возникло - всем в лом (а тут еще новый Spectrum строить собираемся. Так что имеем, то что имеем.
Дело в том что Скорпион может и распространненный комп в Питере и других местах, но, например, я его не видел живьем ни разу, а уж тем более не видел сабж. Из московских он есть токо у И-Кика, так он собственно из Питера его и привез (с Родины).
А то что новый спектрум ОБЯЗАТЕЛЬНО должен быть на базе Скорпиона, ну уж извините, я с этим не согласен. Хотя хорошие вещи можно позаимствовать, но честно говоря я не знаю что такого есть крутого у Скорпиона, что например нет у АТМ (кроме слотов). Если мне будут говорить про теневое ПЗУ, то АТМ ушел еще дальше, у него есть поддержка резидента.
__________________

Пожалуйста пишите в email (chunin{гаф}mail{тчк}ru), личка отключена!!!

NedoPC group. ZX-Evolution, ATM Turbo 2+, Pentagon1024SL.
[Предлагаю: ZXEvo, PAL coder, NeoGS, TS-FM, YM2149, Z80 и прочее]
Все здесь: http://www.nedopc.com.
Новости/поддержка/Faq: http://forum.nedopc.com.
Раздача халявы: http://forum.nedopc.com/viewtopic.php?f=32&t=977
CHRV is offline   Reply With Quote
Old 18th March 2005, 17:32   #6
Moderator
 
Join Date: 22nd February 2005
Location: Украина, Харьков
Posts: 1,524
Thanks: 141
Thanked 99 Times in 74 Posts
spensor has a spectacular aura aboutspensor has a spectacular aura about
Default

Меня не так поняли. Я имел ввиду во-первых, то что SMUC есть у достаточно большого числа людей, как бывших, так и нынешних спектрумистов. И многие, если бы не поленились, могли бы за несколько часов перенести схему на бумагу - ничего хитрого здесь нет, а работа это нужная. А во-вторых я не говорил, что новый спектрум должен быть на базе Scorpion'а - имелась ввиду опять же лень людей. А если влом простейшую работу сделать, то о каких разработках может идти речь!

А что касается SMUC, то это, по моему мнению, лучший контроллер винчестера на спектруме, по следующим причинам:
1. К "винту" доступ идет через TR-DOS, как следствие защита от случайных сбоев программ.
2. Адресация ведется через полный 16-битный адрес, а не через 8-битный как в Nemo-контроллере (который откликается на 16*256 адресов), как следствие опять же ниже вероятнось того, что сбойная прога повредит содержимое "винта" и экономятся порты.
3. Настройки хранятся во flash, что исключает ряд проблем при инициализации "винта".
4. Имеется достаточно развитое программное обеспечением.

Недостатком SMUC является закрытость схемы и как следствие высокая
цена устройства (пользуясь тем, что схема трудна для повторения фирма Scorpion могла держать цену на устройство на достаточно высоком уровне). Но по всему видно, что то, что зашито в Altera реально можно воспоизвести не более, чем на 8 корпусах мелкой логики. В свое время наши люди "взломали" ULA, а это будет посложнее SMUCа...

Ну и еще, если кому интересно, предлагаю посмотреть на subj.
spensor is offline   Reply With Quote
Old 18th March 2005, 22:02   #7
Veteran
 
SMT's Avatar
 
Join Date: 16th January 2005
Location: Бобруйск
Posts: 1,267
Thanks: 3
Thanked 33 Times in 21 Posts
SMT is on a distinguished road
Default

Quote:
1. К "винту" доступ идет через TR-DOS, как следствие защита от случайных сбоев программ.
2. Адресация ведется через полный 16-битный адрес, а не через 8-битный как в Nemo-контроллере (который откликается на 16*256 адресов), как следствие опять же ниже вероятнось того, что сбойная прога повредит содержимое "винта" и экономятся порты.
3. Настройки хранятся во flash, что исключает ряд проблем при инициализации "винта".
4. Имеется достаточно развитое программное обеспечением
1. то же у ATM. а у smuc была распространена схема, включавшая HDD в любом режиме, я встречал упоминание is-dos драйверов под неё. очень маловероятно, что запись случайных значений в регистры HDD приведёт в потере данных
2. A3,A4,A11,A12,A14 не участвуют в дешифрации, т.к. не заходят на альтеру. A8,A9,A10,A13 выбирают регистры. так что портов тоже достаточно...
3. каких проблем?

а буферы не развели в альтере imho не потому, что кончились элементы, а потому, что кончились ножки альтеры.

зы я тоже гадал, какие микросхемы с этой картинки за что отвечают, пока Neu Animal не выложил схему (спасибо). искать в теме про скорпион-пзу
SMT is offline   Reply With Quote
Old 18th March 2005, 22:13   #8
Veteran
 
SMT's Avatar
 
Join Date: 16th January 2005
Location: Бобруйск
Posts: 1,267
Thanks: 3
Thanked 33 Times in 21 Posts
SMT is on a distinguished road
Default

пока отвечал, уже схемы и тут появились
SMT is offline   Reply With Quote
Old 22nd March 2005, 16:27   #9
Moderator
 
Join Date: 22nd February 2005
Location: Украина, Харьков
Posts: 1,524
Thanks: 141
Thanked 99 Times in 74 Posts
spensor has a spectacular aura aboutspensor has a spectacular aura about
Default

Спасибо всем за ответы.
Хотелось бы отдельно поблагодарить Conanа за схемы - не думал даже, что у кого то они найдутся "живьем". Я так полагаю, у него материала на БСЭ (большую спектрумовскую энциклопедию) наберется.

Что касается Романа, то также спасибо за ответы и ждем информации от МОА.

Теперь, что касается SMT.
Во-первых, спасибо за фрагмент драйвера RTC.
Во-вторых, что касается вопроса “кто контролирует i2c: аппаратно в альтере или программно спеком?”. Если есть схема под рукой, то такой вопрос не должен возникать.
Управление I2C-шиной производит непосредственно комп, путем записи/чтения соответствующих бит. Что в данном случае должна была делать альтера? Преобразовывать последовательный поток в параллельный и наоборот? Так как в альтеру заходит только 3 бита данных (D3,D6,D7), то вопрос отпадает сам собой.
Как видно из схемы раскладка порта #FFBA пока следующая (далее /w – запись в порт, /r – чтение из порта):
D0 - /w - RESET HDD/ISA; /r – нет.
D1 - /w - a7 ISA; /r – нет.
D2 - /w - a8 ISA; /r – нет.
D3 - /w - неизвестно; /r неизвестно.
D4 - /w - SDA OUT I2C; /r – нет.
D5 - /w - WR/RD I2C; /r – нет.
D6 - /w - неизвестно; /r неизвестно.
D7 - /w - вывод /DS MC146818; /r неизвестно.
Поскольку биты D3,D6,D7 заходят в альтеру, то через них может производится как запись, так и чтение информации. Итого осталось 5 неизвестных. Из них один бит чтения должен быть SDA IN I2C. Как происходит управление линией SCL пока остается под вопросом. Дело в том, что есть два варианта: путем установки/сброса бита в порту #FFBA (подходят только D3 и D6) и путем просто записи/чтения порта. Также остается открытым вопрос управления i8259.
В-третьих, что касается схемы включавшей HDD в любом режиме, то на сколько я помню “пробегала” информация, что типа лучше было бы отвязать SMUC от TR-DOS и для этого надо отрезать проводник сигнала /DOS и подать на него “землю”. В общем, как обычно “коряворукие доработчики” кидали идеи, которые, наверное, где-то и были воплощены. На оригинальной схеме это реализовать не удастся, поскольку сигнал /DOS заведен на дешифратор портов SMUC.
В-четвертых, что касается неполной дешифрации портов в SMUC – то я не согласен. Дело в том, что в Nemo-IDE порты изначально 8-битные и соответственно нет возможности их “закрепить” за 16-битные адреса, скажем если их привязать к портам FFxx жесткой дешифрацией, то драйвера не будут корректно работать. А вот у SMUC имеются “законные” адреса и при желании можно ввести полную дешифрацию.
В-пятых, что касается ряда проблем при инициализации "винта", то где то проходила инфа, что было бы рационально хранить установки "винта" в CMOS RTC, так вот Flash подходит для этого больше.
Ну и наконец в-шестых, подскажите, а где собственно искать “тему про скорпион-пзу”.

И еще люди, не в службу, а в дружбу подкорректируйте свои профели - ну хотябы год рождения. Ведь интересно же какой контенгент занимается Spectrum.
spensor is offline   Reply With Quote
Old 23rd March 2005, 03:07   #10
Master
 
Conan's Avatar
 
Join Date: 22nd January 2005
Location: Moscow
Posts: 1,992
Thanks: 62
Thanked 358 Times in 199 Posts
Conan has disabled reputation
Default

Quote:
Originally Posted by spensor
подскажите, а где собственно искать “тему про скорпион-пзу”.
По всей видимости, речь шла вот об этом топике:

http://zx.pk.ru/showthread.php?t=25&page=1&pp=10
Conan is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
SMUC на дискретах и ПЛИС spensor Unsorted 725 24th September 2014 21:15
Real Commander + HDD SMUC bugsy Софт 26 14th December 2013 22:12
Куплю GMX, SMUC и General Sound. Jukov Барахолка (архив) 4 4th January 2006 14:01
Скорпион ZS с большим ПЗУ SMT Память 121 17th September 2005 03:47
Куплю SMUC, GS, Ёлку... Mike Барахолка (архив) 0 20th April 2005 14:44


All times are GMT +4. The time now is 16:35.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Map Яндекс.Метрика