Вход

Просмотр полной версии : Вектор-06Ц новодел (не Altera)



Improver
01.04.2021, 17:21
В продолжение темы нового Вектора, затронутой тут: 1 (https://zx-pk.ru/threads/31273-graficheskaya-plata-vektora.html?p=1055507&viewfull=1#post1055507), 2 (https://zx-pk.ru/threads/31273-graficheskaya-plata-vektora.html?p=1065407&viewfull=1#post1065407), 3 (https://zx-pk.ru/threads/31273-graficheskaya-plata-vektora.html?p=1067539&viewfull=1#post1067539)

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

Итак, начнём со схемы. В текущей реализации я, всё-таки, решил вернуться к стандартной схеме с ПЗУ и ОЗУ, и попутно исправил кучу ошибок (своих, и перенесённых опечаток со схем Вектора), подобрал номиналы некоторых элементов и вот что вышло:

https://s8.hostingkartinok.com/uploads/thumbs/2021/04/7e908983145645432a57470b14bb190a.png (https://hostingkartinok.com/show-image.php?id=7e908983145645432a57470b14bb190a)

Архив (схема + разводка плат + гербер-файлы): 75099

В этой схеме тоже есть своя изюминка: ОЗУ тут установлено 128 кБ. Ну просто микросхемы на 64 кБ сейчас редко встречаются... :) Для того, чтобы не пропадать даром целым 64 килобайтам, решил по-быстрому побить её на страницы и сделал переключение нижних 32 кб через порт 13h. Пригодится ли это в дальнейшем -- посмотрим, совместимость со стандартным Вектором это не нарушает.

Кроме того, для ПЗУ у меня завалялось пара достаточно компактных микрух на 64кБ, решил их использовать в схеме, вот только переключение страниц там сделал по-простому, джампером.

