Разработка скетчей на языке BrainFuck

sim31
sim31 аватар
Offline
Зарегистрирован: 26.07.2017

скетчи для Ардуино разрабатываются основном на С и С++. Есть конечно, отдельные личности, ратующие за язык ассемблера и небольшая группа сектантов, что-то мямлящих про Паскаль, но общей картины это не меняет – подавляющее большинство программистов для Ардуино - С’онисты.

--------------

Ну в отличие от обычного программирования тут больше влияния ограниченного железа, как следствие С, С++ и Паскаль очень похожи, различия исчезающе малы

PORTB = PORTB & 0b11101111; (Си, Си++)

или

PORTB = PORTB AND 0b11101111; (Паскаль, да и Basic)

Иногда только можно перепутать как пишутся массивы и предопределенные массивы (1,2,3) или {1,2,3} или [1;2;3] пока все варианты переберешь теряется время ))

А Брайнфак для Ардуины давно уже есть, ассемблерные вставки в код, ну очень похоже, а то и круче, ограничен, работа с ячейками и битами регистров, ну пример с этого же форума

http://arduino.ru/forum/programmirovanie/arduino-due-asm-massiv#comment-...

На Arduino Due еще и есть тема с DMA режимом, тоже можно код написать весьма забавный.

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

sim31 пишет:

А Брайнфак для Ардуины давно уже есть, ассемблерные вставки в код, ну очень похоже

Не марайте светлое имя эзотеричского языка сравнением с утилитарным ассемблером.

Как говорил поэт: "... полезен также унитаз, но это не поэзия!"

:))))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

люди хотят поэзии-на. 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

DetSimen пишет:

люди хотят поэзии-на. 

Вот , как сядешь на у***з, и как душа поет. Так рулады и выводит.

sim31
sim31 аватар
Offline
Зарегистрирован: 26.07.2017

Новый уровень поэзии, сделать микроконтроллер с ассемблером на Брайнфаке, суть то таже. На ПЛИС можно за пару вечеров сделать, будет уникальная разработка планетарного значения ))

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

sim31 пишет:

Новый уровень поэзии, сделать микроконтроллер с ассемблером на Брайнфаке, суть то таже. На ПЛИС можно за пару вечеров сделать, будет уникальная разработка планетарного значения ))

Да, ладно! ПЛИС - для девочек! Слабо сделать на голых транзисторах? Ну, ладно, на логических микросхемах?

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

ЕвгенийП пишет:

Слабо сделать на голых транзисторах?

а, слабо с голыми транзисторами по проспекту пробежаться?

Jeka_M
Jeka_M аватар
Онлайн
Зарегистрирован: 06.07.2014

ЕвгенийП пишет:

Да, ладно! ПЛИС - для девочек! Слабо сделать на голых транзисторах? Ну, ладно, на логических микросхемах?

Логические схемы? Транзисторы? Пфф...

Релейная цифровая вычислительная машина «BrainfuckPC» — 16-разрядный компьютер с Фон-Неймановской архитектурой и набором инструкций для языка Brainfuck.

https://geektimes.ru/post/287344/

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

Jeka_M пишет:

Релейная цифровая вычислительная машина «BrainfuckPC» — 16-разрядный компьютер с Фон-Неймановской архитектурой и набором инструкций для языка Brainfuck.

Автор немного странноват. Как могут совмещаться фон-Неймановская архитектурой и Brainfuck известно только ему :)))))))))))))))

Реле, конечно здорово!

Но транзисторы меня манят, наверное ностальгией по детству. Хочется не просто транзисторы, а в корпусе а-ля МП-38, таком на шлляпу похожем. Этот транзистор такой, блин, симпатичный :)

negavoid
Offline
Зарегистрирован: 09.07.2016

