Авторизация
Зарегистрироваться

Простой программатор SP200SE


Понадобился в хозяйстве и для работы простенький программатор со следующими требованиями: недорогой, USB, ZIF панелька, поддержка ISP, работа с AVR (ATMega, ATTiny), MCS-51 (AT89, W78), Serial EEPROM (24, 93).
Под эти требования отлично подошёл SP200SE.

Прислали запечатанным в антистатический пакетик.

В комплекте плата самого программатора, стойки крепления, кабель ISP, шнурок mini-USB (годится только для урны, т.к. 4C 28AWG).
ПО в комплекте не было.

Печатная плата — двусторонний стеклотекстолит, монтаж вполне приемлемый. Питание программатора идёт с USB.
На плате есть микросхемы:
— SyncMOS SM8958A — управляющий контроллер
— HC164D — сдвиговый регистр для расширения портов контроллера.
— CH340T — преобразователь интерфейса USB — Serial TTL — для подключения контроллера к USB
— MC34063 — импульсный преобразователь напряжения 5V/12,5V — необходим для программирования MCS-51.

ZIF панелька позволяет очень быстро и удобно вставлять микросхемы в DIP корпусах. Для планарных микросхем необходимо дополнительно использовать соответствующие переходные адаптеры.





Красный индикатор горит при подключении USB (Power), синий индикатор горит при обращении к программируемой микросхеме (Status).
Разъём и кабель ISP (In-System Programming) позволяют подключаться к программируемым микросхемам без выпаивания их из устройства.
Программатор работает с установленным драйвером CH340 через программу WLPRO V2.20 от Willar.
Интерфейс — английский.
www.dropbox.com/s/9x867jvy1p6p85s/SP200S%28EN%29.rar
Драйвер подходит CH341SER
www.kenotrontv.ru/forum/index.php?app=core&module=attach§ion=attach&attach_id=6075


Работа программатора не вызвала никаких проблем — всё работает понятно и просто.
Недостатки: комплектный USB кабель не тянет программатор по питанию, нет возможности программировать популярные ARM и PIC контроллеры, не поддерживает микросхемы параллельной записи (27, 28, 29 и т.п), нет поддержки производителя.
Вывод: хороший программатор начального уровня для решения ограниченного круга задач.
Планирую купить +62 Добавить в избранное +55 +102
свернуть развернуть
Комментарии (93)
RSS
+
avatar
  • NeLeGal
  • 03 октября 2014, 12:16
+4
Молодец. Полезный обзор. Не дорогой прогер, и для многих, его возможностей «за глаза» хватит. Мне уж точно
+
avatar
  • kirich
  • 03 октября 2014, 12:38
+2
Обзор хороший, спасибо, сам ищу программатор на замену старому.
Но есть несколько вопросов.
1. Программатор только последовательный?
2. Высоковольтного программирования нет? (Атмега, аттайни)
3. Какой ток потребления?
+
avatar
  • kirich
  • 03 октября 2014, 12:59
+1
Спасибо, этот получше, но цена более грустная…
Не смог найти, умеет ли он высоковольтное программирование атмелов, пишут что есть программатор, а вот например связка программатор и ПО, позволят ли вернуть переназначенную ногу ресета?
+
avatar
  • penzet
  • 03 октября 2014, 13:05
+1
С TL866 да позволяет вернуть фьюзы в начальное состояние
+
avatar
  • kirich
  • 03 октября 2014, 13:10
+1
Спасибо.
+
avatar
+1
есть с меньшей ценой, но без адаптеров. Адаптер лучше купить под задачу. Мне надо было писать старую флешь на 1М Да в корпусе SOIC32. Дак купил два адаптера и юзаю. Правда, микросхему приходиться припаивать. прочесть, проверить и стереть удалось на ура. Записать — пока нет. Новых микросхем достать низзя. А старые похоже фундаментально сдохли. В остальном — присоединяюсь к рекомендациям. TL866 Действительно весьма неплох. И пишет огромное число микросхем. Правда, моих в этом списке нет.
PS глянул. брал с аукциона за $33.
+
avatar
0
У китайцев еще есть SP300U, там заявлено «partly support AVR microcontrollers high voltage programming», цена не настолько грустная (дешевле примерно на $20), но инфы по нему мало. Хотелось бы увидеть обзор.
+
avatar
  • kirich
  • 04 октября 2014, 02:18
0
Интересная железяка, спасибо, может действительно прикупить…
+
avatar
  • ksiman
  • 03 октября 2014, 13:11
+1
Это программатор совсем другого уровня :)
+
avatar
  • kirich
  • 03 октября 2014, 13:13
+1
Это да, цена так же сильно отличается.
Скорее ищу вариант как в обзоре, но + HV прог.
Пока выходит, что собрать HV прог выгоднее. Интересно, его продают китайцы?
+
avatar
  • ksiman
  • 03 октября 2014, 13:05
+1
1. Программатор только последовательный?
Только последовательный
2. Высоковольтного программирования нет? (Атмега, аттайни)
Нет
3. Какой ток потребления?
Больше 0,5А пока нк видел
+
avatar
  • kirich
  • 03 октября 2014, 13:10
+1
1. Плохо, но не критично, скорее просто любопытно было.
2. Плохо, странно, что не реализовали, и преобразователь на плате есть.
3. Т.е. ограничение питания от USB, только качество кабеля?
+
avatar
  • ksiman
  • 03 октября 2014, 13:13
0
2. Плохо, странно, что не реализовали, и преобразователь на плате есть
Так нет параллельного режима записи :)
3. Т.е. ограничение питания от USB, только качество кабеля?
С нормальным кабелем провал напряжения незначителен.
+
avatar
  • kirich
  • 03 октября 2014, 13:14
+1
Понял, просто я в обзоре Кубика запитывал его от ЮСБ, вот и стало любопытно, сколько потребляет программатор, если с питанием от ЮСБ проблемы были.
Вообще удивило, что он столько потребляет.
+
avatar
  • kirich
  • 03 октября 2014, 13:15
+1
Так нет параллельного режима записи :)
А при чем здесь одно к другому?

ЕМНИП, при наличии HV вроде можно перешить и последовательным.
Или я ошибаюсь?
Давно интересовался, мог подзабыть.

Не, не забыл, AVR doper шьет последовательно и ВВ, значит можно.
+
avatar
  • ksiman
  • 03 октября 2014, 13:28
0
ЕМНИП, при наличии HV вроде можно перешить и последовательным.
Или я ошибаюсь?
Только параллельным :( Но надо-бы проверить…
+
avatar
  • kirich
  • 03 октября 2014, 13:37
+1
Нет, есть режим HVSP
High Voltage Serial Programming
+
avatar
  • kirich
  • 03 октября 2014, 13:11
+1
Еще вопрос.
Фьюзе биты в настройках программирования отображает в прямом или инверсном виде?
Как в даташите Атмел или как в популярном калькуляторе фьюзов?
+
avatar
  • ksiman
  • 03 октября 2014, 13:19
0
Вот
+
avatar
  • kirich
  • 03 октября 2014, 13:21
+1
Спасибо
А можно скрин считывания дефолтных фьюзов с какой нибудь меги?
+
avatar
  • f1203
  • 03 октября 2014, 12:45
+1
Не понял о чем речь, но на всякий случай проплюсовал.
+
avatar
  • zaycen
  • 03 октября 2014, 13:29
+3
тоже прочитал. особенно комменты порадовали. у всех он есть, все о нём гворят и активно пользуются и т.п.
сижу и думаю, как же я без программатора то? )) надо брать!
на самом деле интересно услышать примеры применения на деле.
+
avatar
  • SEM
  • 03 октября 2014, 13:46
+4
Например была у меня «десятка» с контроллером впрыска БОШ 1.5.4. Плохо заводилась зимой. Скачал с сайта чиптюнер.ру прошивку под свой БОШ, с исправленным зимним пуском и прочими улучшениями, «эластичная» R29. Купил в радиодеталях ППЗУ за 49 рублей (тогдашние цены), принёс бинарный файл на дискетке и микросхему приятелю, у которого был подобный программатор, залили прошивку в ППЗУ, открутил на авто контроллер, вскрыл, выдернул из «кроватки» старую ППЗУ, вставил новую, поставил контроллер на место — машина завелась (меня это удивило и обрадовало), дальше всё работало как и должно — зимой заводилось с первой попытки, в городе можно было реже скорости переключать — нормально тянуло от 1400 об/мин, воткнул третью передачу и катись от 20 до 80 км/ч.

