User Tag List

Страница 58 из 70 ПерваяПервая ... 545556575859606162 ... ПоследняяПоследняя
Показано с 571 по 580 из 697

Тема: Бейсики для Вектора-06Ц и клонов

  1. #571

    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    988
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    45 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так оператор BEEP же есть, вроде как аналог SOUND, или в MSX есть и BEEP? Может стоит в новом бейсике переделать оператор BEEP на таймер? или тоже добавить SOUND?
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  2. #571
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #572

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В 2.5 BEEP играет через бипер и не позволяет точно задавать частоту, там очень грубая шкала значений.
    В msx есть BEEP, но на msx1 он издает один предустановленный звук через AY, а на msx 2 можно выбрать из очень небольшого числа комбинаций. Т.е. это не музыкальный оператор и тем более не для звуковых эффектов. Он позволяет подать звуковой сигнал и потом загасить каналы AY, если до этого там что-то звучало.
    Что касается SOUND на msx, то признаюсь, что забыл (посыпаю голову пеплом), там фактически SOUND и есть специализированный OUT для AY. И примеры, которые я привел ранее, можно считать именно повторением концепции использования SOUND на msx.
    Если говорить про новые операторы и функции, то оглядываясь назад я бы кое-что добавил. Просто не думал, что будет написано несколько новых очень хороших программ/игр на бейсике, в которых эти операторы или функции могли бы использоваться. Как минимум надо было добавить функцию для прямого опроса клавиатуры без буферизации. Но не все так плохо, дополнительные возможности (в т.ч. и звуковые) в бейсик можно вводить и с использованием машиннокодовых подпрограмм.
    Пользуясь случаем спрошу - чего сильно не хватает в бейсике (кроме скорости)?

    Эти 2 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    Improver(06.06.2024), metamorpho(06.06.2024)

  4. #573

    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    458
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    103 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    .......Как минимум надо было добавить функцию для прямого опроса клавиатуры без буферизации. Но не все так плохо, дополнительные возможности (в т.ч. и звуковые) в бейсик можно вводить и с использованием машиннокодовых подпрограмм.
    Пользуясь случаем спрошу - чего сильно не хватает в бейсике (кроме скорости)?
    Сильно не хватает - нового Бейсика-компилятора
    Конечно все дополнительные возможности в Бейсике можно сделать с использованием машиннокодовых подпрограмм.
    Поэтому хотя сильной необходимости и нету, но было бы неплохо в состав команд существующего Бейсика внедрить что-то из следующего:
    - опрос клавиатуры без буферизации [KEY]
    - [SOUND] примерно как в MSX
    - установка/сброс, инверсия,сдвиг, чтение битов переменной [BITS переменная,режим,(двоичное число наложения)]
    - распаковщик (упаковщик вне Бейсика отдельной утилитой) [READZIP 2000:UNZIP адрес куда распаковать]
    строка № 2000 "4jrfkfjwefjwofjowjfwjklf0t45kttg94jutg4w897854huh ...."
    - запомнить кадр анимации с экрана [READKADR номер кадра,X,Y,размер по X, размер по Y,режим плоскостей(сколько использовать 1-4)]
    - или инициализировать кадр анимации, чтобы при выводе кадр читался прямо из кода программы на Бейсике
    например строка № 3000 "4194709328028935793574897893648972678934693485348 503458034...."
    первые три байта строки: размер по X, размер по Y,режим плоскостей(сколько использовать 1-4)
    [INITKADR номер строки, номер кадра]
    - вывод покадровой анимации [ANIMATOR номер кадра,X,Y,режим вывода (с наложением и без)]
    Последний раз редактировалось metamorpho; 06.06.2024 в 15:52.

    Этот пользователь поблагодарил metamorpho за это полезное сообщение:

    ivagor(06.06.2024)

  5. #574

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Сильно не хватает - нового Бейсика-компилятора
    Увы, это я не потяну. Самое близкое, что могу посоветовать из компиляторов (правда си), поддерживающих вектор - z88dk. Поддержка векторовского железа там очень ограниченная.
    Для сильных духом еще есть микрософтовский BASCOM, но там придется всю векторовскую поддержку писать на асме самостоятельно.
    От себя могу пообещать только еще чуть ускоренный интерпретатор, правда пришлось кое-чем пожертвовать.
    Цитата Сообщение от metamorpho Посмотреть сообщение
    - опрос клавиатуры без буферизации [KEY]
    Самое близкое, что сейчас есть - baskeysCorrected3. Встроенная в бейсик функция была бы удобнее, но функционально baskeys вполне заменяет.
    Цитата Сообщение от metamorpho Посмотреть сообщение
    - [SOUND] примерно как в MSX
    Как уже упомянул в предыдущем своем посте, описанный здесь вариант использования OUT является функциональным аналогом SOUND в msx basic.
    И, кстати, подобным образом можно играть и через AY, что уже будет являться полным аналогом msx.
    Другое дело, что хотелось бы большей функциональности и большего удобства.
    Цитата Сообщение от metamorpho Посмотреть сообщение
    распаковщик (упаковщик вне Бейсика отдельной утилитой)
    Если подгружать файл по BLOAD и потом запускать по USR, то можно использовать любой существующий для вектора распаковщик.

    Для анимации можно написать небольшую процедуру на ассемблере. Само по себе это не сложно, но надо обдумать как удобнее организовать интерфейс с программой на бейсике.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    metamorpho(06.06.2024)

  6. #575

    Регистрация
    13.05.2018
    Адрес
    г. Тамбов
    Сообщений
    816
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    659
    Поблагодарили
    200 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Привет всём...
    На Спектруме есть компилятор - MCoder2...
    На нём даже коммерческие игры составляли
    на Basic' e...
    Atlantis Software, например...
    И небольшой он, 5 - 7 кБ...
    ???

  7. #576

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    - установка/сброс, инверсия,сдвиг, чтение битов переменной [BITS переменная,режим,(двоичное число наложения)]
    В первый раз пропустил этот пункт.
    Установку/сброс, инверсию и чтение битов переменной можно делать с использованием AND, OR и NOT. Но будет не очень удобно и не быстро.
    Вместо сдвигов начиная с 2.98 сделал очень быстрое умножение степеней двойки (в т.ч. дробных) на число и деление на степени двойки (включая дробные). В 2.996 с аналогичной скоростью можно и умножать на степени двойки. И отдельный оператор или функция тут не помогут, эти операции для чисел с плавающей точкой уже выполняются на максимальной скорости.

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    степеней двойки (в т.ч. дробных)
    Уточню, что собственно степени любые целые (положительные и отрицательные), а результирующие числа при отрицательных степенях получаются дробные.
    Например:
    1) Cдвиг влево на один разряд 2*A. Через деление тоже можно, но через умножение тут быстрее.
    2) Арифметический сдвиг вправо на один разряд .5*A или A/2 (2^-1=.5)
    3) Сдвиг влево на 3 разряда 8*A
    4) Арифметический сдвиг вправо на 4 разряда .0625*A или A/16 (2^-4=.0625; 2^4=16)

    Эти 3 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    Improver(06.06.2024), KTSerg(08.06.2024), metamorpho(06.06.2024)

  8. #577

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сказал А про SOUND в MSX, надо и Б сказать. Можно найти примеры звуковых эффектов для AY с использованием MSX BASIC и их легко повторить на векторе (конечно при наличии AY).
    Меняем
    SOUND RN,DT
    на
    OUT21,RN:OUT20,DT
    и вперед.
    Из книги
    Блэнд Г. Основы проограммирования на языке БЕЙСИК в стандарте MSX. Москва, "Финансы и статистика", 1989
    взял пример со страницы 122.
    Вложения Вложения

    Эти 3 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    Improver(07.06.2024), KTSerg(08.06.2024), metamorpho(08.06.2024)

  9. #578

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Процедура двухцветной анимации. Я склонился к подходу Волкова (автора Специалиста). Трактуем всю память как графику, 256 столбцов высотой 256 точек. Вместо GET/PUT используем копирование прямоугольного фрагмента из источника в место назначения. Надеюсь что из описания и примера использования все станет понятно. Замечу, что можно как в примере рисовать исходные картинки на экране, а можно задавать их в памяти и вне экрана (через POKE или BLOAD). И конечно можно грузить в экран по BLOAD. В примере исходные картинки видны, но возможно в другой программе будет иметь смысл скрыть их палитрой в отдельной плоскости.
    Рисование функции на базе статьи из журнала Байтик 91/3, стр. 4-6.
    В примере использовал десятичные константы, но если хочется побыстрее и не важна совместимость с 2.5, то предпочтительнее шестнадцатеричные. Ну и в примере для наглядности константы типа 224+24, для скорости лучше использовать готовую сумму.

    Можно сделать процедуру и для 4 цветов.
    Для 16 или 8 цветов в бейсиках 2.9+ как мне кажется лучше использовать GET/PUT (для фрагментов с шириной кратной 8 точек).
    Вложения Вложения
    • Тип файла: zip copy.zip (1.4 Кб, Просмотров: 78)

    Эти 2 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    Improver(08.06.2024), metamorpho(08.06.2024)

  10. #579

    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    988
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    45 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, заметил глюк в последних версиях бейсика (в 2.993 еще нормально), моя программка некорректно рисует овалы. Похоже в операторе CIRCLE есть ошибка.
    Прикладываю саму прогу, ошибка возникает в строке 500, я прогу немного подправил чтобы сразу на кусок кода где ошибка выходила.
    Вложения Вложения
    Здесь можно скачать актуальные версии Virtual Vector (VV)

    Этот пользователь поблагодарил Ramiros за это полезное сообщение:

    ivagor(08.06.2024)

  11. #580

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вероятно дело в рисовании линий, постараюсь в понедельник разобраться.

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

    Последняя версия, в которой правильно - 2.994, в крайнем случае на нее можно будет откатиться.

Страница 58 из 70 ПерваяПервая ... 545556575859606162 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Похожие темы

  1. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  2. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  3. Ответов: 198
    Последнее: 26.04.2020, 13:05
  4. Ответов: 58
    Последнее: 06.07.2019, 23:56
  5. Ответов: 8
    Последнее: 14.11.2008, 02:41

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •