ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Вот что мне выдает тест с имеющимся образом.
Ось не определила диск - не видно содержимого. Но возможно из-за некорректных параметров геометрии, подскажи, плиз, как правильно настроить.
Если подсунуть пустой образ, то "Not stable write" нет сообщений.Код:<IdeDiskDescriptor> <Image fileName="SprinterHDD.img" isCdrom="False" isReadOnly="False" /> <Geometry cylinders="20" heads="199" sectors="63" lba="201600" /> </IdeDiskDescriptor>
Последний раз редактировалось Дмитрий; 15.05.2013 в 12:06.
не знаю... это образ с флешки на 128 мб.
---------- Post added at 10:53 ---------- Previous post was at 10:52 ----------
образ своего винта могу снять только вечером или завтра, как притащу его на работу
---------- Post added at 10:55 ---------- Previous post was at 10:53 ----------
Утилит типа fdisk или format на спринтере нет, использовались диски размеченные средствами IBM PC, понимает файловую систему FAT16.
я сам уже не помню, надо разбираться. LBA - это помоемому общий объем в секторах, т.е. полный объем /512, а сколько дорожек, головок, секторов нужно смотртеть. Только сам образ может не включать область в конце диска, в которую не производилась запись
Ты только смотри что некорректное обращение к винту могло попортить на образе данные. А с включеным write protect может не работать. Поэтому после неудачных экспериментов нужно восстанавливать образ или проверять md5.
Пожалуй нужно будет переделать защиту от записи путем корректной обработки команд записи, но реально данные в образ не писать. Сейчас команда просто прерывается с ошибкой. Из-за этого например скорпион не хочет работать с винтом защищенным от записи (он не видит что команда прервалась и продолжает слать данные).
Последний раз редактировалось ZXMAK; 15.05.2013 в 12:14.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Нашел винт (на наклейке все параметры описаны), сейчас отформачу его и попробую сделать образ.
Ну что там, какой результат?
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Alexander Makeev, в общем на созданном из винта образе (на коротом была создана партиция fat16 и закинуто несколько файлов), эмуль увидел эту самую партицию, но... никаких файлов там не нашел, попытка записи на это образ средствами спринтера в эмуляторе (копирование файлов с дискеты на винт) не выдало никаких ошибок, но и результата тоже никакого не дало. Но стоит заметить, что образ был размером 57гб (винт макстор на 60гб), так что тут могут быть какие-то заморочки иного плана, а другого винта под рукой с описанной геометрией под рукой не было.
Снял винт с реального спринтера, он у меня на 500 мб, завтра на работе сниму с него образ и посмотрим уже более детально.
И все-таки хотелось бы разобраться как правильно указывать геометрию для образов флешек, т.к. у меня на спринтере тоже стоит одна флешка CF и одна SD через переходник - работают отлично, причем приоритетное использование именно флешек, нежели винта. Может кто подскажет, а?
самому хотелось бы узнать, а можешь прочитать геометрию через IDE порты и выложить вместе с объемом винта на флешке и размером его образа?
Залогировал обмен, в момент загрузки:
дальше идет куча каких-то команд, но такой ошибки быть не должно, т.к. команды с кодом #00 нет, чтото не так...Message 23:57:14.594 WR ATACTL: #A0
Message 23:57:14.595 WR ATACTL: #A0
Message 23:57:14.595 RD ATACMD: #50
Message 23:57:14.595 WR ATACNT: #05
Message 23:57:14.596 RD ATACNT: #05
Message 23:57:14.596 WR ATACMD: #00
Error 23:57:14.599 *** unknown ATA cmd #00 ***
Хотя не исключено что это ошибка в прошивке спринтера. В конце читает какие-то сектора и после вычитывания последнего байта затихает. Вероятно не нравится содержимое...
Updated: похоже с регистрами путаница получилось, выглядит так что сейчас порты CYL-LO и CYL-HI перепутаны местами, нужно разбираться. Еще не совсем ясно какой должен быть регистр на порту Control - 6-й или 8-й (CS=1,DA=6)
Последний раз редактировалось ZXMAK; 16.05.2013 в 01:28.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Вобщем что выяснилось:
1) При сбросе спринтер вначале читает сектор lba=1, затем lba=0. Если в нулевом секторе не оказалось таблицы разделов, то эмуль на этом прекращает обращение к винту.
2) образ флешки который ты выкладывал спринтеру чем-то не нравится, после чтения секторов 1 и 0, больше обращений к диску не производится
3) нашел в инете образ винта wc.hdd на 1 ГБ (не от спринтера). С этим образом спринтер после чтения первых двух секторов начинает читать сектор lba=63, где судя по сигнатюрам лежит какой-то загрузочный сектор. Но после этого опять читает сектор 0 и прекращает обращения к винту.
4) похоже я перепутал регистры СYL HI и CYL LO, может поэтому у тебя эмуль не увидел файлов на винте.
Прикладываю исправленный EXE (CYL LO и CYL HI поменял местами), с полным логированием обращений к винту, в лог пишутся все команды со значением PC во время вывода команды, физическое чтение/запись секторов и весь обмен с IDE
Последний раз редактировалось ZXMAK; 16.05.2013 в 03:19.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Все оказалось проще, в твоем образе от спринтера пустая таблица разделов
Вобщем нужен нормальный образ винта от спринтера
Cделал утилитку, выводит информацию о разделах в указанном образе.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)