А вот тебе сгенерированный моей программой двухуровневый сигнал со спектром, заданным АЧХ фильтра Кауэра 3 порядка. Попробуй вычисли его спектр с помощью какого-нибудь звукового редактора, например.
А вот тебе сгенерированный моей программой двухуровневый сигнал со спектром, заданным АЧХ фильтра Кауэра 3 порядка. Попробуй вычисли его спектр с помощью какого-нибудь звукового редактора, например.
Barmaley_m, загрузчик commodore
источник
может будет полезно?
"наличие готового программного обеспечения для нового компьютера в наши дни имеет мало смысла."
"Еще вопрос - почему на Спектруме большинство звуков на AY булькающие ? Как это исправить ?"
(c) zst
Ребята, может, оживим тему немного? Надо сделать еще один рывок и понять, почему формат не работал на магнитофоне Haywire.
Перечитал старые сообщения. Похоже, я был слишком категоричен и отказывался от реальных испытаний, считая, что причины искажений понятны, а на самом деле это не так. Хочу попробовать выяснить конкретно по магнитофону Haywire - что там именно за искажения. Возникают ли они при записи или при считывании. И проявляются ли они на других экземплярах Spectrum +2.
Требуется помощь клуба. Обладатели Spectrum +2 со встроенными магнитофонами, включая Haywire - отзовитесь! Я вышлю вам кассету с записью в новом формате, ваша задача будет вставить ее в магнитофон и попробовать загрузить.
+2 есть
А практический смысл есть в этом новом формате? Хотя бы с позиций ретрогейминга и т.п. Или спорт в чистом виде?
- - - Добавлено - - -
Имею в виду, что найдётся хоть один человек, который будет переделывать загрузчики к играм? А если и найдётся, то с кассеты обычно грузят поностальгировать, услышать "те самые" звуки. А тут звуки не те самые )
Куплю корпус и материнку от Spectrum +2/+3
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Привет... Мне, как фанату ленточных загрузок, стало интересно, поэтому я перечитал почти всю эту вашу тему... В общем, я сохранил то, что сохраняет твоя сохранялка (версия 130717, это последняя?). И мне сразу не понравилось то, что у тебя неравномерно выдержаны фронты сигнала, в результате чего волна после выхода из эмулятора, и из звуковой карты, и после входа в другую звуковую карту, превращается во что-то вообще непотребное... И это без всяких магнитофонов.
Стандартный спектрумовский сигнал так же уродуется, но при этом остается читаемым.
Я могу объяснить, почему эмуляторы твой контент могут прочитать. Поскольку эмулятору не известно, что придет на современный вход с АЦП хорошего разрешения, то, как вариант, по входящим данным считается скользящая средняя необходимой глубины, которую можно принять за середину, все что выше нее принимается за 0 для порта, все что ниже - за 1, ну или наоборот. В результате, какой бы ужасной ни была волна, эмулятор, или утилита для выделения сигнала, без труда передаст нужный бит либо в виртуальный порт виртуального Спектрума, либо в файл образа кассеты. Но реальный Спектрум такое вряд ли сможет. У него середина фиксированная, никуда с этого значения не уедет. Более того, она еще и не совпадает обычно с серединой, которую выдает магнитофон... У моих Спектрумов при загрузке ни разу не было красно-голубых полос одинакового размера, т.е. один фронт у приходящей волны пилота всегда оказывался длиннее, второй - короче. И дело не в громкости, ибо громкость увеличивала амплитуду сигнала относительно центра сигнала магнитофона, а центр разделения 0 и 1 порта Спектрума был иным. Более того, частотная модуляция предполагает, что в случае чего может быть пойман вообще противоположный фронт волны, и без проблем данные начнут читаться с него...
В рамках одной звуковушки все более ли менее хорошо выглядит, ну и там отлично видно, что фронты сигнала ты по длительности не выдерживаешь. К чему это приводит?! Тебе ведь известно, что прямоугольная волна, которую выдает Спектрум, после всех усилителей, процессов записей, процессов чтения, превращается в синус? Что это такое, по-твоему? Такой ровненький синус, повторяющий контуры волны? Ну отдаленно конечно повторяет, спору нет... Для волн, у которых фронты одинаковы по длительности. Этот синус - это результат работы всего этого НЧ-фильтра, представленного в виде всех этих процессов, всей электроники, которую проходит сигнал... Ну там на пути сигнала всякие конденсаторы заряжаются, разряжаются... Математически можно представить тоже в виде скользящей средней по данным сигнала с определенной глубиной. Таким образом, когда ты не выдерживаешь равномерность волны, делая один фронт длиннее, а второй - короче, ты как бы не даешь волне вернуться к противоположному... Эмм... Бортику. Уровень остается по большей части выше центра, затем за более равномерные колебания возвращается к центру, но у тебя уже часть данных прошла над центром Спектрума (ну та граница, разделяющая значения 0 и 1 для порта), и он там уже что-то пропустил, или твой алгоритм посчитал, что скорость не соответствует... Построй график скользящей средней по значениям генерируемой тобою неравномерной прямоугольной волны, и увидишь наглядно, о чем я говорю. Кстати, получается ни что иное, как НЧ-волна, которую как раз ты и порождаешь своими действиями... Если магнитофон хороший, то он прилежно ее запишет, и потом проиграет... Если где-то усиление низов, тогда плохо совсем... Зато какая-то мыльница, у которой отрезаны низкие частоты, возможно, не заметит такое, но вроде бы речь шла о надежном способе чтения, и чтоб никаких специализированных магнитофонов?!
В общем, я вам предлагаю, прежде чем возиться с кассетами, для начала зафиксить этот момент... Всегда уравновешивать порт для каждого элемента данных. Дал длинный фронт, второй таким же длинным должен быть. Иначе, боюсь, не выйдет... Ну или же стало бы возможным и без всяких алгоритмов удвоить скорость, передавая биты каждым фронтом волны... Соответственно, если хотите, чтобы любой бит информации был одинаковой длительности, то нужно, например, ноль представить как две волны, по длительности суммарно равные волне единицы.
Что касается практического применения... Мне кажется, смысла нет возиться с этим, разве что действительно как чисто спорт, ну или для собственного развития, и лучшего понимания процессов передачи данных... Тем более сегодня времена эмуляторов. Для эмуляторов такие форматы, предполагающие несколько размеров волны для "00", "01", "10" и "11", не сильно удобны... Сложно будет с перехватом и распознанием такого писка налету, в результате, придется формировать длинные TZX-файлы, неэффективно сохраняющие данные. На мой взгляд, хоть какой-то практический смысл был бы в однобитовых турбо-загрузчиках с коррекцией ошибок налету.
Последний раз редактировалось cafedead; 24.07.2018 в 03:08.
Я записывал игры на кассету в своем модифицированном формате - каждый бит записывался не двумя полупериодами/фронтами, как в оригинале, а одним, причем длины полупериодов были вдвое укорочены, таким образом, скорость в целом была в 4 раза выше. Читалось хорошо, правда 1) у меня в магнитофоне был встроен цифровой усилитель сигнала записи; 2) работало только на хороших кассетах - с красной/черной пленкой (BASF, Sony и подобные), на серых советских пленках не работало. Читаемость была выше, чем у обычного формата с записью бита двумя полупериодами с учетверенной скоростью.
Несколько лет назад я пытался оцифровать свои записи, часть оцифровал, потом надоело. В своей программе оцифровки пришлось перейти от подсчета времени ниже/выше уровня нуля к подсчету времени между экстремумами уровня сигнала в WAV файле, плюс делать восстановление информации по контрольной сумме в редких случаях, когда длина полупериода была сомнительной. А, и фильтровать сверхкороткие полупериоды.
Последний раз редактировалось Spectramine; 24.07.2018 в 09:12.
Не плохо. Но с уверенностью могу предположить, что на другом реале и с другим магнитофоном не прочитали бы ничего. Опять же конкретно на вашей связке читаемость вашего формата была выше, но в среднем по палате, по всем Спектрумам и всем магнитофонам в хозяйстве, читаемость выше именно у спектрумовского загрузчика. Исследований я не проводил... Просто по картинке волны сужу. Думаю, британцы при разработке все провели. В любом случае, если уравновесить волну как следует задним фронтом, сделать его таким же по длительности, возрастает стабильность сигнала в целом, не говоря уж о возможности подхвата заднего фронта. Можно пробовать давить частоту выше, чем с кривыми полу-волнами.
Последний раз редактировалось cafedead; 24.07.2018 в 13:22.
Нет, я для чтения пользовался несколькими магнитофонами, проблем с чтением не было. Насчет другого реала не скажу, у меня был только Орель БК-08, но при оцифровке на PC вытаскивал почти всё.
На стандартной скорости да, я имел ввиду учетверенную скорость обычного формата с двумя полупериодами на бит - такой формат был уже слабо пригоден к использованию, даже с цифровым усилителем записи, при той же плотности записи, что у моего формата.
Последний раз редактировалось Spectramine; 24.07.2018 в 16:51.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)