В живую схема уже работает -- протестировал схему питания, ОЗУ, ПЗУ, порты ввода-вывода, схему автозапуска, взятую с 02-го, клавиатуру... Всё, что смог сделать, кроме видео -- собранную ранее схему (https://zx-pk.ru/threads/31273-graficheskaya-plata-vektora.html?p=1046886&viewfull=1#post1046886) надо ещё немного переделать для подключения к этому компьютеру. А так -- на этой схеме уже запускал стандартный Векторовский тест техпрогона, тест устройств... В слепую, конечно же.

Вот как сейчас сборка выглядит, совместно с миниклавиатурой (https://zx-pk.ru/threads/32280-miniklaviatura-dlya-vektora.html?p=1082768&viewfull=1#post1082768):

75097 75098
Один момент только мне не нравится -- это то, что КР580ВК28 греется сильно, даже сильнее процессора. Информации об её нагреве в других ПК (например, в ЮТ-88) я что-то найти не смог, может кто знает, как они работали в те годы?

- - - Добавлено - - -

Ещё немного картинок с осциллографа. Для начала, выходы с ГФ24 (как же без этого?):

75100
Тестовая программа:
.org 00000h
L_STRT: DI
LXI D, 8000h
L_LOOP: MVI A, 0AAh
STAX D
LDAX D
JMP L_LOOP
.ENDhttps://s8.hostingkartinok.com/uploads/thumbs/2021/04/a07855cd85fd8a6c29bd8060e8f16d98.png (https://hostingkartinok.com/show-image.php?id=a07855cd85fd8a6c29bd8060e8f16d98)Те стовая программа
.org 00000h
L_STRT: DI
LXI SP, 00000h
L_LOOP: LXI H, 05555h
PUSH H
POP H
JMP L_LOOP
.ENDhttps://s8.hostingkartinok.com/uploads/thumbs/2021/04/9cd7a8ac84d0c4741f94dddc75bec858.png (https://hostingkartinok.com/show-image.php?id=9cd7a8ac84d0c4741f94dddc75bec858)

И, напоследок, вырабатываемый сигнал "СТЕК", на том же тесте:
75101Как видно из осциллограмм, ВК28 ещё и занижает уровни лог. единицы до ~3,7В, это в пределах допустимого, но всё же...

Ссылки на описания схемы в этой теме:
Примечания по схеме (https://zx-pk.ru/threads/33133-vektor-06ts-novodel-(ne-altera).html?p=1111351&viewfull=1#post1111351)
Работа с памятью (https://zx-pk.ru/threads/33133-vektor-06ts-novodel-(ne-altera).html?p=1112159&viewfull=1#post1112159)
Прошивка ПЗУ (https://zx-pk.ru/threads/33133-vektor-06ts-novodel-(ne-altera).html?p=1143006&viewfull=1#post1143006)

Исправленная схема (https://zx-pk.ru/threads/33133-vektor-06ts-novodel-(ne-altera).html?p=1112543&viewfull=1#post1112543)

Improver
02.04.2021, 09:43
Затрону немного одну малоизученную тему... С давних времён в моей коллекции есть такой процессор польского производства, MCY7880:

75108

В интернетах упоминаний про него мало, пишут (https://www.phantom.sannata.org/viewtopic.php?t=17128), что сначала это было нечто среднее между интелом 8080 и нашим ВМ80А, а потом стали делать на советских кристаллах. В моём случае, вполне возможно, что внутри польский кристалл.

Вот попробовал его поставить в панельку... И мой нововектор с ним ожил на 3МГц, по простым тестам отличий от ВМ80А не обнаружил. Возможно, когда проект будет полностью отлажен, в копилку процессоров для Вектора можно будет добавить и этот. :)

svofski
02.04.2021, 12:12
Зверски круто! Но хочется Вектор с видеосистемой =)

PPC
02.04.2021, 17:38
Офигительно! И да, на такой Вектор можно портировать MP/M-80

Improver
02.04.2021, 18:08
Офигительно! И да, на такой Вектор можно портировать MP/M-80

Зверски круто!Офигительно и зверски круто у Темиразова с Соколовым получилось, а у меня так, жалкое подобие... Но спасибо за комплимент. :)


Но хочется Вектор с видеосистемой =)Будет, конечно, но потом.

Хочу обозначить некоторые моменты по работе этой схемы, чтобы не забылись.

1. Питание всей схемы осуществляется от внешнего блока на 5В, текущем виде (без графической платы) потребляемый ток составляет 0,55-0,65А. Все чипы запитаны напрямую, кроме процессора и генератора, на них +5В подаётся через полевик Q1 (по схеме), который открывается только после того, как на линии питания -5В напряжение станет ниже нуля. Управление работой полевика сделано просто на делителе из сопротивлений на затворе, подобранных так, чтобы при нуле (и выше) на линии -5В там было напряжение, достаточное для его закрытия. Через этот же полевик запитана микросхема U8, выдающая +12В, чем выполняется требование по порядку подачи питания на процессор.
В принципе, полевик тут больше служит как "предохранитель", т.к. микросхемой U6 отрицательное напряжение выдаётся практически мгновенно. А так получился неплохой вариант схемы питания, можно на его основе делать блоки для Векторов...

2. Плата процессора получилась вполне автономной, она может работать одна, без подключения платы портов ввода-вывода, вот только о её работе тогда можно будет узнать только по сигналам на осциллографе или логическом анализаторе. Собственно, начинал тестировать я её именно так.

3. Для работы всей схемы в текущем виде крайне важен сигнал 50Гц, который должен подаваться на шестой вывод большого пятидесятиконтактного разъёма JV1. На плате он даже помечен белым треугольником.
Эти 50Гц должны вырабатываться графической картой и нужны для работы схемы прерываний и сброса процессора, при его отсутствии при включении будет как бы постоянно нажат "СБРОС" и процессор не запустится.
При отсутствии графической карты 50Гц вполне можно подавать с любого внешнего генератора, или даже просто замкнуть на него соседний четвёртый вывод с частотой 3МГц, как можно заметить на фото в первом посте и было сделано жёлтым проводком. Схема сброса не чувствительна к подаваемой частоте, программы, работающие в режиме запрета прерываний процессора тоже, но вот большая часть программ может зависнуть на слишком высоких частотах на этом входе.

4. Входной сигнал "MEM_RDY" (вывод 7 разъёма JV1) теоретически служит для синхронизации видео и процессора, на плате он притянут к питанию и при его отсутствии процессор работает на полную, без Векторовских выравниваний на кратность длительности команд, равную 4 тактам. Туда, опять же, с графической платы должен идти сигнал МХ2, но при её отсутствии можно туда просто ничего не подключать. Да и на самой графической плате есть в планах сделать кнопку "турбо" для управления этим сигналом и ускорения Вектора. Когда дойдёт очередь до графики посмотрим, какой прирост скорости это даст.

ivagor
02.04.2021, 18:24
Когда дойдёт очередь до графики посмотрим, какой прирост скорости это даст.
Границы возможного известны, если без тормозов 100%, то с векторовским торможением средняя скорость в районе 82%. Или если принять за 100% вектор с тормозом, то без тормоза будет примерно 122%.

Improver
02.04.2021, 19:13
без тормоза будет примерно 122%.Хорошо, если будет +22% к скорости, то действие кнопки "турбо" будет почти незаметно, может и не имеет смысла её городить, а сразу сделать максимум... Но отложим выводы до сборки полной схемы.

ivagor
02.04.2021, 20:06
В emu можно в конфиге убрать или закомментировать строку adjust=4 и будет вектор без тормозов.

svofski
04.04.2021, 12:59
Хорошо, если будет +22% к скорости, то действие кнопки "турбо" будет почти незаметно, может и не имеет смысла её городить, а сразу сделать максимум... Но отложим выводы до сборки полной схемы.

Очень даже заметно, лучше нагородить. Некоторые игрушки от этого становятся бодрее и динамичнее.

NEOPLASMA
06.04.2021, 12:09
В журнале Vector User описывались разные доработки, джойстики на 6 клавиш (порт 0Eh и 0Fh биты D0-D7) которые можно расширить и на 8 и будет как на NES (Денди), мышь по стандарту того-же джойстика, доработки по расширению памяти и прочему, такие будут присутствовать в этом новоделе ?
Как по мне лучше уже использовать готовые стандарты описанные в журналах чем придумывать всё заново )
А описаний там много и с подробностями вот Ссылка (https://drive.google.com/file/d/1waj_GhBKvvAMWl_q5JSKLYB7G52YETNH/view?usp=sharing) на файл со всеми доработками и описаниями

Improver
06.04.2021, 13:37
Очень даже заметно, лучше нагородить. Некоторые игрушки от этого становятся бодрее и динамичнее.Тут есть ньюанс: в текущей реализации графической карты полностью снять тормоза не выйдет, пока что они снимаются только на время чтения и когда не выводится изображение -- КСИ, ССИ и бордюр. Ускорение при этом выйдет, наверно, 10%, или 5%... Тем не менее, в новой схеме я уже нарисовал кнопку "турбо", но она ещё пока не готова к публикации.

Можно поставить буфер на 16+8 бит, запоминать в нём адрес и данные для записи, когда видеопамять занята. Там, получается, хранить нужно два такта (666 нс). Наиболее частый повтор выполняется при записи в стек, по осциллограммам выше видно, что минимальный разрыв между двумя записями там равен около 1000 нс, т.е. имеем примерно 300 нс на сброс данных из этого буфера -- можно успеть, но вот только на плате графической карты места не осталось под этот буфер... В общем, ещё есть варианты по улучшению схемы. :)


В журнале Vector User описывались разные доработки, джойстики на 6 клавиш (порт 0Eh и 0Fh биты D0-D7) которые можно расширить и на 8 и будет как на NES (Денди)Наверно, не на NES, а на SEGA? Сейчас уже схема подразумевает подключение джойстиков Денди, имеющих две кнопки, можно добавить ещё две кнопки без серьёзных переделок, если понадобится. Правда, эти джойстики я ещё не протестировал.


доработки по расширению памятиА что за расширение памяти? Я видел там схемы квази-дисков, ERAM, но всё это были внешние модули, дорабатывался не сам Вектор...


мышь по стандарту того-же джойстика
...
и прочему, такие будут присутствовать в этом новоделе ?Всё, что угодно, но не всё сразу. Давайте сначала доведём "базовую конструкцию" до ума. :)

NEOPLASMA
06.04.2021, 19:14
Чутка попутал, расширение памяти было описано в (предполагаемом) Векторе турбо+, там было сделано переключение по адресам 40h и 41h
Да согласен джойстик лучше Сеговский брать, он более функциональнее и прост в подключении

Improver
06.04.2021, 20:34
Чутка попутал, расширение памяти было описано в (предполагаемом) Векторе турбо+, там было сделано переключение по адресам 40h и 41hНадо будет перечитать подшивку, хотя, как я помню, конкретики про Вектор-Турбо там не было.


Да согласен джойстик лучше Сеговский брать, он более функциональнее и прост в подключенииЯ, похоже, ошибся, когда писал про денди, джойстики сейчас подключаются по такой схеме: https://www.msx.org/wiki/General_Purpose_port
Вроде, сегасовместимые, не денди.

ivagor
06.04.2021, 21:06
Про порты турбо+ написано в vector-user 18. По описанию портов 40-42 примерно понятно, что там было, но следовать в данном вопросе за турбо+ смысла нет, т.к. нет программ, поддерживающих тот стандарт.

Improver
07.04.2021, 10:27
NEOPLASMA, ivagor, перечитал я "Вектор-User" -- грандиозные улучшения могли бы быть у Вектора, если бы появился турбо-плюс вариант, в части графики особенно. Но вернёмся к памяти. На странице 76 скана (в №18) упоминается, а на странице 85 (в №21) подробно описано, как его память работает. Да, программ для такой организации памяти не появилось, особого смысла делать также и правда нет.

Опишу пока, как сделано управление памятью сейчас в моём варианте. Я это подписал на схеме, но, думаю, повторить будет не лишним:

1. Т.к. на плате установлено 128кб, вся эта память распределена так:

Адреса в МС ОЗУ -- номер банка
00000h-07FFFh -- Банк 0
08000h-0FFFFh -- Банк 1
10000h-17FFFh -- Банк 2
18000h-1FFFFh -- Банк 3

2. При обращении Вектора к адресам 08000h-0FFFFh чтение/запись всегда осуществляется в Банк 3.

3. Переключение страниц памяти осуществляется через отправку байта в порт 13h. Младшие два бита отправленного байта определяют подключённый номер банка памяти, который будет использоваться при обращении Вектора по адресам 00000h-07FFFh, старшие биты отправляемого байта игнорируются. Соответственно имеем:
хххххх00 -- подключается Банк 0
хххххх01 -- подключается Банк 1
хххххх10 -- подключается Банк 2
хххххх11 -- подключается Банк 3
Самая фишка тут получается с банком 3, которая вышла сама собой -- на нижнюю половину памяти отображается верхняя половина, отличие при обращении к ним тут будет в том, что записываемые данные по адресам 00000h-07FFFh не будут попадать в память экрана, хотя будут влиять на область памяти 08000h-0FFFFh. Как это может пригодится -- пока не понятно, но забавно. :)

