Просмотр полной версии : trdetz -- утиль для работы с трдами
написал вот сабж. выдержка из фирменной документации:
Trdetz (читается "Тырдец") это консольная утилита для работы с TRD-образами дисков компутера ZX-Spectrum. Тырдец оптимизирован для использования в скриптах (например мэйкфайлах -- шоб собрать бинарники кросс-ассемблером и автоматически запихнуть их на диск). Работает он практически в любой ОС для которой есть компилятор ANSI-C, тестировал я в Линухе и Винде(тм). Все операции производимые Тырдецом "атомарны" -- за раз он может записать/считать только один файл, или одну непрерывную группу секторов, или изменить один атрибут файла и тп. Это так специально, чтобы в скриптах Тырдец вёл себя органичнее.
Фичи:
Чтение/запись группы секторов из/в TRD
Чтение/запись бинарного файла из/в TRD (+ поддержка hobeta)
Удаление файла
Изменение атрибутов файла (имя, расширение, длина и тд)
Чтение информации о файле или всех файлах в TRD-каталоге
Чтение информации о TRD-диске
Уплотнение диска
Вывод пафосного хелпа
живет на соурсфорже (win32 бинарник и исходники подо всё на свете)
http://sourceforge.net/projects/trdetz/
и всё таки мне кажется что использование либ которые юзают longjump для эмуляции исключений, когда в C++ они есть нативно - это излишне.
кому-нибудь интересен будет нормальный C++ порт?
----
кстати я писал похожую утилиту для работы с писишными образами дискеток (там вроде FAT12).
хотя оффтопично, но тоже может интересно будет кому-нибудь?
кому-нибудь интересен будет нормальный C++ порт?
да :rolleyes:
и всё таки мне кажется что использование либ которые юзают longjump для эмуляции исключений, когда в C++ они есть нативно - это излишне.
кому-нибудь интересен будет нормальный C++ порт?
чего-то я не понимаю :v2_blink:
чем плох С и его longjump? это идеологический момент? программы на С портабельней и легче, а юзать С++ имеет смысл только если писать в ООП-стиле (btw, простое обьединение данных и методов с помощью класса или использование исключений ООП-стилем не является :v2_tong2:)
к тому же это ведь готовая утилита, а не библиотека (которую и впрямь имело бы смысл переписать на С++ при необходимости использования в сиплюсплюснутом проекте).
вощем, я в недоумении -- обьясните, ЗАЧЕМ? :v2_crazy:
чем плох С и его longjump? это идеологический момент?
ага ;)
цэ всем хорош, но вот longjump мне не нравится. наверное дело вкуса.
к тому же это ведь готовая утилита, а не библиотека
так вот собственно к чему я веду, может быть кому-нибудь захочется использовать это в качестве либы (а почему бы и да?).
а вообще на самом деле конечно же это чисто идеологический момент.
цэ всем хорош, но вот longjump мне не нравится. наверное дело вкуса. а... :)
ну осиплюсьплюсивай, если есть такое загадочное настроение :rolleyes:
тока название как-нить поменяй, чтоб путаницы не было, ок?
ЗЫ в основе внутренней реализации переходов по ексепшну в Ц++ лежит тот же лонгджамп ващето
ЗЫ в основе внутренней реализации переходов по ексепшну в Ц++ лежит тот же лонгджамп ващето
Ничего подобного. Там лежит механизм раскрутки стека. Или longjump вызывает деструкторы локальных объектов?
Ничего подобного. Там лежит механизм раскрутки стека. Или longjump вызывает деструкторы локальных объектов? стек раскручивает, но деструкторы не вызывает. сорри, неправильно выразился: я имел в виду что принцип тот же, только с поддержкой обьектов, а не что C++шный переход по ексепшну это в точности longjmp
стек раскручивает, но деструкторы не вызывает. сорри, неправильно выразился: я имел в виду что принцип тот же, только с поддержкой обьектов, а не что C++шный переход по ексепшну это в точности longjmp
Ну принцип во всем одинаковый- берем со стека адрес и... :)
В экспшенах есть еще много вкусных штук, которые реализовать с помощью longjmp стоит большого геморроя
новая версия
слегка поменял синтаксис вызова
+ уплотнение диска (move)
+ множественные глюкфиксы
+ убрал-таки лонгджампанутые эксепшны (действительно, нафига козе баян :) )
архив в 1м посте
+ поддержка hobeta при копировании файлов (fread/fwrite)
и пара мелких глюкфиксов
архив в 1м посте
хм ;) может и поддержкой DirSys порадуете ;)
хм ;) может и поддержкой DirSys порадуете ;) а оно реально надо? неплохая в общем-то штука, но то, что в разных каталогах не может быть файлов с одинаковыми именами здорово портит малину ИМХО..
вообще, если нужно, могу присобачить. но тогда, плз, подскажи алгоритм расчета дирсисевской CRC (ломает разбираться, что делается в соотв ассемблерной процедуре)
а оно реально надо?
знаешь, если так смотреть, то вообще мало чего надо в этой жизни :|
неплохая в общем-то штука, но то, что в разных каталогах не может быть файлов с одинаковыми именами здорово портит малину ИМХО..
чеееееееееегооооо ?????? :mad: это что бред ???
вообще, если нужно, могу присобачить. но тогда, плз, подскажи алгоритм расчета дирсисевской CRC (ломает разбираться, что делается в соотв ассемблерной процедуре)
знал бы сказал бы :( может авторы подскажут ?
http://zx.pk.ru/showthread.php?t=5998
чеееееееееегооооо ?????? это что бред ??? ну я глянул доки которые с TRDN шли. имена файлов берутся из тырдос-каталога, сталбыть, файлы с одинаковыми именами в разных каталогах = файлы с одинаковыми именами в каталоге тырдос = возможность работать стандартными командами тырдос только с первым из этих файлов. то есть васик-загрузчики (через 15619) в случае файлов с одинаковыми именами идут лесом. а юзая каталоги фиг заметишь, что такие файлы есть, кроме как по глюкам васик-загрузчика.
Добавлено через 11 минут
знаешь, если так смотреть, то вообще мало чего надо в этой жизни не, ну фичи можно наворачивать до бесконечности, тока зачем... вот если тебе, скажем, для дорз или еще какого прожекта конкретно нужна поддержка дирсис, тогда другое дело, а иначе бессмысленно -- я дирсис не юзаю, так что даже не протестирую толком
ну я глянул доки которые с TRDN шли...
честно сказать, что-то я не совсем понял о чём речь :(
не, ну фичи можно наворачивать до бесконечности, тока зачем...
мыслю понял, я предложил вариант, твоё дело согласиться или отказаться... :cool:
честно сказать, что-то я не совсем понял о чём речь о том, что совместимость с трдос у дирсис неполная -- если в 2х разных директориях будут 2 файла с одинаковыми именами, из бейсика (через рандомизе уср 15619) можно будет обратиться только к одному из этих файлов. это ИМХО не позволяет серьезно работать с каталогами (у многих прог бейсиковские лоадеры, или в кодах, но которые инфу о файле из каталога берут), разве что коллекции софта составлять, где все по полочкам. инфу о дирсисе я черпал из описания, которое идет в комплекте с тырдос-навигатором, если чето не так понял, поправь плз
мыслю понял, я предложил вариант, твоё дело согласиться или отказаться... вариантов я и сам себе могу напридумать скока угодно ;)
ты скажи толком, ты этой штукой будешь пользоваться, тестировать ее и тп, если я напишу? если будешь, сделаю.
залил сабж на соурсфорж
http://sourceforge.net/projects/trdetz/
порт под MorphOS тут (http://aminet.net/package/misc/emu/trdetz-mos).
порт под MorphOS тут (http://aminet.net/package/misc/emu/trdetz-mos). это порт 1-ой, довольно глючной версии, лучше им не пользоваться...
BTW, не знаешь, как до автора порта достучаться? он там пишет про какие-то проблемы при компиляции, хотелось бы узнать, какие
это порт 1-ой, довольно глючной версии, лучше им не пользоваться...
BTW, не знаешь, как до автора порта достучаться? он там пишет про какие-то проблемы при компиляции, хотелось бы узнать, какие
lanch tiscali it
собаку и точку поставь в нужном месте :)
Q-Master
26.10.2007, 08:44
это порт 1-ой, довольно глючной версии, лучше им не пользоваться...
BTW, не знаешь, как до автора порта достучаться? он там пишет про какие-то проблемы при компиляции, хотелось бы узнать, какие
Давай я последнюю форумную версию скомпиляю и тебе скажу в чем трабла, если будет.
Давай я последнюю форумную версию скомпиляю и тебе скажу в чем трабла, если будет. давай :)
Q-Master
29.10.2007, 07:33
давай :)
Трабла в pragma(push,1) и pragma(pop)
Если заменить их на
pragma(1) и pragma() соответственно, то все цомпилируется.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot