PDA

Просмотр полной версии : Уменьшить размер образа TRD



Midi
26.05.2018, 10:15
Доброго дня

иногда встречаю образы trd не 655360 байт, а размером меньше (по размеру содержимого). т.е типа scl, но trd. интересно - как такое сделать?

Shiny
26.05.2018, 10:26
А смысл? эмулятор проглотит trd уменьшенного размера?

iceoflame
26.05.2018, 10:37
А смысл? эмулятор проглотит trd уменьшенного размера?

А смысл не в эмуляторах, у тебя есть реальный спек с фаталом, и рам диском. В случае полного диска даже если там одна игрушка будет весь диск копировать, в случае обрезанного только то, что есть. За копию на реальный диск молчу. иногда приходится копировать, потому как некоторые загрузчики не любят рам диск. Игрушка в среднем весит 30кб, диск 640, вот и весь смысл. Усеченные ТРД, вроде встречал.

Shiny
26.05.2018, 10:46
у ААА в деморхиве есть обрезанные. Вроде читает Spectaculator

ZX_NOVOSIB
26.05.2018, 11:04
как такое сделать?
Какое такое? Такое что ли?

goodboy
26.05.2018, 11:35
Такое что ли?
скорее такое
http://www.worldofspectrum.org/infoseekid.cgi?id=0012730

Midi
26.05.2018, 12:01
Извините, сейчас не могу содержимое зипов глянуть, но если там трдхи размером меньше, чем 655360, то да - именно такое. Для эмулятора это действительно без разницы, но для Эвы для экономии места на карте - самое то.

daniel
26.05.2018, 15:36
для Эвы для экономии
SCL

null_device
26.05.2018, 16:36
daniel, если значения указателей файлов умышленно "неправильные" - образ диска SCL, превращается в труху. Образы TRD - нестандартной длины, кмк, также не идут на пользу совместимости.

Spectramine
26.05.2018, 18:42
daniel, если значения указателей файлов умышленно "неправильные" - образ диска SCL, превращается в труху. Образы TRD - нестандартной длины, кмк, также не идут на пользу совместимости.

Это уже обсуждалось. Практически, трудно найти эмулятор, не загружающий укороченные TRD. И действительно, место они занимают прилично меньше. В случае, если хранение их в архивах неприемлимо, выигрыш в месте на носителе может быть существенным. Поскольку не существует официальных спецификаций формата, а в большинстве неофициальных упоминаются урезанные TRD, которые поддерживаются большинством эмуляторов, можно считать их частью формата.

- - - Добавлено - - -

Сваял консольную утилитку, обрезающую TRD-файлы до начала свободного места на дисковом образе: 65390.
Единственный параметр - имя обрезаемого TRD-файла. Однако, если на диске данные хранятся вне файловой структуры, файловая структура на диске нарушена из-за защиты, или эмулятор не поддерживает короткие TRD-файлы, обрезанный файл может оказаться неработоспособным, полностью или частично. Так что используйте на свой страх и риск, и делайте резервные копии TRD-файлов перед обрезкой.

Shiny
26.05.2018, 18:56
daniel, если значения указателей файлов умышленно "неправильные" - образ диска SCL, превращается в труху.
ой ли? у SCL есть сигнатура для начала

JV-Soft
26.05.2018, 19:12
А смысл не в эмуляторах, у тебя есть реальный спек с фаталом, и рам диском.
юзаю на реале DNA-OS ,и на винте лежит куча SCL, она корректно записывает их на реальные диски при чем дописывая файлы на реальный диск из SCL ,а не переписывая весь диск.

null_device
26.05.2018, 19:47
weiv, Шынни, об этом и речь. Если данные файла на диске неправильные (длина в байтах и расположение на диске - дорожка\сектор).

Spectramine
26.05.2018, 19:54
weiv, Шынни, об этом и речь. Если данные файла на диске неправильные (длина в байтах и расположение на диске - дорожка\сектор).

Да, если файловая структура на диске нарушена, конверсия длинных TRD в укороченные и в SCL может не пройти, либо результирующий файл будет неработоспособен, полностью или частично. Но это бывает нечасто.

Midi
26.05.2018, 20:38
SCL

если бы все было так просто... мне самому очень нравится scl, но он ведь для реала ридонли?

Shiny
26.05.2018, 20:47
weiv, Шынни, об этом и речь. Если данные файла на диске неправильные (длина в байтах и расположение на диске - дорожка\сектор).

тогда непонятно, что имеется в виду.

Spectramine
26.05.2018, 20:49
Доброго дня

иногда встречаю образы trd не 655360 байт, а размером меньше (по размеру содержимого). т.е типа scl, но trd. интересно - как такое сделать?

Похоже, мое предыдущее сообщение осталось незамеченным. Вот утилитка, обрезающая trd-файлы до начала свободного места на образе диска:65391 . Вызывается из командной строки, единственный параметр - имя обрезаемого trd-файла.

Midi
26.05.2018, 20:55
Это уже обсуждалось. Практически, трудно найти эмулятор, не загружающий укороченные TRD. И действительно, место они занимают прилично меньше. В случае, если хранение их в архивах неприемлимо, выигрыш в месте на носителе может быть существенным. Поскольку не существует официальных спецификаций формата, а в большинстве неофициальных упоминаются урезанные TRD, которые поддерживаются большинством эмуляторов, можно считать их частью формата.

- - - Добавлено - - -

Сваял консольную утилитку, обрезающую TRD-файлы до начала свободного места на дисковом образе: 65390.
Единственный параметр - имя обрезаемого TRD-файла. Однако, если на диске данные хранятся вне файловой структуры, файловая структура на диске нарушена из-за защиты, или эмулятор не поддерживает короткие TRD-файлы, обрезанный файл может оказаться неработоспособным, полностью или частично. Так что используйте на свой страх и риск, и делайте резервные копии TRD-файлов перед обрезкой.

спасибо, попробовал, вроде работает так, как надо, но... есть несколько странных моментов: создал пустой трд. размер 655360 байт. обрезал. размер стал очень маленький :). закинул туда бут - размер стал 6 килобайт (хотя фаровский плагин, который работает с трд, говорит, что бут весит 2.5 килобайта). попытался запустить - анрыл отказался грузить этот трд. докинул какую-то игруху - анрыл отлично открыл образ. удалил игруху - размер, ясное дело не уменьшился, образ в анрыле открылся. обрезал образ - анрыл отказался его открывать (хотя там, напомню, остался бут)

- - - Добавлено - - -


Похоже, мое предыдущее сообщение осталось незамеченным. Вот утилитка, обрезающая trd-файлы до начала свободного места на образе диска:65391 . Вызывается из командной строки, единственный параметр - имя обрезаемого trd-файла.

не не, я все увидел, спасибо :)

- - - Добавлено - - -

блин, позор мне, напомните - сколько байт в секторе? :(

- - - Добавлено - - -

и по поводу утилитки есть стразу хотелка - добавить необязательный второй входной параметр - если он присутствует, то это имя нового образа. ну это чтобы бэкапы не делать :).

Spectramine
26.05.2018, 21:09
спасибо, попробовал, вроде работает так, как надо, но... есть несколько странных моментов: создал пустой трд. размер 655360 байт. обрезал. размер стал очень маленький :). закинул туда бут - размер стал 6 килобайт (хотя фаровский плагин, который работает с трд, говорит, что бут весит 2.5 килобайта). попытался запустить - анрыл отказался грузить этот трд. докинул какую-то игруху - анрыл отлично открыл образ. удалил игруху - размер, ясное дело не уменьшился, образ в анрыле открылся. обрезал образ - анрыл отказался его открывать (хотя там, напомню, остался бут)
Анриал не открывает образы размером меньше 8кб, хотя после обрезки минимальный образ - 4кб (для пустого файла образа). Спектакулятор и СпекЭму файлы с длиной до 8кб открывают нормально.



