PDA

Просмотр полной версии : ROM-Switcher (PIC12f683 based)



Alex_NEMO
16.04.2010, 10:23
Привет, коллеги!
Решил поделиться с общественностью своим первым самостоятельным проектом на микроконтроллере. Надеюсь, кому-то он окажется полезным.
Учитывая с одной стороны постепенное «умирание» УФППЗУ, «геморрой» со стиранием, наличие определенного программатора и т.д., а с другой стороны, популярность и легкодостоваемость флэш-памяти заставили задуматься: как использовать флэшки, размер которых, обычно, не менее 512kbit (NNx512, например, 29F512 и т.д.), «по полной программе»? Тем более, есть проект нашего форумчанина Skyther'а - «программатор Flash» (http://zx.pk.ru/showthread.php?t=3947), который шьет именно флэши, но не УФППЗУ.
Была идея навесить «навесить» тумблерок, либо мультиплексор или триггер для «руления» старшим разрядом ПЗУ, не предмет «управления» прошивками. Например, в случае любого 48 клона «0» на этом адресе – стандартная прошивка 82 года, подали «1» - турбо прошивка 90-91 года. И т.д. В случае компов с BDI и памятью от 128к - еще ентереснее - можно иметь на одном компе те же 2-е разные прошивки 48 БЕЙСИКа, + Gluk RESET service + HE GLUK, или любые вариации, какие Вам нужны.
Не так давно на форуме DLCorp (http://dlcorp.nedopc.com/), комрад robat_e, при поддержке тамошних ГУРУ заделал "переключалку" на одной ТМ2 (http://dlcorp.nedopc.com/viewtopic.php?p=13969#p13969).
Из «недостатков», на мой взгляд, руление только одним разрядом, кнопка с переключающими контактами, «достоинства» - просто, «дешево и сердито»!
Решил я немного попрактиковаться в программировании контроллеров, благо маленький опыт был(переделка и доводка чужого проекта «под себя»), и был проект, который почти полностью писался другом под PIC12F675(629) на MikroC Pro. Благо в запасах нашлось несколько «халявных» PIC12F683 в SO8 корпусе. Мои познания в Си пока весьма скромны, но результат есть, и он весьма положительный. По крайней мере, то, каким я видел этот девайс – получилось!

Краткое тех. описание:
1. ROM-Switcher является диспетчером (переключателем) прошивок ПЗУ.
2. Максимальное кол-во переключаемых страниц (прошивок) – 4 (больше – вряд ли нужно).
3. Управление одной кнопкой с Н.О. контактами, после выбора(кнопку перестали нажимать), примерно через 1,2 сек. (типа, выбор сделан) осуществляется автоматический СБРОС компа. Стартуем, соотв. с выбранной прошивкой.
4. После ~15 сек. «не нажимания» (типа, выбор закончен) номер «активной прошивки» сохраняется в EEPROM микроконтроллера, и при следующем включении компьютера он стартует именно с этой прошивки.
5. Индикация сделана «наглядной» - на семисегментник выводится номер «активной прошивки». При небольших изменениях в коде легко переделать под простые светодиоды и индикацию по принципу переключалки на ТМ2 от robat_e. В момент СБРОСа на индикатор кратковременно выводится буква "r"(rESET). Момент "записи" в EEPROM индицируется кратковременным выводом на индикатор буквы "S"(SAVE).

Регистры для семисегментника – любые из приведенных на схеме, прошивка легко адаптируется под любой 8-ногий ПИК 12-й серии, по идее, на Тини13(AVR) такое то же можно сделать! Семисегментник - любой, какой есть в наличии ОК или ОА(раскомментировать одну строку и перекомпилить прошивку).
Во вложении исходники (mikroC PRO for PIC 2009 [17.7MB] (http://www.mikroe.com/en/compilers/mikroc/pro/pic/)) и прошивки под ОК и ОА, для 512кбит и 2Мбит ПЗУ, файл Протеуса, схемы для разных вариантов и примеры печаток. Демо-версии этого компилятора вполне достаточно для самостоятельной компиляции под свои нужды данной разработки.
Благодаря SoftFelix'у появилась прошивка, где индикатором служит обычный 2-х цветный светодиод с ОК (http://zx.pk.ru/showpost.php?p=285114&postcount=26)(можно и просто 2 светодиода поставить).

БЛАГОДАРНОСТИ! Спасибо Евгению [ewgeny7] и Алексею [dosikus], за прояснение ряда теоритических вопросов!
Спасибо SoftFelix'у, за сборку (http://zx.pk.ru/showpost.php?p=287932&postcount=35) и тестирование (http://zx.pk.ru/showpost.php?p=289510&postcount=39) данного "девайса" на реале, т.к. у самого - не дошли ещё руки...

IanPo
16.04.2010, 10:33
У меня схемка попроще - флеха 512К , 3 резистора и 3-рычажковый дип-переключатель. На переключателе двоичным кодом выставляешь прошивку.
На плату ставится с помощью двух рядов штырьков и PBS http://www.chipdip.ru/product0/650152747.aspx
Дип-переключатель запоминает последнее набранное двоичное число :)

Alex_NEMO
16.04.2010, 10:39
У меня схемка попроще - флеха 512К , 3 резистора и 3-рычажковый дип-переключатель. На переключателе двоичным кодом выставляешь прошивку.
Я то же про тумблер озвучил - но "спецы" "тапками закидали" - типа "не кошерно", глюки будут при нек. длине проводов, наводки и т.д... Опять же, "халява" в лице нескольких озвученных ПИКов + желание попрактиковаться в программировании контроллеров на простом проекте...

psb
16.04.2010, 11:02
Дип-переключатель запоминает последнее набранное двоичное число
да, но... семисегментника-то нет!!! несолидно! :)))))

IanPo
16.04.2010, 11:50
глюки будут при нек. длине проводов, наводки и т.д...
Переключатель на платке вместе с флехой.


да, но... семисегментника-то нет!!! несолидно! ))))
Настоящий спектрумист должен уметь в уме переводить положение рычажков на переключателе в число, т.е уметь "читать матрицу" :)

Alex_NEMO
16.04.2010, 12:37
Переключатель на платке вместе с флехой.
Ну, дык это то же "несолидно!" и не удобно - как минимум - крышку снимать, а тут - одной кнопкой, с передней панели!

Alex_NEMO
19.04.2010, 12:41
Обновлена прошивка. Немного изменена логика работы.
Теперь СБРОС компа происходит через ~1,2 сек. после того, как перестали нажимать на кнопку(удержание/однократные нажатия) и индицируется кратковременным выводом буквы "r"(rESET). Если после этого не нажимали кнопку с течение ещё ~16 сек., происходит запись "состояния" в EEPROM контроллера, и индицируется кратковременным выводом на индикатор буквы "S"(SAVE).

Ewgeny7
19.04.2010, 15:30
Дип-переключатель запоминает последнее набранное двоичное число
Жжошь, дип-переключатель может забыть код при сбоях питания :)

research
04.05.2010, 13:19
я подумывал просто AVR Mega64-128 ставить вместо ROM и все. Можно шить на лету, можно обкатывать прошивки в озу меги и т.п. Залить дебуггер и прочий винрар. вопрос только, надо ли оно...

SoftFelix
13.05.2010, 08:58
Вопрос немного не по теме. Хотелось бы собрать этот девайс. Понравилась сама идея, компоновка печатной платы и наличие необходимых компонентов. С PIC'ами ни разу дела не имел. Работаю сарвис-инженером по ремонту оргтехники. Скапливается огромное количество б/у совместимых чипов для картриджей, которые выполнены на основе PIC12F683 в SOIC-8. Их можно использовать? Или при программировании могли задать некий фьюз, который бы, в дальнейшем, полностью запретил менять область программ/данных (или как оно там)? Из потенциальных программаторов есть PonyProg, который заточен только под 24Схх и 93Схх, а также недавно собранный Willem.

Alex_NEMO
13.05.2010, 11:01
Скапливается огромное количество б/у совместимых чипов для картриджей, которые выполнены на основе PIC12F683 в SOIC-8. Их можно использовать? Или при программировании могли задать некий фьюз, который бы, в дальнейшем, полностью запретил менять область программ/данных (или как оно там)? Из потенциальных программаторов есть PonyProg, который заточен только под 24Схх и 93Схх, а также недавно собранный Willem.

SoftFelix, я как раз сдергивал PIC12F683 в SOIC-8 с картриджных "чипов". Именно поэтому прога писалась под PIC12F683. Я "шил" PICKit'ом2 через переходник SO-16>DIP16. Изначально, эти ПИКи (с картриджных "чипов") - "залочены". В оболочке к PICkit'у я их стирал дважды - первый раз снимаем "залочку"(просто стираем), потом снимаем галочку в Tools > Enable Data Protect и стираем ещё раз. После этого прошиваем нужной прошивкой для Switcher'а. PonyProg'ом никогда не пользовался - не подскажу. Вообще, у PIC'ов т.н. "фьюзы" определяются в самом HEX'е. Но как это будет в оболочке PonyProg'а или Willem'a - не знаю.
По данным проекта MikroC конф. слово: CONFIG :$2007 : 0x0FD4
Расшифровка:
Oscillator: Internal RC No Clock (4MHz)
WDT: Off
PowerUp Timer: Off
Master Clear Enable: Disable
Code Protect: Off
Data EE Read Protect: Off
Brown Out Detect: BOD Enabled, SBODEN Disabled
Относительно "дефолтных" меняются только эти:
Oscillator: Internal RC No Clock (4MHz)
Master Clear Enable: Disable
ВНИМАНИЕ!
На одной из печаток(2Xx020, под DIP-корпус) имеется небольшой "косячек" - 1-ю ногу 2Xx020(DIP32) надо посадить на +5В. В TOP-слое проложить дорожку: 1-я нога панельки под 2Xx020 <-> 32-я нога этой же панельки.

