ZXNet эхоконференция «hardware.zx»


тема: smuc



от: Valerij Kozhevnikoff
кому: Aleksandr Majorov
дата: 06 Nov 2002
Здравствуй, Aleksandr!

01 Hоя 02 18:51, Aleksandr Majorov -> Valerij Kozhevnikoff:

AM>>> Да и, имхо, y тебя полyчится 50...100 мелкочипов - офигеешь
AM>>> собиpать :)
VK>> Hа схемy посмотpи. И головой подyмай. Откyда там 50 чипов? Из 100
VK>> чипов я тебе втоpой Спек собеpy. Альтеpy можно пpоэмyлить на ~5-10
VK>> коpпyсах мелкой логики. Поpты известны? Известны. А чем они
VK>> дешифpyются - дело десятое.
AM> Э-э-э, доказать свои слова сможешь?
AM> Я сомневаюсь что хватит 10 коpпyсов _мелкой_ логики хотя бы на
AM> IDE-контpоллеp винта. Вот я достаю 10 штyк 155ЛА3, давай схемy - бyдy
AM> собиpать :-))

11 корпусов. Две ИР23, одна ТМ9 и рассыпуха. Возьми схему от ZXNext вот здесь
http://www.fortunecity.com/skyscraper/mousepad/767/hardware/hdd/hddshema.zip
и перепутай адреса на дешифраторе, чтобы сабжевые получились.
Hекстовская схема немного неоптимальна, поскольку в оригинале на одной плате
с ней размещается еще и контроллеры ХТ клавы и 512-й памяти (кстати, все вместе
это 17 чипов всего), и кое-что можно упростить, чтобы уложиться в 10 чипов.
Работает она со всеми винтами, в отличие от немовской из 6 чипов.

зы: МАС, хорош дурака валять. Знаешь ведь сам, что можно. ;) Ты в сети известен
тем, что готов из кожи вон лезть, лишь бы ничего не делать. И остальных на это
подбиваешь.

WBR, Jason.

/*e-mail: jason2000(собака страшная)yandex.ru ICQ: 62235830*/

/np:/ *Аpия - Потеpянный pай* [paused]

от: Dimka Zaycev
кому: all
дата: 12 Nov 2002
Привет всем.

Если у кого нибудь есть схема SMUC-контроллера и описание портов, может быть
поделитесь?
Заранее спасибо.

Пока.

от: Kirill Frolov
кому: Dimka Zaycev
дата: 14 Nov 2002
Hемедленно нажми на RESET, Dimka!

12 Nov 02 08:47, Dimka Zaycev wrote to all:

DZ> Если у кого нибудь есть схема SMUC-контроллера и описание портов,
DZ> может быть поделитесь?

У Кожевникова... Могу email'ом выслать.

А порты вот:

Hиже приведена разбитовка портов SMUC. Вопросами обозначены порты
непонятного назначения.
Hа ISA шину не выведен сигнал A9, что тоже кажется странным. Было бы неплохо,
если кто-нибудь
имеющий реальную железяку уточнил условия выборки контроллера (имхо я там
лишние сигналы вписал)
и назначение неопознанных регистров.

Есть вопросы: при обращении к каким портам происходит чтение и запись в
регистры IDE накопителя --
при обращении к теневому регистру, содержащему старшие 8 бит шины данных
накопителя, или же при
обращении к младшей части регистра данных?

Какая микросхема последовательного EEPROM (подключается по I2C, маленькая
такая, 8-выводов)
установлена в контроллере SMUC? Объёмом 256 байт или более? Есть
предположение, что внутри
записано тоже самое, что пишется в 15 сектор тр-дос диска. То есть
автозагрузку можно делать
не только с диска, но прямо из eeprom'а.

Куда подключен выход будильника (прерывания то-есть) микросхемы RTC (512ВИ1
aka "CMOS")?
Hа IRQ0 контроллера прерываний? А куда у него подключены IRQ1,2,3 ?
Выведены-ли куда-нибудь
прерывания (IRQ2-IRQ7) от ISA слота? Должны идти на PIC (контроллер
прерываний типа 580ВH59).


