Я прям чувствую какой-то подвох. Вы небось сейчас скажете что-нибудь вроде: "так нет же никакой разницы в длительности единицы; определение значения сигнала происходит по фронту тактового импульса"?:v2_blink:
Вид для печати
Ну в нашем случае вроде не по фронту.
Мне просто интересно почему Вы делаете разницу: вот это - битовый поток, а вот это (хотя многие и его так называют) - совсем не битовый. Именно об этом, как мне кажется, не смог сказать LeoN65816.
А тут мне показалось что Вы сформулировали критерий, определили разницу.
Просто в возражениях "это не битовый поток" я-то всё ждал продолжения "потому что ..."
А тут вроде почти дождался и хотел конкретно определиться с этим "потому что", чтобы дальше было что _предметно_ обсуждать. Пока же получалось что-то из серии "я не знаю как надо, но Вы делаете (называете) это неправильно". Или "уж мы-то знаем что ты облажался, но в чем не скажем, надо же тему читать". Оба варианта не от Вас, но это всё-равно огорчало, несмотря на поддержку википедии и инженеров из Шугарта ;-)
Ну, хотя бы потому, что если единица короче битового окна, то в пределах окна у нас получается два состояния: и 0 и 1. Возникает неопределенность - а в какой, собственно, момент времени железо должно определять текущее значение. Особенно, как в случае с сигналом с дисковода, если импульс узкий и "гуляет" по битовому окну. В случае с UART ситуация выглядит проще - можно защелкнуть в какой-нибудь триггер значение в середине битового окна и дело в шляпе. Поступать так с сигналом с дисковода мы не можем, мы очень быстро защелкнем не то состояние. Значит, схема должна быть построена иначе. Мы должны ловить именно факт присутствия импульса в окне, то есть определить его передний и задний фронты, убедиться что расстояние между ними какое-то разумное (то есть это не случайная "иголка") и что оба фронта находятся внутри окна.
Собственно из-за того, что детектятся вроде бы одинаковые битовые потоки по разному, и хочется их считать разными :)
Мне кажется Вы преувеличиваете разницу. Вот на что я бы обратил внимание: в обоих случаях для нам критически важно определить размеры окна. В случае UART при определенных особенностях канала и реализации окно тоже может плавать как по длине, так и смещаться. Да, при старт-стопной реализации UART и жесткой фиксации скорости передачи это незаметно . При длительной же передаче никто не гарантирует что наша выборка в середине окна со временем не может оказаться на границе окна.
В КНГМД при условии четкого понимания границы окна нам тоже достаточно защелкнуть тригером импульс в течении этого окна и считать выход этого тригера на заднем фронте окна. С учетом того что этот импульс формируется одновибратором в дисководе вероятностью иголки можно в большинстве случаев пренебречь. В отличии от UART тут у нас и скорость передачи может плавать.
И, опять же, разница схем обуславливается еще и тем, что в случае UART у нас асинхронная передача, а в нашем случае - синхронная. Соответственно совсем по разному определяется и момент времени, в который железо должно определять текущее значение. Так что асинхронный битовый поток и синхронный битовый поток - они уже разные.
Поэтому я целиком с Вами согласен что потоки в нашем случае и в случае UART - разные. Но почему в одном случае у Вас не вызывает возражение "битовый", а в другом - вызывает, я пока не понял.
Знаете, рационального объяснения не нашлось :) Я почти не встречался с импульсной логикой, поэтому в голове прочно засела потенциальная :) И при словах "битовый поток" сам собой всплывает NRZ-L поток. Хотя безусловно и NRZ и импульсный поток - это битовые потоки, хотя и кодирующиеся по-разному. Возможно, попадись мне в начале 90-х картинка с 9 разными кодировками одного битового потока как здесь, у меня бы сейчас не было этого возражения.
Мне кажется, Вас цифры FD-55 ввели в заблуждение. У какой-нибудь "Электроники МС5305" максимальная длительность импульса 1,5 мкс, так что уже не будет соотношения 1:1.
В некоторых сепараторах длительность импульса старались искусственно уменьшить. Поскольку "наползание" импульса правым фронтом на границу окна детектирования у некоторых контроллеров считается ошибкой чтения, выгодно иметь этот импульс максимально коротким, чтобы расширить диапазон, в котором этот импульс может "гулять". И сепаратор вовсе не обязан "выравнивать" длительность импульсов. Важен только факт наличия или отсутствия импульса внутри окна детектирования.
Если диск крутился на 10% быстрее чем надо, не в силах сепаратора растянуть время и вернуть битовой позиции длительность 4 мкс. Но у сепаратора есть функция восстановления тактовой частоты. Частота будет пропорционально повышена, окна детектирования уменьшены, и чтение бита пройдет на 10% быстрее, как и запись данных в сдвиговый регистр.
Давайте я тогда к этому рисунку добавлю окна данных и синхронизации, чтобы было видно, что в каждом битовом элементе есть две части и каждый импульс кодирует определенный бит - бит данных или бит синхронизации. Причем, наличие импульса это 1, а отсутствие - 0. То есть, битовый поток будет 0101000100101001.
Вложение 58668
Кстати, некоторые диски из той "тысячи" -- с Агата. Экспериментирую с a8rawconv, вроде что-то распознает.
Скрытый текст
Код:A8 raw disk conversion utility v0.92
Copyright (C) 2014-2016 Avery Lee, All Rights Reserved.
Licensed under GNU General Public License, version 2 or later.
Reading SuperCard Pro image: work/A7-02x5.scp
0 (16) | 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8
1 (16) | 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11
2 (16) | 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3
3 (16) | 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13
4 (16) | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
5 (16) | 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13
6 (16) | 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6
7 (16) | 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9
8 (16) | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0
9 (16) | 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11
10 (16) | 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2
11 (16) | 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7
12 (16) | 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11
13 (16) | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0
14 (16) | 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4
15 (16) | 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9
16 (16) | 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
17 (16) | 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3
18 (16) | 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8
19 (16) | 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2
20 (16) | 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
21 (16) | 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5
22 (16) | 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
23 (16) | 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9
24 (16) | 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4
25 (16) | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
26 (16) | 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11
27 (16) | 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5
28 (16) | 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1
29 (16) | 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
30 (16) | 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10
31 (16) | 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5
32 (16) | 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1
33 (16) | 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5
34 (15) | 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9
Writing Apple II disk image (DOS 3.3 ordering): work/a7-02.do
WARNING: Missing sectors not supported by DSK/DO format. Writing out null data.
WARNING: Track 34: missing sectors: 11
1 missing sector, 0 sectors with errors
[свернуть]
Вложение 59520Код:% ./a2ls work/a7-02.do
Disk Volume 254, Free Blocks: 244
B 092 EVOLUTION
A 079 DINO
Первый попавшийся 840K диск более или менее успешно прочитался SAMdisk. Действительно ли там есть address mark 0x6B90 -- это вопрос...
Скрытый текст
Код:80 Cyls 2 Heads:
250Kbps MFM, 21 sectors, 256 bytes/sector:
0.0 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13
1.0 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10
2.0 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6
3.0 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Warning: unknown MFM address mark (6B90) at offset 2 on cyl 4 head 0
4.0 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10
5.0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
6.0 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
7.0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2
8.0 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
9.0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0
10.0 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12
11.0 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4
12.0 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
13.0 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8
14.0 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
15.0 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
16.0 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6
17.0 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
18.0 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
19.0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
20.0 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13
21.0 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
22.0 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
23.0 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
24.0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0
25.0 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12
26.0 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4
27.0 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
28.0 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7
29.0 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
30.0 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Warning: unknown MFM address mark (9533) at offset 4 on cyl 31 head 0
31.0 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6
32.0 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
33.0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
250Kbps MFM, 31 sectors, 256 bytes/sector:
34.0 11 12 13 14 15 16 17 18 19 1[r] 20 2[r] 0 3[r] 1[r] 4[r] 2[r] 5[r] 3[r] 6[r] 4[r] 7[r] 5[r] 8[r] 6[r] 9[r] 7[r] 10[r] 8[r] 9[r] 10[dc,r]
250Kbps MFM, 21 sectors, 256 bytes/sector:
35.0 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
36.0 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8
37.0 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
38.0 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7
39.0 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15[nd]
40.0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2
41.0 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11
42.0 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
43.0 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7
44.0 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
45.0 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
46.0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
47.0 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10
48.0 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
49.0 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6
50.0 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
51.0 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4
52.0 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12
53.0 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7
54.0 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
55.0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2
56.0 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11
57.0 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
58.0 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6
59.0 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
60.0 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
61.0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
62.0 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4
63.0 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8
64.0 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13
65.0 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
66.0 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
67.0 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11
68.0 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
69.0 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
70.0 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13
71.0 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
72.0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
73.0 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
74.0 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
75.0 17 18 19 20 0 1 2[+320] 3[nd] 4 5 6 7 8 9 10 11 12 13 14 15 16
76.0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
250Kbps MFM, 40 sectors, 256 bytes/sector:
77.0 4 5 6[r] 6[r] 7[r] 7[r] 8[r] 8[r] 9[r] 9[r] 10[r] 10[r] 11[r] 11[r] 12[r] 12[r] 13[r] 13[r] 14[r] 14[r] 15[r] 15[r] 16[r] 16[r] 17[r] 17[r] 18[r] 18[r] 19[r] 19[r] 20[r] 20[r] 0[r] 0[r] 1[r] 1[r] 2[r] 2[r,+810] 3[r] 3[nd,r]
250Kbps MFM, 21 sectors, 256 bytes/sector:
78.0 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3[dc] 4 5 6 7 8
79.0 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12
250Kbps MFM, 19 sectors, 256 bytes/sector:
0.1 14 15 16[m2,dc] 17 18 19 20 0 1 2[m2,dc] 4 5[m2,dc] 6[m2,dc] 7 8 9 10[m2,dc] 12 13
diff (16): =92 -16 =148
diff (2): =5 -251
diff (5): =69 -187
diff (6): =69 -187
diff (10): =37 -219
250Kbps MFM, 21 sectors, 256 bytes/sector:
1.1 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
2.1 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3
3.1 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
4.1 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6
5.1 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
6.1 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7
7.1 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
250Kbps MFM, 22 sectors, 256 bytes/sector:
8.1 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5[r] 6 5[nd,r]
250Kbps MFM, 21 sectors, 256 bytes/sector:
9.1 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
10.1 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
11.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
12.1 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13
13.1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
14.1 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
15.1 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11
16.1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2
17.1 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
18.1 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6
19.1 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
20.1 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10
21.1 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
22.1 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
23.1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
24.1 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
25.1 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
250Kbps MFM, 41 sectors, 256 bytes/sector:
26.1 2 3[r] 3[r] 4[r] 4[r] 5[r] 5[r] 6[r] 6[r] 7[r] 7[r] 8[r] 8[r] 9[r] 9[r] 10[r] 10[r] 11[r] 11[r] 12[r] 12[r] 13[r] 13[r] 14[r] 14[r] 15[r] 15[r] 16[r] 16[r] 17[r] 17[r] 18[r] 18[r] 19[r] 19[r] 20[r] 20[r] 0[r] 0[r] 1 24[nd]
250Kbps MFM, 21 sectors, 256 bytes/sector:
27.1 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13
28.1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
29.1 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
30.1 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11
31.1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0
32.1 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
33.1 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
250Kbps MFM, 34 sectors, 256 bytes/sector:
34.1 6 7 8 9 10 11 14[r] 12 15[r] 13 16[r] 14[r] 17[r] 15[r] 18[r] 16[r] 19[r] 17[r] 20[r] 18[r] 0[r] 19[r] 1[r] 20[r] 2[r] 0[r] 3[r] 1[r] 4[r] 2[r] 5[r] 3[r] 4[r] 5[nd,r]
250Kbps MFM, 21 sectors, 256 bytes/sector:
35.1 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13
36.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
37.1 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
38.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
39.1 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10
40.1 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
41.1 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6
42.1 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
43.1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4
44.1 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12
45.1 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
46.1 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
47.1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
48.1 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13
49.1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0
50.1 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
51.1 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
52.1 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
53.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
54.1 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10
55.1 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
56.1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
57.1 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
58.1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4
59.1 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11
60.1 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
61.1 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13
62.1 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
63.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
64.1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
65.1 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10
66.1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
67.1 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
250Kbps MFM, 22 sectors, 256 bytes/sector:
68.1 20 0 1 2 3 4 5 6 7 8 231 9 10 11 12 13 14 15 16 17 18 19
250Kbps MFM, 21 sectors, 256 bytes/sector:
69.1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2
70.1 7 8 9 10 11 12 13 14 15 16[m2,dc] 17 18 19 20 0 1 2 3 4 5 6
diff (16): =150 -106
71.1 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11
72.1 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14[+317] 15[nd]
73.1 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3
74.1 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
75.1 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9
76.1 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13
77.1 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
78.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1
79.1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5
[свернуть]
Улучшил код чтения формата 840K -- теперь читаются образы .hfe, сконвертированные из .aim инструментом agath-aim-to-hfe.pl.
Причешу и отправлю автору SAMdisk.
вот это да..... я несколько лет разыскивал игру evolution. Так как автор игры вот тут её вспоминал :
http://agatcomp.ru/Gamez/Shamus.shtml
Цитата:
Одним из первых, более или менее «профессиональных продуктов» была переделка PCшного Evolution - игра из пяти уровней, амеба должна была поедать корм увеличиваясь в размерах, мышь - собирать сыр, бобер - проплыть между крокодилов, обезьяна - сбивать бананы, а человек отстреливался от пришельцев. На этой игре отработали технику работы со спрайтами, заодно «изобрели» алгоритм проверки натыкания на препятствия на черно-белом экране: вывести спрайт на черный фон через XOR а потом сравнить то что на экране с оригиналом. Если не совпадает - значит натолкнулись на что-то белое )) Ну и родилось название AKM GameSoft.
И тут такая удача, на вашем диске она есть, спасибо!
А еще что-то удалось вытянуть из агатовских дисков?
есть немного из той же пачки, что и диск с evolution - те, что прочлись без ошибок: Вложение 61577.
Код:a7-01.do Disk Volume 254, Free Blocks: 108 0 errors
*B 32831 bejsik-a7
*A 32772 AUTOEXEC
*B 125 STAR BLASER
*A 020 dino-3
*B 036 SNAKE.EXE
*A 002 rekl.(d)
*A 082 dino-2
*A 016 dino-2(|kz)
a7-04.do Disk Volume 254, Free Blocks: 30 [WARNING: Track 32, sector 15: 3/4 bad sector reads discarded at position 0.96.]
*A 002 MENU
*B 081 BOLO1
*B 044 PUSHER
*B 036 SNAKE.EXE
A 080 DINO
*A 011 PITON
*A 063 KLARNON
*A 028 morskoj boj
*A 033 piton
*A 007 slowa
a7-07.do Disk Volume 254, Free Blocks: 133 0 errors
A 002 HELLO
B 045 G(1)
B 088 G(2)
*B 139 CANNONBALL BLITZ
*B 081 SNAKE BYTE
*B 011 MENU
=
for pravetz?
a7-09.do Disk Volume 254, Free Blocks: 0
B 010 TEST.OBJ
*B 011 MENU
*B 086 SPY'S DEMISE
A 003 START1
A 007 U1
B 010 FEX
*B 101 PANIC
*B 053 TETRIS'
*B 087 CUBIT
T 002 START
A 051 KLAV1
A 042 KLAV2
A 025 TEST.FEX
T 001 sa{a
А нельзя ли заполучить и плохо прочитавшиеся образы 140?
840 как я понимаю тоже есть несколько?
И еще, а не сможем договорится после окончательной сортировки, о передаче мне на время агатовских дисков, я бы их вычитал с гарантией своей читалкой:
http://agatcomp.ru/Hard/bridge.shtml
Заполучить можно, но на форум они не влезут -- один образ в сыром виде .scp - 11-12 мб (5 проходов чтения каждой дорожки). Что-нибудь придумаю. 840K диск нашелся пока только один.
Одолжить тоже можно, не знаю только - когда :)
Кстати, a7-02.do частично битый:
a7-07.do и a7-09.do -- для Apple (а скорее, для Правца).Код:WARNING: Missing sectors not supported by DSK/DO format. Writing out null data.
WARNING: Track 34: missing sectors: 11
Да без разницы, главное чтобы это когда-то случилось.
Я бы не стал с ходу обвинять диск, скорее всего просто дорожка в сторону уехала.
Такое бывает на 140Кб. Даже проги типа "корректор смещения" существовали.
Просто не знаю чем вы читаете, кстати расскажите каким инструментарием пользуетесь - очень интересно, на форуме не нашел информации.
Скажем если чем-то типа KryoFlux или SuperCard Pro, то уже неоднократно был опыт что
вроде как диск битый при чтении ими - а я потом настоящем приводом 140 перечитываю все без единой ошибочки.
железо -- SuperCard Pro + Panasonic JU-475-5 (есть и другие дисководы, но этот основной)
софт -- Aufit (для сортировки "PC" - "не PC" и красивых картинок), a8rawconv (для перегона в формат .do), samdisk, HxC. в samdisk потихоньку дописываю поддержку формата 840к (пока не уверен в ней до конца)
ссылки на софт
http://info-coach.fr/atari/software/...ects/Aufit.php
http://atariage.com/forums/topic/231...rsion-utility/
https://bitbucket.org/whizzosoftware/a8rawconv
http://simonowen.com/samdisk/
https://github.com/simonowen/samdisk
да никак. ждет своего года, месяца, дня и часа, а тем временем я в https://vk.com/yebenya залез :)
Ясно, я то думал ей и вправду можно 840 агатовские прочитать хоть как-то
http://forum.agatcomp.ru//viewtopic.php?id=126
как-то -- можно, если не лень собрать samdisk с патчем: https://github.com/shattered/samdisk...8b3a30929369c7
за результат не отвечаю
https://www.techtravels.org/wp-conte...21B-070103.pdf
Про импульсы чтения/записи расписано в п.5.3.6 на стр.18 и в п.5.4.4 (все сказано "русским языком") на стр.20.
https://wiki.reactivemicro.com/Applesauce -- мега-проект для чтения дисков без Apple :)
результаты работы этого изделия можно увидеть в https://twitter.com/A2_Canada, https://twitter.com/DiskBlitz, https://twitter.com/a2_4am
shattered, Ага, только релиз обещан в марте 2018 года. То есть пока у них тихий междусобойчик.
И да, заявленный ценник радует. Плюс, если я правильно понял, для полноты ощущений нужен родной дисковод с аппаратной модификацией (замена MC3470)
Как-то так, да. Простым смертным остается покупать SCP/Kryoflux и страдать от невозможности дампить half/quarter tracks и подобные фокусы.
Простые смертные б давно уже взяли ардуину и сделали все сами.
И это прекрасно, а пока у меня надобности в подобной колбасе нет :)
Да, давно уже. Кстати это Володино устройство получилось настолько удачным, что нам удалось помочь в снятии образов болгарским и американским коллегам. Имеющиеся у них средства не смогли прочесть некоторые, исторически важные, но заковыристые диски.
http://agatcomp.ru/Hard/pcad-new/link2-140s.jpg
Одно такое устройство для 140кб дисководов есть в продаже на барахолке форума Agatcomp.ru. Также есть платки для сборки обоих линков и одно собранное устройство для 840кб дисководов.
Немного софта для работы с образами дисков
DiskBrowser
https://github.com/dmolony/DiskBrowser
CiderPress
http://a2ciderpress.com/
http://github.com/fadden/ciderpress/
AppleCommander
https://applecommander.github.io/
https://github.com/AppleCommander/AppleCommander
dos33fsprogs
http://www.deater.net/weave/vmwprod/apple/dos33fs.html
https://github.com/deater/dos33fsprogs
специфику Агата (840K, кириллица в бейсике) не учитывают, разумеется.
Да оно и не нужно вроде, есть свои не менее развитые: http://agatcomp.ru/Soft/dos33c2.shtml
Там на специфику агата слишком много приходится, это и имена в каталогах и файловые системы и подкаталоги ос и тексты\картинки других режимов, в общем более 100 мелких и крупных особенностей
Как скажете, но DiskBrowser весьма хорош для разглядывания дисков (удобная карта &c), например
FM и MFM в картинках, страница 20.
Итоги чтения дисков после сортировки и ремонта.
Игры для Apple, 10 дисков. Почти не пострадали.
Вложение 73781
Софт для Правца (СП Вариант и ХИЦ Волна), 8 дисков. "Знакомство" пострадало сильнее прочих, есть битые сектора. Остальные отремонтированы, но насколько хорошо -- непонятно, в эмуляторе Олега О некоторые ведут себя странно.
Вложение 73782
1- Алгоритм
2- Информатика
3- База данных «Рок-группы», редакторы
4- Клавиатурный тренажер
5- Знакомство с ЭВМ
6- Редактор текстов (ХИЦ Волна)
7- Курс обучения программированию на Бейсике
8- Знакомство с ЭВМ ч.2
Софт для Агата (уже известный, насколько я понимаю), 4 диска.
Вложение 73783
1- Агат-Автор и немного текстов втч. чудесные предсказания П. Глоба :). На дорожке 25 сильно плывет скорость, часть секторов не прочлась.
2- диск с надписью "сервис+RESSI"
3- диск с "графическим ДОС"
4- диск с меткой К.Ц. ЭЛЬФ-1П
Игры для Агата (бейсик и ассемблер), 7 дисков.
Вложение 73784