nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 25 Apr 2024 09:40



Reply to topic  [ 31 posts ]  Go to page Previous  1, 2, 3  Next
"РК наших дней". 
Author Message
Doomed

Joined: 10 Aug 2022 07:27
Posts: 356
Reply with quote
Ну нет. ПК - это ведь Персональный Компьютер. Т.е., УНИВЕРСАЛЬНЫЙ компьютер! А тут, я бы назвал, бейсик-компьютер. А это немножко не то.
Как бы, во Flash Ардуино можно достаточно оперативно загружать и другие программы (c SD например), но тут другие ограничения - объём ОЗУ например. Хотя и Ардуино разные бывают, но тут должен быть, как я понимаю, народный (т.е. доступный, недорогой) набор.


04 Nov 2022 00:16
Profile
Writer

Joined: 26 Mar 2021 14:44
Posts: 19
Reply with quote
Его можно назвать как угодно, это игрушка для тех кому она пришлась по душе, способ с удовольствием вытравить плату, попаять и написать игрушку на бейсик подобном языке.

У меня есть исходники от автора где реализован SPI, но у меня не хватает знаний для того чтобы сделать работу с sd картой.

Нужно отметить что Arduino нужно рассматривать как железку, плату с контроллером, программа написана на ассемблере.


04 Nov 2022 00:30
Profile WWW
Writer

Joined: 26 Mar 2021 14:44
Posts: 19
Reply with quote
Порт на на китайский микроконтроллер lgt8f328p
Исходники https://vk.com/s/v1/doc/FDlJ0L9iO9EvaqqZlTob5V2HwOkLIlPcw_AX3mp28cqGed3WLJw

Image


20 Aug 2023 12:47
Profile WWW
Novelist

Joined: 15 Sep 2014 22:32
Posts: 29
Location: Пермь
Reply with quote
При тактовой 32 МГц, можно наверно и на обычном VGA картинку получить. Не пробовали?


21 Aug 2023 03:19
Profile
Writer

Joined: 26 Mar 2021 14:44
Posts: 19
Reply with quote
Не пробовал. Думаю если подобрать подходящий кварцевый резонатор, должно получиться, при этом изображение будет "полосками". Скорее всего для vga придется переписать весь код отвечающий за вывод изображения. Простой подъем частоты приведет к отвалу софтового UART и внешней памяти 24с256. Пока хочу попробовать отремапить "железный" UART к которому подключена клавиатура, чтобы можно было собирать на фиолетовых платах Nano.


21 Aug 2023 04:56
Profile WWW
Writer

Joined: 26 Mar 2021 14:44
Posts: 19
Reply with quote
Покрутил сегодня немного, не получится переназначить RXD с PD0 на PD5. Некуда девать выводы RGB, они должны быть 5,6,7 пином порта.


21 Aug 2023 18:52
Profile WWW
Writer

Joined: 26 Mar 2021 14:44
Posts: 19
Reply with quote
Сборка проекта из исходников в Simply Linux.
При первом знакомстве с проектом Йорга, самое сложное было понять как собрать проект из исходников. Казалось бы ничего сложного, но для простого пользователя, который никогда не использовал Линукс и ничего не знал о ассемблере задача оказалась не простой. Благодаря помощи Юрия Ревич и Йорга, разобраться все же удалось. Далее небольшая инструкция: Как собрать проект из исходного кода и изменить.

Image

Для сборки проекта в Simply Linux необходимо установить assembler AVRA.
- Старт -> Настройки -> Менеджер пакетов
- Открываем Менеджер пакетов synaptic
- Кликаем на кнопочку "Искать"
- Набираем avra и жмем "Искать"
- в найденных пакетах выбираем avra и кликаем на кнопку "Применить" и еще раз жмем "Применить"