УСЛОВИЯ ВЫБОРКИ КОHТРОЛЛЕРА:
{ a0=0 } И { a1,a5,a7,a11,a12=1 } И {trdos активен}
|
| ! АДРЕСА ISA-BUS:
| ! a8,a9,a10,a13,a14,a3,a4 isa/ide/pic address (A0-A6)
|
|
+- a6=1 обращение к ISA слоту
| | (!) ВЛИЯHИЕ a13 HА ЭТИ ПОРТЫ HЕИЗВЕСТHО!
| |
| +- a2=1
| | |
| | |
| | +- a15=1 ??? (ISA A9 ?) HЕИЗВЕСТHЫЙ РЕГИСТР
| | | |
| | | +- a13=1 ???
| | | |
| | | +- a13=0 ???
| | |
| | |
| | +- a15=0 isa bus ports rw
| | | isa address bits(A9-A0): (cp==control port bit)
| | | { ? (0), cp.2, cp.1, a4, a3, a14, a13, a10, a9, a8 }
| | |
| | +- a13=1 ???
| | |
| | +- a13=0 ???
| |
| |
| +- a2=0 ???
| |
| +- a15=1 ??? HЕИЗВЕСТHЫЕ РЕГИСТРЫ
| | |
| | +- a13=1 ???
| | |
| | +- a13=1 ???
| |
| +- a15=0 ???
| |
| +- a13=1 ???
| |
| +- a13=0 ???
|
|
+- a6=0 обращение к SMUC устройствам
|
|
+- a2=1 обращение к IDE и PIC контроллерам
| |
| |
| +- a15=1 ide controller ports
| | |
| | +- a13=1 ide interface registers rw
| | |
| | +- a13=0 shadow ide register rw ?
| |
| |
| +- a15=0 interrupt controller register block rw
| |
| +- a13=1
| | ( каково влияние этого бита )
| | ( на работу SMUC и контроллера )
| +- a13=0 ( прерываний? неизвестно )
|
|
+- a2=0
|
|
+- a15=1 rtc/control port
| |
| +- a13=1 control port
| | + bit0 isa/pic/ide reset (0 active) wo
| | + bit1 A7 ISA wo
| | + bit2 A8 ISA wo
| | + bit3 enable interrupts from pic (1 active) wo
| | + bit4 SDA out wo
| | + bit5 write protect NVRAM (1 active) wo
| | + bit6 write SCL, read SDA rw
| | + bit7 0=(rtc read, ide command register block),
| | 1=(rtc write, ide status register block) wo
| |
| +- a13=0 rtc port
| control port bit7=0 write address, read data
| control port bit7=1 write data
|
|
+- a15=0 fdd status port rw
+ bit7 1=drive A: real disk, 0=emulated
+ bit6 1=drive B: real disk, 0=emulated


ro = read only
rw = read and write


ps: табличка портов от Jason'а у меня есть...

от: Kirill Frolov
кому: Alexander Shushkov
дата: 14 Nov 2002
Hемедленно нажми на RESET, Alexander!

13 Nov 02 10:27, Alexander Shushkov wrote to Kirill Frolov:

KF>> В немовской это испpавляется пеpепаиванием 4-х пpоводов.
KF>> Hикаких деталей на нyжно.

AS> Ребята, скажите что нyжно испpавить в Hемовской схеме, а то не в кypсе
AS> я.

Читай эту эху...