4. При сбросе (БЛК-ВВОД или БЛК-СБРОС) регистр порта 013h сбрасывается на нулевой банк памяти. Все Векторовские программы с такой памятью должны работать без проблем, если, конечно, в них случайно не встретится обращение к порту 013h.

В общем, всё просто... При наличии квази-диска можно менять верхние 32кб, а тут нижние, в результате получаем возможность полной замены всех 64кб памяти. Можно даже организовать некую многозадачность, исполняя три программы поочереди.

ivagor
07.04.2021, 10:33
Теоретически можно было бы сделать обращение к 128 Кб аналогично 6128, там есть пара-тройка программ под это дело (дос, бейсик и тест, кажется еще графический редактор), но плата уже сделана, да и вариант диспетчера 6128 не самый лучший.

KTSerg
07.04.2021, 12:41
...
3. Переключение страниц памяти осуществляется через отправку байта в порт 13h.
...
А практическая реализация этого как выглядит?
Переход между страницами находится в каком-то конкретном месте памяти, например в области прерываний (RSTx)?
Поскольку после занесения нового значения в порт 13h следующая команда будет считываться из следующей ячейки памяти, но уже на другой странице.
Значит место перехода должно быть предсказуемым. Т.е. одним и тем-же на всех страницах.
Я так понимаю?

