Видеосистема |
Особенности программирования палитры на некоторых разновидностях Вектора Таблица, описывающая раскладку циклов "непрограммироемости" палитры - palprogtabl.zip Пример "быстрого" программирования палитры (быстрее традиционных процедур более чем в 2 раза) - fastpalprog.zip |
Графика |
Процедуры вывода спектрумовских картинок для Вектора и ПК-6128Ц (special edition) Краткое описание и примеры прилагаются - zxscr.zip |
Процедуры вывода BMP для Вектора Краткое описание и примеры прилагаются - bmp4vec.zip |
Звук |
Проигрывание звуковых файлов с использованием ШИМ через бипер (без свиста!) Из за сравнительно больших размеров файлов используется квазидиск. 3 бита на отсчет, частота дискретизации 23,8 кГц - pwm3bit.zip 4 бита на отсчет, частота дискретизации 19,7 кГц - pwm4bit.zip |
Проигрывание звуковых файлов через таймер+бипер Насколько мне известно, это первый пример такого проигрывателя звуковых файлов для вектора, да и на других компьютерах с ВИ53 ничего подобного мне не известно. Преимущество перед ШИМ - если частота дискретизации низкая, то при ШИМ будет свист, а при данном способе свиста не будет. Если частота дискретизации высокая (как в вышеприведенных проигрывателях), то свиста и при ШИМ не будет, но расход памяти для хранения звука очень большой. Есть недостаток (скорее особенность) и у предлагаемого метода проигрывания звука через таймер+бипер - в идеале нужно оптимизировать таблицу квантования (метка Quantiz в vi533.asm) для каждого файла, однако это не обязательно и прилагаемая таблица подойдет для многих звуковых файлов - vi533.zip |
Игры |
xorz Конверсия простой логической игрушки с MSX (участвовавшей в MSXDEV09). Оригинал был на бейсике, я написал программу на ассемблере - xorz.zip. Управление описано в readme, да и в самой игрушке есть help. |
Процессор |
Тесты быстродействия Тест, определяющий, сколько команд успеет выполниться между прерываниями (если нужно определить скорость выполнения команды EI, то используйте тест с таймером ВИ53) - vst10.zip Тест, определяющий, сколько тактов таймера (ВИ53) натикает за время выполнения 2000 команд. В отличие от вышеприведенного варианта работает быстрее, нет ограничений работоспособности при высоких частотах, тестируются все группы команд, определяется тип процессора (ВМ80, ВМ1 или Z80), для ВМ1 тестируются его уникальные команды и префиксы - vstvi53_v1.2.zip Для обоих тестов прилагаются снимки результатов прогона на реальном Векторе-06Ц. |
Таблица комманд процессора КР580ВМ1 для ассемблера The Telemark Assembler (TASM) В качестве кросс-ассемблера я использую The Telemark Assembler (TASM) Version 3.2 (автор Thomas N. Anderson). Он не лишен недостатков, но есть у него и большое достоинство - при необходимости можно самостоятельно добавить команды. Т.к. редкий процессор КР580ВМ1, устанавливавшийся некоторыми украинскими и питерскими вектористами, официально не поддерживается ни одним ассемблером, сделал табличку с описаниями этих комманд - tasmvm1.zip. Эту табличку нужно просто положить в рабочий каталог ассемблера. Пример использования (он же тест таблички) в архиве есть. Дополнительно по теме КР580ВМ1: Система команд процессора КР580ВМ1 - в этом документе есть опечатки и неточности, будьте внимательны. Здесь можно скачать эмулятор Игоря Титаря - единственный на сегодняшний день эмулятор с поддержкой КР580ВМ1. |
Набор макросов для перевода z80 (ограниченное подмножество команд) -> i8080 Если у Вас есть исходник на ассемблере z80 и Вы хотите скомпилировать его для i8080 (КР580ВМ80), то предлагаемый проект именно для Вас - z80trans.zip. Проект рассчитан как обычно на TASM. Недостаток - поддерживаются далеко не все команды z80. Если Вам нужна поддержка всех команд, то стоит попробовать рекомпилятор Александра Тимошенко, но т.к. в качестве исходного материала он использует машинный код, то нужно будет сначала оттранслировать Ваш исходник для z80, а потом дизассемлировать в рекомпиляторе. |
Растактовка по циклам для КР580ВМ80 в Векторе Таблица |
Эмуляция |
Особенности эмуляторов Вектора Субъективный обзор современных эмуляторов Вектора |
Утилита dwd2csw Позволяет преобразовать бинарную информацию (файл dwd) с результатами профилирования, получаемую в эмуляторе Игоря Титаря Virtual Vector (начиная с версии 6.19) в формат csv, чтобы можно было обрабатывать результаты в EXCELe. Нужна, если Вас (как, например, меня) не устривает "родной" вариант сохранения результатов профилирования VV в csv. Позволяет задать число колонок (конфигурацию таблицы), по умолчанию 8 колонок, т.е. в колонке данные по 8 килобайтам. - dwd2csv.zip |
Разное |
Характеристики Вектора-06Ц и его "клонов" Таблица |
Подробное описание формата файлов MFI Харьковские программисты в свое время предложили для хранения и проигрывания коротких видеофрагментов на векторе формат MFI. Приложенное авторами описание было довольно кратким. При написании "конвертера" avi->mfi на MATLABе составил более подробное описание - MFI_description.zip |
Распаковщик для архиватора MegaLZ В комплекте хорошего упаковщика MegaLZ есть распаковщик только для Z80, поэтому пришлось его рекомпилировать с использованием рекомпилятора Александа Тимошенко. Потом серьезно оптимизировал вручную - DeMLZ.zip. В качестве примера использования прилагается упакованный BASIC 2.5. |
Распаковщик для архиватора Exomizer 2 Лучший известный мне на сегодня архиватор для 8 битных компьютеров - Exomizer 2. Как и для MegaLZ в комплекте нет распаковщика для КР580ВМ80. Воспользовавшись опять рекомпилятором Александа Тимошенко и оптимизировав результат получил вот такой распаковщик - DeEXO.zip. В качестве примера использования прилагается упакованный BASIC 2.5. Ценителям редких процессоров возможно будет интересно посмотреть вариант распаковщика для КР580ВМ1, который чуть быстрее и короче варианта для КР580ВМ80 (см. также выше в разделе Процессор дополнительную информацию и ссылки по этому процессору). Если сравнить с MegaLZ - распаковщик Exomizer 2 несколько медленнее и больше размером, зато Exomizer 2 лучше сжимает. |
Demo433 Мой вариант оптимизации 512demo Павла Азарёнка - demo433.zip. |