Не работает с отрицательными. А как красиво начиналось...
Не работает с отрицательными. А как красиво начиналось...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Это уже перебор, для смещения 0-255 отличный вариант, а для -128 - 127 настолько коротко и быстро на 8080 никак не получится.
Чего не было в описаниях советских постальтаирских бейсиков.
1. NEXT позволяет перечислить переменные через запятую. Если что - быстрее и короче совсем не указывать переменные в NEXT.
2. В имени переменной после первого символа могут быть не только буквы и цифры, но и пробелы (они будут проигнорированы). Т.е. переменная ABC идентична A B C или AB C или A BC (или AB). На мой взгляд это зря.
3. Более частный факт про описание 2.5 - информация про DELETE не вполне верная, нельзя сделать DELETE без аргументов и DELETE только с начальной строкой.
- - - Добавлено - - -
Оффтоп про знаковое HL+=A
Если разрешить использовать BC или DE то так
Если нельзя трогать BC и DE, то придется задействовать команды перехода. Работоспособно, но не очень изящно.Код:mov c,a add a sbb a mov b,a dad b
[свернуть]
Спасибо всем за информацию об ошибках !!
Всё исправил и обновил ссылку на новое описание Бейсика.
https://zx-pk.ru/threads/30566-bejsi...=1#post1191025
ivagor, нашёл вот что - в посте #358 в этой теме:
1. например
FOR A=1 TO 10
FOR B=1 TO 10
NEXT B
NEXT A
т.е. можно не указывать NEXT B, NEXT A, а просто написать NEXT, NEXT ?
А что имелось ввиду "NEXT позволяет перечислить переменные через запятую" - как так через запятую, что за переменные ?
2. Пробелы в именах - это относится к Бейсику v.2.5 ?
---------
Ещё - можно ли в Бейсике (не применяя ассемблерных вставок) через OUT в порт 1 вывести синтезированную речь (возможно запретив прерывания) ?
Каким образом (как это выглядит в строках кода) через Bload можно загружать массивы для Put ?
Последний раз редактировалось metamorpho; 28.12.2023 в 12:32.
Вектор-06Ц reboothttp://metamorpho-games.blogspot.com/p/blog-page.html
можно NEXT B,A или NEXT:NEXT
Второе, насколько помню, чуть быстрее
Да, к 2.5 и всем его модификациям это тоже относится
К сожалению нет, частота дискретизации недостаточная, бейсик слишком медленный.
Попробуем без подробного кода
Генерация
1. Делаем HIMEM, чтобы выделить место под картинку
2. Рисуем на экране картинку и делаем GET в область между HIMEM и экраном
3. Делаем BSAVE сохраненной через GET картинки
Использование
1. HIMEM
2. BLOAD
metamorpho(28.12.2023)
Это похоже больше в тему конкурса подходит.
Всё же Бейсик не ассемблер, а тем более если раньше программировали на нём, то это как на велосипеде один раз научился, а потом спустя время навык намного легче восстановить, чем если бы вообще не знали Бейсика.
Так что 2 месяца вполне себе нормально, а если больше растягивать, то бывает вдохновение теряется
Оригинальный способ !!
А как быть если много разных картинок - спрайты анимации например - это надо же расположение каждой в памяти знать, иначе как PUT догадается откуда выводить из какого массива ?
Или же уже при записи вся структура (массивы) должна быть определена и она записывается при запоминании в GET ?
Последний раз редактировалось metamorpho; 28.12.2023 в 14:07.
Вектор-06Ц reboothttp://metamorpho-games.blogspot.com/p/blog-page.html
Он несколько более оригинальный, чем хотелось бы, в 2.5 так не получится.
Надо самому распланировать распределение памяти. Для этого надо считать, сколько займет каждая картинка. Самый простой вариант - берем формулу из описания 2.5
INT(Х*У/8+3/4)+1 и умножаем на 4 - это будет число байт на картинку. На самом деле можно и чуть поменьше, но пусть лучше будет с запасом.
Вместе с графическими данными хранятся еще два параметра - ширина и высота картинки.
Прикинул достижимую частоту дискретизации при выводе по OUT1,PEEK(I)
в 2.5 - 160-190 Гц
в последних модификациях - 300-320 Гц
А для речи надо раз в 10-20-30 больше.
metamorpho(28.12.2023)
Не через out, но теоретически нечто отдаленно похожее на речь или музыку все же можно воспроизвести штатным средством - BSAVE. Сначала загружаем звук по BLOAD, потом воспроизводим по BSAVE. Все упирается в конвертер, который должен преобразовать ИКМ в манчестер. Есть степень свободы - загрузить можно на стандартной скорости, а перед воспроизведением увеличить. Еще вариант - в бейсике-корвет частотная модуляция, можно и там попробовать.
metamorpho(21.03.2024)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)