SoftFelix
14.05.2010, 09:19
я как раз сдергивал PIC12F683 в SOIC-8 с картриджных "чипов".
О! :-)
На днях гляну возможность последней версии Willem'а, а потом видно будет.


ВНИМАНИЕ!
На одной из печаток(2Xx020, под DIP-корпус) имеется небольшой "косячек" - 1-ю ногу 2Xx020(DIP32) надо посадить на +5В. В TOP-слое проложить дорожку: 1-я нога панельки под 2Xx020 <-> 32-я нога этой же панельки.
Может переразвести и обновить архив?
Ещё такая хотелка есть: индикация режима работы одним одноцветным или двухцветным (три ноги) светодиодом, т.е. чтоб уйти от второй микросхемы и индикатора.

Alex_NEMO
14.05.2010, 10:23
Может переразвести и обновить архив?
Ещё такая хотелка есть: индикация режима работы одним одноцветным или двухцветным (три ноги) светодиодом, т.е. чтоб уйти от второй микросхемы и индикатора.
Не вопрос - могу и обновить... Просто пока обновлю, надеюсь, сам сделаешь? Тем более, схема есть. На счет "хотелки" - не вопрос. Только одного одноцветного для 4-х страниц мало будет! Или тебе 2-х достаточно? Для 4-х надо или 2-а одноцветных или один 2-х цветный. Тогда индикация будет такой:
0-я страница - все погашено.
1-я страница - светится только "первый" светодиод(или только зеленый(красный) в случае 2-х цветного).
2-я страница - светится только "второй" светодиод(или только красный(зеленый) в случае 2-х цветного).
3-я страница - светятся оба светодиода(в случае 2-х цветного - красный + зеленый = желтый).
Так... а двухцветники у нас с "ОК"? Т.е. управление им "1"...

SoftFelix
14.05.2010, 11:00
или один 2-х цветный. Тогда индикация будет такой:
0-я страница - все погашено.
1-я страница - светится только "первый" светодиод(или только зеленый(красный) в случае 2-х цветного).
2-я страница - светится только "второй" светодиод(или только красный(зеленый) в случае 2-х цветного).
3-я страница - светятся оба светодиода(в случае 2-х цветного - красный + зеленый = желтый).
Вот это самое то!


Так... а двухцветники у нас с "ОК"? Т.е. управление им "1"...
В большинстве случаев именно так.

Alex_NEMO
14.05.2010, 11:38
Вот это самое то!
Хорошо, до понедельника постараюсь сделать такую прошиву. Ещё момент - под какие корпуса - DIP или PLCC? Ещё не забудь или на платках или у светодиода 2-а токоограничительных резюка повесить! Они будут соотв. на выводах, помеченных как "CLK" и "DATA"!

SoftFelix
14.05.2010, 12:39
Ещё момент - под какие корпуса - DIP или PLCC?
Под FLASH? DIP как-то ближе. Для PLCC за панелькой придётся ехать.


Ещё не забудь или на платках или у светодиода 2-а токоограничительных резюка повесить!
СамО-сабОй.

Alex_NEMO
14.05.2010, 14:53
SoftFelix, лови, пробуй!
Логика работы - как описал, осталось определится - под какой объем флэши? 2Мбит(>=128k) или 512кбит(48k)?(Старший и младший биты упр-я страницами меняются местами.)
Обязательно прогони в Протеусе. Так все?

SoftFelix
14.05.2010, 19:35
Alex_NEMO, Разберусь с программированием PIC'а и приступлю к изготовлению.

SoftFelix
18.05.2010, 17:13
Alex_NEMO, Разберусь с программированием PIC'а и приступлю к изготовлению.
Есть несколько вопросов по программированию PIC'а:

Сделал я по-быренькому "переходничёк" SOIC8-DIP8:
http://photofile.ru/photo/softfelix/3814459/large/89338881.jpg (http://photofile.ru/users/softfelix/3814459/89338881/)

Willem правильно увидел чип по ID. Действительно, из-за установки защиты, из области программы и данных читались #00. Cтёр чип. В области программ всё стало #3fff, а в данных - #ff.

Вот так настроил Willem (Config 0x0FD4 - правильно?):
http://zx.pk.ru/picture.php?albumid=33&pictureid=252

