Важная информация

User Tag List

Страница 1 из 69 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 690

Тема: Контроллер псевдодиска на SD-карте для ДВК/ УКНЦ / PDP-11 original + Ethernet

  1. #1
    Guru
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Контроллер псевдодиска на SD-карте для ДВК/ УКНЦ / PDP-11 original + Ethernet

    Пока Ярослав сочиняет свой вариант контроллера псевдодиска на SD-картах для УКНЦ, я неспешно размышляю на ту же тему для ДВК. С PSoC я не знаком и пока в моих ближайших планах не предусмотрено изучения входящей в него ПЛИС. Но вот с STM32 я, худо-бедно, разобрался и сейчас планирую попробовать реализовать подобный контроллер на вот такой китайской пробной плате.

    Сразу скажу, устройство планируется в стиле DW. В PIO-Mode как-то передаем ему блок параметров (и, может быть, данных), затем даем команду GO, после чего устройство отключается от МПИ и занимается своими делами. По окончании этих дел планируется прерывание (если разрешено).

    100-ногий STM32F103VET6, стоящий на той платке имеет на борту полноценный контроллер SDIO, к которому напрямую можно прицепить ту самую (микро)SD-карточку. 72-МГц процессора вполне хватает, чтобы вести обмен с МПИ/Q-Bus через GPIO в синхронном программном режиме, единственное, чего не хватает - это возможности просигналить "Думаю, прошу не мешать" (дальше буду писать ДПнМ).

    Пока общаемся по МПИ, все выходит ровно, а как полезешь к флешке, а это процедура долгая, возможность поймать фронт СИА теряется и все, если ЦП полезет в это время к контроллеру, будет Trap to 4.

    Я вижу несколько решений этой проблемы, но все они что-то усложняют.

    (1) Можно просто объявить это фичей. Мол, от выдачи команды GO и до прерывания регистры контроллера недоступны, будет Trap to 4. Это усложнит программирование со стороны ЦП, зато склепать такой агрегат из готовой китайской платы с микроконтроллером, и нескольких шинных драйверов, сможет даже неспециалист в электронике - лишь бы паять умел!

    (2) Можно сделать узел ДПнМ на рассыпухе. К оборудованию для (1) добавляются одна 531ЛА19, пара 1533ЛН1, какой-то 1533-й регистр, может, одна-две ЛА3, одна "силовая" 8-ножка, вроде 155ЛА18 или ЛЕ2 (чтобы отдать в МПИ СИП и бит Д15, тот самый, ДПнМ) и, вроде-бы, все.

    (3) Поставить второй STM32F103VET6 (вторую китайскую платку), который возьмет на себя синхронную работу с МПИ на время занятости первого, заодно туда можно будет засунуть что-то еще, те же компорты, допустим, их там целых 5 штук.

    (4) Сваять этот узел на ПЛИС.

    Сразу скажу, что вариантом (4) я заниматься не буду, не знаю я ПЛИС и изучать их пока не собираюсь. Вариант (3), как говорит молодежь, жутчайший оверкилл. Лично мне импонирует первый вариант, хотя и со вторым я справлюсь без вопросов.

    Почему, спросите, 100-ногий F103VET6 ? Все просто: 100 ног нужно для того, чтобы гарантировано нашелся полностью свободный 16-разрядный порт GPIO с Full 5V-tolerance для подключения к ДА15-00 МПИ, чтобы не манипулировать битами, собирая принятое с МПИ из разных GPIO. Среди 64-ногих такого я не нашел. Ну, а именно F103VET6 - потому, что и платка с ним тогда оказалась на Али самой дешевой из платок со 100-ногими STM32, $11 с копейками (сейчас и еще дешевле), и сам чип F103VET6 в партиях по 10 шт обходится в $2 с копейками, на Али куча предложений. Ну, и параметры очень приличные - 64К оперативки, 512К флеши для программы, 72 МГц...

    Теперь об изготовлении. Разработку и отладку можно провести "на соплях", используя готовую китайскую плату и какую-то самодельную макетку, которая воткнется в МПИ. Если кто-то, как и я, соберется что-то макетировать, ее можно напечатать лазерным утюгом или сделать из удлиннителя от 15ИЭ-00-013. У меня для этого есть готовая макетка из старых запасов. А вот боевой вариант, по-любому, надо будет напечатать. И, по моим прикидкам, вариант (1) легко разведется на двусторонней плате без металлизации отверстий, то есть ее можно будет сделать лазерным утюгом. Все остальные потребуют, как минимум, металлизации отверстий, а, значит, плата будет заказная. И, учитывая, что она большая ("половинка" ДВК), цена у нее будет - ой!

    Немного о возможных вариантах. Из сотни ног чипа штук 40 точно останутся свободными, на них можно будет сваять что-то еще. Допустим, подключить тот же IDE-винчестер, о котором мечтает Хунта. Желающие трудностей могут попробовать заменить F103VET6 на F107VCT6, там на борту, правда, нет контроллера SDIO, зато есть USB OTG и Ethernet. А у F407VET6 есть всё вместе, да еще и 168 МГц, и 192К оперативки, и всего в 2-3 раза дороже, чем 103-107, программируй - не хочу. Вот я и не хочу пока всем этим заниматься - дай Бог, завести псевдодиск на микро-SD.

    А теперь, прошу помощи клуба. Раз это диск, то с него должна быть возможность загрузиться. Чтобы не связываться еще и с ПЗУ загрузчика, проще всего воспользоваться командой загрузки с перфоленты. На Э-60 и на ДВК с ВМ1 где считывание абсолютного загрузчика делается командой 177550L, все просто. Набрал вместо 177550 адрес регистра состояния своего устройства, и вперед! А вот с ВМ2 и ВМ3 такое возможно только с альтернативными системными прошивками - 279 и 377 соответственно - у родных прошивок 055 и 134 абсолютный загрузчик считывается по простому нажатию буковки "L" и смена регистра состояния не предусмотрена. Так вот, спрашивается: что делать? Положить регистры устройства по адресам 177550-177556? Можно, но тогда, во-первых, их будет всего 4, и, во-вторых, перфолентами на ДВК с таким контроллером уже не воспользуешься. Положить их в другое место? тогда без замены системного ПЗУ не воспользуешься загрузчиком с перфоленты. Можно еще поизощряться с командами типа mov -(R7),(R0)+ и загрузить что угодно из флеши контроллера, используя всего один адрес в пространстве ввода-вывода, как это было предложено где-то в МПСиС...

    В общем, собственно вопросы

    1. Дайте мне, пожалуйста, блок адресов в пространстве ввода-вывода для моего контроллера.
    2. Как лучше оформить начальный загрузчик?
    3. Принимаю советы по организации регистров устройства.
    4. Есть мысль попробовать сделать обмен данными через DMA. Стоит ли связываться?
    5. Дайте, плз, двухбуквенное имя устройства.

    ----------------------------------------------------
    upd: Контроллер разработан

    Ссылки:
    Основная страничка поддержки проекта [инструкции, техническое описание, обновления фирмвари]
    Контроллер псевдодиска на MicroSD
    Контроллер псевдодиска на MicroSD: сборка и наладка конструктора контроллера v1.01
    Контроллер псевдодиска на MicroSD: подключение сетевой карты
    Канал оперативной поддержки всего что связано с контроллерами серии AZ


    Разработка версии для УКНЦ
    УКНЦ + AZ - вариант контроллера псевдодисков на микро-SD для УКНЦ.
    Контроллер псевдодиска на MicroSD на шину МПИ: особенности версии для УКНЦ

    Разработка версии для БК-0010/11/11M
    AZ для БК-0011М
    Основная страничка проекта для БК-0010/11/11M
    AZ для БК-0010 БК-0010.01 БК-0011 БК-0011М, расширенная версия AZ
    Контроллер AZ BK: Процедура обновления firmware (прошивки) контроллера
    Контроллер AZ BK: Обновления прошивки


    Приобрести контроллер можно на Барахолке
    Версия контроллера для ДВК
    Версия контроллера для УКНЦ
    Версия контроллера для QBUS PDP-11


    upd 2020: появилась поддержка сети
    Контроллер псевдодиска на MicroSD ДВК / УКНЦ: подключение сетевой карты

    upd 2022: заработали часы RTC, ест возможность установки часов с NTP сервера
    Контроллер псевдодиска на MicroSD ДВК / УКНЦ: NTP RTC часы
    Последний раз редактировалось SuperMax; 26.11.2022 в 12:19.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    DMA полезно для загрузки, потому что можно добавить контроллеру команду "прочитать блок 0 устройства 0 по адресу 0" и/или ( для более продвинутых извращений ) "переслать сервисный код в ОЗУ с адреса 020000", тогда после засылки с пульта в регистр контроллера такой команды - можно будет начать загрузку командой G или запустить сервисный код командой 20000G.

    - - - Добавлено - - -

    При реализации прерываний и DMA - можно легко сделать разновидность контроллера HD. В таком случае подходит имя устройства HD.


    Когда процессор контроллера занят - не надо отдавать в МПИ никаких битов. Достаточно, чтобы перед уходом в офлайн процессор контроллера активировал аппаратную "заглушку", которая при активации SYNC сличает адрес на шине с адресом CSR и при совпадении - замыкает линию DIN на линию RPLY, а при сбросе SYNC - сбрасывается в исходное состояние. Данные на шину выставлять не надо, тогда CPU считает с шины нули - и это будет признаком "BUSY". На запись отвечать не обязательно - никто не пишет в CSR, когда там нет флага разрешения записи ( READY ). Когда контроллер в онлайне - он сам эмулирует CSR и всегда держит там признак "READY" ( бит 0200 ). Перед каждым "сеансом" работы с контроллером драйвер должен дождаться появления бита READY в CSR.
    Последний раз редактировалось Patron; 24.09.2017 в 03:36.

  4. #3
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,130
    Спасибо Благодарностей отдано 
    468
    Спасибо Благодарностей получено 
    516
    Поблагодарили
    410 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    2. Как лучше оформить начальный загрузчик?
    Посмотрите повнимательней 055 ПЗУ - там вроде как есть загрузка с лентопротяга пользователя (Адр)L.
    Можно пойти простым путем - при установке какого-то бита появляется текст ПЗУ ма МПИ - например, на 173000 ( или др. адресе ), и пользователь может его запустить на исполнение.
    *
    Цитата Сообщение от AFZ Посмотреть сообщение
    1. Дайте мне, пожалуйста, блок адресов в пространстве ввода-вывода для моего контроллера.
    Как насчет 177000 - 177022 ?
    *
    Цитата Сообщение от AFZ Посмотреть сообщение
    3. Принимаю советы по организации регистров устройства.
    См. DW: , но с резиновым объемом.
    *
    DMA - значит - заведомый гемор, или под многозадачник.
    *
    Цитата Сообщение от AFZ Посмотреть сообщение
    5. Дайте, плз, двухбуквенное имя устройства.
    AF:
    *
    Я бы посоветовал взять за основу готовый КМД ДВК, и просто сменить адрес ВП1-095/096, ну и текст прошивки. Так же отказаться от ВП1-128 - сменить её на мелкоту или ВП1-033.
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]

  5. #4
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    5. Дайте, плз, двухбуквенное имя устройства.
    AZ, AZ.SYS, AZX.SYS и т.д. и т.п. )
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  6. #5
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,963
    Спасибо Благодарностей отдано 
    284
    Спасибо Благодарностей получено 
    626
    Поблагодарили
    527 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А если что то типа STM32F407VET6?

  7. #6
    Guru
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    При реализации прерываний и DMA - можно легко сделать разновидность контроллера HD. В таком случае подходит имя устройства HD.
    Я бы тоже хотел воспользоваться HD - давно утверждены состав и назначение битов регистров, есть готовый драйвер... Но HD работает мгновенно - ему дали команду, и на следующий такт виртуального процессора данные появились в памяти. В реале такое не выйдет. Если добавить в HD возможность ожидания - пусть в эмуляторе она и не будет использоваться, поскольку данные появились мгновенно, но, если они не появились... Впрочем, скорее всего, не выйдет. HD ведь не предусматривает отключения всех регистров на время ожидания? И прерываний у него нет.

    Цитата Сообщение от Patron Посмотреть сообщение
    Когда процессор контроллера занят - не надо отдавать в МПИ никаких битов. Достаточно, чтобы перед уходом в офлайн процессор контроллера активировал аппаратную "заглушку"
    То есть, вариант (2). Именно так я и представляю себе конструкцию на ЛА19, нескольких инверторах, мощной 8-ножке и, может быть, паре-тройке простых ЛЭ - детально я ее не продумывал. Причем отдать один бит в МПИ почти ничего не стоит - та самая 8-ножка содержит два ЛЭ, один отдаст СИП, второй свободен, цена вопроса - лишняя пара проводков на макетке или дорожек на боевой плате. Ладно, буду думать...

    Цитата Сообщение от MM Посмотреть сообщение
    Посмотрите повнимательней 055 ПЗУ - там вроде как есть загрузка с лентопротяга пользователя (Адр)L
    Все хуже. Попробовал в эмуляторе 134-ю, она вообще на букву L не реагирует, так, что перфоленточный загрузчик отменяется.

    Цитата Сообщение от MM Посмотреть сообщение
    при установке какого-то бита появляется текст ПЗУ ма МПИ - например, на 173000 ( или др. адресе ), и пользователь может его запустить на исполнение.
    173000/165000 отпадают однозначно - кроме ДВК есть еще и Э-60 (М6, М8), а кое у кого и 11/83-84, конфликтовать с их ПЗУ загрузчиков не хочется. К тому же в МПСиС был опубликован замечательный прием, позволяющий разместить ПЗУ загрузчика на одном адресе. Адрес внутри ПЗУ перебирается отдельным аппаратным счетчиком, после каждого считывания к нему прибавляется единица, адресация внутри пословная. Первой командой в ПЗУ располагают команду MOV -(R7),R0, затем адрес загрузки, затем MOV -(R7),(R0)+, затем первую команду загружаемой программы, затем снова MOV -(R7),(R0)+, следующую команду программы и т.д. В конце ставят каким-то образом переход на загрузчик, например MOV -(R7),R0, <адрес перехода>, JMP @R0. Команда MOV -(R7),<регистр или косвенно-регистровый адрес>, первым делом скорректирует адрес следующей команды, схемы ЦП прибавят к немк двойку, а автодекремент ее отнимет, в результате адрес останется тем же. А адресный счетчик ПЗУ подставит на этот адрес следующее слово данных (нечетное обращение, считая с нуля) или следующую команду (четное обращение). Цена вопроса - дополнительный аппаратный счетчик и двойной расход объема ПЗУ. В нашем же случае - несколько лишних строк кода, а ПЗУ у нас большое. Хотя бесплатные кейловские 32К я занял уже на 45%. Впрочем, "таблетки от жадности" никто не отменял...

    Цитата Сообщение от MM Посмотреть сообщение
    DMA - значит - заведомый гемор, или под многозадачник.
    Да не то, чтобы так. В моем варианте реализации DMA - это лишние 6 шинных драйверов для A16-21, второй комплект шинных драйверов для управляющих сигналов (СИА, СИП, ВВОД, ВЫВОД и т.д.). Если делать без ДМА, то на прием с МПИ хватит 1/6-й простого 1533ЛН1, на передачу - половины 155ЛА18 или похожей мощной восьминожки с другой логической функцией. А для ДМА их придется ставить двусторонними, или ставить второй комплект с обратной функцией. Да, увеличивается количество рассыпухи, причем заметно.

    Цитата Сообщение от MM Посмотреть сообщение
    См. DW: , но с резиновым объемом.
    Для точной эмуляции, боюсь, опять понадобится много рассыпухи. А неточная смысла не имеет. Впрочем, погляжу.

    Цитата Сообщение от MM Посмотреть сообщение
    Я бы посоветовал взять за основу готовый КМД ДВК, и просто сменить адрес ВП1-095/096
    Зачем? Я планирую, по-простому, эмулировать несколько абонентов МПИ на ножках GPIO контроллера. Обычной синхронной зацикленной программой. Ожидаю пассивного СИА. Жду фронт СИА: снял себе в переменную состояние ДА15-00, проверил СИА. Неактивен? Назад, на метку "Жду фронт СИА". Иначе по МПИ только что передан адрес. Сравниваю его со своими. Не мой? назад на ожидание пассивного СИА. Иначе разбираюсь, что мне там предлагают сделать... 72-МГц процессор сделает все это не напрягаясь, ЦП и не заподозрит, что там не аппаратные регистры, а программная эмуляция. Таким образом, без ДМА, всего оборудования будет: БИС микроконтроллера, 4 шинных драйвера для К ДА00-15 Н, пара 1533ЛН1 для приема управляюших сигналов МПИ и одна-две мощных восьминожки для передачи К СИП Н, К ТПР Н, может еще что понадобится... Ну, и заглушка "Думаю, прошу не мешать", которую мы обсуждаем с Патроном. И никаких ВП1-ххх, ВМ1 и прочих.

    - - - Добавлено - - -

    Цитата Сообщение от Hunta Посмотреть сообщение
    А если что то типа STM32F407VET6?
    Можно и такое, есть у меня такая платка. Единственный недостаток, если дело дойдет до мелкой серии, на Али они вдвое дороже. 103VET6 попадаются по $23 за десяток, а 407VET6 не менее $43 за тот же десяток. Впрочем, эта разница, думаю, потеряется на фоне цены платы - все-таки, "половинка" ДВК/Э-60 - более 3 кв. дм!

    А так - замечательный МК. На борту и SDIO, и USB OTG, и 100-Мбит Ethernet, и еще много чего, включая 168 МГц и 192К оперативки.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  8. #7
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,963
    Спасибо Благодарностей отдано 
    284
    Спасибо Благодарностей получено 
    626
    Поблагодарили
    527 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    AFZ, просто именно такой вариант мне уже почти дошёл (оно и отладочный модуль уже пришли в Ёбург, значит к концу недели будут у меня)

  9. #8
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Но HD работает мгновенно - ему дали команду, и на следующий такт виртуального процессора данные появились в памяти.
    Ну, вот прямо сейчас я уже сделал 3-ю версию контроллера HD, где в CSR добавлен бит разрешения прерываний 0100, при установке которого контроллер начинает выполнять команды чтения и записи с задержкой 100 мкс, во время которой бит READY сброшен и после которой происходит прерывание по вектору 0164.

    Сейчас напишу для этого контроллера драйвер, проверяющий бит READY в CSR перед каждым обращением к любому регистру - и всего делов. Главная особенность использования прерываний контроллером HD - они возникают только в двух случаях: 1) после начала выполнения команды чтения; 2) после начала выполнения команды записи. Все остальные команды выполняются "мгновенно", т.е. пока драйвер идёт ждать появления бита READY в CSR - контроллер уже готов сообщить в регистре данных размер подключенного образа или принять в регистре данных значения номера устройства, номера блока, адреса буфера или счётчика слов.

  10. #9
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Ну, вот прямо сейчас я уже сделал 3-ю версию контроллера HD
    А как будет реагировать контроллер если "карту SD"* вытащить и вставить другую?

    *В эмуляторе это будет образ HD.

  11. #10
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    А как будет реагировать контроллер если "карту SD"* вытащить и вставить другую?
    *В эмуляторе это будет образ HD.
    Образ HD - это файл на карте SD, смонтированный в виртуальный привод. Вытащить карту SD при работающем контроллере, это как вытащить флешку из гнезда USB, с которой в эмуляторе смонтирован образ - тогда до размонтирования образа - все обращения чтения и записи будут давать аппаратную ошибку, которую эмулятор контроллера HD возвращает драйверу в старшем бите CSR.

    - - - Добавлено - - -

    Цитата Сообщение от AFZ Посмотреть сообщение
    Причем отдать один бит в МПИ почти ничего не стоит - та самая 8-ножка содержит два ЛЭ, один отдаст СИП, второй свободен, цена вопроса - лишняя пара проводков на макетке или дорожек на боевой плате.
    Нет смысла отдавать биты в "режиме заглушки", потому что при работе контроллера с регистрами - в CSR всегда есть какой-то установленный бит и только при "режиме заглушки" все биты сброшены - это позволяет детектировать режим заглушки одной командой TST (R1). Когда надо проверять какой-то бит - команда становится длиннее на одно слово ( маску этого бита ). Зачем такие усложнения платы и кода, когда без них гораздо лучше.

Страница 1 из 69 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 116
    Последнее: 20.01.2024, 17:40
  2. Ответов: 327
    Последнее: 03.12.2019, 22:49
  3. Контроллер IDE PATA для QBUS (Э-60, ДВК)
    от Жека:) в разделе Новодел
    Ответов: 4
    Последнее: 04.05.2012, 14:40

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •