nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 21 Aug 2018 07:29



Reply to topic  [ 13 posts ] 
Дискеты Teledisk и CP/M 2.2 
Author Message
Writer
User avatar

Joined: 30 Oct 2008 07:27
Posts: 11
Location: Москва
Reply with quote
Я тут разбирал файлы, выложенные Shaos и CHRV по Ориону. Там часть дискет в формате Teledisk (.TD0), часть в виде распакованных директорий. Мне показалось не совсем удобным все это каждый раз конвертировать в ODI, поэтому я написал библиотеку для использования в эмуляторах, которая позволяет на лету (т.е. в памяти) создавать посекторный образ для обоих случаев, включая загрузочные варианты. Формат диска любой, привязки именно к Ориону нет. Плюс в работе вариант, работающий с тем же самым, но упакованным в Zip. Написано на Delphi 7, без проблем должно работать в Builder. Для остального возможен вариант с DLL, либо доработка под Free Pascal.

Если это кому-то интересно, я могу довести библиотеку до товарного вида и предоставить ее в общий доступ.

_________________
http://www.emuverse.ru


28 Jan 2009 10:32
Profile ICQ WWW
Banned
User avatar

Joined: 20 Mar 2005 14:41
Posts: 2150
Location: От туда
Reply with quote
Post 
Давай выкладывай. А там разберемся. ;)
PS Оригинал на Дельфи я приветствую.


28 Jan 2009 21:21
Profile
Maniac
User avatar

Joined: 05 Oct 2006 05:45
Posts: 266
Location: Moscow
Reply with quote
Post 
Panther wrote:
Я тут разбирал файлы, выложенные Shaos и CHRV по Ориону.


Нашел что-нибудь интересное?

Panther wrote:
я написал библиотеку для использования в эмуляторах, которая позволяет на лету (т.е. в памяти) создавать посекторный образ для обоих случаев, включая загрузочные варианты. Формат диска любой, привязки именно к Ориону нет. Плюс в работе вариант, работающий с тем же самым, но упакованным в Zip. Написано на Delphi 7, без проблем должно работать в Builder. Для остального возможен вариант с DLL, либо доработка под Free Pascal.
Если это кому-то интересно, я могу довести библиотеку до товарного вида и предоставить ее в общий доступ.


Интересно, выкладывай. А либа работает только на RO, или на запись тоже?
На седьмую версию каких-то особых завязок нет?

_________________
Всем добра!


29 Jan 2009 02:22
Profile
Writer
User avatar

Joined: 30 Oct 2008 07:27
Posts: 11
Location: Москва
Reply with quote
Post 
HardWareMan wrote:
Давай выкладывай. А там разберемся. ;)
PS Оригинал на Дельфи я приветствую.

Все будет в исходниках. Смысл как раз в том, чтобы сделать нормальную общедоступную библиотеку.

Error404 wrote:
Интересно, выкладывай. А либа работает только на RO, или на запись тоже?
На седьмую версию каких-то особых завязок нет?

Записать можно готовый образ, а если в эмуляторе поддерживается запись, то образ и будет с изменениями. Но это же от данной библиотеки не зависит, как буфер в файл слить (хотя там и есть функция для этого, просто для удобства).

Можно сделать экспорт в Teledisk, проблем нет, но оно надо? Если нужно, то сделаю.

Насчет обратного экспорта диска CP/M в набор файлов я еще не решил, как это правильно организовать, если директория непустая. Совпадающие файлы перезаписать, а отсутствующие в образе (т.е. удаленные через эмулятор) удалить? Опасная штука, если не ту директорию указать :) А если их оставлять, не потеряется ли смысл такого экспорта? Или хранить список файлов с момента генерации образа и потом сравнивать?

Привязки к версии нет.

_________________
http://www.emuverse.ru


29 Jan 2009 02:59
Profile ICQ WWW
Writer
User avatar

Joined: 30 Oct 2008 07:27
Posts: 11
Location: Москва
Reply with quote
Post 
Error404 wrote:
Panther wrote:
Я тут разбирал файлы, выложенные Shaos и CHRV по Ориону.

Нашел что-нибудь интересное?

Пока нет, меня как раз напрягло все это конвертировать, чтобы посмотреть :)

_________________
http://www.emuverse.ru


29 Jan 2009 03:02
Profile ICQ WWW
Maniac
User avatar

Joined: 05 Oct 2006 05:45
Posts: 266
Location: Moscow
Reply with quote
Post 
Panther wrote:
Error404 wrote:
Panther wrote:
Я тут разбирал файлы, выложенные Shaos и CHRV по Ориону.

Нашел что-нибудь интересное?

Пока нет, меня как раз напрягло все это конвертировать, чтобы посмотреть :)


Ну, я просто делал: for %%i in (*.td0) do wteledsk........
А вот отсмотреть все не хватило времени и терпения. :)

_________________
Всем добра!


