надо оба пункта. Плюс работу с образами жестких дисков.
надо оба пункта. Плюс работу с образами жестких дисков.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
This is cool tool :-) but not support KDI image from "Byte01". Please add support this images Для компьютера 'Байт-01': Образы всех CP/M дисков в виде побайтовой копии содержимого *.kdi
Probably need add support to read offset 0x5000 directory structure: http://zx.pk.ru/showpost.php?p=603940&postcount=193
Regards
KDI - Korvet Disk Image(дефакто это 5*1024*80*2)
его описание находится в 0м секторе (всякие там смещения)
и там же есть CRC, его легко задетектить.
давайте делать правильно!
I extract all files from KDI "Byte01" images like this:
1. Download Korvet disks images and unpack archive
2. Open disk.kdi from archive in hex editor and write null data from offset 0x2800 to end file and save this image empty.kdi
3. Open image Byte01 e.g. cpm_sys.kdi in hex editor, select block data from offset 0x5000 to end file and copy it
4. Paste (Write) clipboard data to file empty.kdi in offset 0x2800 and save to cpm_sys_kor.kdi
5. Now possible open this file in ATM CP/M Explorer to view or extract files :-)
![]()
Последний раз редактировалось Gelip; 27.05.2013 в 18:56.
great !
but, korvet kdi contains enough information to calculate correct offset
i saw 4 different DIR offset on real korvet disk
(no system on disk, CP/M, mikrodos)
KDI images "Byte01" is not Korvet format !! Have other header. Look at attached file in hex editor.
Последний раз редактировалось Gelip; 27.05.2013 в 13:08.
(пишу на инглише чтобы всем было понятно)
esl, it looks like Byte01 has no information about it's logical structure (number of system tracks). It has twice as more system data, than Korved, and thus korvet and other cp/m utilities cannot read Byte01 disks....
esl, could you analyze Byte01 disk images to check, if it contains correct data about its logical format? (I simply don't know where it should be located)
С уважением, Александр.
Scorpion ZS-256 Turbo+ GMX-2048
SID-Blaster/ZX
Музей ретрокомпьютеров в Минске!
Здесь ничего нет => http://byteman.by
И здесь тоже --->>> http://bytespace.by
part of Korvet disk bios discriptrion
it's better to use different extension for Byte01 cpm diskКод:Содержимое первых 32 байт информационного сектора приведено на рис. 5.5.1. Первые 6 байт - информация для загрузчика. Если они равны нулю, значит диск не содержит информацию для загрузки, т.е. диск не системный. Байты 7...16 содержат информацию о физическом устройстве диска. Их назначение понятно из рис.5.5.1. Байты 17...31 содержат информацию о логическом устройстве диска. Хотя некоторые из приведенных логических параметров могли бы быть вычислены, для простоты весь блок логических параметров приведен в том виде, каком CP/M требует таблицу дисковых параметров. Подробнее эта таблица будет расписана ниже. Байт 32 содержит контрольную сумму со смещением 66H (т.е. КС[1-31] + 66H = [содержимое байта 32]. В заключение этого пункта отметим, что существует стандартный формат диска в CP/M. Параметры стандартного диска следующие: 8", одинарная плотность, одна сторона, 77 дорожек, 26 128-ми байтовых секторов на дорожке, две системных дорожки, 64 входа в директорию, фактор смещения - 6. Этот стандарт распространяется только на диски 8". Для дисков 5.25" такого стандарта нет. Номер байта: обозначение ; комментарий ;физические параметры диска 1: DW LoadAdress ; адрес, с которого начинается загрузка 3: DW RunAdress ; адрес,куда передается управление после ; загрузки 5: DW Count ; число загружаемых физических секторов 7: DB SizeDisk ; если значение байта 1 -8" диск, если 0 ; - 5.25" 8: DB Density ; способ записи: 0 - FM; 1 - MFM 9: DB TpI ; число дорожек на дюйм: 0 - 48 TpI ; 1 - 96 TpI, 2 - 135 TpI 10: DB SkewFactor ; если значение байта 1 - фактора смещения ; нет. Если <> 1 - байты 33-128 ; информационного сектора содержат таблицу ; перевода секторов, причем значение байта ; равно размеру таблицы. 11: DB SecSize ; размер физического сектора:0 - 128 байт, ; 1 - 256 байт, 2 - 512 байт и 3 - 1024 12: DB InSide ; информация о сторонах диска: 0 - ; односторонний диск, 1 - двухсторонний, ; причем сектора нумеруются от 1 до n ; с каждой стороны, четные логические ; дорожки с нулевой стороны, нечетные с ; первой. 13: DW SecPerTrack; число физических секторов на дорожке 15: DW TrkPerDisk ; число дорожек на диске (с одной стороны) ;логические параметры диска 17: DW SPT ; число логических секторов на дорожке 19: DB BSH ; фактор сдвига блока распределения данных 20: DB BLM ; маска блока распределения данных 21: DB EXM ; маска размера 22: DW DSM ; объем памяти на диске в блоках минус 1 24: DW DRM ; число входов в директорию диска минус 1 26: DB AL0 ; определяет, какие блоки зарезервированы 27: DB AL1 ; под директорию 28: DW CKS ; размер вектора контроля директории 30: DW OFS ; число системных дорожек на диске 32: DB CheckSum ;контрольная сумма служебной информации CS[1-31]+66H РИС. 5.5.1.
and add support korvet related disk to programm (it's possible to detect automaticaly)
Vector06c fdd images has same "header"
Orion ODI same ...
(it's possible to attach fdd/odi image to korvet emulator and use it)
and my xkorvet tools (dir and copy) works fine with this files
---------- Post added at 14:11 ---------- Previous post was at 14:07 ----------
and first bytes of Cp_m_sys.zip - "(C) cerikopik$"
definetely not Korvet disk children![]()
Последний раз редактировалось Gelip; 27.05.2013 в 17:54.
kdi, fdd, odi, cpm - all of them are raw sector images. All of the utilities to read and write korvet, vector or orion disks will read and write byte disks too.
С уважением, Александр.
Scorpion ZS-256 Turbo+ GMX-2048
SID-Blaster/ZX
Музей ретрокомпьютеров в Минске!
Здесь ничего нет => http://byteman.by
И здесь тоже --->>> http://bytespace.by
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)