Быстрая загрузка игр с ленты для ZX Spectrum | Fast loading games from tape on ZX Spectrum
HTML-код
- Опубликовано: 10 апр 2023
- #zxspectrum #loading #tape #кассеты #загрузкаигры #быстраязагрузка
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
/ @wally2011ua
---
Скачать TZX файл с игрой, который получился в видео:
drive.google.com/file/d/1Jiy-...
---
💰Поддержать канал: new.donatepay.ru/@694657
💰Альтернативная страничка поддержки: donatello.to/wally
---
🎮Реквесты игр, музыки и личные счета: docs.google.com/spreadsheets/...
---
🎶Мой второй канал с музыкой: / @wally.eleksir4ik
---
🎼Страница на Patreon: patreon.com/user?u=86173417
🎼Страничка на boosty: boosty.to/wally
---
📧Канал в Telegram: t.me/+TcWktfd-94JlNjZi Животные
Сергей, от меня жирный лайк!
Хоть я с этим давно знаком, но приятно, что есть хорошая инструкция в твоём исполнении.
;)))
Эх... Где ты был в 90 году?)))
В садик ходил 😅
Помню удивление свое, когда впервые увидел загрузчик с кассеты, который в себе обратный счетчик ленты на экране имел, как в магнитофоне. Тем более мой мафон был без счетчика !
4:02 Порт 8-битный
В 90е года, когда у меня был первый Спектрум 48к, мне перепрошивали ПЗУ и компьютер мог после этого грузить игры в 3х режимах: Обычном, Турбо и Быстром(quick) режимах. В турборежиме можно было записать игры на любую кассету, держалось хорошо, загрузка была около 2-3х минут, а в Быстром режиме только на хромовую кассету, чтобы они читались, но и то со временем в быстром режиме игры выдавали ошибки при загрузке. Так что мне турбо-режима хватало, чтобы быстро загружать игры.
помню в 90-е уже были быстрые загрузчики с магнитофона , пока я не поставил дисководы. Так что это не новость
Очень интересное видео! 👍
Сергей просто суперское видео , спасибо большое за проделанную работу , подумай о видео как вводить Читы в спектрумовских играх я до сих не умею , всех благ тебе , ты просто молочина !
О я знаю как это сделано, спасибо друже, аж олдскулы свело.
Олдскулы, нюскулы. Главное, чтобы спину не свело, остальное можно.😉
Помню загрузчики на ассемблере интегрировал прямо бейсик-загрузчики. С ускоренными загрузчиками не экспериментировал, только картинки сжимал и заголовки убирал, но получалось красиво - грузится коротенький бейсик-загрузчик, а после него сразу идут без заголовков сжатая картинка и сама игра :)
Баловался подобной (или даже этой) программой для ускорения загрузки. Однако, требования к качеству кассет и магнитофона на максимальных скоростях были недостижимы в условиях того времени. Вроде только на 4й или 5й скорости и импортных кассетах получалось что-то стабильное. А большие скорости настолько повышали вероятность ошибок, что получалось дольше из-за загрузки с 3-4й попытки :)
Это сейчас цифровые устройства записи-воспроизведения имеют полосу частот более 20 кГц и без завалов фронтов. А тогда на бытовом магнитофоне едва ли на 5...8 кГц можно было рассчитывать.
Интересно, а были ли загрузчики, которые не просто изменяли скорость, но и сам принцип кодирования? Например, с использованием обеих полупериодов сигнала для передачи данных. В стандартном варианте же информационный "0" передаётся как короткий аудио "0", потом короткая аудио "1", а информационная "1" как длинный аудио "0" и длинная аудио "1". С точки зрения кодирования информации, такой алгоритм избыточен в 2 раза. И вряд ли эта избыточность применялась для коррекции ошибок. Можно устранить избыточность, разделяя информационные биты перепадом сигнала в противоположную сторону и кодируя состояние бита длительностью импульса (не важно, какого уровня, просто инвертированного от предыдущего).
Ну или ещё какие-нибудь более экзотические методы, типа Манчестерского кода или ШИМ-кодирования.
Да, нестандартные загрузчики с ленты - интересная тема, вот еще что было интересно и не обычного в то время: 1) бейсик загрузчик с интегрированным набором. Машинных команд за оператором REM; 2) загрузка блока данных без 17байтного заголовка после бейсик загрузчика (аля защита от копирования - копировщиками которые требуют 17 байт заголовка); 3) нестандартное развёртывание картинок - отображение 256 байтной строки экрана, не последовательно друг за другом, а с шагом в 256 байт - что дает плавную построчную загрузку картинки, ввиду специфичной организации памяти экрана; 4) нестандартная загрузка картинок с указанием знакоместа куда в видео памяти вывести только что загруженый байт (картинка появляется по знакоместам, как того желал разработчик); 5) нестандартная загрузка с изменением цвета бордюрных полос индикации загрузки; 6) нестандартная загрузка всех 64кб памяти (ПЗУ+ОЗУ) как способ защиты от копирования…
Оо, эти темы у меня тоже лежат в "мешке неразобранного". Сделаю и по ним видео, но сперва разберусь о встраивании кода в basic, в нулевую строку. Я до сих пор не могу понять, какие условия нужно соблюсти, чтобы все это работало.
@@Wally2011ua Всех нюансов уже не припомню, но делал так: первой строчкой писал REM и текст по количеству символов соответствующему длине блока в маш.кодах. Порядковый номер строки изменялся на нулевую строку. Далее писался код очистки стека CLEAR и запуска маш.кодов USR 23xxx. Далее с помощью выполнения небольшой строки без номера (соответственно заноса в память) забивалась область памяти за оператором REM в нулевой строке по определенному адресу. Собственно после этого нулевая строка изменялась, становилась не редактируемой и не удаляемой, редактор бейсика такой наглости от нас не ожидает ;) затем загрузчик выгружался на ленту. Главное запись в правильный адресс памяти после оператора REM (можно найти в справочнике, так на изусть не помню, 233xx - что то в этом роде)
Помню в свое время продавались аудиокассеты с играми для zx, которые были записаны на турбо-скорости. Правда, загружались не все игры.
Помню был спек с турбо режимом, я просто магнитофон модифицировал, ускорил ленту в 2 раза и грузил обычные кассеты
На канале "Алекс ЕКБ" автор на одном из стримов, посвященных его разработке "мурмулятор", зарисовывал схему читалки, которая по его словам в разы стабильней работает со всевозможными турбо-загрузками
тыыыыыыыыыыыыы.... не один. ДДТ форева.
На многих импортных двух-кассетниках была кнопка ускоренной перезаписи. Я ей постоянно пользовался для ускоренной загрузки.
Не сказал, с какой скоростью то перезаписал через квиксэйв? Ну, судя по контексту - с максимальной, 9 ?)
Посмотри в сторону турбо загрузчика от лешего, там была такая фишка если в процессе загрузки была ошибка, то можно было просто отмотать ленту на пару секунд назад и загрузить проблемный участок с ленты. Имеется ввиду не блок с пилот тоном а именно кодовый блок на несколько секунд назад.
Очень интересно как устроен такой загрузчик. Как программа определяет, что загружается именно этот проблемный участок, а не какой-нибудь другой?
Помнится на БК 0010.01 был Help 7, конечно Десантник приходилось долго грузить...
Этот загрузчик позволит бессмертие поставить ?
Коль уж поднята тема релизов игр с ускоренной загрузкой то хочу сказать что в группе Tape Version так же выкладываются игры с ускоренной загрузкой от различных релизеров. К примеру та же игра Saboteur 2 есть в релизе от Мезон где загрузка идет с троекратным увеличением скорости
Только там загрузчик нужно прямо в бейсик вшивать в данные.
Нагугли программу O.T.L.A. 2.2.
Чтобы не мучиться переводом семплов:))
На современных клонах Спектрума на врятли будет работать. На моем ZX 128 Spider не грузится турбозагрузка. Только с ПЗУ 90-91-х годов. А вот обычная грузится со смартфона. И также грузил в Синтез-2 клон 1993 года выпуска, турбозагрузку в Синтез не пробовал. По-моему Итальянец разработал современную турбозагрузку по аудиовходу ZX-Spectrum
У меня в эво даже стандартная загрузка не "заходит". Пилот-сигнал ловит и все срывается. Зато пентагон отлично все переваривает.
Так что проблема не программная, а скорее аппаратная. Видимо что-то на аудиовходе создает помехи.
Скорей всего дело в таймингах. Стандартный загрузчик очень критичен к количеству тактов процессора которые проходят между интервалами смены уровня сигнала. Есть определенные константы в ПЗУ которые определяют количество пустых циклов процессора. Если процессор выполняет команды быстрее стандартного z80, то константы нужно подбирать соответствующие. Турбозагрузчики писались и ориентировались на стандартный z80, a потому банально тайминги идентификации 0 и 1 соответствуют увеличиной скорости записи + учитывается такты процессора. На новом железе разработчики подбирают константы в ПЗУ уже с учетом того процесора который используется, и стандартный загрузчик нормально грузит данные с ленты, а вот софт турбозагрузчика ничего о новом железе не знает, а ориентируется на стандартный z80 - отсюда лажа
@@Wally2011ua Ваш файл Saboteur 2 tzx еще я не пробовал загружать в Spider 128, пока только скачал, тогда попробую грузить через программу ZX Tape Player на смартфоне. Это у меня не грузит турбозагрузку файлы в формате Wav и Mp3, что мне дали, когда покупал ZX Spider 128
@@maxims8138 На ZX 128 Spider на плате есть переключатель таймингов 128/48 при турбозагрузке не смотрел какой тайминг памяти стоит. Может нужно переключить на 48
@@Wally2011ua Да и в ZX Evolution можно грузить с Sd-карты мгновенно, так же как и на звуковой карте NeoGS, уже встроенный контроллер DivMMC. Софт и игры под звуковую карту есть, например такие совоеменные игры как Time Gal; Pag и старые игры тоже переделывают под новый звук мультимедия - Zynaps; Tujad; Chronos и др. Музыка и звуковые эффекты отличные!!!
Файл TZX не доступен. Wally, попробуй другой хостинг использовать.
Ссылку обновил - все доступно.
5:22 вау, Скрябін
4:26 - вообще-то это переходные процессы...
Это навязчивое квакание напрягает