Два вопроса

Все что связано с программированием на Амиге.

Модераторы: striimii, Vinnny

Два вопроса

Сообщение Wanderer 04 дек 2005, 02:19

Два дурацких вопроса - работал с дискетой, внезапно появилась ошибка - Disk not validated. При этом никаких операций с файлами производить не дает. Не совсем понимаю смысл ошибки - что же делать?
Вопрос второй - как развернуть на дискету файлы adf. На PC.
Wanderer
Начинающий Амиголюб
Начинающий Амиголюб
 
Сообщения: 29
Зарегистрирован: 14 ноя 2005, 00:08

Сообщение Opk 04 дек 2005, 07:11

с PC никак не сможешь, not valid значит лечится, работает в ридонли, подлечится, надпись исчезнет.
берут Amiga HD, берут ПК с UAE, ставят на ПК амижный винт, выбирают этот винт в UAE, этот амижный винт монтируется к UAE системе, закатывают всю щамбалу, что накачали с сайтов. Закатывают .adf-ки, и утиль adf2disk. И вот тогда уже, подключают винт к Ами, и начинается вторая часть.
А как по-другому, увы не знаю (
Я люблю людей
Opk
Уважаемый Амиговед
Уважаемый Амиговед
 
Сообщения: 106
Зарегистрирован: 03 окт 2005, 03:08
Откуда: от верблюда

Сообщение Wanderer 04 дек 2005, 11:52

Нет. Простые PC диски у меня Амига читает. Проблема в том что жесткого диска у меня нет, соответственно переписать диск могу только на PC.
Wanderer
Начинающий Амиголюб
Начинающий Амиголюб
 
Сообщения: 29
Зарегистрирован: 14 ноя 2005, 00:08

Сообщение Opk 04 дек 2005, 15:24

ПК никак не может читать амижные дискеты, а Ами может читать ПКшные. Вывод, через ПКшные дискеты перенести образа на Амигу, и воспользоваться утилькой типа adf2disk.
Я люблю людей
Opk
Уважаемый Амиговед
Уважаемый Амиговед
 
Сообщения: 106
Зарегистрирован: 03 окт 2005, 03:08
Откуда: от верблюда

Сообщение Wanderer 04 дек 2005, 18:43

Еще раз объясняю, нет у меня жесткого диска, стало быть НЕКУДА перенести adf файл. А поповоду не может читать - бред. Может, если написать нормальный драйвер файловой системы. Просто видимо никому этов голову не приходило. Точнее , читать приходило - таких систем я знаю две. А вот писать - с этим сложнее.
Wanderer
Начинающий Амиголюб
Начинающий Амиголюб
 
Сообщения: 29
Зарегистрирован: 14 ноя 2005, 00:08

Сообщение anny 04 дек 2005, 19:12

Сразу говорю, что помочь я скорее всего не смогу, но мало ли может чего полезного скажу :)

У меня Disk Not Validated бывало токо на партициях винта, и это естно только на FFS. В чем конкретно проблема ffs тут: если ты чтото пишешь на ffs, и в это время ребут, то после загрузки получишь Disk Not Validated, т.е. пытается исправлять свои метки-таблицы, что там у ffs хз. И это занимать может по времени не просто долго, а очень долго.

Другая херь, это когда диск банально плохой. Вот я грепнул щас под bad codes, и вот что по валидации:

213: Disk not validated
An error normally caused by a bad disk, but can also be caused if a write request is made to a disk before it has been validated. Disk validation takes places almost immediately when a disk is inserted. Try the command again once the disk has been read. If the fault still persists, download a copy of DiskSalv from Aminet and try to validate the disk.

Т.е. главный момент "An error normally caused by a bad disk" , ошибка обычно если диск плохой. А уже проблема с записью и ребутом на втором плане.

И в конце: If the fault still persists, download a copy of DiskSalv from Aminet and try to validate the disk. Тоесть попробовать можно DiskSalv, но я хз как ты будешь его юзать, на дискетке загрузишь WB, потом загрузишь disksalv, потом сунешь свою и тд и тп :)


Да, и насчет чтения и записи амижных дискет на ПЦ. Ты уверен что ты видел такие тулзы , чисто программные, без какой либо хардваре довески ? Потому что я, одно време пытался на асме под пц написать тулзу которая будет амижные дискетки читать в стандартном пц дисководе, но там кроме изменения скорости вращения мотора надо еще кучу говна делать, и в итоге я вообще стал неуверен что это реально (хотя бы даже чтение). Также я знаю, что для Пц есть спец. плата чтобы читать амижные дискетки. Т.е. хардварь спецовая. Поэтому мне прям интерсно посмотреть как это амижные дискеты читать в пц дисководах, кинь плиз линк на любую тулзу.

ps. Да кстати, насчет записи adf на дискетку на пц. Если ты хочешь просто распаковать adf и нарезать его внутренность на сколько влезет и прочее (но само собой что это будет fat12/16/ четам еще), то можно rawrite или еще какой тулзой. А если ты хочешь как я понимаю чтобы тебе прям готовую дискетку сделало которую в амигу суешь и оно сразу и бутблок амижниый поняло, и файлсистем и формат - это опятьже к вопросу о невозможности читать/писать без спец дисковода-хардваре. Да кстати, я еще вот вроде слышал что сделал ктото там дисковод который и на пц и на омиге работает. Т.е. в теории то естно это не сложно, и возможно даже программно. Но я такого не видел, сам сделать не смог и интересно былобы посмотреть :)
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Сообщение Wanderer 04 дек 2005, 20:23

Записывать они не умеют а вот читать читают
http://www.amigaforever.com/kb/3-118.html
Держал пол дня - дискетат так и не восстановилась. Запусил DiskDoctor - и все сломалось. Теперь дискета не загружается. Я даже исходники с нее снять не могу.
Wanderer
Начинающий Амиголюб
Начинающий Амиголюб
 
Сообщения: 29
Зарегистрирован: 14 ноя 2005, 00:08

Сообщение Opk 04 дек 2005, 22:12

Дядя, к сожалению, все так называемые "профи" заняты в обсуждении ущербности Пегасов, и силе ПК-на-Интел поэтому тебе придется слушать меня.

ты конечно погорячился про бред. Вспомни, каким макаром читается диск на ПК, и посмотри в своей чудо-книге, как читается это на Ами.
У тебя А500, извини не обратил внимание. Да, гемор конечно. Но всегда можно извратится.
Например, кинуть на Ram: диск проги adf2disk,
и через последовательный порт подавать поток .adf
на ввод adf2disk, выводящей это дело на флоп.
Не пробовал на Ами, но например в том же юниксе такое бы рокатило. Попробуй такой вариант. Говорят, можно приспособить для этих целей
паралельный порт, вроде шустрее передача.
Я люблю людей
Opk
Уважаемый Амиговед
Уважаемый Амиговед
 
Сообщения: 106
Зарегистрирован: 03 окт 2005, 03:08
Откуда: от верблюда

Сообщение Wanderer 05 дек 2005, 00:30

Мда. Не погорячился. В принципе можно эмулировать этот режим работы контроллера дисковода и на PC. Только немного покопаться в режимах придется.
А RAM у меня отсутствует как класс - памяти всего 512 K.
Wanderer
Начинающий Амиголюб
Начинающий Амиголюб
 
Сообщения: 29
Зарегистрирован: 14 ноя 2005, 00:08

Сообщение anny 05 дек 2005, 00:58

Так это, то что ты кинул то это не то чтобы 'читать амижные дискеты на pc', это наоборот, читать псышные на амиге. Грубо говоря у них дешевенький обман. Сначала они пишут "читать амижные дискеты на PC", а потом в тексте подменяются понятие амижной дискеты, и теперь становится msdos дискетка 'амижной', а msh якобы мега файлсистем.

Да, кстати. Из полезного там написано, что есть вот 3 варианта:
2 хардварных (как раз этот Catwease о чем я говорил и AFR - через паралел) и один Disk2FDI.

Если ты disk2fdi и имел ввиду - то мало того, что там херота с "с combined with a second floppy drive." Но, я пока особо не будет расписывать, просто спрошу - а ffs он умеет читать ?:) Имхо просто сектора слаживает в кучу.

Вот opk чтото с дисководами мызит щас, пусть раскажет, реал ли ffs на пц реализовать или оно там завязано на какомнить говне которое пц дискоды не умеют ..

ps. Кстати вот именно "эмулировать работу контроллера на PC" я и пытался :) Но кончилось тем что я мотор поразгонял позамедлял и забил болт .. хотя сорцы остались кое-какие если надо :)

ps2. Вот сорцы нашел смотрю .. написано в одном (для себя пометки делал) :"форматировать на 11 секторов можно, а вот записать хрен, постоянно "сектор не найден". Поэтому вместо 13h буду колбасить через in/out". Хз что это значит. Имхо пытался на амижную дискетку писать.

Второй сорец, пытался форматирование делать, вот что наделалось:

Код: Выделить всё
start:

; Сначала устанавливаем обычный тип дискеты (720), чтобы получить
; таблицу параметров и смещение на нее. После этого в наглую меняем
; в таблице четвертый и пятый байты (размер сектора и колво секторов
; на дорожке).


     mov ah,00h ; reset fdd
     mov dl,00h
     int 13h

; ставим стандартные 720 для получения таблицы:

      mov ah,18h ; установить тип носителя
      mov ch,79d ; 80 цилиндров
      mov cl,9d  ; секторов на дорожку
      mov dl,00h ; A:
      int 13h

      mov byte ptr es:[di]+3,2d   ; размер сектора 512 байта
      mov byte ptr es:[di]+4,10d  ; секторов на дорожке - 11

      mov ah,05h ; форматировать дорожку
      mov ch,00  ; номер дорожки
      mov dh,00  ; номер головки
      mov dl,00h ; A:
      mov es:bx,offset buffer
      int 13h
      ret


buffer db 00h ; номер дорожки
       db 00h ; номер головки
       db 00h ; номер сектора                 ; 0
       db 02h ; размер сектора 1024 байта
       db 00,00,01,02                         ; 1
       db 00,00,02,02                         ; 2
       db 00,00,03,02                         ; 3
       db 00,00,04,02                         ; 4
       db 00,00,05,02                         ; 5
       db 00,00,06,02                         ; 6
       db 00,00,07,02                         ; 7
       db 00,00,08,02                         ; 8
       db 00,00,09,02                         ; 9
       db 00,00,10,02                         ; 10

buffer2   dw  256h dup  (?)

end start


Может это поможет чем ..
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Re: Два вопроса

Сообщение Vinnny 05 дек 2005, 11:36

Wanderer писал(а):Два дурацких вопроса - работал с дискетой, внезапно появилась ошибка - Disk not validated. При этом никаких операций с файлами производить не дает. Не совсем понимаю смысл ошибки - что же делать?

как тут уже сказали - это возникает на FFS. всё что делал я - ждал окончания валидации, хотя обычно это было с винчествером, а не дискетой.
Wanderer писал(а):Вопрос второй - как развернуть на дискету файлы adf. На PC.

заюзать флоппи-контроллер catweasel например. программно никак.
ps. советую почитать ru.amiga.faq
Аватара пользователя
Vinnny
Менеджер
Менеджер
 
Сообщения: 2433
Зарегистрирован: 18 май 2002, 12:56
Откуда: NiNo

Сообщение mike 05 дек 2005, 13:40

Wanderer писал(а):А поповоду не может читать - бред. Может, если написать нормальный драйвер файловой системы. Просто видимо никому этов голову не приходило.