Improver
07.04.2021, 13:07
А практическая реализация этого как выглядит?
Переход между страницами находится в каком-то конкретном месте памяти, например в области прерываний (RSTx)?
Поскольку после занесения нового значения в порт 13h следующая команда будет считываться из следующей ячейки памяти, но уже на другой странице.
Значит место перехода должно быть предсказуемым. Т.е. одним и тем-же на всех страницах.
Я так понимаю?Можно и так. Но, я полагаю, самый простой способ переключения -- из подпрограммы, работающей в верхних 32кб памяти, которые не будут затронуты переключением, из МДОС, например. Там только нужно будет не упустить момент и после переключения занести в ячейки памяти 0000h, 0005h и 0038h нужные для работы команды, и дальше можно делать переход на любой адрес в нижних 32кб.

KTSerg
07.04.2021, 14:12
Можно и так. Но, я полагаю, самый простой способ переключения -- из подпрограммы, работающей в верхних 32кб памяти, которые не будут затронуты переключением, из МДОС, например. Там только нужно будет не упустить момент и после переключения занести в ячейки памяти 0000h, 0005h и 0038h нужные для работы команды, и дальше можно делать переход на любой адрес в нижних 32кб.
Для МДОС переключать нижние 32Кб, это как читать газету в которую рыбу заворачивали... :)
Там ведь до экранной области ещё вроде 8Кб остаётся, там вроде как утилиты пасутся. Да и программы, работающие из под ДОСа знают где верхушка свободной памяти, и могут использовать этот "не переключаемый" кусок по своему усмотрению, уничтожая в нём инфу, важную для софта из другого окна.

