ChipBasic-128

МиниКот-MK2

Программируемый, любительский микрокомпьютер

 

 v1.13 (c) 2022 Фаиль Айсулов

МиниКот-МК2 находится в стадии разработки.

Лицензия    

 

Программа, распространяться на условиях лицензии GPL (GNU General Public Licence) версии 3  и более поздней. Компьютер МиниКот-MK2 основан на проектах AVR-ChipBasic-16 V0.72, МиниКот-МК1 V1.01 и является измененной версией этих проектов. Программа модифицировалась исключительно для собственных нужд. Авторы не дают никаких гарантий на свои программы и не несут ответственности за проблемы, возникшие в результате их использования. Все товарные знаки, указанные в тексте, являются собственностью соответствующего владельца.

Предисловие

 

После завершения проекта МиниКот-МК1 захотелось «продолжение банкета», так появился МиниКот-МК2. Вот и вся история)

Описание и особенности

 

-Устройство ввода -обычная клавиатура компьютера

-Устройства вывода — телевизор

-Меню на русском языке.

-Языка программирования -  MK-BASIC

-30x23 символов,анимация графического символа

-8 цветов графики

-3 цвета фона

-1-канальный аудиовыход (ноты, шум) с огибающей

-Редактор программ с псевдоподсветкой синтаксиса.

-80 строк программы, 27 символов в строке.

-16 программ во внешнем модуле памяти (микросхема EEPROM 24c256)

-Опционное EEPROM данных (24C32-24с256) для хранения «снимка экрана»

-Обмен программами и данными через последовательный порт (1200 Baud)

-Порт джойстика

 

К микро компьютеру подключается клавиатура PS/2.Можно использовать USB клавиатуру, если контроллер клавиатуры поддерживает работу через интерфейс PS/2.

 

Для хранения программ используется модуль памяти на микросхемах EEPROM 24с256. На 24с32 помещается 2 программы, на 24с64 - 4 программ и т.д. до 16 программ. Для хранения дополнительных данных используется вторая микросхема EEPROM.

Схема

 

Микроконтроллер ATMega128. Кварцевый резонатор на 17,734475МГц, его можно раздобыть из старых телевизоров и видеомагнитофонов.

v1.11 (20.05.2022)

-80 строк Basic программы

-3 цвета фона

-Intro из AVR-ChipBasic8 V0.50

Видео выход

 

Кодер цветности PAL собран на микросхеме AD724JR (AD722JR,AD725). Кварц и резисторы также добываются из старого телевизора, видеомагнитофона. Три резистора на 75 Ом стоят на плате кинескопа.

Схема подключения к телевизору через разъем SCART. Существует интересная закономерность - если у монитора есть VGA и DVI разъемы, то вероятность того что монитор будет работать с данным компьютером, повышается.

Последовательный порт

 

USB-UART преобразователь собран на микросхеме CH340G. Последовательный порт реализован программно PE3- RXD, PE4 - TXD. Разъем USB служит одновременно гнездом питания.

Принцип работы.

 

Таймер 1 отвечает за тайминг видео. Синхронно с таймером генерируется доступ к чтению EEPROM . Таймер 2 генерирует аудиосигнал. Ресурсы USART использует клавиатура. Последовательный порт реализован программно.

8 Bit ,1200 Baud ,no Parity,1 Stopp-Bit. Большинство функций реализовано через библиотеку libmio.

Программа на бейсике хранится во внутреннем EEPROM микроконтроллера. Программа остается в памяти даже после пере прошивки микроконтроллера, если выставить фьюз бит EESAVE.

Сборка проекта из исходников

 

Для сборки нужен ассемблер AVRA и PERL.

Далее не руководство, а подсказка

-проще всего установить Linux Mint на отдельный жесткий диск.

-ставим необходимые программы 

 sudo apt update

 sudo apt install build-essential

 sudo apt install avra

 sudo apt install perl

 sudo apt install avrdude

-согласно лицензии, файлы inc не распространяются в составе проекта

 папка includes пустая, файл m128def.inc есть в составе Atmel Studio. 

-сборка и прошивка программатором USBASP

 cd /путь/папка проекта;avra main.asm

 cd /путь/папка проекта;avrdude -c usbasp -p m128 -P usb -U flash:w:/путь/папка проекта/main.hex

Если нет необходимости вносить изменения, можно просто залить прошивку.

v1.13 (16.06.2022)

-Черепашка - графический редактор. Сохранения пока нет.

Влево, вправо, вверх вниз - перемещение по полю

PageUp - поднять черепашку

PageDown - опустить черепашку

Номе, End - выбор символа

Space - нарисовать символ в прошлой позиции черепашки

Список изменений: