ну он же не по умолчанию там стоит
Вид для печати
Вот тут, кстати, тоже интересное понимание монолоадера. Но мне все же больше нравится классическая трактовка - один склеенный файл с расширением B, который можно невозбранно копировать в любые коллекции. Собсна, современные релизы рассчитаны на использование образов в том виде, в котором их положил автор.
PS А мне как-то никогда не лень было сделать читалку каталога...
Тут вообще дикое понимание )) Одна строчка "HИКАКИХ СКЛЕИВАHИЙ. И ДОЗАГРУЗОК ЧЕРЕЗ ТР-ДОС. Программа прячется в REM строке программы ЦЕЛИКОМ" чего стоит )) ..Оно бы всё ничего, но есть куча игр которые никак не влезут в REM строку целиком. Это и 128-ые игры, и 48-ые с левелами. Интересно посмотреть на автора этих строк, как он будет целиком запихивать в REM например Last Ninja 2 или CHASE H.Q. :D
Опять-таки всё бы ничего, но в 255 секторов не всё влазит. Так то бы оно понятно, что один файл - завсегда лучше. Кстати скоко живу - ни разу не возникало ситуации, чтобы копировщик что-то скопировал в неправильном порядке.:oЦитата:
Но мне все же больше нравится классическая трактовка - один склеенный файл с расширением B, который можно невозбранно копировать в любые коллекции. Собсна, современные релизы рассчитаны на использование образов в том виде, в котором их положил автор.
PS А мне как-то никогда не лень было сделать читалку каталога...
Я тут подумал.. могу доработать свой релиз, так, чтобы по прежнему было два файла, но чтобы они работали в любом порядке)) это даже бейсиком делается)) вот только не могу понять, нафига оно надо. Разве что чисто из спортивного интереса.
Кстати, можно как-то все 3 части рекса всё-таки запихать в 255 секторов? Можно же склеить две части, а потом полученный файл пожать, там же дофига одинакового, должно хорошо пожаться. Или сначала пожать каждый отдельно, потом склеить и еще пожать?.. В случае успеха, можно всё это дело грузить по кусочкам и распихивать по 128-ым страницам, потом выбор части, потом склеиваем нужный кусок и запускаем его. Кто что думает?
если файлов много объединяют в моноблок то как правило между ними есть неиспользуемые байты. Например файл длиной 257 байт будет занимать 2 сектора (512 байт), т.е. имеем 255 свободных байтов на диске. Думаю принцип понятен. Дальше сам додумывай у тебя 4 файла плюс бэйсик так? но в 255 не уложишься похоже. Можно части рекса проанализировать на предмет одинаковых областей и их хранить отдельными секторами - если есть такой спортивный интерес.
---------- Post added at 17:26 ---------- Previous post was at 17:24 ----------
в общем это спорт чисто для себя, который никто не оценит.
---------- Post added at 17:29 ---------- Previous post was at 17:26 ----------
у каждой части свой депакер? делай один депакер и храни его в отдельном секторе.
---------- Post added at 17:31 ---------- Previous post was at 17:29 ----------
картинку прогони перед упаковкой через Screen optimizer.
---------- Post added at 17:33 ---------- Previous post was at 17:31 ----------
шрифт в частях одинаковый?
не, всякие там сектора и шрифты - не помогут, слишком сильный заступ за 255 секторов. Нужно что-то радикальное. Например я беру 1 часть и пакую хрумом, беру 2-ую и пакую хрумом. Потом эти два архива склеиваю риалкоммандером, полученный файл весит 202 сектора. Этот файл снова пакую хрумом и получается файл 115 секторов. Вот только к нему нужен какой-то заумный "распаковщик-распихивальщик в 128-ые страницы" . Интересно, этот файл 115 секторов вообще впринципе рабочий? В аттаче исходный файл 202 сектора и сжатый - 115 секторов.
Нет, htrum лучше справился.
это подтверждает теорию, что данные в частях повторяются (графика шрифты...), можно сделать вот что- разрезать каждую из 2 частей рекса кусками по напрмер 8 кб (8192 байта) и раскидать по страницам, а потом эти страницы паковать. например страница 0 будет выглядеть:
49152 - 57343 - 1 блок первого рекса
57344 - 65535 - 1 блок второго рекса
след странице будут вторые блоки по 8192 байта
затем третьи и .т.д.
потом страницы уже паковать-должно получиться.
ну я имел ввиду, 115 секторов это что получилось, бред или рабочий архив. daniel говорит что получился рабочий архив. И сжатие ведь офигенное в итоге мы имеем.
Но чтобы такой архив распаковать, стандартный депакер хрума походу нужно заменить чем-то более интелектуальным. Ведь в стандартную 48 память это всё не влезет.
255 секторов - это вся 48-я память с почти всем ПЗУ. В сжатов виде еще больше. Для одной 48-й игры, возможно, даже с уровнями должно хватать.
Действительно ради интереса. Правда, не понял как. А если между ними еще файлы будут? Кстати, если бы я писал надежный копировщик с поддержкой одного дисковода, я бы старался за раз загрузить как можно больше файлов целиком, а не секторов.
Эввективные распаковщики используют уже распакованное для распаковки нового. Так что со страницами там будет большая проблема. Даже если написать такой алгоритм, работать он будет бесконечно долго из-за проверки для каждого байта сжатого/распакованного блока границ страниц и щелканья страниц для доступа к истории.
У тебя еще 77 секторов demo, 54 экранов и копейки BASIC'а. Это тоже должно войти в каноничный моноблок.
глянул ещё раз обе части - заставка под меню там одинаковая.
http://savepic.ru/6551330.png
если её вырезать и выводить после загрузки любой части - несколько секторов точно съэкономим.
для полноты картины я бы добавил в релиз ещё демо-версию (там скрины и враги из разных частей),
но боюсь таким пожеланием я добью топикстартёра.
и ещё лучше разместить ссылку на текущий образ в первом посту (дабы не-искать его по-всем страницам)
ну вот например Last Ninja, я выше ссылку давал, она 48-ая до мозга костей, с уровнями, в 255 не влезет. Хотя там уровни одинаковые, если их как-то хитро сжать, то всё влезет в 255, но просто над сжатием в наше время никто не заморачивается, ни чайники, ни тем более кодеры ))
Как? Элементарно ))) Тоже два файла, суммарный размер не увеличился ни на сектор, но теперь абсолютно по барабану в каком порядке эти два файла и есть ли между ними какие-то другие файлы. Но кроме спортивного - смысла нет. Можно ведь сделать, чтобы работало не только если файлы не по порядку, а и если они на разных дискетах, в разных дисководах )) токо непонятно нафига.Цитата:
Действительно ради интереса. Правда, не понял как. А если между ними еще файлы будут?
хорошо, однако, что ты не пишешь копировщик :) ибо такой копировщик как раз и грешил бы "перепутыванием порядка файлов", и over 100500 релизов с вирта не работало бы.Цитата:
Кстати, если бы я писал надежный копировщик с поддержкой одного дисковода, я бы старался за раз загрузить как можно больше файлов целиком, а не секторов.
не, экономить несколько секторов - нет спортивного интереса. Вот когда вместо 202 сектора получаем 115 - вот это да.. )) токо полученный архив хрен распакуешь.. Alex Rider говорит, что "Эввективные распаковщики используют уже распакованное для распаковки нового. Так что со страницами там будет большая проблема. Даже если написать такой алгоритм, работать он будет бесконечно долго из-за проверки для каждого байта сжатого/распакованного блока границ страниц и щелканья страниц для доступа к истории." А может как-то заюзать возможности 128 бейсика? Ну там SAVE ! / LOAD ! Токо пока не могу придумать как всё это замутить..
о какой демо-версии идет речь? Можно ссылку на неё?Цитата:
для полноты картины я бы добавил в релиз ещё демо-версию (там скрины и враги из разных частей)
эта тема общая, про монолоадеры в общем. А в первый пост темы про рекс - добавлю.Цитата:
и ещё лучше разместить ссылку на текущий образ в первом посту (дабы не-искать его по-всем страницам)
Дались вам эти сборки >255 секторов...
denpopov, не, ну просто если можно всё засунуть в 255, то почему бы и нет )
Ну так, оно надо было когда дисководы и дискеты были физическими. Хотя в TR-DOS нет понятия "номер файла на диске" (ну почти нет :) ) и он не гарантирует проядок файлов, на деле же оказалось, что ни сам TR-DOS, ни командеры порядок файлов не меняют. Да и сейчас никто не копирует игры из образов - нафик не надо. Так что, вроде как, можно с этого профит поиметь. Но вспоминается мне тут история про out (#fd),a...
В общем, мои рекомендации все равно остаются в силе: если грузим файлы машкодом, то либо высокоуровневыми функциями, либо читаем каталог, а из него координаты файлов.
Если я не ошибаюсь, REX'ы 48-е. То есть, ты хочешь сделать уникальный релиз 128-м только потому, что хочешь сделать именно монолоадер?
PS Кстати, не забывай о наших нерусских друзьях с господствующим в их головах tap'ом. Глядишь, попросят сделать tap-версию твоего релиза.
хуже что они подвязали токены этих команд на UDGграфику.
и те игры что её используют в 128к режиме будут выглядеть очень неприглядно.
кроме того команды для RamDisk в 128/+3 отличаются.
на самом деле 128ой бейсик это скорее только полноэкранный редактор, выполнение команд передаётся в 48ой.
спасибо, глянул, ну интересно так, один раз глянуть, что мол вот, была демка. Но лично я смысла в ней не вижу. Для коллекционера - это да, ценность. А для геймера - так, микрообрубок второго левела )
---------- Post added at 20:21 ---------- Previous post was at 20:18 ----------
а какие команды передаются в 48-ой когда мы вводим SAVE ! или LOAD ! ?
---------- Post added at 20:29 ---------- Previous post was at 20:21 ----------
да не, это так, спортивный интерес. Нет какой-то сверхцели сделать именно 255 секторов или именно 128.
Надо попробовать сделать tap монолоадер.. )Цитата:
Кстати, не забывай о наших нерусских друзьях с господствующим в их головах tap'ом. Глядишь, попросят сделать tap-версию твоего релиза.
Ну как бы команды работы с RAM-диском еще.
ЕМНИП, в 128-м свой интерпретатор. Он только исполние большинства команд 48-го отдает в 48-е ПЗУ. Обработку команд ввода-вывода пытается делать сам, если видит, что кассета, уходит в 48-е ПЗУ, с RAM-диском работает тоже сам.
---------- Post added at 17:39 ---------- Previous post was at 17:37 ----------
tap-монолоадера не бывает. Монолоадер - это технология загрузки с диска. tap последовательный, там 101 сектор не пропустишь.
ЖЖоте, господа...15 страниц и это никогда не кончится..
ЕМНИП, это борьба с кассетными копировщиками а-ля TF-COPY. Ну и мож автостарт заодно.
---------- Post added at 18:16 ---------- Previous post was at 18:13 ----------
Я раньше тоже любил несистемное изучение материала. :D Типа "объясни мне быстренько на пальцах технологию xxx, я ща прям все сделаю". Ну или в институте - то, что мне интересно/актуально - это в мейнстриме, рассказывайте, тока к черту подробности. А вот это вот ваше околонаучное-историческое-низкоуровневое - это "для галочки" и знать не надо.
ну я имел ввиду конечно два тапка, 1ый и 2ой левел.
Но чтобы каждый состоял просто из одного бейсик файла. Или так не получится?
В бейсике должна быть заставка и сам код игры (запакованные). Причем всё это даже в рем строку влезет, но... Надо сделать, чтобы первым делом грузилась и показывалась заставка, и это всё усложняет.. получается один файл никак не сделать?
Или в бейсик встроить например заставку; бейсик с заставкой в рем загрузится, покажет картинку и дальше пойдет код игры. Но это слишком просто. Неужели нельзя всё в один файл запихать и чтобы заставка показывалась в начале? :)
---------- Post added at 21:48 ---------- Previous post was at 21:44 ----------
ну и хорошо, правда ведь? ;)
Или надо чтобы общение на форуме заглохло? :)
еще и сугубо про спектрум общаемся, если чо
мда, TAP конечно желателен, хотя бы даже из-за divIDE.. Ладно, сделаю чтобы на каждый левел был 1 бейсик и 1 кодовый файл. Какую команду в бейсике надо дать, чтобы после показа картинки, она не испортилась надписью "byte: code"? Банальные черные чернила и черная бумага не спасут?
для тр-доса монолоадер вообще простой и короткий, особенно если не надо сектора пропускать. Для ленты сильно сложней сделать свой лоадер?Цитата:
поскольку надо писать свой лоадер, а не использовать ПЗУшный.