"РК наших дней".
Moderator: Shaos
-
- Doomed
- Posts: 500
- Joined: 10 Aug 2022 07:27
- Location: Crimea
Re: "РК наших дней".
Ну нет. ПК - это ведь Персональный Компьютер. Т.е., УНИВЕРСАЛЬНЫЙ компьютер! А тут, я бы назвал, бейсик-компьютер. А это немножко не то.
Как бы, во Flash Ардуино можно достаточно оперативно загружать и другие программы (c SD например), но тут другие ограничения - объём ОЗУ например. Хотя и Ардуино разные бывают, но тут должен быть, как я понимаю, народный (т.е. доступный, недорогой) набор.
Как бы, во Flash Ардуино можно достаточно оперативно загружать и другие программы (c SD например), но тут другие ограничения - объём ОЗУ например. Хотя и Ардуино разные бывают, но тут должен быть, как я понимаю, народный (т.е. доступный, недорогой) набор.
-
- Writer
- Posts: 19
- Joined: 26 Mar 2021 14:44
Re: "РК наших дней".
Его можно назвать как угодно, это игрушка для тех кому она пришлась по душе, способ с удовольствием вытравить плату, попаять и написать игрушку на бейсик подобном языке.
У меня есть исходники от автора где реализован SPI, но у меня не хватает знаний для того чтобы сделать работу с sd картой.
Нужно отметить что Arduino нужно рассматривать как железку, плату с контроллером, программа написана на ассемблере.
У меня есть исходники от автора где реализован SPI, но у меня не хватает знаний для того чтобы сделать работу с sd картой.
Нужно отметить что Arduino нужно рассматривать как железку, плату с контроллером, программа написана на ассемблере.
-
- Writer
- Posts: 19
- Joined: 26 Mar 2021 14:44
Re: "РК наших дней".
Порт на на китайский микроконтроллер lgt8f328p
Исходники https://vk.com/s/v1/doc/FDlJ0L9iO9EvaqqZlTob5V2HwOkLIlPcw_AX3mp28cqGed3WLJw

Исходники https://vk.com/s/v1/doc/FDlJ0L9iO9EvaqqZlTob5V2HwOkLIlPcw_AX3mp28cqGed3WLJw

-
- Novelist
- Posts: 43
- Joined: 15 Sep 2014 22:32
- Location: Пермь
Re: "РК наших дней".
При тактовой 32 МГц, можно наверно и на обычном VGA картинку получить. Не пробовали?
-
- Writer
- Posts: 19
- Joined: 26 Mar 2021 14:44
Re: "РК наших дней".
Не пробовал. Думаю если подобрать подходящий кварцевый резонатор, должно получиться, при этом изображение будет "полосками". Скорее всего для vga придется переписать весь код отвечающий за вывод изображения. Простой подъем частоты приведет к отвалу софтового UART и внешней памяти 24с256. Пока хочу попробовать отремапить "железный" UART к которому подключена клавиатура, чтобы можно было собирать на фиолетовых платах Nano.
-
- Writer
- Posts: 19
- Joined: 26 Mar 2021 14:44
Re: "РК наших дней".
Покрутил сегодня немного, не получится переназначить RXD с PD0 на PD5. Некуда девать выводы RGB, они должны быть 5,6,7 пином порта.
-
- Writer
- Posts: 19
- Joined: 26 Mar 2021 14:44
Re: "РК наших дней".
Сборка проекта из исходников в Simply Linux.
При первом знакомстве с проектом Йорга, самое сложное было понять как собрать проект из исходников. Казалось бы ничего сложного, но для простого пользователя, который никогда не использовал Линукс и ничего не знал о ассемблере задача оказалась не простой. Благодаря помощи Юрия Ревич и Йорга, разобраться все же удалось. Далее небольшая инструкция: Как собрать проект из исходного кода и изменить.

Для сборки проекта в Simply Linux необходимо установить assembler AVRA.
- Старт -> Настройки -> Менеджер пакетов
- Открываем Менеджер пакетов synaptic
- Кликаем на кнопочку "Искать"
- Набираем avra и жмем "Искать"
- в найденных пакетах выбираем avra и кликаем на кнопку "Применить" и еще раз жмем "Применить"
Ассемблер AVRA установлен. Для проверки, в терминале вводим
avra --version
Если все хорошо, вы увидите что у вас установлена avra версии 1.3.0
Переходим в каталог с проектом, у вас будет другой путь, я написал лишь пример
cd /home/minikot/Dragon_v2.08/
далее собираем
avra main.asm
Поздравляю, ваш проект собран! Теперь вы можете изменить имя компьютера, рисунок на экране и окунуться с головой в язык программирования ассемблер.
Таблица символов