Загрузил прошивку:
K:\ZX_Spectrum\ROM-Switcher\ROM_Sw_2LED\HEX\rsw_320.hex
Это именно тот нужный .hex?

Прошил без проблем. Единственное, если заново считать содержимое PIC'а в буфер, то Config становится 0x3fd4, но стОит отредактировать любое значение в Config _на_такое_же_, как он опять получается 0x0fd4.
http://zx.pk.ru/picture.php?albumid=33&pictureid=253

Alex_NEMO
18.05.2010, 17:43
Есть несколько вопросов по программированию PIC'а:

Willem правильно увидел чип по ID. Действительно, из-за установки защиты, из области программы и данных читались #00. Cтёр чип. В области программ всё стало #3fff, а в данных - #ff.

Вот так настроил Willem (Config 0x0FD4 - правильно?):
http://zx.pk.ru/picture.php?albumid=33&pictureid=252

Загрузил прошивку:
K:\ZX_Spectrum\ROM-Switcher\ROM_Sw_2LED\HEX\rsw_320.hex
Это именно тот нужный .hex?

Прошил без проблем. Единственное, если заново считать содержимое PIC'а в буфер, то Config становится 0x3fd4, но стОит отредактировать любое значение в Config _на_такое_же_, как он опять получается 0x0fd4.
http://zx.pk.ru/picture.php?albumid=33&pictureid=253

SoftFelix, ты мне скажи, если запустить софт Вильяма, и вручную выбрать чип "PIC12F683", "заметить" PIC Setting, а затем загрузить ХЕКС из файла(да, тот нех, впрочем, как и лежащий в "корне" одинаковые и правильные), изменится ли состояние чекбоксов и вып. списка "Oscillator"? Если да, то все нормально - "конфиг" читается из НЕХ'са и принудительно править Config НЕ надо!
Можешь проверить на свободной "панельке" - припаяй кнопку, и светодиоды с резюками. Нажатие на кнопку должно менять "состояние" светиков и соотв. ножек PIC'а(2, 7 ноги, и кратковременный "0" на 3 ноге и аноде диода(СБРОС)). Если все нормально - пробуй уже на "реале". ПЗУху понял как прошить? Надо последовательно "склеить" 4(2) прошивки нужных тебе "версий" ПЗУ.
Кстати, если припаяешь PIC, и, вдруг, что-то не правильно будет или что-то добавить по функционалу захочется(т.е. его(PIC) придется перешить), можешь впоследствии использовать разъем "ICSP". Надо будет только переходной шнурок сбацать, для соединения разъема "ICSP" Вильяма и платки ROM-Switcher'а.

SoftFelix
18.05.2010, 18:08
SoftFelix, ты мне скажи, если запустить софт Вильяма, и вручную выбрать чип "PIC12F683", "заметить" PIC Setting, а затем загрузить ХЕКС из файла(да, тот нех, впрочем, как и лежащий в "корне" одинаковые и правильные), изменится ли состояние чекбоксов и вып. списка "Oscillator"? Если да, то все нормально - "конфиг" читается из НЕХ'са и принудительно править Config НЕ надо!
Всё о.к. Действительно, Config читается из hex'а! Проверять буду завтра.

Alex_NEMO
18.05.2010, 18:12
Всё о.к. Действительно, Config читается из hex'а! Проверять буду завтра.
Ну и отлично, значит, Вильям - "правильный" проггер. А у МикроЧипов - ХЕКС правильный! :) Сразу в нем конфиг "настроен" - только прошей и все.
Удачи в испытаниях! Жду результатов!

SoftFelix
20.05.2010, 10:57
Удачи в испытаниях! Жду результатов!
Всё работает (пока на макетке)! Есть две маленькие хотелки:

1. Уменьшить время записи выбраной прошивки до 10 сек.
2. Ввести индикацию момента записи состояния частым миганием _обоих_ светодиодов в течении 1-2 сек.

Alex_NEMO
20.05.2010, 12:01
1. Уменьшить время записи выбраной прошивки до 10 сек.
2. Ввести индикацию момента записи состояния частым миганием _обоих_ светодиодов в течении 1-2 сек.
1. - не проблема, уменьшу.
2. - Моргать как - одновременно или поочередно?

SoftFelix
20.05.2010, 12:17
2. - Моргать как - одновременно или поочередно?
Одновременно. У сейчас сдвоенный стоит. Будет оранжевым мигать во время записи.

