Обновить
20
0.1

Пользователь

Отправить сообщение

Тут я считаю что это битвы кита и слона (точнее понятий сложности по Колмогорову и Шеннону). С цифровыми предзаписанными сэмплами любой может. А вот такое уложить в 4 килобайта: ой как не любой:
https://www.youtube.com/watch?v=G1Q9LtnnE4w

Не у всех AY был GPIO. У 8912 - был, у 8910 (более мелконогого и доступного в те времена не было.

SID - это вообще другая история. Его делали люди, которые
"Считали, что микросхемы генерации звука, представленные на рынке, включая те, что использовались Atari в их компьютерах, были примитивными и, видимо, сконструированными людьми, ничего не знающими о музыке". То есть технарями, но при этом и музыкантами. И недокументивованных и нестандартных фич в нем столько, что сделать полноценный его эмулятор - это "челлендж со звездочкой". Да к чему слова - вы сами просто послушайте. При том что проц в Commodore (6502) сильно уступал Z80.

Для Вектор-06Ц насколько мне известно был эмулятор AY на советской КР580ВИ53 (сильно ограниченный, но звучал +/- похоже)

Да, я тоже это не сам придумал, но методом проб и ошибок оказалось что именно такая расстановка if-ов привела AVRGCC к практически идеальной генерации кода, распределению переменных по регистрам и их переиспользованию. То есть на asm-е у меня вышло бы не лучше.

Да, с огибающей это у вас круто прям! Хотя и неочевидно не зная внутренностей AY. У меня для AVR было вот так:

static uint8 get_env_val(uint8 envType, uint8 pos) {
	// 0,1,2,3,9
	if (envType < 4 || envType == 9)
		return pos < 32 ? 31 - pos : 0;
	// 4,5,6,7,15
	if (envType < 8 || envType == 15)
		return pos < 32 ? pos : 0;
	// 10
	if (envType == 10)
        return pos % 64 < 32 ? 31 - (pos % 32) : pos % 32;
	// 14
	if (envType == 14)
		return pos % 64 < 32 ? pos % 32 : 31 - (pos % 32);
	// 8
	if (envType == 8)
		return 31 - (pos % 32);
	// 12
	if (envType == 12)
		return pos % 32;
	// 11
	if (envType == 11)
		return pos < 32 ? 31 - pos : 31;
	// 13
	if (envType == 13)
        return pos < 32 ? pos : 31;
	return 0;
}

Максимально тупо, зато ассемблерный код генерировался просто заглядение

Можно сократить число пинов до минимума используя сдвиговые регистры. Но да, более-менее нормальный R-2R 8-битный ЦАП - это реально "кладбище резисторов" - 24 штуки на канал. 24 - потому что в таком варианте все они будут одного номинала и их можно более-менее точно подобрать). Сам "страдал" таким лет 10 назад.

"Язык" 1С версии 5.0-6.0 подозрительно похож на Plankalkül (только с кириллицей). Вот такая примерно это была дичь:

?(СТРДЛИНА(СП{3}.1)=0\""+СН{3}\""+СП{3}.1)+?(СТРДЛИНА(СП{3}.2)=0\""\", "+СП{3}.2)+": "+СП{3}.5+", "+СП{3}.3+","+СП{3}.4

Не на Spectrum, но на 286 тогда был ScreamTracker. Вполне сносно играл MOD/STM на бипере. А на covox вообще тогда был космос.