Хе, а у меня тоже нездоровая такая любовь к транзисторам )) В детстве мне особо нравились кт315, а мп42 выглядели как-то брутально, что ли; гп303 ещё помню, такие, по Фрейду :) А современные то92 а тем паче smd уже бездушные какие-то. Да, тогда трава была зеленее :) Вот умом всё понимаю, для дела применю микросхему, или целый мк, или большого брата, а для души всё равно люблю транзисторы :)

Jeka_M
Jeka_M аватар
Онлайн
Зарегистрирован: 06.07.2014

На тразисторах (правда в корпусе TO-92) есть "Megaprocessor" - 16-битный 500-килограммовый процессор :-)

https://geektimes.ru/post/278410/

http://www.megaprocessor.com

http://www.megaprocessor.com/boards.html

 

sim31
sim31 аватар
Offline
Зарегистрирован: 26.07.2017

ЕвгенийП пишет:
Да, ладно! ПЛИС - для девочек! Слабо сделать на голых транзисторах? Ну, ладно, на логических микросхемах?

Транзисторы не голые, а уже готовый продукт, весьма высокотехнологичный. Голый продукт это самодельные радиолампы, просто из подручного металла и стекла:

https://www.youtube.com/watch?v=apzplDbWfhQ

sim31
sim31 аватар
Offline
Зарегистрирован: 26.07.2017

Клапауций 112 пишет:
а, слабо с голыми транзисторами по проспекту пробежаться?

С транзисторами еще не бегал ни кто. Только "свободные художники" на политические мотивы, чтобы привлечь внимание пиаром, вполне успешно, начало истории:

https://lenta.ru/news/2013/11/10/redsquare/

Конец истории, отдельная статья в Википедии по нему есть с постоянным обновлением:

https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D1%81...

>>>В начале мая 2017 года Франция предоставила ему политическое убежище

 

sim31
sim31 аватар
Offline
Зарегистрирован: 26.07.2017

Jeka_M пишет:

На тразисторах (правда в корпусе TO-92) есть "Megaprocessor" - 16-битный 500-килограммовый процессор :-)

https://geektimes.ru/post/278410/

А почему 16 бит интересно? По моему это многократное усложнение конструкции, может и на порядок. Делал бы 8 бит, а может и 4 бит. Правда я не понимаю как можно работать на 4-битном процессоре, пространство команд же мало и шина данных никакая, 16 слов памяти чтоли? 16 команд и переключение между банками памяти постоянное? Это и есть Брайнфак помоему )))

Вот тут проще вариант. "еще один амбициозный проект, но там CPU собран из простых логических элементов, поэтому сильно меньше."

http://www.bigmessowires.com/bmow1/

http://www.bigmessowires.com/2016/06/08/see-bmow-at-vcf-west-august-6-7/

Дешевле и мне кажется нагляднее:

https://www.youtube.com/watch?v=9PPrrSyubG0

Хотя глядя на это "программирование" у меня соблазн заменить 99% схемы микроконтроллером типа Atmega8, и имитировать всё программно, и блоки АЛУ и память и всё что можно.

По ссылкам есть еще и обратное хобби, создание модели процессоров по фотографии кристалла, там у автора много статей на эту тему, и это не профессиональный реверс инженеринг, это просто хобби:

https://habrahabr.ru/company/zeptobars/blog/200948/

 

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

sim31 пишет:

Транзисторы не голые, а уже готовый продукт, весьма высокотехнологичный. Голый продукт это самодельные радиолампы,

А чем самодельные транзисторы хуже самодельных ламп?

SLKH
Offline
Зарегистрирован: 17.08.2015

ЕвгенийП пишет:

Но транзисторы меня манят, наверное ностальгией по детству. Хочется не просто транзисторы, а в корпусе а-ля МП-38, таком на шлляпу похожем. Этот транзистор такой, блин, симпатичный :)

МП38 - бездушный и безблагодатный по сравнению с изысканным и романтичным П3.

Был у меня такой, куда-то пролюбился при очередном переезде. Давно было, а до сих пор жалко.

SLKH
Offline
Зарегистрирован: 17.08.2015

ЕвгенийП пишет:

sim31 пишет:

