Последний раз редактировалось EvgenRU; 17.02.2017 в 20:42.
Безуспешно пытался запустить эмулятор, пробовал несколько версий. Точно могу сказать, AY_Emul_245_2ch_m8_ay_speaker.hex с конфигом Conf_parallel_24MHz_1_75Mhz.hex у меня на Ленинграде не взлетела.
AY_Emul_245_2ch_m8_ay.hex без спикера тоже пробовал, не заработала.
Стал перебирать версии. Самая старшая, которая заработала 24.2 под Atmega8 файл AY_Emul_242_2ch_speaker.hex и конфиг Conf_parallel_24MHz_1_75Mhz.hex
Хм... весьма странно...
но там в этих версиях отличия небольшие, хотя звучание у 24.5 лучше.
у меня 24.5 работает без проблем как и 24.2, я все версии проверяю на железе, прежде чем выложить
UPD:
проверил на своей разработке, 24.5 глючит безбожно на Atmega48 в параллельном режиме, если вставить код обработки прерываний из 24.2, то всё работает более-менее хорошо.
Видимо здесь еще от генерации BC1/BDIR зависит, у меня на тестовом ZX было на ИД7, всё норм работало, а тут на логике и глючит, так что скорее всего переделывать буду под вариант из 24.2
Последний раз редактировалось EvgenRU; 08.05.2017 в 10:29.
Выкладываю новую версию с исправлениями в параллельном режиме, полностью проверенный и рабочий вариант!
Вот, прогнал тестом на всякий случай
Последний раз редактировалось EvgenRU; 08.05.2017 в 15:35.
прошил последнюю версию на 27мГц в Atmega8a-AU TQFP-32 , подключаю к PLM-X комп постоянно ресетится может как-то не так прошил?
загрузил в понипрог прогу и епром, сохранил все одним куском и прошил вилемом, фьюзы L-CE H-CF
- - - Добавлено - - -
прошил последнюю без спикера, тест 4.30 не видит AY, через 5-7 мин. начинаются глюки компа, без эмуля работает нормально
- - - Добавлено - - -
может кто выложит полные рабочие прошивки на 16, 20, 25, 27 мГц 1.75 , чтоб не заморачиваться с конфигами
и насколько понимаю Клок генерится внутри Меги и дополнительный генератор не нужен
Последний раз редактировалось tank-uk; 13.06.2017 в 13:33.
Скрытый текст
Специалист "УЦА" +SD-Vinxru +PS/2-Vinxru
PLM-X 128 + AY -эмуль на 8меге
Profi V3.2 - 768+Color-CP/M+ProfiExtender Solegstar
Profi V3.2 -1024 Sim30+Color-CP/M+ProfiExtender Solegstar
Pentagon 1024SL 1.42 - работает не совсем стабильно
ZXM-Phoenix V06
ZX-Evolition Rev C2 White FSP-MItX
Sprinter 2000 v.Zorel
Karabas128 + ZX-Taper by TrolSoft +DivSD +ScanDoubler
ZX-UNO v4.1 2М с 4 переключаемыми флешками
Поиск-1 - ждет ремонта
Корвет ПК8010 up to 8020
MisT 1.31
Galaksija + SMD
[свернуть]
заработало, мега сильно фонила на плм-ку, навесил кондеров и все ОК
Скрытый текст
Специалист "УЦА" +SD-Vinxru +PS/2-Vinxru
PLM-X 128 + AY -эмуль на 8меге
Profi V3.2 - 768+Color-CP/M+ProfiExtender Solegstar
Profi V3.2 -1024 Sim30+Color-CP/M+ProfiExtender Solegstar
Pentagon 1024SL 1.42 - работает не совсем стабильно
ZXM-Phoenix V06
ZX-Evolition Rev C2 White FSP-MItX
Sprinter 2000 v.Zorel
Karabas128 + ZX-Taper by TrolSoft +DivSD +ScanDoubler
ZX-UNO v4.1 2М с 4 переключаемыми флешками
Поиск-1 - ждет ремонта
Корвет ПК8010 up to 8020
MisT 1.31
Galaksija + SMD
[свернуть]
А никто не подскажет, на какой композиции там проверяют звучание?
http://fotogalleria.info/pub/ZXSpeccy/AYEmul/Audio/
А то хочу подправить шум, хотелось бы выбрать такую же композицию для тестов
PS: там еще и такая картинка есть
UPD: скоро будет новая версия эмулятора, будет переделан микшер на исходный вариант, т.к. мой слух говорит мне, что такой вариант более приближен к звучанию оригинала.
Пример звучания можно оценить по данной ссылке
http://avray.ru/files/broken_j.mp3
http://avray.ru/files/Optron40.mp3
http://avray.ru/files/BigThings.mp3 (player v13.0)
http://avray.ru/files/BigThings2.mp3 (player v13.1) !!! true noise!!!
Последний раз редактировалось EvgenRU; 08.07.2017 в 02:15.
NEW VERSION: Новая версия эмулятора, исправлен генератор шума, выходит он всё-таки работает по XOR, попутно небольшой фикс в генераторах тона.
Теперь на слух не отличить от оригинала но время как всегда покажет
UPD: наверное возникают вопросы по поводу конфига, опишу его формат
Конфиг состоит из 4 байт
1) USART_ENABLE: 0 - отключено, 1-включено (если включено, последовательный режим активен)
2) INT_ENABLE: 0 - отключено, 1-включено (если включено, параллельный режим активен)
3) ICR_VAL: значение ICR
4) UBRRL_VAL: значение скорости USART можно вычислить в калькуляторе, коих полно в интернете, только учитывайте, что USART работает в режиме с удвоенной скоростью, например здесь (смотрите там где U2Xn = 1)
http://wormfood.net/avrbaudcalc.php?...C32&databits=8
ICR вычисляется по формуле:
AVR_crystal_value/PSG_generator_freq/2-1
где
AVR_crystal_value - частота кварца атмеги
PSG_generator_freq - частота генератора AY, например, для 1.75МГц будет 1750000/16=109375, т.е. частота AY/16
пример:
AVR работает с кристаллом 27МГц, нужно получить звук похожий на AY с кварцем 1.75МГц
27000000 / (1750000 / 16) / 2 - 1 = 27000000 / 109375 / 2 - 1 = 122.43 = ~ 122 т.е. значение ICR будет 122 или 123 на ваш вкус.
Если немного упростить формулу, то получим 27000000 * 8 / 1750000 - 1, т.е.
(AVR_crystal_value * 8 / AY_crystal_value - 1)
Соответственно можно рассчитать это значение для любой частоты генератора AY
Далее, сделав такой бинарный файл из 4 байт прогоняем его утилитой bin2hex, результат и будет конфигом прошиваемым в EEPROM
Последний раз редактировалось EvgenRU; 08.07.2017 в 21:10.
ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)