29 Jan 2009 04:28
Profile
Writer
User avatar

Joined: 30 Oct 2008 07:27
Posts: 11
Location: Москва
Reply with quote
Post 
Error404 wrote:
Ну, я просто делал: for %%i in (*.td0) do wteledsk........

Нет, мне не лень это сделать, просто показалось не очень правильным разводить копии одного и того же в разных форматах.

_________________
http://www.emuverse.ru


29 Jan 2009 06:26
Profile ICQ WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16846
Location: Colorado
Reply with quote
Post 
Error404 wrote:
Panther wrote:
Я тут разбирал файлы, выложенные Shaos и CHRV по Ориону.


Нашел что-нибудь интересное?


Да - Error404 тоже кое-чего предоставил в ту коллекцию ;)

_________________
:eugeek: https://twitter.com/Shaos1973


29 Jan 2009 12:42
Profile WWW
Writer
User avatar

Joined: 30 Oct 2008 07:27
Posts: 11
Location: Москва
Reply with quote
Post 
Shaos wrote:
Да - Error404 тоже кое-чего предоставил в ту коллекцию ;)

Сорри - конечно, тоже респект и уважуха. :rotate:

_________________
http://www.emuverse.ru


29 Jan 2009 14:41
Profile ICQ WWW
Writer
User avatar

Joined: 30 Oct 2008 07:27
Posts: 11
Location: Москва
Reply with quote
Post 
Тестируя генерацию образа CP/M я столкнулся с такой проблемой:
В описателе формата диска (DPB) есть поле под названием DSM. В классических руководствах по CP/M утверждается (и мои расчеты по приведенным примерам это подтверждают), что оно равно максимальному номеру блока, причем каталог входит в этот объем.

Т.е. для расчета DSM отбрасываем системные треки, делим оставшееся место на размер блока и вычитаем единицу.

С другой стороны, разбирая диски Орионовских систем, я обнаружил, что в них DSM отличается тем, что из него уже вычтен каталог и не вычтена единица. Т.е. он обозначает максимальное свободное место в блоках.

Какой алгоритм вычисления DSM в итоге использовать? Это принципиальное решение авторов орионовской версии CP/M или ошибка программ генерации образов? Если это не ошибка, то придется вводить форматы "наши слоны" и "буржуи проклятые"?

_________________
http://www.emuverse.ru


30 Jan 2009 04:30
Profile ICQ WWW
Maniac
User avatar

Joined: 05 Oct 2006 05:45
Posts: 266
Location: Moscow
Reply with quote
Post 
Panther wrote:
Тестируя генерацию образа CP/M я столкнулся с такой проблемой:
В описателе формата диска (DPB) есть поле под названием DSM. В классических руководствах по CP/M утверждается (и мои расчеты по приведенным примерам это подтверждают), что оно равно максимальному номеру блока, причем каталог входит в этот объем.

Т.е. для расчета DSM отбрасываем системные треки, делим оставшееся место на размер блока и вычитаем единицу.

С другой стороны, разбирая диски Орионовских систем, я обнаружил, что в них DSM отличается тем, что из него уже вычтен каталог и не вычтена единица. Т.е. он обозначает максимальное свободное место в блоках.

Какой алгоритм вычисления DSM в итоге использовать? Это принципиальное решение авторов орионовской версии CP/M или ошибка программ генерации образов? Если это не ошибка, то придется вводить форматы "наши слоны" и "буржуи проклятые"?


Честно говоря, ни вижу ничего чем это было бы черевато при конвертации из одного представления в другое (содержимое же не меняется?). BDOS на дискетках классический, слава богу ковырять его у адаптатаров ума не хватило, - разберется (им писалось, им же и прочитается). Худшее - не полное использование дискеты. Но кого теперь волнуют "пропавшие" 2 килобайта?

_________________
Всем добра!


30 Jan 2009 08:20
Profile
Writer
User avatar

Joined: 30 Oct 2008 07:27
Posts: 11
Location: Москва
Reply with quote
Post 
Error404 wrote:
Честно говоря, ни вижу ничего чем это было бы черевато при конвертации из одного представления в другое (содержимое же не меняется?). BDOS на дискетках классический, слава богу ковырять его у адаптатаров ума не хватило, - разберется (им писалось, им же и прочитается). Худшее - не полное использование дискеты. Но кого теперь волнуют "пропавшие" 2 килобайта?


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

_________________
http://www.emuverse.ru


30 Jan 2009 09:49
Profile ICQ WWW
Writer
User avatar

Joined: 30 Oct 2008 07:27
Posts: 11
Location: Москва
Reply with quote
Post 
Пока работа с CP/M немного застопорилась, выложил описание формата и исходные коды библиотеки Teledisk:

http://www.emuverse.ru/wiki/Teledisk

_________________
http://www.emuverse.ru


03 Feb 2009 05:49
Profile ICQ WWW
Display posts from previous:  Sort by  
Reply to topic   [ 13 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.