![]() |
|
|
|
|
|
#1 |
|
Moderator
Join Date: 22nd February 2005
Location: Украина, Харьков
Posts: 1,524
Thanks: 141
Thanked 99 Times in 74 Posts
![]() ![]() |
Как общеизвестно 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. Записываем в порт адрес ячейки и считываем из нее данные. Каким образом происходит запись данных в ячейки? |
|
|
|
|
|
#2 |
|
Activist
Join Date: 26th January 2005
Location: Минск
Posts: 287
Thanks: 0
Thanked 6 Times in 5 Posts
![]() |
Я уже как-то закачивал всю доку по скорповской переферии, что у меня есть (сам возился с портами SMUC'а при поддержке CMOS часов). Но ссылку найти сейчас не могу, поэтому прилагаю еще раз.
|
|
|
|
|
|
#3 | |||
|
Veteran
Join Date: 16th January 2005
Location: Бобруйск
Posts: 1,267
Thanks: 3
Thanked 33 Times in 21 Posts
![]() |
Quote:
Quote:
Quote:
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
|
|||
|
|
|
|
|
#4 |
|
Moderator
Join Date: 22nd February 2005
Location: Украина, Харьков
Posts: 1,524
Thanks: 141
Thanked 99 Times in 74 Posts
![]() ![]() |
Спасибо за информацию!
Жаль только, что больше сообщений пока не поступало - вопрос с 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 - просьба поделится. |
|
|
|
|
|
#5 | |
|
Guru
Join Date: 18th January 2005
Location: Москва
Posts: 3,661
Thanks: 5
Thanked 302 Times in 180 Posts
![]() ![]() ![]() ![]() ![]() ![]() |
Quote:
А то что новый спектрум ОБЯЗАТЕЛЬНО должен быть на базе Скорпиона, ну уж извините, я с этим не согласен. Хотя хорошие вещи можно позаимствовать, но честно говоря я не знаю что такого есть крутого у Скорпиона, что например нет у АТМ (кроме слотов). Если мне будут говорить про теневое ПЗУ, то АТМ ушел еще дальше, у него есть поддержка резидента.
__________________
Пожалуйста пишите в 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 |
|
|
|
|
|
|
#6 |
|
Moderator
Join Date: 22nd February 2005
Location: Украина, Харьков
Posts: 1,524
Thanks: 141
Thanked 99 Times in 74 Posts
![]() ![]() |
Меня не так поняли. Я имел ввиду во-первых, то что SMUC есть у достаточно большого числа людей, как бывших, так и нынешних спектрумистов. И многие, если бы не поленились, могли бы за несколько часов перенести схему на бумагу - ничего хитрого здесь нет, а работа это нужная. А во-вторых я не говорил, что новый спектрум должен быть на базе Scorpion'а - имелась ввиду опять же лень людей. А если влом простейшую работу сделать, то о каких разработках может идти речь!
А что касается SMUC, то это, по моему мнению, лучший контроллер винчестера на спектруме, по следующим причинам: 1. К "винту" доступ идет через TR-DOS, как следствие защита от случайных сбоев программ. 2. Адресация ведется через полный 16-битный адрес, а не через 8-битный как в Nemo-контроллере (который откликается на 16*256 адресов), как следствие опять же ниже вероятнось того, что сбойная прога повредит содержимое "винта" и экономятся порты. 3. Настройки хранятся во flash, что исключает ряд проблем при инициализации "винта". 4. Имеется достаточно развитое программное обеспечением. Недостатком SMUC является закрытость схемы и как следствие высокая цена устройства (пользуясь тем, что схема трудна для повторения фирма Scorpion могла держать цену на устройство на достаточно высоком уровне). Но по всему видно, что то, что зашито в Altera реально можно воспоизвести не более, чем на 8 корпусах мелкой логики. В свое время наши люди "взломали" ULA, а это будет посложнее SMUCа... Ну и еще, если кому интересно, предлагаю посмотреть на subj. |
|
|
|
|
|
#7 | |
|
Veteran
Join Date: 16th January 2005
Location: Бобруйск
Posts: 1,267
Thanks: 3
Thanked 33 Times in 21 Posts
![]() |
Quote:
2. A3,A4,A11,A12,A14 не участвуют в дешифрации, т.к. не заходят на альтеру. A8,A9,A10,A13 выбирают регистры. так что портов тоже достаточно... 3. каких проблем? ![]() а буферы не развели в альтере imho не потому, что кончились элементы, а потому, что кончились ножки альтеры. зы я тоже гадал, какие микросхемы с этой картинки за что отвечают, пока Neu Animal не выложил схему (спасибо). искать в теме про скорпион-пзу |
|
|
|
|
|
|
#9 |
|
Moderator
Join Date: 22nd February 2005
Location: Украина, Харьков
Posts: 1,524
Thanks: 141
Thanked 99 Times in 74 Posts
![]() ![]() |
Спасибо всем за ответы.
Хотелось бы отдельно поблагодарить 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. |
|
|
|
|
|
#10 | |
|
Master
Join Date: 22nd January 2005
Location: Moscow
Posts: 1,992
Thanks: 62
Thanked 358 Times in 199 Posts
![]() |
Quote:
http://zx.pk.ru/showthread.php?t=25&page=1&pp=10 |
|
|
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
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 |