Alex_NEMO
20.05.2010, 12:23
Одновременно. У сейчас сдвоенный стоит. Будет оранжевым мигать во время записи.
Хорошо, до вечера попробую сваять, может раньше.
Управился быстро довольно, лови, пробуй:
1. Запись "активной" страницы ПЗУ в EEPROM происходит после ~10 сек не нажимания на кнопку, т.е. подразумевается, что выбор нужной страницы ПЗУ сделан.
2. По просьбе 'SoftFelix'а добавлена индикация "записи" в EEPROM контроллера, путем частого("засветка" - 100 мс, темновая пауза - 50 мс)мигания обеими светодиодами в течение ~1,5 сек
Проверь сперва прошивку в Протеусе - может, слишком часто моргает или пойдет?

SoftFelix
20.05.2010, 19:14
Всё работает как надо и как хотелось. Вот ссылка на видео (не очень хорошо видны цвета, но в реале всё чётко и очевидно. отдельный зелёный светодиод индицирует /RESET):
http://smotri.com/video/view/?id=v14336115e15

На чистовую буду делать платку, всё-таки, для PLCC (W49F002 - 256 килобайт) - хочу занять только одну панельку и не залезать платой-переходником на соседнюю. (слева - Тест-1024К (2764), справа - BASIC128/BASIC48 (27256)). Заодно и Тест-ПЗУ запихну во флешку.
http://photofile.ru/photo/softfelix/3810704/large/89339783.jpg (http://photofile.ru/users/softfelix/3810704/89339783/)

Alex_NEMO
20.05.2010, 19:51
Всё работает как надо и как хотелось. Вот ссылка на видео (не очень хорошо видны цвета, но в реале всё чётко и очевидно. отдельный зелёный светодиод индицирует /RESET):
http://smotri.com/video/view/?id=v14336115e15

На чистовую буду делать платку, всё-таки, для PLCC (W49F002 - 256 килобайт) - хочу занять только одну панельку и не залезать платой-переходником на соседнюю. (слева - Тест-1024К (2764), справа - BASIC128/BASIC48 (27256)). Заодно и Тест-ПЗУ запихну во флешку.
Ай, молодца! Спасибо за тестирование! На 2, 7 ногах (те, что ПЗУ будут "рулить") смотрел - сигналы меняются?
Моргания на видео почти не заметны - может, до 100 мс состояние "погашено" увеличить?

SoftFelix
20.05.2010, 20:11
На 2, 7 ногах (те, что ПЗУ будут "рулить") смотрел - сигналы меняются?
Меняются.


Моргания на видео почти не заметны
Матрица у фотика тормозная. В реале всё круто смотрится.


то 100 мс состояние "погашено" увеличить?
Попробуй сделать, посмотрю на разницу, хотя и сейчас всё о.к.

Alex_NEMO
20.05.2010, 20:26
Попробуй сделать, посмотрю на разницу, хотя и сейчас всё о.к.
Лови, пробуй. Может, кол-во морганий уменьшить?

SoftFelix
20.05.2010, 21:57
Лови, пробуй. Может, кол-во морганий уменьшить?
Действительно, это смотрится более читабельно. Думаю, на этом стОит остановиться. :) Теперь реализация "на беловую"...

Alex_NEMO
21.05.2010, 06:55
Действительно, это смотрится более читабельно. Думаю, на этом стОит остановиться. :) Теперь реализация "на беловую"...

Короче, последнюю прошивку v3.20b оставляем в том виде, как она есть и делаем её "релизом" для варианта с двухцветным светодиодом?

SoftFelix
21.05.2010, 09:47
Короче, последнюю прошивку v3.20b оставляем в том виде, как она есть и делаем её "релизом" для варианта с двухцветным светодиодом?
Абсолютно верно. Хотя...:v2_wink2: Если уж выводить на светодиоды всю индикацию, как для семисегментника, то можно ещё добавить одиночный "мырг" выбранным цветом на длительность подачи RESET'а. :v2_smoke:

Не, выбранным цветом не пойдёт. Лучше моргнуть опять обоими (оранжевым цветом).

Alex_NEMO
21.05.2010, 10:17
... то можно ещё добавить одиночный "мырг" выбранным цветом на длительность подачи RESET'а.

Не, выбранным цветом не пойдёт. Лучше моргнуть опять обоими (оранжевым цветом).
По моему, это уже лишнее. Ты итак, на экране увидешь результат - Сброс и выводимую надпись другой прошивки или тест, смотря что в ПЗУ зашьешь! А то за мыргами постоянно следить - как-то не очень... Оно и "индикация записи в EEPROM" - понты по большому счету... Сперва делалось для отладки, потом решил оставить - типа, "Фича"... :)
Опять же, что бы не "насиловать" двухцветник, тупо повесь светик на линию "RESET". Только, через транзисторный ключ - дабы не перегружать выход контроллера и микрух, которые то же генерят этот сигнал. Но опять же, по моему, это лишнее!

