Парни, давайте подитожим - что мне спрашивать у Жана-Франсуа, какие давать наводки? Что бы и не сильно много писанины, и в то же время, навести на правильную мысль и далее к решению проблемы! Потом же все это надо корректно перевести.
Парни, давайте подитожим - что мне спрашивать у Жана-Франсуа, какие давать наводки? Что бы и не сильно много писанины, и в то же время, навести на правильную мысль и далее к решению проблемы! Потом же все это надо корректно перевести.
Speccy-2007 + 48k(пока) + TR-DOS + ZX-VGA
KAY-1024 v2010/SDCard HxC Floppy Emulator/Epson SD-700/ZX-VGA/.....
Alex_NEMO, спроси его, при записи трека в образ через эмулятор, как он определяет его номер. Используется ли сигнал SIDE в интерфейсе, либо всю информацию он берет из заголовка сектора?
Я думаю так:
Перед форматированием делается проверка
таким образом:
Головка устанавливаются на 0 цилиндр.
выбирается сторона 0 и форматируется с записью в
адресные маркеры номера дорожки 1 стороны 0
затем выбирается сторона 1 и форматируется с записью в
адресные маркеры номера дорожки 0 стороны 0
Затем читается маркер со стороны 0 и если номер дорожки там 0,
то диск считается односторонний.
Если короче:
Как флопиэмуль воспринимает если на 0 дорожку при форматировании
начать записывать заголовки секторов с номером дорожки отличным от 0
---------- Post added at 18:15 ---------- Previous post was at 18:11 ----------
Нет он явно использует сигнал SIDE, я не думаю что в версии 6.10
в заголовок ставят номер стороны, там видимо по другому происходит проверка диска перед форматом.
Ведь в нашем случае даже сигнал SIDE не выдается и
1264/1264, если бы TRDOS хотела весь диск отформатить а эмуль
не смог то было бы 1264/2544
Скрытый текст
Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
Profi v3.2 256kB + PAL coder
Плата ZXM Phoenix 1024kB + VGA converter
ZX Evolution 4096kB + SSD-1Gb
Плата Speccy 2010
Плата Sprinter Sp2000s
Плата Reverse U9 EP3C
Плата Reverse U10 EP3C
Плата Reverse U16 EP4CE22
Плата Mist v1.31
Terasic DE1
Terasic DE1-SoC
Terasic DE10-nano
iCore 3
[свернуть]
мне кажется, что там эту проверку вовсе устранили за ненадобностью, дисководы отличные от параметров DD/80 можно по пальцам руки пересчитать...
---------- Post added at 16:23 ---------- Previous post was at 16:18 ----------
Он выдается в момент определения, вот код из твоего сообщения:
Но т.к. в этот момент происходит запись "не туда", то и трдос считает, что диск односторонний.
Вот что у меня получилось, пока на руссише:
Жан Франсуа, я и ещё один человек с нашего форума проверили новую бета-версию. К сожалению, результат тот же.
Т.е. в "чистом" TR-DOS, системной командой FORMAT "DISK1", после форматирования получаем 1264/1264 сектора, хотя должны получить 2544/2544 сектора. В процессе форматирования как на мониторе ZX-Spectrum, так и на LCD эмулятора НЕ (НЕТ) перехода на 1-ю сторону.
При использовании сторонней программы - файлового менеджера "Quick Commander" - процесс форматирования происходит нормально, но эта программа использует собственную подпрограмму форматирования и форматирует диск с его "конца" - т.е. с 80 по 0 трек. После форматирования её - получаем требуемые
2544/2544 сектора. Я на всякий случай, собрал 3-и файла:
image01_clean.hfe - образ сконвертированый ПО в формат HFE(содержит ряд игр для ZX-Spectrum);
image01_qc_frmt.hfe - то же, что и первый образ, но отформатирован файловым менеджером "Quick Commander" - получили требуемые 2544/2544 секторов;
image01_trd_frmt.hfe - то же, что и первый образ, но отформатирован в TR-DOS, системной командой FORMAT "DISK1", получили 1264/1264 сектора, при этом, каталог
очищен НЕ полностью - команда LIST выдает неполный список файлов и ошибку, т.к. происходит "накладка" или не полная очиска ввиду не правильного форматирования.
Возможно, анализ этих файлов поможет понять и решить проблему.
Хочу ещё (так же) спросить - при записи трека в образ через эмулятор, как он определяет его номер? Используется ли сигнал SIDE интерфейса, или всю информацию он берет из заголовка сектора файла-образа?
Если сигнал SIDE НЕ анализируется, возможно ли реализовать эту функцию?
_____________________
Пойдет?
Speccy-2007 + 48k(пока) + TR-DOS + ZX-VGA
KAY-1024 v2010/SDCard HxC Floppy Emulator/Epson SD-700/ZX-VGA/.....
Ключевое здесь:
LD E,1 ;форматирование дорожки с номером 1
CALL #1FFD
При форматировании дорожки число из E подставляется
в маркер как номер дорожки
И это работает с простым дисководом.
А номер стороны всегда 0 т.е. если он пишется 0 на обе стороны,
то и на простом дисководе по этому числу не проверить будет.
---------- Post added at 18:41 ---------- Previous post was at 18:34 ----------
Я бы всетаки отказался от ошибки в сигнале SIDE.
Ошибка скорее всего в том что при форматировании 0 дорожки в адресных маркерах секторов указывается 1 дорожка и эмуль это
обрабатывает не как обычный дисковод.
Скрытый текст
Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
Profi v3.2 256kB + PAL coder
Плата ZXM Phoenix 1024kB + VGA converter
ZX Evolution 4096kB + SSD-1Gb
Плата Speccy 2010
Плата Sprinter Sp2000s
Плата Reverse U9 EP3C
Плата Reverse U10 EP3C
Плата Reverse U16 EP4CE22
Плата Mist v1.31
Terasic DE1
Terasic DE1-SoC
Terasic DE10-nano
iCore 3
[свернуть]
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Alex_NEMO, Anykey, попробуйте мою утилиту SPF для форматирования дисков, она использует процедуры тр-дос для форматирования трека, но про односторонние дискеты знать не знает, т.е. сама устанавливает TRK0 SIDE 0, TRK0 SIDE1 и т.д. Будет ли после нее образ пригодный для записи или нет?
Проверил.
Отформатировал, скопировал
на образ файлы, работает.
---------- Post added at 21:08 ---------- Previous post was at 20:07 ----------
Видимо все таки эмуль не переваривает когда
сторона диска не совпадает с записываемой в
маркеры стороной.
Провел такой эксперимент:
Подключил эмуль к PC и попробовал программой ZXDiskStudio
отформатировать и записать образ диска TRDOS, в котором
в маркерах side везде = 0. Этот образ записывался через одну
дорожку, т.е. s:0 записывалась, а s:1 все сектора - ошибки.
Взял образ где на четных дорожках в маркерах side=0, а в
нечетных side=1 (только на 159 дорожке side=0).
Этот образ нормально записался кроме 159 дорожки.
Так что надо спросить - учитывает ли эмуль при форматировании
дорожки информацию в маркерах секторов и что будет если
маркеры будут не стандартные?
Скрытый текст
Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
Profi v3.2 256kB + PAL coder
Плата ZXM Phoenix 1024kB + VGA converter
ZX Evolution 4096kB + SSD-1Gb
Плата Speccy 2010
Плата Sprinter Sp2000s
Плата Reverse U9 EP3C
Плата Reverse U10 EP3C
Плата Reverse U16 EP4CE22
Плата Mist v1.31
Terasic DE1
Terasic DE1-SoC
Terasic DE10-nano
iCore 3
[свернуть]
В архиве FDinstal - драйвер, сначало его установить
ZXDS для записи образов
Disk008.udi - образ TRDOS пишутся только четные дорожки
Disk020.udi - образ с неправильной 159 дорожкой.
В ZXDC использовать "Открыть как" и "Форматировать и записать"
Для примера
Даже если не получится запись на эмуль, можно посмотреть чем отличаются образы, там в нижнем левом углу при выборе сектора
отображается значения из маркера:
Track
Side
Sector
Size
CRC
На четных дорожках Side=0, на нечетных Side=1
На образе TRDOS и у четных и нечетных дорожек SIDE=0
Последний раз редактировалось Anykey; 12.05.2011 в 21:47.
Скрытый текст
Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
Profi v3.2 256kB + PAL coder
Плата ZXM Phoenix 1024kB + VGA converter
ZX Evolution 4096kB + SSD-1Gb
Плата Speccy 2010
Плата Sprinter Sp2000s
Плата Reverse U9 EP3C
Плата Reverse U10 EP3C
Плата Reverse U16 EP4CE22
Плата Mist v1.31
Terasic DE1
Terasic DE1-SoC
Terasic DE10-nano
iCore 3
[свернуть]
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)