Для изменения таблицы символов нужно отредактировать ctab_1_128c8.dat в libmio/generator/ . Например дерево в таблице символов выглядит так
...G..
..GGG.
.GGGGG
.GGGGG
.GGGGG
.GGGGG
..GMG.
...M..
...M..
..MMM.
Заглавные буквы это цвета G - зеленый, M - пурпурный. После изменения таблицы, ее необходимо сгенерировать перед сборкой.
perl gentab_1.pl
perl gentab_2.pl
Генерация таблицы происходит с помощью скрипта Perl, как правило Perl есть в Симпли линукс из коробки.
Фоновый рисунок

По умолчанию фоновый рисунок - это космическая ракета, возможно он будет меняться от версии к версии. Для изменения рисунка нужно отредактировать макрос menu_newscreen1 в файле menu.asm. Функция libmio_thistex сохраняет в памяти заданные координаты и символы
libmio_thistext
.db 14,15,0x20,0x20,0x20,0x05,0x05,0x07,0x07,0x07,0x05,0x05,0x20,0x20,0
первое и второе число после .db - координаты Y,X, затем через запятую символы. Адрес символа можно посмотреть в таблице символов TABLE. Строчка должна заканчиваться нулем.
При первом знакомстве с проектом Йорга, самое сложное было понять как собрать проект из исходников. Казалось бы ничего сложного, но для простого пользователя, который никогда не использовал Линукс и ничего не знал о ассемблере задача оказалась не простой. Благодаря помощи Юрия Ревич и Йорга, разобраться все же удалось. Далее небольшая инструкция: Как собрать проект из исходного кода и изменить.

Для сборки проекта в Simply Linux необходимо установить assembler AVRA.
- Старт -> Настройки -> Менеджер пакетов
- Открываем Менеджер пакетов synaptic
- Кликаем на кнопочку "Искать"
- Набираем avra и жмем "Искать"
- в найденных пакетах выбираем avra и кликаем на кнопку "Применить" и еще раз жмем "Применить"
Ассемблер AVRA установлен. Для проверки, в терминале вводим
avra --version
Если все хорошо, вы увидите что у вас установлена avra версии 1.3.0
Переходим в каталог с проектом, у вас будет другой путь, я написал лишь пример
cd /home/minikot/Dragon_v2.08/
далее собираем
avra main.asm
Поздравляю, ваш проект собран! Теперь вы можете изменить имя компьютера, рисунок на экране и окунуться с головой в язык программирования ассемблер.
Таблица символов

Для изменения таблицы символов нужно отредактировать ctab_1_128c8.dat в libmio/generator/ . Например дерево в таблице символов выглядит так
...G..
..GGG.
.GGGGG
.GGGGG
.GGGGG
.GGGGG
..GMG.
...M..
...M..
..MMM.
Заглавные буквы это цвета G - зеленый, M - пурпурный. После изменения таблицы, ее необходимо сгенерировать перед сборкой.
perl gentab_1.pl
perl gentab_2.pl
Генерация таблицы происходит с помощью скрипта Perl, как правило Perl есть в Симпли линукс из коробки.
Фоновый рисунок