P.S. «Прошивка» в сервисе тогда была от 700 до 2500 рублей…
+
avatar
  • Bacchus
  • 03 октября 2014, 13:52
+6
Ну вот, осталось только купить десятку и можно покупать программатор :-)
+
avatar
  • penzet
  • 03 октября 2014, 14:02
+1
Купите про запас, не обязательно использовать.
+
avatar
  • bowe
  • 03 октября 2014, 18:07
0
Десятку?
+
avatar
  • f1203
  • 03 октября 2014, 14:03
+1
Определённые знания всё-таки нужны. Я бы в авто своими кривыми руками не полез. Как показывает практика, в моём случае, любой самостоятельный ремонт электроники — путь в один конец (на свалку).
+
avatar
  • kirich
  • 03 октября 2014, 14:07
+2
путь в один конец (на свалку).
В Вашем случае это скорее путь в магазин, это для электроники путь на свалку :)))
Не расстраиваетесь, я тоже, пока учился, то сначала больше ломал, чем делал.
+
avatar
  • penzet
  • 03 октября 2014, 14:09
+1
Адрес свалки в личку напишите пожалуйста
+
avatar
  • f1203
  • 03 октября 2014, 14:13
0
Это бессмысленно, т.к. внутренний Плюшкин не позволяет выкидывать более-менее годные вещи, разрушаю всё в тотал, дабы потом не думать «а правильно ли я поступил выкинув годное?»
+
avatar
  • SEM
  • 03 октября 2014, 15:31
0
Что сложного в отстегнуть от блока большой разъём, открутить несколько винтиков «торкс» крышки, аккуратно отколупнуть микросхему из панельки, аккуртно вставить на её место новую (не перепутав в какую сторону носом), закрутить и пристегнуть обратно?
Авто отечественное, технологии древние, всё просто и понятно, чинится отвёрткой и плоскогубцами…
+
avatar
  • Bacchus
  • 03 октября 2014, 16:19
0
Авто отечественное, технологии древние, всё просто и понятно, чинится отвёрткой и плоскогубцами…
C момента появления инжекторов, отечественные автомобили отличаются от продукции цивилизованного автопрома только надежностью, но никак не ремонтопригодностью.
+
avatar
  • SEM
  • 03 октября 2014, 16:33
0
Лично моё мнение относительно ВАЗовских моторов — у инжектора проще детектировать неисправность и заменить датчик, чем правильно отрегулировать карбюратор и опережение зажигания на «трамблёре»…

Да и не поедет инж только если датчик ДПКВ сломается, а ломаться там нечему — тупо катушка на сердечнике, только провода могут отгнить…
+
avatar
  • Bacchus
  • 03 октября 2014, 16:35
+1
У меня ломался. Правда не на тазе
+
avatar
  • bowe
  • 03 октября 2014, 18:08
0
Переставал адекватно работать после прогрева мотора. Тут точно не в проводах дело.
+
avatar
  • Bacchus
  • 03 октября 2014, 18:19
0
У меня просто переставал работать после долгой медленной езды по жаре
+
avatar
  • bowe
  • 03 октября 2014, 18:22
0
А у меня не переставал, но до 3000 вел себя неадекватно. Как раз, да, получается на медленных оборотах и по жаре. Зимой он же не беспокоил.
+
avatar
  • Bacchus
  • 03 октября 2014, 18:29
0
Зимы я не стал дожидаться, заехал на сервис и поменял :-)
+
avatar
  • bowe
  • 03 октября 2014, 18:41
0
У меня перед зимой забарахлил, зимой все стало нормально, а по весне расцвело во всей красе, вот тогда я и поменял.
+
avatar
  • ermakoff
  • 03 октября 2014, 18:34
0
я тоже так xbox детям фрибутнул) лежит теперь на полочке пыль собирает)
+
avatar
  • Kartus
  • 03 октября 2014, 19:08
0
Ну, для «десятки» это как дорога домой)))
+
avatar
  • kirich
  • 03 октября 2014, 14:06
+1
P.S. «Прошивка» в сервисе тогда была от 700 до 2500 рублей…
Хоть у меня и нет машины, но применение хорошее, но есть одно НО.
Возьмет так неопытный человек программатор, залезет в свою любимую машинку, перепрошить, убьет ЭБУ, и закончится это весьма печально.