Improver
07.04.2021, 15:00
Там ведь до экранной области ещё вроде 8Кб остаётсяЭто если на КД нет доработки Баркаря, а с ней можно добавить ещё 8кб на адресах 8000h-9FFFh, а при желании и все верхние 32кб можно закинуть на КД... Или немного опустить границу области для программ в МДОСе, до 32кб. :) Но это всё решаемые технические мелочи, для первого варианта, не проверенного на практике, без ПО, да ещё пока не подкреплённого поддержкой эмуляторов, такой вариант переключения памяти тоже неплох, а потом можно будет улучшать.

Improver
08.04.2021, 11:31
Продолжу публиковать материалы по этому проекту: прошивка ПЗУ.

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

Часть 1, тестовая.
Эта часть основана на опубликованном ранее тестовом ПЗУ (https://zx-pk.ru/threads/30914-testovoe-pzu.html?p=1096119&viewfull=1#post1096119), расширенном и дополненном.

При старте прошивка, так же, как и в исходной версии, переходит в режим мигания индикатором "РУС/ЛАТ", нажатие на клавиш "СС", "УС" или "РУС/ЛАТ", также выводит через ВИ53 частоты 3, 2 или 1 кГц соответственно.

Нажатие "СС"+"УС" запускает тестирование памяти, сначала верхние 32кб:
- Тестирование методом простого записи/чтения, для контроля последовательно используется байты 00h, FFh, AAh, 55h.
- Тестирование методом записи/чтения через стек, используются слово AA55h и счётчик
- Запись содержимого ПЗУ с тестированием

Если тестирование прошло без ошибок, то через автозапуск выполняется сброс системы и выполнение записанных в верхнюю память тестов. Далее из верхней памяти последовательно выполняются тесты банков памяти 0, 1 и 2 методом записи/чтения через стек, используются счётчик, слова 55AAh, AA55h, 0000h (очистка).

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

Обнаруженные ошибки также, как и в blink, выводятся в порт ПУ.

И есть ещё дополнение, если при начальном мигании индикатора "РУС/ЛАТ" нажать одновременно "СС" и "РУС", то будет запущен тест клавиатуры -- нажатие клавиш будет озвучиваться, код нажатой клавиши отправляется в порт В (ПУ). И, как бонус, тестируется сам порт ПУ, если на нём установлена заглушка, как описано в документации к Тесту Устройств (Порт А <--> Порт В, Порт С 7-4 <--> Порт С 3-0). В случае удачного теста ПУ будет гореть индикатор РУС/ЛАТ.

Тестовая часть прошивки в архиве с исходниками: 75174

Часть 2, загрузочная.
Эта часть сделана на основе BOOT45 (http://www.sensi.org/scalar/ware/541/). В связи с тем, что в ней не используются особенности моей схемы Вектора, её можно без проблем загружать в эмуляторах и на обычных Векторах.

75177

Основные изменения:
- заменил загрузчик с HDD на новый, работающий в LBA, заменил иконку НЖМД на более красивую
- удалил ненужный тест техпрогона (он есть в первой части)
- обновил бейсик до версии 2.61 (http://www.sensi.org/scalar/ware/909/)
- увеличил скорость загрузки программ из ПЗУ
- изменил горячие клавиши и порядок выбора устройств для загрузки. Теперь это работает так:

КЛАВИША - РЕЖИМ
нет - квазидиск
F1 - магнитофон
F2 - жесткий диск
F1+F2 - дисковод
F1+F3 - сетевой адаптер
F3 - Бейсик v2.61
F4 - Монитор СуперМонстр v3.5
F5 - МППЗУ
F5+AP2 - самотестирование ПЗУ
AP2 - загрузка из РС через порты ПУ-LPT

Если для загрузки выбрано неподключенное устройство, загрузка будет производиться со следующего подключенного устройства согласно приоритету:
- КД
- НЖМД
- НГМД
- МППЗУ
- сетевой адаптер
- магнитофон

Удерживание клавиши УС при перезагрузке отменяет очистку ОЗУ (кроме экранной области c адресами 0C000H-0DFFFH) и позволяет войти в режимы:

КЛАВИША - РЕЖИМ
УС+F4 - реанимация 0 блока монитора (режим загрузки детектируется)
УС+F5 - загрузка из модуля МППЗУ
УС+AP2 - загрузка данных из РС через порты ПУ-LPT
УС+СТР - загрузка модуля выгрузки данных через ПУ (в мониторе)
УС+др.комбинации или ничего - магнитофон

Загрузочная часть прошивки с исходниками: 75175
Ну и полная прошивка, все 64кб в одном файле: 75176

Improver
09.04.2021, 10:11
Тестируя загрузчик нашёл в схеме одну достадную ошибку -- я не сделал подтяжку шины данных к +5В, в результате чего при чтении из любого неподключённого порта программа получает шум на линии, случайные значения вместо FFh... Исправленная схема:

https://s8.hostingkartinok.com/uploads/thumbs/2021/04/9afafe96d77cb45f866c56e87e1fedcd.png (https://hostingkartinok.com/show-image.php?id=9afafe96d77cb45f866c56e87e1fedcd)

Архив со схемой, разводкой плат и гербер-файлами для их изготовления: 75182

Всё остальное работает, теперь, думаю, пора приступать к подключению видеокарты...

Improver
10.01.2022, 13:03
Перед новогодними праздниками обновил загрузчик, но не успел выложить. Отличия новой версии от предыдущего варианта (https://zx-pk.ru/threads/33133-vektor-06ts-novodel-(ne-altera).html?p=1112365&viewfull=1#post1112365):

В тестовую часть добавил тестирование экрана:

при нажатии УС, кроме вывода звука, заполняется экранная область значением 55h, устанавливается цвет бордюра 00h
при нажатии СС экранная область заполняется значением FFh, устанавливается цвет бордюра 00h
при нажатии РУС экранная область заполняется значением 00h, устанавливается цвет бордюра 0Fh
при нажатии УС+РУС выполняется загрузка палитры, экран заполняется ч/б градиентом по типу этого теста (http://www.sensi.org/scalar/ware/881/), устанавливается цвет бордюра 00h. Тут используется прерывание и требуется исправное ОЗУ по адресам FFFEh-FFFFh, в случае обнаружения ошибок по этим адресам загрузка палитры и тест градиентом не выполняется.

Примечание. Заполнение видеопамяти производится без программного тестирования, ошибки будут просто видны на экране, если он подключен.

Архив тестовой прошивки с исходниками: 76820

Изменения загрузочной части только в подпрограмме загрузки системы с КД, как было сделано тут (https://zx-pk.ru/threads/29342-novyj-staryj-kvazidisk.html?p=1140352&viewfull=1#post1140352) ivagor и мной немного ранее, теперь файл OS.COM может быть и не первым в списке файлов. Ну и попутно обновил бейсик до версии 2.62.

Архив основной прошивки с исходниками: 76821

Вторую часть можно также, как и ранее, использовать отдельно на любом Векторе или подгружать её в эмуляторы.