По умолчанию фоновый рисунок - это космическая ракета, возможно он будет меняться от версии к версии. Для изменения рисунка нужно отредактировать макрос menu_newscreen1 в файле menu.asm. Функция libmio_thistex сохраняет в памяти заданные координаты и символы
libmio_thistext
.db 14,15,0x20,0x20,0x20,0x05,0x05,0x07,0x07,0x07,0x05,0x05,0x20,0x20,0
первое и второе число после .db - координаты Y,X, затем через запятую символы. Адрес символа можно посмотреть в таблице символов TABLE. Строчка должна заканчиваться нулем.
-
- Senior
- Posts: 165
- Joined: 12 Jan 2023 07:26
Re: "РК наших дней".
Данный проект похож идейно на Fignition,
но там чёрно-белый вывод и Форт (Forth) язык как основа его программирования использованный
в Jupiter Ace компьютере от разработчиков ZX-Spectrum когда они ушли от Синклера и создали своё дело.
P.S. Форт можно, к примеру, встретить и реализованный для ретро железа - компьютера TI99
http://turboforth.net/ и он очень даже хорошо показывает свои возможности в рамках его железа.
А, вообще, представленный проект в топике интересный, но не думали ли что его реализацию уместнее делать на контроллерах подобных STM32, RP2040, ESP32 ... или недорогих RISC-V цены на RISC-V контроллеры от WCH при покупке и в ЧипДип
На них уже разных и Форт уже понаделали начиная от Mecrisp реализации ...
(в них, вроде, программа выполняется из ОЗУ после загрузки из флеш и вся доступная ОЗУ пвмять может конфигурироваться
сколько её считать ОЗУ, а сколько "Флеш" в рабочей программе).
C заливкой в них программы тоже нет вопрсов через USB загрузчиком.
но там чёрно-белый вывод и Форт (Forth) язык как основа его программирования использованный
в Jupiter Ace компьютере от разработчиков ZX-Spectrum когда они ушли от Синклера и создали своё дело.
P.S. Форт можно, к примеру, встретить и реализованный для ретро железа - компьютера TI99

http://turboforth.net/ и он очень даже хорошо показывает свои возможности в рамках его железа.
А, вообще, представленный проект в топике интересный, но не думали ли что его реализацию уместнее делать на контроллерах подобных STM32, RP2040, ESP32 ... или недорогих RISC-V цены на RISC-V контроллеры от WCH при покупке и в ЧипДип
На них уже разных и Форт уже понаделали начиная от Mecrisp реализации ...
(в них, вроде, программа выполняется из ОЗУ после загрузки из флеш и вся доступная ОЗУ пвмять может конфигурироваться
сколько её считать ОЗУ, а сколько "Флеш" в рабочей программе).
C заливкой в них программы тоже нет вопрсов через USB загрузчиком.
-
- Writer
- Posts: 19
- Joined: 26 Mar 2021 14:44
Re: "РК наших дней".
Посмотрел, FIGnition интересный проект, если правильно понял у него встроенная клавиатура. Хочется что нибудь носимое со встроенной клавиатурой и дисплеем.
Найти проект на RISC-V, например ch32v203 было бы здорово, но реализовать его смогут скорее всего те кто знаком с STM32. Карманный девайс на форт или бейсике - звучит заманчиво.
Найти проект на RISC-V, например ch32v203 было бы здорово, но реализовать его смогут скорее всего те кто знаком с STM32. Карманный девайс на форт или бейсике - звучит заманчиво.
-
- Senior
- Posts: 165
- Joined: 12 Jan 2023 07:26
Re: "РК наших дней".
Из реп у себя установил 1.3.0-2 (Linux Puppy Xenial) , но при сборке авторского chipbasic не найденMiniKot wrote: Ассемблер AVRA установлен. Для проверки, в терминале вводим
avra --version
в include подключаемый файл m32def.inc.
Собрал AVRA 1.4.2 отсюда https://github.com/Ro5bert/avra
но при сборке проекта выводит сообшение, что
P.S. Дальше, конечно, соберу разобрашись и под Linux файл с ассемблером ChipBasic (как собирал и
под Windows, к примеру, amForth c помощью родного Avra2 ассемблера от Atmel для Atmega162),
но не думал что и в этом моменте могут быть "грабли"