вскрыл, выдернул из «кроватки» старую ППЗУ
Далеко не во всех ЭБУ память стоит в панельке, чаще мне попадались запаянные в плату, да еще и лаком покрытые.
+
avatar
  • SEM
  • 03 октября 2014, 15:27
0
Убить криво прошитой ППЗУ? Что-то слабо верится…
Скорее можно убить мотор кривой прошивкой (типа «супер-спорт» за счёт поливания бензином и более раннего зажигания с забиванием на датчик детонации). Но я брал проверенный тысячами автолюбителей файл с солидного сервера.
Старая ППЗУ была «в кроватке», так что я ничем не рисковал, не заелась бы с новой микросхемой — вернул бы старую.
+
avatar
  • zaycen
  • 03 октября 2014, 14:19
0
ну а кроме этого где применять?
+
avatar
  • garrysun
  • 03 октября 2014, 16:32
+1
вот тут
+
avatar
  • Bacchus
  • 03 октября 2014, 12:48
0
Круто. Только хотелось бы хоть небольшой пример, что с ним можно сделать
+
avatar
0
Жаль ATtiny13 не поддерживает(
+
avatar
  • kirich
  • 03 октября 2014, 13:20
+1
Разве?
По моему у Атмела довольно унифицировано все, должен шить.
+
avatar
  • ksiman
  • 03 октября 2014, 13:20
0
Жаль ATtiny13 не поддерживает(
Её пока не проверял
+
avatar
  • kirich
  • 03 октября 2014, 13:23
+1
А на панель разве не ISP разведен? :)
Вариантов то основных всего два, параллельное и последовательное, параллельного нет, значит стандартные MISO/MOSI/SCK разведены на панель, значит те же ISP.
+
avatar
  • ksiman
  • 03 октября 2014, 13:25
0
Да, точно так :)
+
avatar
0
А подскажите тогда как, в программе нет выбора ее. Ручной режим чтоли какой-нибудь?
+
avatar
  • kirich
  • 03 октября 2014, 13:31