SoftFelix
31.05.2010, 18:22
Процесс потихоньку идёт:
http://photofile.ru/photo/softfelix/3810704/large/89502819.jpg (http://photofile.ru/users/softfelix/3810704/89502819/)

http://photofile.ru/photo/softfelix/3810704/large/89502831.jpg (http://photofile.ru/users/softfelix/3810704/89502831/)

http://photofile.ru/photo/softfelix/3810704/large/89502848.jpg (http://photofile.ru/users/softfelix/3810704/89502848/)

Alex_NEMO
31.05.2010, 18:52
Процесс потихоньку идёт
Молодца! С нетерпением жду результатов проверки на реале!

IanPo
31.05.2010, 20:04
SoftFelix, прикольно :)
А из чего делаются лепестковые выводы (28 шт.), к-е вставляются в панельку ПЗУ Феникса?

SoftFelix
31.05.2010, 20:28
А из чего делаются лепестковые выводы (28 шт.), к-е вставляются в панельку ПЗУ Феникса?
http://zx.pk.ru/showpost.php?p=281243&postcount=5

SoftFelix
06.06.2010, 11:46
С нетерпением жду результатов проверки на реале!
Итак, девайс установлен в реальный комп. Всё работает.
http://photofile.ru/photo/softfelix/3810704/large/89547233.jpg (http://photofile.ru/users/softfelix/3810704/89547233/)

К сожалению, много разочарования доставило качество 0-ой панельки ПЗУ :( (я это давно знал. ламельные выводы _вообще_ не обладают пружинистым эффектом. :mad: покупались в далёком 89-ом или 90-ом году из-за полного отсутствия каких-либо панелек на радиорынке в то время, а в одном месте очччень зззудило...:)) и "притычная" установка самогО адаптера по правому краю из-за резисторов подтяжки ШД в "Ленинграде" (это я тоже предвидел). В планах заменить 1-ую панельку ПЗУ на цангу для надёжности (ну и геморрой предстоИт) и скоммутировать её как 0-ую (сейчас она распаяна для ТЕСТ-ПЗУ РФ5/2716) и ужЕ в неё поставить адаптер.
http://photofile.ru/photo/softfelix/3810704/large/89568852.jpg (http://photofile.ru/users/softfelix/3810704/89568852/)

Сейчас во флэшку прошиты:
1. стандартные BASIC_128/BASIC_48 с фиксом от VELESOFT'а,
2. моя ТЕСТ-ПЗУ 1024К 5&6&7 bit #7FFD,
3. ТЕСТ-ПЗУ v2.5 Александра Кормишина (как выяснилось, весьма сомнительая прошивка: во время теста РАМ отключил расширенную память - тест даже не поперхнулся ошибкой, только загадил экран. :v2_blink:)
4. Gluk Reset Service v6.61 + BASIC_48 (рулеза пока вообще не прочувствовал).

В планах очень хотелось бы попробовать прошить-поюзать вместо BASIC_128 или WDC v1.3f, или FATAL v0.24 (или какой там последний?) и полностью прочувствовать рулез от NEMO-IDE. Для Феникса, вроде, где-то встречал подобное, а не для Феникса эти прошивки пойдут? Т.е. если просто взять соответствующие 16КБ прошивки с WDC или FATAL'ом и прошить вместо BASIC_128.

Теперь по конструкции. Обычному спектрумисту-железячнику _без_ соответствующего программатора она малопригодна (понятно по каким причинам). Советую собрать Willem Prog и проблемы с прошивкой практически любых чипов у вас не будет никогда. Так же предлагаю отказаться (для упрощения реализации) от плат-переходников, использовать флэшь в DIP-32 и монтировать PIC сразу на плате Спекка.

2Alex_NEMO: Предлагаю внести в архив с документацией следующие изменения:

1. Сразу в .lay зазеркалить для ЛУТ bottom-сторону печатной платы для DIP28->PLCC32(256KB). С top-стороной всё в порядке. Т.е. на которой собирал я.

2. Дополнить схему вариантом на сдвоенном светодиоде. Имхо, это наиболее простой и доступный способ индикации. Резисторы в цепи светодиодов у меня поставлены на 330 Ом. Расположены на top-стороне платы-переходника в разрыве проводников DATA и CLK до разъёма. Может сразу предусмотреть на печатке места под smd-резисторы/перемычки? +Сразу предусмотреть место на плате под smd-резистор R1, который подтягивает 4-ую ногу PIC'а на +5В.

http://photofile.ru/photo/softfelix/3810704/large/89568857.jpg (http://photofile.ru/users/softfelix/3810704/89568857/)

p.s. Поменял панельку ROM_1 на цангу. Все глюки, связанные с плохими контактами сразу пропали. Зато теперь начала глючить 16-ти выводная панелька на разъём клавиатуры. Буду менять...
http://photofile.ru/photo/softfelix/3810704/large/89608549.jpg (http://photofile.ru/users/softfelix/3810704/89608549/)