MiniKot wrote:Карманный девайс на форт или бейсике - звучит заманчиво.
Интересно, а в книгах Ю.Ревича такие проекты не представлены?MiniKot wrote: Благодаря помощи Юрия Ревич и Йорга, разобраться все же удалось.
-
- Writer
- Posts: 19
- Joined: 26 Mar 2021 14:44
Re: "РК наших дней".
Вставьте в конце файла main_us.asm
.equ ADCSR = ADCSRA
На предупреждение PRAGMA не обращайте внимания или закомментируйте все строчки с PRAGMA в m32def.inc
Для того чтобы изучить ассемблер купил книги Юрия Ревич, что было не понятно просил совета по электронной почте, он мне помогал.
.equ ADCSR = ADCSRA
На предупреждение PRAGMA не обращайте внимания или закомментируйте все строчки с PRAGMA в m32def.inc
Для того чтобы изучить ассемблер купил книги Юрия Ревич, что было не понятно просил совета по электронной почте, он мне помогал.
-
- Senior
- Posts: 165
- Joined: 12 Jan 2023 07:26
Re: "РК наших дней".
Да, так нормальноMiniKot wrote:Вставьте в конце файла main.asm
.equ ADCSR = ADCSRA
Это понятно.MiniKot wrote: На предупреждение PRAGMA не обращайте внимания или закомментируйте все строчки с PRAGMA в m32def.inc
У меня, в целом, достаточная практика работы с ассемблером, но всё же предпочитаю использоввать даже "самопальные" средства разработки в таком исполнении.MiniKot wrote: Для того чтобы изучить ассемблер купил книги Юрия Ревич, что было не понятно просил совета по электронной почте, он мне помогал.
Среда для программирования и внутрисхемной отладки AVR и др (ff303 проект 20-ти летней давности)
Форт-ассемблер для AVR
...
AVRForth
amForth
FlashForth
...
Хотя для AVR при программировании есть использование упрощённого псевдо- ассемблера в блок-схемном изображении
Algorithm Builder for AVR, Начинаем
Одной из фишек у меня в ассемблерном коде была пара последовательных команд проверяющая два флага условий независимо друг от друга (одно условие отвечало за контроль по выходу из цикла по истечению тайм-аут времени, а второе по нужному условию "бита"- вроде Zero и Сarry флаги) и выхода или продолжения цикла по одной команде ветвления.

(т.е. тест 2-ух условий был независим друг от друга для формирования флагов, а далее их
анализ в одной команде ветвления)
-
- Senior
- Posts: 165
- Joined: 12 Jan 2023 07:26
Re: "РК наших дней".
В рамках использования ассемблера для AVR встретился проект симуляции PDP-11
My PDP-11 Projects
P.S. А, с PDP-11 много интересных событий и разработок было сделано, например начался Си язык программирования.
My PDP-11 Projects
P.S. А, с PDP-11 много интересных событий и разработок было сделано, например начался Си язык программирования.

-
- Writer
- Posts: 19
- Joined: 26 Mar 2021 14:44
Re: "РК наших дней".
Наверное здорово хорошо разбираться в ассемблере, у меня нет обширных и крепких знаний в ассемблере, просто хотел чтобы игрушка работала.
В проекте avr-chipbasic32 была возможность сохранить всего 4 программы. А на avr-chipbasic16 можно было сохранить 16 программ, но раскладка клавиатуры была qwertz. Как же это раздражало когда вместо y пишется z и наоборот.
С другой стороны когда программы хранятся в флеш памяти микроконтроллера, они стираются при обновлении прошивки, а когда программы хранятся во внешней епром памяти ты можешь делать с контроллером что угодно, даже заменить на другой.
Можно было бы конечно подключить ардуино с SD картой и через последовательный порт скидывать и загружать программы на SD карту, но тогда это уже будет не одночиповый компьютер, а двухчиповый
В проекте avr-chipbasic32 была возможность сохранить всего 4 программы. А на avr-chipbasic16 можно было сохранить 16 программ, но раскладка клавиатуры была qwertz. Как же это раздражало когда вместо y пишется z и наоборот.
С другой стороны когда программы хранятся в флеш памяти микроконтроллера, они стираются при обновлении прошивки, а когда программы хранятся во внешней епром памяти ты можешь делать с контроллером что угодно, даже заменить на другой.
Можно было бы конечно подключить ардуино с SD картой и через последовательный порт скидывать и загружать программы на SD карту, но тогда это уже будет не одночиповый компьютер, а двухчиповый

-
- Writer
- Posts: 19
- Joined: 26 Mar 2021 14:44
Re: "РК наших дней".
Почитал страничку... Там человек жалуется на отсутствие ассемблера под macOS, если не ошибаюсь. Ассемблер avra при должном усилии, собирается почти под любую ОС.forthuser wrote:В рамках использования ассемблера для AVR встретился проект симуляции PDP-11
My PDP-11 Projects
P.S. А, с PDP-11 много интересных событий и разработок было сделано, например начался Си язык программирования.