Важная информация

User Tag List

Показано с 1 по 1 из 1

Тема: tape2esxdos

  1. #1
    Member
    Регистрация
    28.08.2023
    Адрес
    г. Брест, Беларусь
    Сообщений
    48
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию tape2esxdos

    Тут работы над следующей версией приостановились естественным путём на неопределённое время и я беру на себя смелость от лица коллектива авторов громогласно заявить о нашем небольшом проекте в связи с его практическим и логическим завершением.

    tape2esxdos AKA t2esx, программа для передачи файлов на спектрум, работающий с esxdos и, естественно, записи этих фалов карту/диск. Программа не требует ничего, кроме esxdos, на стороне спектрума и ничего, кроме проигрывателя TAP/TZX для передачи. Недавно созданное Web приложение позволяет обойти предыдущий пункт и отправлять файлы прямо из браузера, то есть нужен только компьютер с аудиовыходом (в теории, подойдёт и смартфон — мы пока не пробовали). Но, основным способом является подготовка данных с помощью скрипта на Питоне.

    Программа была создана для достаточно простого, но, всё же, как мы считаем, достаточно часто встречающегося случая — когда надо передать пару файлов и неохота или неудобно вытаскивать карточку. Собственно, она так на свет и появилась, в момент когда я «запер» карточку в корпусе своего Sizif’а. В простейшем случае алгоритм передачи предельно прост: соединяем аудио выход компьютера с магнитофонным входом спектрума, заходим на страничку web приложения и… всё, передаём что-там-надо. Для приёма можно использовать dot command, там есть несколько настроек/параметров командной строки, но это для сильно специфичных случаев.

    Ограничений, по сути, два:
    - Максимальная скорость зависит от максимальной частоты Z80. Если нет turbo/overclocking можно ускорить раза в два (TZX для владельцев оригинальных 48/128). А если в вашем спеке Z80 честно разгоняется до 28МГц, можно передавать в 8 раз быстрее. И нет, ускорить TZX в 16 раз не получится, TZX почему-то работает только на 3.5МГц.
    - Там всё таки esxdos через API, чьи возможности в 2024-м уже не кажутся «такими этакими».

    Краткое описание web интерфейса


    Cлева направо, сверху вниз:
    Кнопка/меню выбора аудио устройства для проигрывания, если у вас их несколько. Работает по милости создателей браузеров, наиболее оттестировано в Firefox.
    Проигрыватель, можно переключаться между передаваемыми фрагментами.
    Вторая строка:
    «Chunk size» Размер буфера для передачи -- 16K максимум, что может принять за раз; использовать меньшее значение стоит только когда есть ошибки передачи/приёма.
    «Prepend T2ESX» добавляет код «приёмника» перед данными, на спеке достаточно запустить LOAD "".
    «First chunk delay (NextZXOS)» добавляет задержку, чтобы приёмник имел достаточно времени для открытия файла. Нужно для Next с его эмуляцией esxdos API, для нормального esxdos пока мы не видели, чтобы было полезно.
    «Pause between chunks» в зависимости от скорости DivMMC и/или носителя, esxdos может потребоваться много времени для записи буфера. Для SD Card 1..2, вроде, пока хватает, но все карточки разные. А ещё, вдруг, у кого старый добрый винчестер завалялся (но, тут уже 4, максимум в web, не спасёт, надо split.py использовать).
    «Playback speed» влияет ТОЛЬКО на воспроизведение TAP (средняя колонка).
    [свернуть]


    планы


    Планов, собственно говоря, на данный момент нет. Все участники проекта потеряли интерес к его развитию, так как реализовали как свои «хотелки», так и пожелания друзей и родственников. Была мега задумка прикрутить FatFs, но не срослось, не заработало оно на 8-ми битах толком с FAT32.
    [свернуть]


    README.ru.md


    # tape2esxdos AKA t2esx

    Как уже все сообразили, это не перевод README.md, а краткий пересказ
    сути для понимающих

    Мега-штука в 2.1 -- Web Frontend. Идём на
    [https://tape2esxdos.sourceforge.io/t...rge.io/t2esx/),
    перетаскиваем туда файл для передачи, выбираем скорость (процессора) и
    жмём на пиктограмму WAV (правее "TAP"). Да, не забываем сначала набрать
    `LOAD ""` на Speccy Ничего никуда копировать и устанавливать не надо.

    Комплект для передачи данных на Спектрум через магнитофонный вход, без
    использования какого-либо дополнительного оборудования. Изначально
    создавался для решения проблемы "вот тут есть игра, надо закинуть на SD
    карточку, но невозможно её достать из корпуса". Требует Python на
    "большом" компьютере для подготовки данных и esxdos на Спеке (это
    уточнение для владельцев +3 ).

    Есть поддержка 2-х кратной скорости (turbo), практически полезно для
    оригинального ретро "железа". Для новомодных клонов с регулруемой
    частотой процессора лучше использовать TAP и просто проигрывать его в
    2/4/8 раз быстрее средствами проигрывателя. Там есть ещё поддержка ZX
    Spectrum Next, но нам это неинтересно

    Тонкость: поставляется в виде разных сборок с разными возможностями --
    48/128/и прочее из 80-х, там только turbo; с распознаванием частоты
    процессора -- помогает выбрать максимальную скорость передачи для
    современных клонов; и всё в одном.

    Тонкость: turbo на повышенной частоте, скорее всего, не сработает, мы
    пока не видели, где бы оно работало. Поэтому удвоить ещё раз
    максимальную скорость не получится.

    Комплект состоит из двух частей:

    - split.py для подготовки данных

    - t2esx в виде dot command или "обычной" TAP'ки для приёма данных и
    записи на SD карту

    Подготавливаем данные (несколько файлов можно упаковать tar'ом и сжать
    zx7'м):

    split.py DATAFILE

    > DATAFILE может быть полным путём.

    В том же каталоге, где находится DATAFILE оно сделает DATAFILE.xchtap.
    Странный суффикс выбран, чтобы не путали со стандартными TAP'ами, у нас
    немножко другой формат данных, распознать его может только t2esx.

    Из дополнительных возможностей:

    * -t сделает turbo TZX (.xchtzx), примерно раза в два быстрее

    * -s разрежет TAP (только TAP) на отдельные куски, это если, ну, уж
    совсем низкое качество передачи

    * -u добавит в начало код самого T2ESX, в TAP версии. Удобно
    для "одноразовой" передачи, если нет желания/возможности копировать
    dot command.

    остальное смотрите через split.py --help и в английском README.

    После чего запускаем приёмник на Спеке и проигрываем TAP/TZX с нужной
    скоростью. Если запаковали приёмник через -u -- просто проигрываем. Я
    проигрываю без затей tape2wav'ом, но тут никаких ограничений.

    Приёмник в виде TAP умеет только стандартную скорость и никогда не
    перезаписывает файл, если он уже существует. Затирает всю память.

    Dot command немного гибче, во-первых, она сама пытается найти место для
    буфера данных (16k). Если не сообразит как, придётся вручную подвинуть
    RAMTOP -- CLEAR 45055. Если сообразит, существующая BASIC программа
    останется нетронутой.

    * -f всегда перезаписывать файл, если он уже существует

    * -w заставит выделять буфер в WORKSPACE Бейсика, игнорируя область выше
    RAMTOP, полезно для сохранение вообще всего, что может быть в памяти
    (буфер размещается в "uncontended" RAM, выше 32767, т.е. свободная
    память до 32768 НЕ используется). -wl позволяет буферу начинаться ниже
    32768)

    * -bРАЗМЕР явно задаёт размер буфера. Скрытая опция только для читателей
    нашего блога: комбинация -b -wl выделит буфер максимального размера в
    WORKSPACE -- может понадобиться когда хочется сохранить всё-всё-всё,
    что есть в памяти.

    P.S. И про Next. Для dot command там автоматически задирается частота
    процессора до 28МГц, то есть, надо проигрывать TAP на 8-ми кратной
    скорости. Есть флаг командной строки -t (-tN где N=0,1,2,3 3/7/14/28Мгц)
    для явного выбора частоты. Используется Next'овый API, нигде больше,
    кроме Next и его **ПОЛНЫХ** клонов (N-Go и прочие) работать не будет.

    ## ФАК

    - Python выкидываем?

    > На данный момент (v2.1) все создатели пользуются командной строкой,
    > поэтому `split.py` будет развиваться и дополняться в первую очередь.
    > Плюс, опять же на данный момент, среди нас нет знатоков современного
    > Javascript. Присылайте патчи.

    - В моём Edge/Opera/Vivaldi/Epiphany/Links/whatever ничего не работает!!!

    > Приносим свои извинения, но, пожалуйста, ~~см. рис. 1~~ предыдущий
    > пункт. Мы не волшебники, мы всего лишь простые моряки с «Испаньолы» и
    > у нас только ~~лапки~~ Firefox. Присылайте патчи.

    - Так чего использовать-то?

    > 1. Next? используйте сборку `-next`
    > 2. Оригинал 48/128/+2/+3? используйте `-48k` (и TZX)
    > 3. Есть возможность повысить частоту процессора? используйте `-cpu` (и
    > 2/4/8-кратное ускорение воспроизведения TAP)
    > 4. Что-то не из вышеперечисленного? попробуйте `-all`

    - Сборка `-cpu` как-то влияет на скорость?

    > **НЕТ**, эта сборка просто измеряет частоту процессора, чтобы было
    > понятно, на какой скорости проигрывать TAP

    - Так зачем там turbo загрузка-то?

    > Исключительно для оригинальных 48k/128k, по просьбе владельцев. Если
    > есть что-то с регулируемой частотой процессора -- надёжнее просто
    > быстрее проигрывать TAP. Всё писалось изначально под Sizif-512 и потом
    > добавили Next. Эта пара является и будет являться наиболее
    > оттестированой.
    [свернуть]

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

    daniel (24.03.2024), Djoni (17.03.2024), kasper (19.03.2024), SoftLight (17.03.2024), valerium (17.03.2024)

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

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

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

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

Ваши права

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