Alex_NEMO
06.06.2010, 12:48
Итак, девайс установлен в реальный комп. Всё работает.

SoftFelix, спасибо за сборку и тестирование! Рад, что хоть одному человеку эта "железка" оказалась полезной!


...монтировать PIC сразу на плате Спекка.
Ворпрос спорный, на мой взгляд. Вариант предложенных "переходников" считаю элегантным и оптимальным! На крайняк, панель под ПЗУ удаляем и "намертво" впаиваем переходник на место панельки. Все равно под ПЗУ на свитчере панелька ставится! А так - сопли тянуть...


Предлагаю внести в архив с документацией следующие изменения...
Ввиду единичной заинтересованности данной "железкой" все вышеозвученное считаю нецелесообразным! У кого руки из правильного места растут - все сам сделает, как ему надо! А вообще, со временем - посмотрю/подумаю, может и сделаю как ты предлагаешь...

SoftFelix
22.08.2010, 16:19
Сегодня при включении Спекк не вышел в менюшку 128К. По резету вышел. Еще после пары раз выкл-вкл питанием вообще перестал выходить в меню 128К даже по резету. Визуально было видно (по индикатору переключения страниц), что прошивка BASIC_128К отрабатывает, но в итоге вываливается в BASIC_48 (происходил как бы "двойной" резет в BASIC_48: красные вертикальные полоски дважды пробегали по экрану). TEST-ROM проблем с компом не выявил. Начал грешить на слёт прошивки во флэшке W49F002 (впервые слёт прошивки в ПЗУ за 22 года!). Veify в программаторе (Willem) с сохраненным файлом расхождений не выявило (!), но стирание, а затем повторная перепрошивка полностью вернула Спекк к жизни. Вспомнилось, что эту флэшку специально шил при Uvpp=5.6V, т.е. повышенным. Сейчас прошил номинальным напряжением.

Alex_NEMO
04.09.2010, 17:18
Итак, представляю "retail" - версию "ROM-Switchera", который будет на платах от ZST!
ВНИМАНИЕ!!! Плата только для компов с памятью от 128к!!! Т.е. НЕ ДЛЯ 48к!!!