Логично. Очень. Я тоже так делал в эмуляторе AY на ATmega. И в 99% случаев такой подход оправдан и оптимален я считаю (даже если пытаться на beeper-е эмуляцию сделать). Потому что 100% (из известных мне плееров/трекеров для AY меняют значения сразу всех регистров по прерыванию - а там хватает времени чтобы "выплюнуть" их туда разом. Но ходят слухи по сети, что кто-то (правда на Yamaha) сделал что-то, на основании некоего преобразования Виттерби, что позволило с помощью каких-то лютых извращений с огибающей и частотой записи в порты AY выдать из него... ОЦИФРОВАННЫЙ ЗВУК! (ну по крайней мере очень к нему близкий, и потребовавший много ресурсов на его предрасчет в команды AY)

Я программист, а не сисадмин (хотя был им, а бывших сисадминов не бывает, как известно), но приходится разрабатывать (как и сопровождать) систему бизнес-аналитики, составной (если не главной) частью которой является ETL. Ну а ETL я, и с моей подачи многие коллеги называют "говно-обогатительный комбинат". Так вот, я люблю спать спокойно, так что алерты, телеграм-боты, звонки в 5 утра (не к ночи помянуто) - наше всё. Я часто любил говорить: "так за это ж нам и платят". А потом вспомнил фразу (тогда еще будущей) жены: "Всё в твоих руках". Так что всё в наших руках. Сделать так чтобы не было (самим собой же сделанных алертов). А вот как сделать так чтобы работодатель платил (справедливо!) за то что все работает, и не стоял над душой с камерами и трекерами (еще и на удаленке) - тут универсальных решений нет и не будет. Я своё нашел.

С нетерпением жду ответа от AMD. А то при всех их (для меня) достоинствах - вот сейчас даже ROCm нормально с LM Studio работает (правда только на картах с архитектурой RDNA2/RDNA3), потребление памяти в играх практически всегда процентов на 5-10 выше чем у NVidia при аналогичных настройках.

Движок Tritone - это шедеврально! А возможно ли теоретически на его базе сделать хотя бы приблизительный (да, понимаю что с честной генерацией шума на мощностях Z80 проблемы будут, и с огибающими) - но эмулятор/плеер AY-музыки? (мечтательно вспоминаю каким желанным был AY для меня в 90-х, но так и не удалось достать этот чип в своем городе)

Я в начале-середине нулевых работал "сисадмином средней руки" у провайдера (они же тогда зачастую и хостерами были). Так вот, был девайс у нас, до которого руки ни у кого не доходили: ленточная библиотека LTO (уже точно не помню какого поколения) с чейнджером на 6 кассет. А основной ОС у провайдеров в то время была FreeBSD. Так вот, одной из первых задач на работе была "разберись и запусти". А на десктопах у нас тоже FreeBSD или Linux стояла. Ну я с ней конкретно помудохался (как сейчас помню, это была Amanda ранних версий) - но завёл на своем компе, о чем и отчитался шефу. На следующий день прихожу на работу - комп выключен. Включаю - загрузка с диска не идет (но в BIOS определяется). Я слегка в шоке. И тут заходит шеф: "Настроил? Все работает? Тогда ВОССТАНАВЛИВАЙ! Включаю таймер, время пошло".
Восстановил. Минут за 40.

Вы бы ещё бы Atari 2600 вспомнили. Все его фишки - как раз из его ограничений. А без них - имеем Windows 11 и "Абстрактные фабрики фабрик"

А мне вспомнился Генри Форд с его "вы можете купить у нас автомобиль любого цвета, если этот цвет - черный")

Впечатлило что оно умеет в айтишный жаргон: в ответах (для промптов на русском) проскакивают "Врапперы, кастомные, невалидные, нативные" и т.п.

Моё (целенаправленное и осознанное) изучение английского началось с того (где-то в 1997-м), что я снес с компа весь "русифицированный" софт, начиная с (тогда еще 95-й винды). Результаты (ну именно в чтении, не в разговорной речи само собой) начал ощущать ~через полгода.

Tarkov - кстати тоже по лору именно к "Мародеру" близок. Хотя мне по ряду известных причин не близко ни то и не другое.

ТОРТ! И не перевод (!!!) От души + вам в карму. Занятное совпадение: я когда-то писал кассетный вootloader для ZX-Spectrum и тоже назвал его 2BL (только я имел в виду 2-blocks-loader)

Информация

В рейтинге
3 952-й
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность