А скорость загрузки?
Вид для печати
Загрузить последовательно два бита со скоростью 2х, или два бита параллельно со скоростью 1х -- теоретически по крайней мере это одно и то же. Конечно тут нельзя так говорить сразу, учитывая что мы вообще говорим о скоростях, которые для Вектора могут оказаться предельными.
- - - Добавлено - - -
Это да.
Я правда вообще не особенно радею за то, чтобы строго на Векторе все декодировать в софте.
ivagor, svofski, нашёл глюк в загрузчике FM9, или в его реализации в bin2wav, а именно если сгенерировать wav-ку с программой с нулевого адреса, то после первого этапа загрузки происходит "тайна чёрного экрана", т.е. ничего не грузит. :( Файл wav делал так:
С других адресов, отличных от 0, всё работает.Код:bin2wav test.r0m test.wav -s 0 -m v06c-turbo
К сожалению просто загрузка с 0000 не поддержана в имеющемся варианте загрузчика FM9.
Это можно исправить? Как я понял, проблема в проверке номера первого блока, он должен быть ненулевым, вот тут:
Если тут в отладчике остановить и сбросить признак Z, то дальше всё грузится, с некоторыми оговорками, причём проверки на общее количество блоков там нет, оно может быть и нулевым. Это проверка на ошибки чтения, или тут возможно пересечение с каким-нибудь другим форматом записи Вектора?Код:L_DBB2: CALL L_DB3D
DCR C
JNZ L_DBA3
CALL L_DB3D
ORA A
JZ L_DB80
Ограничение не принципиальное, можно убрать
1) проверку на 0 в начале
2) записи в район 0-FF в конце. Ну и убрать еi.
Вроде это все. Изначально ограничение на загрузку с 0 было связано с тем, что в области 0-FF размещались процедуры чтения байт, которые вызывались по rst. Для загрузки с неотключенным пзу это не подходит и svofski (или я, уже не помню, но скорее всего svofski) переделал на call, вроде это прокатило и загрузка не поломалась.
Improver, картинка красивая, если юзать AudioCD. А на реальной ленте с реальным мафоном 2го или чаще 3го класса у нас будут фазы плыть как та шлюпка по течению реки.
HardWareMan, из-за амплитудных отклонений, или из за взаимного влияния каналов? Механически левый-правый дб рядом вместе. А что ты думаешь про запись в противофазе, как дифф. канал, только на пленке?
HardWareMan, это пока только теория, требующая проверку опытом.
ivagor, а ты видел Slushload ? Я не следил за развитием турболодырей, но похоже, что Slushload справляется с аж 13700 бит/сек на стандартной датасетте в хорошем состоянии. В нем используется 4 (опционально 3) длины импульсов. Наверное ими кодируется 4 символа. К сожалению я не нашел более подробного описания.
Интуитивно кажется странным то, что 4 длительности импульса надежно декодируются и оказываются устойчивыми к вау и флаттеру.
С комодом мне тяжко, я какой-то спековский турболодырь смотрел, он вроде в этом районе или даже быстрее.
Да, разбирать комодовский код это мрачняк. Но лодырь в общем можно анализировать на слух. Думаю, как называется кодирование в котором 4 разных длины импульса кодируют 4 символа? Правда я попробовал сгенерить сам и вижу только три длины, не знаю где четвертая. Лодырь самим слашем называется "4 pulse huffman loader".
Могу только сказать, что мне именно такой подход (разные длительности импульсов) представляется самым продуктивным, я его в FM и использовал. Правда у меня только 2 варианта, но у меня нет реала, а как оказалось различия с эмуляторами при высоких скоростях есть. 2 варианта длин все же проверены на реале и работают. А дальше карты в руки реальщикам.
Я просто напомню: Codemasters CD
Не знал про такую штуку, Improver тоже предложил CD, идея носилась в воздухе.
Есть скоростной загрузчик ROM с автозапуском.
https://www.youtube.com/watch?v=B64Wzztin-o&t=9s
Возможно ли на основе этого загрузчика сделать следующее - грузится загрузчик с автозапуском, далее запущенный скоростной загрузчик начинает грузить в экран заставку (причём рисуется непоследовательно,а в разные части экрана). Далее грузится игра по своим адресам и запускается.
Теоретически это частично возможно, потому что скоростной загрузчик сам живет в экране. Но он в нем занимает совсем чуть-чуть. Вот исходник loadfm, который используется в автозагрузчике https://github.com/svofski/bin2wav/b...oadfm-db00.asm Совсем немного покумекав, наверное можно сделать в нем перемежение данных с адресами, чтобы допустим для каждого блока из 8 байт указывался адрес загрузки. Но готового ничего такого нет.
В загрузчиках по адресу 38h или процедура задержки, как оригинальном загрузчике, или просто ret, как в более новых, поэтому палитру запрограммировать можно. Вот отключить пзу программно никак не получится, тут потребуется содействие пользователя, чтобы он нажал БЛК+СБР. Поэтому из перечисленного
автоматически возможно все, кроме "запускается". Хотя были векторы с автозапуском, но наверно не стоит рассчитывать на них, лучше написать пользователю, чтобы он нажал БЛК+СБР для старта игрушки.