Заказ плат данного варианта - тут (http://zx.pk.ru/showthread.php?t=13685)

Ничего особо нового, все расписано в первом посте данного топика. Размеры плат Свитчера:
1. Контроллер - 24 х 44 мм
2. плата индикации и упр-я - 25,5 x 26,5 мм
Внешний вид плат:
http://s39.radikal.ru/i086/1009/43/49d36ae45837t.jpg (http://radikal.ru/F/s39.radikal.ru/i086/1009/43/49d36ae45837.png.html)

http://img-fotki.yandex.ru/get/6002/alex-nemo2006.1/0_4a22d_83a83629_M.jpg (http://fotki.yandex.ru/users/alex-nemo2006/view/303661/)
«Фотки собранного ROM Switcher © Alex 'NEMO'. rev.1 (http://fotki.yandex.ru/users/alex-nemo2006/view/303661/)»

Во вложении:
1. Схема электрическая принципиальная.
2. Схема монтажная.
3. Исходники.
4. Схема в Протеусе, для ознакомления с работой устройства. Можно в "реале" увидеть, как это работает.
5. Прошивки для данной версии. Под индикаторы как с ОА, так и с ОК.

Плата индикации рассчитана на установку SMD 7-сегментных светодиодных индикоторов типа KCSX03 (Кingbright) (http://www.kingbright.com/product_main_1.php?lang=English&partno=KCSA03). Критериями выбора были малые габариты, при хороших яркости и "видимости". Регистр - любой из серии 74хх164(ИР8) в корпусе SO-14. Разисторы типоразмера 1206. Кнопка - "тактовая", может быть как "выводная", так и SMD.

24.12.2010г. Добавлен фотоальбом собранного девайса.

12.10.2010г. добавил архивчик ROM-Sw.rar - краткую "мануалку". Содержит краткое назначение и ТХ, принципиалку, монтажку и рекомендации по сборке.

John North
04.09.2010, 19:50
Alex_NEMO, уточните, пожалуйста, какие ещё схемы (платы от ZST) понадабятся для сборки сего девайса и полноценного его использования ROM-Switchera ?

John North
04.09.2010, 22:46
ну FLASHER-ы там.. переходники..

Alex_NEMO
05.09.2010, 08:50
Alex_NEMO, уточните, пожалуйста, какие ещё схемы (платы от ZST) понадабятся для сборки сего девайса и полноценного его использования ROM-Switchera ?


ну FLASHER-ы там.. переходники..
Уважаемый, Вы сами почти ответили на свой вопрос!
Для использования данной версии(как и остальных), с любым "клоном" или фирменным Спеком ничего "резать" не надо! Надо будет только подпаять на системный сигнал /RES один проводок от платки "контроллера" на одноименный сигнал на плате компа, который идет на 26 ножку проца. В "нашем" КАЕ я предусмотрел пару таких точек прямо на плате!
Далее, Вам придется прошить Вашу флэшку, с помощью любого проггера, которые умеют их шить. Это может быть почти любой "промышленный" программатор или тот же FLASHER, плату которого, в т.ч. можно будет приобрести у Вадима(ZST).
Поскольку на плате FLASHER'а стоит "универсальный" ZIF(панель с 0 усилием - стандарт для большинства программаторов), то для того, что бы "зашить" флэшку в корпусе PLCC-32, необходимо использовать переходник PLCC-32 > DIP-32, , плату которого, в т.ч. можно будет приобрести у Вадима(ZST). Если же есть в зоне досягаемости Willem Prog v4.5, платы которого распространялись на форуме, то можно обойтись без переходника. Только определитесь перед прошивкой, что вы туда бытите "заливать" - какой "набор" ROMов. SoftFelix, например, в одну из страниц залил какой-то из "тестов". На моменте отладки компа - вещь незаменимая. Потом можно будет перешить флэху и залить вместо теста какую-нить полезную или "экзотическую" прошивку - все в Ваших руках! Дерзайте!
Для прошивки контроллера PIC12F683(в SO-8 -ЫЬВ) потребуется, соответственно программатор для ПИКов. Это может быть любой PICkit-2/3 или любой другой, собранный по схемам из Интернета. Единственное, возможно, если у Вас "своя" распиновка ICSP-разъема - придется распаять шлейф - переходник. В другой стороны - прошитый ПИК можно будет заодно заказать у ZST. Только при заказе укажите какая будет флэшка(1Мбит или 2 - соотв. 2 или 4 "страницы ROM") и какой индикатор - c OK или с ОА. Учтите, что платка индикатора рассчитана на установку индикаторов типа KCSX03 (Кingbright, SMD).

Alex_NEMO
12.10.2010, 13:53
12.10.2010г. в 42-пост (http://zx.pk.ru/showpost.php?p=312755&postcount=42) добавил архивчик ROM-Sw.rar - краткую "мануалку" по ROM-Switcher для компов с памятью от 128 на платах от ZST. Содержит краткое назначение и ТХ, принципиалку, монтажку и рекомендации по сборке.

Alex_NEMO
24.12.2010, 18:23
24.12.2010г. В 42-пост (http://zx.pk.ru/showpost.php?p=312755&postcount=42) добавлен фотоальбом собранного девайса.

John North
02.10.2014, 17:34
походу спалил ПИК в своем девайсе((
помогите плиз советом.
1. как прошить через виллем (в списке такой ПИК есть) ?
2. какую прошивку использовать (МС ПЗУ 2МБит) ?

SoftFelix
02.10.2014, 17:47
походу спалил ПИК в своем девайсе((
Как умудрился?

1. как прошить через виллем (в списке такой ПИК есть) ?
Без проблем. Там и шил. (http://zx-pk.ru/showpost.php?p=284720&postcount=19)

John North
02.10.2014, 18:13
SoftFelix, питание замкнул случайно.
даже дорога на плате Профика сгорела. ну её то соединил. и обычное ПЗУ работает нормально.
так как именно шить в виллеме то? куда втыкать?
и какая прошивка понадобится? а то в первом посте их там море..

SoftFelix
02.10.2014, 19:03
так как именно шить в виллеме то? куда втыкать?
Я ж ссылку дал. Там всё с картинками. Или что конкретно не понятно?

и какая прошивка понадобится? а то в первом посте их там море..
У меня вот эта (http://zx-pk.ru/showpost.php?p=285244&postcount=30) прошита, если не ошибаюсь. Четыре года прошло...

John North
02.10.2014, 19:13
SoftFelix, с телефона сейчас, поэтому ссылка видимо не выделилась.
спасибо! буду пробовать.

John North
02.10.2014, 20:11
еще один вопрос..
вот фотка ПИК-ов, которые есть в местном магазине.
http://sderni.ru/244681
какой из них подойдет?

SoftFelix
02.10.2014, 20:21
какой из них подойдет?
Последний в списке, скорее всего. Хотя и первый подойдёт (неаонятно, почему он дороже). Корпус DIP8 нам не подойдёт.

John North
04.10.2014, 15:03
УРА!!
пик прошился и всё заработало!!
дольше подбирал ВОСЕМЬ сборок ПЗУ))
спасибо всем за помощь!

petrov1962
05.02.2015, 15:37
.