Новый уровень поэзии, сделать микроконтроллер с ассемблером на Брайнфаке, суть то таже. На ПЛИС можно за пару вечеров сделать, будет уникальная разработка планетарного значения ))

Да, ладно! ПЛИС - для девочек! Слабо сделать на голых транзисторах? Ну, ладно, на логических микросхемах?

Общался я с одной забавной системой - через определенные по некоему алгоритму интервалы она измеряла некие  параметы и выводила на печать строку вида гггг-мм-дд-чч-мм-сс, парам1, парам2 и т.п.

Дата считалась с учетом лишнего дня раз в 4 года. Всё это без единой микросхемы - только резисторно-транзисторная логика на рассыпухе.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

sim31 пишет:
А почему 16 бит интересно? По моему это многократное усложнение конструкции, может и на порядок. Делал бы 8 бит, а может и 4 бит. Правда я не понимаю как можно работать на 4-битном процессоре, пространство команд же мало и шина данных никакая, 16 слов памяти чтоли? 16 команд и переключение между банками памяти постоянное? Это и есть Брайнфак помоему )))
Зря вы хаите 4004 процессор. Это 8-ми битный процессор, вот только внешняя шина была полубайтовая. Так что байт гонялся в два этапа. Опять же не путайте дисктентный(1 на отдельном кристале) и интегральный транзитор (куча на одном кристалле).  Ведь пятачок под контакт в микросхеме занимает больше места чем сотня или тысяча транзиторов. На чипе даже резиторы определеных номиналов не делают из-за большой занимаемой площади. ТТЛ логика она такая.

sim31
sim31 аватар
Offline
Зарегистрирован: 26.07.2017

qwone пишет:

8-ми битный процессор, вот только внешняя шина была полубайтовая. Так что байт гонялся в два этапа.

 

Опять же не путайте дисктентный(1 на отдельном кристале) и интегральный транзитор (куча на одном кристалле).  Ведь пятачок под контакт в микросхеме занимает больше места чем сотня или тысяча транзиторов. На чипе даже резиторы определеных номиналов не делают из-за большой занимаемой площади. ТТЛ логика она такая.

Тогда еще проще с шиной, можно сделать шину в 1 бит, меньше проводов и гонять все данные последовательно. Медленно, но тут скорости и не нужны вроде как. Зато количество проводо уменьшается как. А соединения блоков это половина работы по созданию своего процессора.

По элементам на микросхеме интересно. В той теме упоминали, что напряжение питания +5 и +12 было как-раз поэтому сделано. Вместо резисторов что идут к + питания, делали транзисторы, так проще, а чтобы открыть транзисторы нужно было напряжение выше напряжения питания, вот и подавали еще и +12.

sim31
sim31 аватар
Offline
Зарегистрирован: 26.07.2017

SLKH пишет:

Дата считалась с учетом лишнего дня раз в 4 года. Всё это без единой микросхемы - только резисторно-транзисторная логика на рассыпухе.

У нас есть канализационная насосная станция с примерно подобным сценарием. По проекту должно было стоять 3 насоса, сэкономили и поставили 2. Всем управлял немецкий навороченный промышленный контроллер Zelio. Попросили подрядчика изменить прошивку, он не дал исходник, типа их инженер прилетает и всё настраивает, а вы платите за самолет, за проживание и еще сверху и поболее. Заказчик жадный и не повелся.

Проблему решил местный киповец радиолюбитель. Поставил штук 20 реле самых ходовых из соседнего магазина и реализовал ту же логику управления насосами. По одному поплавку насос включается, по другому выключается (типа RS триггера) и периодически насосы меняются местами в работе. Уже лет 5 как всё работает и нет проблем. В помещении адова атмосфера кислотных испарений, витая пара чернеет за пару лет и отваливается. Электроника долго не живет. А тут реле одно выкинул, другое поставил и всё работает. Даже выход для подключения телеметрии сделал, чтобы диспетчер удаленно наблюдал.