блин, позор мне, напомните - сколько байт в секторе? :( В трдос-секторе 256 байт.


и по поводу утилитки есть стразу хотелка - добавить необязательный второй входной параметр - если он присутствует, то это имя нового образа. ну это чтобы бэкапы не делать :).

Ловите: 65392. Теперь можно задавать вторым параметром имя выходного файла, причем можно не писать расширение, оно будет добавлено. Также выходной файл, для совместимости с анриалом, теперь не меньше 8кб.

Midi
26.05.2018, 21:19
Ловите: 65392. Теперь можно задавать вторым параметром имя выходного файла, причем можно не писать расширение, оно будет добавлено. Также выходной файл, для совместимости с анриалом, теперь не меньше 8кб.

спасибо, теперь все замечательно.
однако косметическая хотелка - хотелось бы при вызове без параметров показать хелпик по запуску. сейчас программа при вызове без параметров что-то выполняет...

JV-Soft
26.05.2018, 21:53
если бы все было так просто... мне самому очень нравится scl, но он ведь для реала ридонли?
Ну я сильно не парюсь , в DNA он превращается в trd парой нажатий , при чем на винте и монтируется вместо реального дисковода.

Spectramine
26.05.2018, 22:35
Ок, сделал подсказку:65393 . Теперь, если имя выходного файла не задано, входной файл будет усечен до минимально возможного размера, иначе выходной файл будет не менее 8кб для совместимости с Unreal.

Black Cat / Era CG
27.05.2018, 12:31
"Обрезальщики" победили :)

ZX_NOVOSIB
27.05.2018, 12:50
Между прочим, обрезание не всегда делается по религиозным причинам, иногда и по медицинским показаниям.

drbars
29.05.2018, 04:46
Понмю в начале 2000-ых делал обрезанные trd для WOS, делал для буржуев т.к. эмулей с форматом SCL небыло. AMD копировщик был новомодной прогой в то время. Первый эмуль с поддержкой обрезанных TRD был ZXEmul от Lion17.

Популярные эмули были X128, Varajevo, R80, RealSpectrum, эмуль Шалаева и UKV.

Black Cat / Era CG
29.05.2018, 07:22
R80, RealSpectrum - офигенные были. Жаль, R80 так и остановился на версии 0.30

drbars
31.05.2018, 07:58
Black Cat / Era CG, Если я не ошибаюсь у Рауля это был дипломный проект что ли)

Black Cat / Era CG
31.05.2018, 10:01
drbars, Ну так или иначе, с точки зрения юзверя, это были классные эмуляторы с красивыми и понятными гуями. А риалспек еще и модем умел. Мне правда сия фича нафиг не нужна была, но все равно прикольно.

drbars
03.06.2018, 10:05
weiv, по идее в утилитке нужно ещё подчищать каталог диска. т.к. если ты удалял файлы в середине диска, то суть транка это сделать команду Move и на выходе дать урезанный trd без лишних данных.

Spectramine
03.06.2018, 11:11
weiv, по идее в утилитке нужно ещё подчищать каталог диска. т.к. если ты удалял файлы в середине диска, то суть транка это сделать команду Move и на выходе дать урезанный trd без лишних данных.

Это сложна) К тому же в абсолютном большинстве случаев и не нужно - ну кто там сейчас занимается активной работой с trd-образами, включающей удаление промежуточных файлов. А если вдруг кому понадобится, он может сделать MOVE в эмуляторе/на реале, а затем сохранить и обрезать trd.

daniel
04.06.2018, 08:58
если бы все было так просто... мне самому очень нравится scl, но он ведь для реала ридонли?
Пиши на обрезанный трд, ага.

Spectramine
04.06.2018, 09:30
Пиши на обрезанный трд, ага.

А что не так с записью на обрезанный trd на реале? Эва не пишет в него?

- - - Добавлено - - -

Я, кстати, заметил, что у Unreal-а проблемы с записью на обрезанные trd.

daniel
04.06.2018, 10:52
Думаю что не будет писать. Надо проверить. В общем то и не должна.

drbars
05.06.2018, 11:34
daniel, эмулятор должен увеличивать образ до стандартного размера при записи. Спектакулятор работает нормально.