Бред говоришь ты, незная устройства дисковых подсистем амиги и писюка. Писюк читает по секторам а амига по цилиндрам (так ощутимо быстрее), это на АППАРАТНОМ уровне, и ничего ты тут не сделаешь, и уж тем более драйвер не поможет. Единственно что могло бы помочь - сделать новый FDD-контроллер для писюка, только кому это надо ? Я лично переношу файлы на Compact Flash. На Амиге (A1200) стоит PCMCIA-Reader. Как это сделать на A500 с таким объёмом памяти, без сидюка или винта, с одним дисководом, даже не знаю. Может быть есть софтина, которая умеет копировать частями, требуя вставлять диски по несколько раз.
Аватара пользователя
mike
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 217
Зарегистрирован: 28 мар 2005, 11:16
Откуда: Санкт-Петербург

Сообщение Opk 05 дек 2005, 18:43

1)Кидать поток с ком-порта | на вход писалки типа adf2dsk.
2)Достать, как тут говорил Миха спецпрогу, понимающую по кускам.
3)Достать AsmPro. Загрузить кусок адээфины в буфер. В меню указать метку буфера и номер трэка. Кликнуть. Записать. Загрузить следущий кусок в буфер.
4)подключить второй дисковод. И от этого уже плясать
5)эмулятор :roll:
Я люблю людей
Opk
Уважаемый Амиговед
Уважаемый Амиговед
 
Сообщения: 106
Зарегистрирован: 03 окт 2005, 03:08
Откуда: от верблюда

Сообщение Wanderer 05 дек 2005, 20:45

Mike писал(а):Бред говоришь ты, незная устройства дисковых подсистем амиги и писюка. Писюк читает по секторам а амига по цилиндрам (так ощутимо быстрее), это на АППАРАТНОМ уровне, и ничего ты тут не сделаешь, и уж тем более драйвер не поможет.

Ну уж нет. Рекомендую внимательно почитать принципы работы вообще дисковых подсистем. На самом деле можно заставить и PC читать сразу всю дорожку, тем более что это не потребует никаких переделок - всего лишь выделить больший буфер DMA. Амига тоже читает секторами. А чтение трека целиком обосновано как раз самой проблемой. А вся проблема в СКОРОСТИ записи. Амига оперирует значением 150 кб в сек, а PC 250, 300 и 500 Кб в сек. Соответственно низкая скорость и обусловила применения считывание целиком всей дорожки. Эта же причина привела к невозможности пометить сбойный сектор, так как при возникновении такой ошибки сихронизация нарушается и трек целиком считан быть не может. Практически можно было бы выйти и из этой проблемы применением прямого чтения потока с диска.Для этого в контроллере PC есть сответствующий режим. Насколько я понял, этот режим часто применялся программами для защиты информации от копирования.
Wanderer
Начинающий Амиголюб
Начинающий Амиголюб
 
Сообщения: 29
Зарегистрирован: 14 ноя 2005, 00:08

Сообщение Wanderer 05 дек 2005, 20:53

Opk писал(а):1)Кидать поток с ком-порта | на вход писалки типа adf2dsk.
2)Достать, как тут говорил Миха спецпрогу, понимающую по кускам.
3)Достать AsmPro. Загрузить кусок адээфины в буфер. В меню указать метку буфера и номер трэка. Кликнуть. Записать. Загрузить следущий кусок в буфер.
4)подключить второй дисковод. И от этого уже плясать
5)эмулятор :roll:

Второй дисковод есть у меня и так. А вот где бы узнать формат ADF?
Мне не сложно написать простенькую программку которая по трекам загоняет через ком-порт в память, а потом выкладывает на диск.
А по поводу режима трубы - это ведь не *nix - консольной программе нельзя поменять поток ввода.
AsmPro сжирает довольно много памяти, уменьшая и без того скудный объем буфера.
Ладно, буду ждать когда хард мне придет из Германии.
Wanderer
Начинающий Амиголюб
Начинающий Амиголюб
 
Сообщения: 29
Зарегистрирован: 14 ноя 2005, 00:08

След.

Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39

cron