Ассемблер AVRA установлен. Для проверки, в терминале вводим
avra --version
Если все хорошо, вы увидите что у вас установлена avra версии 1.3.0
Переходим в каталог с проектом, у вас будет другой путь, я написал лишь пример
cd /home/minikot/Dragon_v2.08/
далее собираем
avra main.asm
Поздравляю, ваш проект собран! Теперь вы можете изменить имя компьютера, рисунок на экране и окунуться с головой в язык программирования ассемблер.

Таблица символов
Image

Для изменения таблицы символов нужно отредактировать 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 есть в Симпли линукс из коробки.

Фоновый рисунок
Image

По умолчанию фоновый рисунок - это космическая ракета, возможно он будет меняться от версии к версии. Для изменения рисунка нужно отредактировать макрос 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. Строчка должна заканчиваться нулем.


22 Aug 2023 10:51
Profile WWW
Senior

Joined: 12 Jan 2023 07:26
Posts: 165
Reply with quote
Данный проект похож идейно на Fignition,
но там чёрно-белый вывод и Форт (Forth) язык как основа его программирования использованный
в Jupiter Ace компьютере от разработчиков ZX-Spectrum когда они ушли от Синклера и создали своё дело.

P.S. Форт можно, к примеру, встретить и реализованный для ретро железа - компьютера TI99 :)
http://turboforth.net/ и он очень даже хорошо показывает свои возможности в рамках его железа.

А, вообще, представленный проект в топике интересный, но не думали ли что его реализацию уместнее делать на контроллерах подобных STM32, RP2040, ESP32 ... или недорогих RISC-V цены на RISC-V контроллеры от WCH при покупке и в ЧипДип
На них уже разных и Форт уже понаделали начиная от Mecrisp реализации ...
(в них, вроде, программа выполняется из ОЗУ после загрузки из флеш и вся доступная ОЗУ пвмять может конфигурироваться
сколько её считать ОЗУ, а сколько "Флеш" в рабочей программе).
C заливкой в них программы тоже нет вопрсов через USB загрузчиком.


22 Aug 2023 11:21
Profile
Writer

Joined: 26 Mar 2021 14:44
Posts: 19
Reply with quote
Посмотрел, FIGnition интересный проект, если правильно понял у него встроенная клавиатура. Хочется что нибудь носимое со встроенной клавиатурой и дисплеем.
Найти проект на RISC-V, например ch32v203 было бы здорово, но реализовать его смогут скорее всего те кто знаком с STM32. Карманный девайс на форт или бейсике - звучит заманчиво.


22 Aug 2023 11:43
Profile WWW
Senior

Joined: 12 Jan 2023 07:26
Posts: 165
Reply with quote
MiniKot wrote:
Ассемблер AVRA установлен. Для проверки, в терминале вводим
avra --version

Из реп у себя установил 1.3.0-2 (Linux Puppy Xenial) , но при сборке авторского chipbasic не найден
в include подключаемый файл m32def.inc.

Собрал AVRA 1.4.2 отсюда https://github.com/Ro5bert/avra
но при сборке проекта выводит сообшение, что
 
Quote:
avra main_us.asm
AVRA: advanced AVR macro assembler (version 1.4.2)
Pass 1...
Pass 2...
/usr/local/include/avr/m32def.inc(44) : PRAGMA PARTINC directive currently ignored
/usr/local/include/avr/m32def.inc(48) : PRAGMA AVRPART directive currently ignored
/usr/local/include/avr/m32def.inc(53) : PRAGMA AVRPART directive currently ignored
/usr/local/include/avr/m32def.inc(760) : PRAGMA AVRPART directive currently ignored
/usr/local/include/avr/m32def.inc(761) : PRAGMA AVRPART directive currently ignored
/usr/local/include/avr/m32def.inc(762) : PRAGMA AVRPART directive currently ignored
/usr/local/include/avr/m32def.inc(763) : PRAGMA AVRPART directive currently ignored
modules/exparser.asm(850) : Error : Found no label/variable/constant named ADCSR
modules/exparser.asm(851) : Error : Found no label/variable/constant named ADCSR
modules/interpreter.asm(56) : Error : Found no label/variable/constant named ADCSR
modules/interpreter.asm(56) : Error : I/O out of range (0 <= P <= 63)


