nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 05:23



Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Дискеты Teledisk и CP/M 2.2 
Author Message
Writer
User avatar

Joined: 30 Oct 2008 06: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 09:32
Profile ICQ WWW
Banned
User avatar

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


28 Jan 2009 20:21
Profile
Maniac
User avatar

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


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

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


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

_________________
Всем добра!


29 Jan 2009 01:22
Profile
Writer
User avatar

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

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

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

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

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

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

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

_________________
http://www.emuverse.ru


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

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

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

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

_________________
http://www.emuverse.ru


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

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

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

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


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

_________________
Всем добра!


29 Jan 2009 03:28
Profile
Writer
User avatar

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

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

_________________
http://www.emuverse.ru


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

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


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


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

_________________
:dj: https://mastodon.social/@Shaos


29 Jan 2009 11:42
Profile WWW
Writer
User avatar

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

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

_________________
http://www.emuverse.ru


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

Joined: 30 Oct 2008 06: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 03:30
Profile ICQ WWW
Maniac
User avatar

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

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

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

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


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

_________________
Всем добра!


30 Jan 2009 07:20
Profile
Writer
User avatar

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


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

_________________
http://www.emuverse.ru


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

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

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

_________________
http://www.emuverse.ru


03 Feb 2009 04:49
Profile ICQ WWW
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Reply with quote
Post Re:
Panther wrote:
В описателе формата диска (DPB) есть поле под названием DSM... разбирая диски Орионовских систем, я обнаружил, что в них DSM отличается тем, что из него уже вычтен каталог и не вычтена единица
Лень сейчас разираться о чём это, но помню, что в первых вариантах адаптаций CP/M на ОРИОН (до 1993-94) один из параметров DPB был неверным. В частности на дискету можно было записать только 778 кб вместо 800, т.к общий объём диска в блоках был неверным. После я эту ошибку исправил. Это скорей всего не наша, отечественная ошибка, а пришедшая из версии CP/M прототипа. Потому что фирменные читалки дискетных форматов любили именно такой формат, причём если какой-либо параметр DPB изменить (например, число секторов на трек, общий размер в блоках, число зарезервированных системных треков), то формат переставал читаться.

Я на этом пострадал, т.к любил использовать другие форматы, немного более выгодные форматы, например, 6 секторов на трек при DD-КНГМД и DD-дисках, число резервированных треков не 4, а 2, а общее число треков не 160, а 164 или 166 (большее число треков добавляло к полезным 780К ещё 50К). Из-за этого, когда в 1996-97 я стал переводить файлы с дискет на PC винт, то большинство моих дискет не читалось фирменными читалками, приходилось форматировать дискету форматёром из 1990 года, копировать туда файлы и только с такой дискеты удавалось считать в PC.


11 Nov 2019 04:40
Profile
Fanat

Joined: 10 Sep 2009 04:27
Posts: 78
Location: 41.213.126.12
Reply with quote
а кто нибудь встречал полный исходный код teledisk на просторах инета ?
вопрос возник потому что я использую teledisk 2.12 и все работает нормально

но на 486 таже версия и с теми же фалами пишет что ошибка DMA при записи последних секторов
попробовал версию теледиска которая позволяет выбирать писать напрямую на диск или через BIOS номер ошибки изменился но смысл сообщения тот же

я нашел утилиты конвертации td0 в другие форматы но хотелось бы исспользовать теледиск


02 Feb 2020 21:18
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 16 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 5 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.