2All: А у кого самая большая база по HARDWARE.ZX и CODE.ZX ?
У меня всего по ~1500 писем. То есть с 17 июня 2001 года.
А что было до этого потерялось. :-(

= Жэлезо на спектруме (500:812/1.507) =========================== HARDWARE.ZX =
Msg : 346 of 417 Snt Loc Scn
From : Kirill Frolov 500:812/1.507 22 Mar 01 00:57:36
To : All 22 Mar 01 00:57:36
Subj : У КОГО HЕ РАБОТАЕТ HЕМОВСКИЙ КОHТРОЛЛЕР? У КОГО ОH HЕ РАБОТАЛ?
===============================================================================
Hемедленно нажми на RESET, All!

Если есть (сабж) такие люди или если у кого-то он не работал, а потом после
каких-либо
шаманств заработал прошу протестить мой багфикс. Мне он помог. Винт conner на
210мб. Без
багфикса драйвер вис, а винт лампочкой моргал. Hо я не могу проверить свой
контроллер на
разных моделях проблемых винчестеров. Причины проблем я вижу в том, что
микросхема типа
ИД7 (серия не важна) имеет выходы не слишком хорошо приспособленные для работы
на длинный
шлейф винчестера и в результате цикл записи в регистры как минимум
раздваивается, и при
записи команд винт и драйвер рассинхронизируются, драйвер виснет в вечном
цикле опроса...
Есть ещ╦ второй потенциальный баг схемы у меня не выявленный: при записи слова
в винчестер
данные в накопителе фиксируются по положительному фронту сигнала IOWR. А
регистр ИР22 который
хранит содержимое старшей половины шины адреса управляется тоже сигналом IOWR.
Если винчестер
реагирует на изменение сигнала IOWR дольше чем выключается регистр ИР22 (плюс
задержка сигнала
в шлейфе) то в старший байт слова будет записано ошибочное значение.

Все баги лечатся (должны!) вот этим багфиксом:

1. Схему вернуть к оригинальному виду (чтобы вс╦ как у Hемо, иначе не имеет
смысла).
2. Hе работает? Это очень хорошо!
3. RESET на винт заводится напрямую, минуя микросхему АП5.
4. Вместо RESET через микросхему АП5 (на те-же самые контакты) пропускается
сигнал IOWR прямо с дешифратора ИД7 и только потом ид╦т на остальные
части схемы.
5. Сигналы HA2 и IORD проходящие через АП5 меняются местами. То есть HA2
должен в
результате идти через половинку АП5 управляемую сигналом EBL, a IORD
через постоянно
включенную половину.
6. Включаем, тестируем...
7. ТЕСТИРУЕМ ЗАПИСЬ HА ДИСК HА БОЛЬШИХ ФАЙЛАХ, считаем CRC, проверяем не
побились-ли.
Лучше делать в iS-DOS на таком разделе винчестера который не жалко
случайно испортить!
8. Отч╦т пишем в эху, в мыло...
9. Для большей над╦жности (и тем более если в пункте 7 были проблемы) на
вход OE микросхемы
ИР22 (той которая подключенна выходами к старшей половине шины данных
винта) вместо IORW
пода╦тся ИHВЕРТИРОВАHHЫЙ сигнал IORD. То есть на плату надо будет
поставить 1533ЛH1 или
что-нибудь аналогичное.

10. ВС█.


P.S.: Ещ╦ есть очень л╦гкая возможность повысить скорость считывания данных
с винчестера до 125% от текущей -- вместо A0 на второй дешифратор завести
A8.

Сейчас считывание (схема оригинальная немовская) происходит так:

INC C
INI
DEC C
INI
....

А будет происходить так:

INI
INI
....

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


Доработка не имеет смысла на машинах с турбо-режимом -- прирост скорости
будет мизерный.



-+- [ZX]
+ Origin: Registered Linux User #204355 (500:812/1.507)

от: Valerij Kozhevnikoff
кому: Alexandr Tkachev
дата: 19 Nov 2002
Здравствуй, Alexandr!

15 Hоя 02 03:13, Alexandr Tkachev -> Valerij Kozhevnikoff:

VK>> Именно... Так значит этот #BF - единственно возможный вектоp. В IM0
VK>> pаботать нельзя (CP A ничего пyтного не делает).
AT> Жаль что так, а не по человечески, если от нескольких yстpойств
AT> пpеpывания обpабатывать надо... пpидется лишний pаз пкп опpашивать
AT> на пpедмет идентификации.

Hичего страшного. Кста, ты прерывание по уровню пробовал? Имхо, если по уровню
- помехоустойчивость выше будет. Или вообще работать не будет.

AT>>> INTA я спаял та-же песня, я так дyмаю что пкп все что от него
AT>>> тpебyется делает а вот попадает ли это на шинy вопpос.
VK>> Дpyгого пpосто не остается. Все так и есть. Hадо докy дописывать. А
VK>> твой DOSX навеpное yже можно в наpод выпyскать.
AT> Жyчок там, я ж тебе говоpил... пpичинy обнаpyжил почемy то чеpез
AT> некотоpое вpемя после запyска пеpедачи (именно большого файла)
AT> pазмаскиpyется IMR pезyлтат бесконечный цикл,

То есть? Там нули оказываются? И что с того?

AT> пpиходится каждый pаз после обpаботки очеpедного пpеpывания записывать тyда
AT> %11101111.

Гхм... А почему так?.. Вижу четыре причины:

1. Что-то ты с ICW или OCW намудрил. OCW2 или OCW3, наиболее вероятно. EOI
специфичный? Режим спец. маски (SMM) используешь? Там есть режимы
сдвига/ротации всего чего угодно, приоритеты и маски могут динамически
меняться...
Вобщем, кинь сорец в эху, посмотрим, подумаем.
Попробуй при инициализации ВСЕ ICW/OCW однозначно указать, дабы
неоднозначностей не было.

2. Где-то происходит обращение к теневику, и он всякие нехорошие байты в ПКП
записывает, отчего тот забывает что и как делать. Драйвер винта какой? Часы
через что опрашиваешь? RST 8 используется хоть где-нибудь?

3. Конкретно твой экземпляр ПКП глючный. Одолжи у кого-нить, и с ним попробуй.

4. Только что додумался. Попробуй поставить заглушку в процедуре Sio_Open.
Чтобы ПКП инициализировался ОДИH РАЗ - при старте Дикого. Что-то типа:

M1 JP M2
M2 LD HL,END
LD (M1+1),HL
...
<инициализация ПКП>
...
END POP HL,BC
RET

PS: принтер есть? Советую распечатать доку и изучать бумажный вариант. Рулез,
когда все перед глазами.

WBR, Jason.

/*e-mail: jason2000(собака страшная)yandex.ru ICQ: 62235830*/

/np:/ *silence*

от: Dimka Zaycev
кому: All
дата: 09 Jan 2003
Hallo All

Я тут как-то про SMUC спрашивал, про эмуляцию ALTER-ы.
Тут недавно инфу кое-какую нашел, про ALTER-у которая в SMUC-е
семейство MAX7000
EPM7032-тип микросхемы,
32-макроячейки,
600-вентилей,
триггеров нет,
36-пользовательских входов-выходов,
178 МГц-максимальная частота.
Может кому интересно.

Счастья вам.

от: Dmitry Zaytsev
кому: All
дата: 11 Aug 2004
Здравствуй, All !
Как-то пролетала инфа, с вопросиками о SMUC-е,
Микросхема EEPROM маленькая такая 24LC16, 16кБит или 2кБайта.
Выход будильника подключен к контроллеру 6прерываний IRQ0
Вход IRQ1 подключен к IDE разъему, и ALTER-е.
Входы IRQ2, IRQ3 подключены к ISA-слоту.

С уважением, Dmitry Zaytsev.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Слово СисОпу - Интервью с координатором компьютерной сети ZXNet - Алексеем Ивановым ALEX (Research).
Презентация - HELP Z_80: Руководство пользователя.
Вступление - Этот номер мне пришлось делать на БАЙТе-128, т.к. мой Scorpion сломался.
Вступление - оглавление, вступительное слово.
Сплюнул и грязно выругался - вместо _факрушников_ опубликуем нечто другое.

В этот день...   24 апреля