P.S. Дальше, конечно, соберу разобрашись и под Linux файл с ассемблером ChipBasic (как собирал и
под Windows, к примеру, amForth c помощью родного Avra2 ассемблера от Atmel для Atmega162),
но не думал что и в этом моменте могут быть "грабли" :)

MiniKot wrote:
Карманный девайс на форт или бейсике - звучит заманчиво.

MiniKot wrote:
Благодаря помощи Юрия Ревич и Йорга, разобраться все же удалось.

Интересно, а в книгах Ю.Ревича такие проекты не представлены?


22 Aug 2023 12:11
Profile
Writer

Joined: 26 Mar 2021 14:44
Posts: 19
Reply with quote
Вставьте в конце файла main_us.asm
.equ ADCSR = ADCSRA

На предупреждение PRAGMA не обращайте внимания или закомментируйте все строчки с PRAGMA в m32def.inc

Для того чтобы изучить ассемблер купил книги Юрия Ревич, что было не понятно просил совета по электронной почте, он мне помогал.


22 Aug 2023 12:36
Profile WWW
Senior

Joined: 12 Jan 2023 07:26
Posts: 165
Reply with quote
MiniKot wrote:
Вставьте в конце файла main.asm
.equ ADCSR = ADCSRA


Да, так нормально
 
Assembly complete with no errors.
Segment usage:
Code : 12546 words (25092 bytes)
Data : 0 bytes
EEPROM : 0 bytes

MiniKot wrote:
На предупреждение PRAGMA не обращайте внимания или закомментируйте все строчки с PRAGMA в m32def.inc

Это понятно.
MiniKot wrote:
Для того чтобы изучить ассемблер купил книги Юрия Ревич, что было не понятно просил совета по электронной почте, он мне помогал.

У меня, в целом, достаточная практика работы с ассемблером, но всё же предпочитаю использоввать даже "самопальные" средства разработки в таком исполнении.
Среда для программирования и внутрисхемной отладки AVR и др (ff303 проект 20-ти летней давности)

Форт-ассемблер для AVR
...
AVRForth
amForth
FlashForth
...
Хотя для AVR при программировании есть использование упрощённого псевдо- ассемблера в блок-схемном изображении
Algorithm Builder for AVR, Начинаем

Одной из фишек у меня в ассемблерном коде была пара последовательных команд проверяющая два флага условий независимо друг от друга (одно условие отвечало за контроль по выходу из цикла по истечению тайм-аут времени, а второе по нужному условию "бита"- вроде Zero и Сarry флаги) и выхода или продолжения цикла по одной команде ветвления. :)
(т.е. тест 2-ух условий был независим друг от друга для формирования флагов, а далее их
анализ в одной команде ветвления)


22 Aug 2023 13:03
Profile
Senior

Joined: 12 Jan 2023 07:26
Posts: 165
Reply with quote
В рамках использования ассемблера для AVR встретился проект симуляции PDP-11
My PDP-11 Projects

P.S. А, с PDP-11 много интересных событий и разработок было сделано, например начался Си язык программирования. :)


22 Aug 2023 13:50
Profile
Writer

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


22 Aug 2023 13:57
Profile WWW
Writer

Joined: 26 Mar 2021 14:44
Posts: 19
Reply with quote
forthuser wrote:
В рамках использования ассемблера для AVR встретился проект симуляции PDP-11
My PDP-11 Projects

P.S. А, с PDP-11 много интересных событий и разработок было сделано, например начался Си язык программирования. :)


Почитал страничку... Там человек жалуется на отсутствие ассемблера под macOS, если не ошибаюсь. Ассемблер avra при должном усилии, собирается почти под любую ОС.


22 Aug 2023 14:15
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 31 posts ]  Go to page Previous  1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 21 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.