![]() |
Вектор-06Ц: Эмуляция - контроллер дисковода
Ramiros, когдаж мы наконец сможем открывать FDD в вашем эмуляторе ?;)
|
Вектор-06Ц: Эмуляция
Quote:
может b2m мне в этом поможет? |
Quote:
http://code.google.com/p/vector06cc/...src/fddimage.c http://code.google.com/p/vector06cc/...src/fddimage.h |
Quote:
|
А .fdi файлы разбираются опенсорсно вот тут:
http://svn.akop.org/psp/trunk/fms/EMULib/ Правда, там очень интересный Си, но конь дареный так что грех жаловаться. Собственно, там и весь эмулятор дисковода есть. Если уж на то пошло. |
Quote:
Как говорится: Quote:
|
посмотрел содержимое *.fdd файлов и пришел к выводу, что в них несодержится служебной информации типа: размер сектора, количества секторов на дорожке, и т.п. поправте меня если я ошибаюсь.
есть вопросы к svofski: 1. можно поподробней, в каком порядке размещена информация в самом файле, т.е. номер сотроны, номер дорожки, и т.д. по порядку? 2. сколько дорожек на стороне? 3. сколько секторов на дорожке? 4. какой размер сектора? |
Quote:
struct BootSector { WORD LoadAddress; WORD RunAddress; WORD LoadSectorCount; BYTE SizeDisk; /* 0-5.25", 1-8" */ BYTE Density; /* 0-FM, 1-MFM */ BYTE TpI; /* 0-48 TpI, 1-96 TpI, 2-135 TpI */ BYTE SkewFactor; /* 1-no sector tranlation else = len(_SecTran) */ BYTE SecSize; /* 0-128, 1-256, 2-512, 3-1024 */ BYTE InSide; /* 0-single, 1-double */ WORD SecPerTrack; WORD TrkPerDisk; /*DPB*/ WORD SPT; /* logical sector(128) per track */ BYTE BSH; /* block shift */ BYTE BLM; /* block shift mask */ BYTE EXM; /* extent mask EXM=(BLM+1)*128/1024 - 1 - [DSM/256] */ WORD DSM; /* disk size - 1 */ WORD DRM; /* dir entry - 1 */ WORD AL; /* dir allocation */ WORD CKS; /* dir check table size CKS=(DRM+1)/4; 0 for fixed disk */ WORD OFS; /* offset, reserved tracks count */ BYTE CheckSum; BYTE SecTran[96]; }; Добавлено через 5 минут 1. Размер сектора - ровно 1 килобайт, первым идёт сектор 1 головка 0 дорожка 0, затем остальные 4 сектора на этой дорожке/головке, затем идут 5 секторов второй головки (стороны), следом идёт вторая дорожка (10 секторов), третья, и т.д. 2. Странный вопрос. Всего дорожек 80. 3. На дорожке 5 секторов стороны 0 и 5 секторов стороны 1. 4. 1024 байт Добавлено через 6 минут Секторы нумеруются с еденицы, дорожка - с нуля. |
Дорожек всегда достаткол. Главное знать размер одной дорожки.
|
1 Attachment(s)
Quote:
Вот напимер, результат работы утилиты sysgen |
| All times are GMT +4. The time now is 23:39. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.