+1
Кстати в списке поддерживаемых микрух совсем скромно по поводу Атмела. :(
Может есть более новое ПО?
+
avatar
  • ksiman
  • 03 октября 2014, 13:38
0
Кстати в списке поддерживаемых микрух совсем скромно по поводу Атмела. :(
Может есть более новое ПО?
Согласен, новых микрух нет.
Обновлённого ПО пока не нашёл
+
avatar
  • ksiman
  • 03 октября 2014, 13:32
0
Убрать в настройках галочку проверки ID
+
avatar
  • sav13
  • 03 октября 2014, 13:31
0
Сколько по времени будет, например, Атмегу 328 шить?
А то сейчас USBAsp шью — очень скучный он по времени
+
avatar
  • ksiman
  • 03 октября 2014, 13:36
0
Считайте сами: 4кБайт шьёт 8 сек.
Выходит примерно 1 мин
+
avatar
  • kirich
  • 03 октября 2014, 14:08
+1
Недавно шил 328 мегу, понипрогом, мне показалось, что быстрее, но утверждать не буду, не засекал.
Вот 644 шил долго, наверное как раз минуту, но память не полностью была заполнена.
+
avatar
  • maksms
  • 03 октября 2014, 20:52
+1
Нормально и быстро USBAsp шьет атмеги, главно чтобы частота у м/к была большая…
+
avatar
  • lolipop
  • 03 октября 2014, 14:11
0
25-е spi не поддерживает? через переходник, например.
+
avatar
  • ksiman
  • 03 октября 2014, 14:23
0
Нет SPI не поддерживается
+
avatar
  • Omega
  • 03 октября 2014, 16:15
+1
растолкуйте, чем (разумеется, по функционалу) обозреваемый от этих, я не совсем в теме:
mysku.ru/blog/aliexpress/23209.html
aliexpress.com/item/New-Shop-Sale-USB-SP200S-Programmer-for-ATMEL-MICROCHIP-SST-ST-WINBOND-AVR-10-Pin-Cable/623880633.html
+
avatar
  • garrysun
  • 03 октября 2014, 16:24
+1
25-ю серию читает, но нету преобразователя напряжения, поэтому не поддерживает MCS-51.
+
avatar
  • ksiman
  • 03 октября 2014, 16:58
+1
Первый работает только с 24 и 25
Второй SP200S — немного упрощённая версия моего SP200SE
+
avatar
  • garrysun
  • 03 октября 2014, 16:16
0
мой опыт работы с MiniPro TL866A

брал за 45. один из лучших програматоров за свои деньги. пока нашел два недостатка:

1.не шьет флешки, распаянные на плате, чрез клещи, приходиться выпаивать.

2. для экзотических чипов нужны спец. адаптеры, цены на которы коллеблются в районе 10-20уе за штуку.
+
avatar
  • bowe
  • 03 октября 2014, 18:09
+1
1.не шьет флешки, распаянные на плате, чрез клещи, приходиться выпаивать.
Не хватает питания?

2. для экзотических чипов нужны спец. адаптеры, цены на которы коллеблются в районе 10-20уе за штуку.
А к другим не лучшим программаторам эти спец. адаптеры прям в комплекте дают, лишь бы сам программатор купили?
+
avatar
  • garrysun
  • 03 октября 2014, 18:27
0
про питание не знаю, не мерил

а «другие» прогроматоры тоже стоят 40 баксов и поддерживают более 13000 микросхем?

P.S. MiniPro TL866A со всеми адаптереми можно купить за 120-150
+
avatar
  • bowe
  • 03 октября 2014, 18:43
+1
Про поддержку 13000 надо говорить и верить, только если вы производитель (или перепродавец) данного контроллера. Эти 13000 — это как картридж для денди с 999in1 (я просто капитан очевидность какой-то).

Ну и это не я назвал недостатком Tl866, что для экзотических чипов нужны дорогие переходники, я лишь логично предположил, что если для tl866 это недостаток, то для других программаторов эти переходники насыпают горстью в подарок.
+
avatar
  • garrysun
  • 03 октября 2014, 18:48
0
Эти 13000 — это как картридж для денди с 999in1
полностью согласен с вами.

я не пытаюсь вас затролить, простот итересно, что еще есть адекватного за эту цену но с переходниками.
+
avatar
  • bowe
  • 03 октября 2014, 18:55
0
Ничего, наверно, нет лучше и универсальнее за такие деньги. А я как раз любопытствую (потому что мне это предстоит), почему на удлинителе кабеля (клещах или выносном с кабелем переходнике) не перепрошивается. Неужели источника USB не хватает (вкупе с проводами переходника-клещей), чтобы прошилась вот так по удлинителю? То есть, какой-нибудь willem с lpt и внешним питанием смог бы в такой ситуации помочь или нет?

Или не шьет, потому что на контактах флешки висят еще какие-то компоненты (логично, она ж впаяна в оборудование(, и опять же, не хватает напряжения, чтобы перепрошиться.

UPD: Или для прошивки по SPI (или полностью всеми ногами?) все ноги флеш-памяти должны висеть в воздухе без вариантов?
+
avatar
  • AndyBig
  • 03 октября 2014, 19:02
0
Подключаясь к микросхеме, впаянной в плату, и подавая на нее питание, Вы автоматически запитываете и все остальное на этой плате, что сидит на том же питании. Что при этом может происходить — известно только разработчику платы, да и то не до конца :) Как минимум — к этой флешке начинается обращение со стороны самого устройства, что, естественно, сбивает все попытки ее программировать. В худшем случае устройство вообще может выйти из строя.
+
avatar
  • bowe
  • 03 октября 2014, 19:04
0
А при наличии сервисного/spi (с jtag и так все понятно) разъема, ничего критичного быть не должно? (при попытке присоединиться именно к ним, естественно)
+
avatar
  • AndyBig
  • 03 октября 2014, 19:07
+2
У флешек бывает сервисный ISP? :)
У контроллеров все несколько иначе и по питанию и по самому контроллеру — питание на плату должно подаваться штатным образом, а сам интерфейс ISP имеет возможность управлять контроллером — держать сброс, переводить в режим программирования.
+
avatar
  • bowe
  • 03 октября 2014, 19:09
0
Становится все понятнее. Спасибо. Тогда при наличии ISP необходимо все равно включать аппарат (материнскую плату, например) своим питателем?
+
avatar
  • AndyBig
  • 03 октября 2014, 19:11
+1
Да, если на ней специально не предусмотрено запитывание от ISP. Но это скорее экзотика :)
Обычно в процессе отладки питание все время включено и при необходимости ISP останавливает процессор, прошивает его, затем сбрасывает и отпускает для выполнения прошивки.
+
avatar
  • Omega
  • 03 октября 2014, 19:25
+1
всегда думал, что ISP это внутрисхемное программирование. Правильно ли я понял Вашу фразу, что это так и есть, если речь о микроконтроллерах и только?
+
avatar
  • AndyBig
  • 03 октября 2014, 19:40
+2
всегда думал, что ISP это внутрисхемное программирование
Так и есть.
Правильно ли я понял Вашу фразу, что это так и есть, если речь о микроконтроллерах и только?
Скажем так — правильное ISP может быть таковым только применительно к чипам, которые его предусматривают. Например, контроллер может быть переведен в режим программирования и игнорировать все остальные внешние сигналы. При условии, конечно, что для программирования у него выделены отдельные выводы. Флэшки так не умеют (ну, может быть, кроме каких-то специфичных).
+
avatar
  • Nobody
  • 03 октября 2014, 17:28
0
А на работе какими программаторами пользуетесь?
+
avatar
  • bowe
  • 03 октября 2014, 18:10
0
Тем, который крепость капучино меняет и уровень воды.
+
avatar
  • Avgur
  • 03 октября 2014, 18:25
0
Спасибо за обзор, но не совсем понял фразу
Разъём и кабель ISP (In-System Programming) позволяют подключаться к программируемым микросхемам без выпаивания их из устройства.
в состав входят клещи? Как подключаетесь к микросхемам на плате?
+
avatar
  • garrysun
  • 03 октября 2014, 18:30
+2
на платах обычно присутствует вот это
+
avatar
  • AndyBig
  • 03 октября 2014, 18:42
+1
Плюс обзору, но я уже давно не использую диповые корпуса, а на всех платах предусматриваю на краю контакты для внутрисхемного программирования. Да и в последние лет пять уже только ARM-ы пользую с JTAG, по которому идут и прошивка и отладка. У ST вообще двухпроводный интерфейс прошивки и отладки, всего четыре контакта (два питания, два сигнальных) требуется :)
Контакты на краю платы, подключение к ним — куском IDC-коннектора с немного модифицированными штырьками. Подключиться — 1 секунда, прошить со стиранием и запиранием чипа — 10 секунд, отключиться — еще одна секунда :)
+
avatar
  • ksiman
  • 03 октября 2014, 19:02
0
У ST вообще двухпроводный интерфейс прошивки и отладки
Кто такой?
Может STM?
+
avatar
  • AndyBig
  • 03 октября 2014, 19:04
0
Угу, STM, недопечаталось :)
+
avatar
  • ksiman
  • 03 октября 2014, 19:06
0
Понятно. Никак на них не перекочую — привык к дипам…
+
avatar
  • AndyBig
  • 03 октября 2014, 19:10
0
Я уже с ужасом вспоминаю как приходилось отлаживаться по косвенным признакам, не имея возможности поставить брейкпоинт, пошагового выполнения, просмотра регистров и переменных :) Это основной аргумент для меня при использования АРМов. Ну и не нужно париться по поводу ресурсов и быстродействия. Да и цены давно уже упали до очень доступных.
+
avatar
0
Давно смотрю на этот программатор, но так и не понял, поддерживает ли он прошивку atmega328 в панельке. В списке поддерживаемых ее не увидел. Не подскажете?
+
avatar
  • ksiman
  • 04 октября 2014, 11:45
0
Атмегу 328 пока не проверял…
+
avatar
  • bowe
  • 04 октября 2014, 11:32
+1
Автор! А можно добавить в заголовок маркировку SP200SE?
Эти буквоцифры точн определяют модель.
В комментариях как раз упомянули старшего брата этой серии SP300 (с чуть большими возможностями), ну и для поиска потом удобнее.

p.s. а еще этот обзор у меня не светится в избранном. Или место в избранном закончилось, или еще что…
+
avatar
  • ksiman
  • 04 октября 2014, 11:44
0
Сделано
+
avatar
+1
Ссылка на софт битая (( Можете перевыложить или прислать архив?
+
avatar
  • peeoner
  • 24 апреля 2016, 20:24
0
нашел здесь,(еще не проверял проги ) monitor.espec.ws/section46/topic159645p60.html

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.