Adventurer
#12
31 января 2001 |
|
Железо - Схемы для с HD FDD дисководами и дисками на спектруме.
(C) J7N/4th Dimension FDD: новые возможности. heYa! Наконец JTN , то есть я, решил донести до народа кучу накопившейся поле- зной информации в надежде,что кому-нибудь она пригодится. Как видите, на этот раз я вещаю не с экрана, украшенного #Z80-e-pa- per logo, а дружественного нам ADVENTURE- R 'а. Это связано с тем, что в ближайшее время не планируется новых выпусков #Z80 , и в то же время статьи по железу не очень вписываются в формат нашего из- дания, судьба которого как всегда неопре- деленна ;), т.е. о его кончине речь не идет, равно как и о скором возрождении. Честно говоря, не хотел этого пи- сать, но не могу не молчать: ну зачем спрашивается нужны огромные спектрумовс- кие экраны ( Born Dead ), индикаторы но- мера дорожки и еше какой-то ерунды ( De- jaVu ), мультицапов и модификаторов адре- сного пространства ( ZX Hard )? Все это обычному юзеру нафиг не нужно и к тому же гробит и без того еле жывые п/платы наших компьютеров, короче говоря, засоряет жур- налы/газеты, а также умы начинающих "пая- льнищиков". Я думаю, вы сделаете соответ- ствующие выводы. Ну ладно, не будем о грустном, пред- лагаю на Ваше рассмотрение следующие ве- щи: во-первых, адаптированную к Профи схему для чтения/записи HD (High Density) дисков, во-вторых, _очень_ полезную при- мочку, дополняющую Turbo HD , ну и нако- нец, маленький прибамбас, который я наз- вал "защита #FD" . Все опубликованные схемы придуманы лично мной, также мной спаяны и работают, так что читайте, раз- бирайтесь, хватайте паяльник и... поль- зуйтесь на здоровье (-: Краткая аннотация по Turbo HD . Мно- гие утверждали, что ВГшка никогда не смо- жет работать с HD, ан нет, нашлись умные люди, решившие эту проблему (не знаю, ко- му принадлежит авторство, но сделаю ссыл- ку на AXLR , поскольку в последней вер- сии, опубликованной в DEJA VU #0A стоит его копирайт). Кстати, в любом случае со- ветую ознакомиться с прототипом (хотя бы в том же DEJA VU #0A ). Основная идея очень проста: на контроллерах флопов ис- пользуются частоты: 1 Mhz для ВГшки, 4 Mhz для схемы записи (на м/сх ИР16) и 8 Mhz для ФАПЧ, либо 4 Mhz для схемы чтения это стандартные частоты. Если каждую из них удвоить, то начнут читаться/писаться HDшные диски (только в том случае, если дисковод позволяет). Как видите, все эле- ментарно. Теперь реализация. Владельцам Профи , плат версии 3.x (версия верхней платы, нижняя может быть любой) нужно собрать только первый фраг- мент: м/сх D1, D2. Последовательность действий (все обозначения для верхней платы!): 1. Если у Вас кварц ZQ1 на 16 Mhz, то переходите к п.3. 2. Поставьте кварц ZQ1 на 16 Mhz, разомкните контакты 1 и 8 у S3 (в схеме это U27), и замкните контакты 2 и 7. За- пустите комп, с дисками он должен рабо- тать как и раньше, иначе ставьте U22 и U26 серии 1533 или хотя бы 555. Когда все заработает переходите к п.3. 3. Разомкните 2 и 7 у S3. 4. Поставьте D1, D2 доработки. Отку- да брать сигналы? 8Mhz с U26.12, 16 Mhz с U26.14, FREQ на U26.1, WF/DE с U21.13, DRQ с U13.9, /STEP с U12.4. Где брать /HDA, /DSB и нафига они нужны читайте дальше. Микросхемы: D1: 1533ТМ2, D2: 1533КП12, в качестве D1 сойдет 555. Фрагмент 1. D2 ┌───┬──┬──┐ 8Mhz ┌──6│A0 │MX│ │ ──────────────────────5│A1 │ │ │ 16Mhz ├──4│A2 │ │ │ FREQ ───────────────────┴──3│A3 │ │YA│7───── D1 ┌──1oE0A│ │ │ WF/DE ┌─┬─┬─┐ ┴ ├───┤ │ │ ────────1oR│T│ │ ──10│B0 │ │ │ DRQ ┌─2│D│ │ │ ──11│B1 │ │ │ ──────┼─3│C│ │_│6 ──12│B2 │ │ │ /STEP │┌4oS│ │Qo─┐ ──13│B3 │ │YB│9── ──────┼┘ └─┴─┴─┘ │ ──15oE0B│ │ │ ┴ │ ├───┤ │ │ /HDA └───14│SO │ │ │ ─────────┤<├───┬──────2│S1 │ │ │ /DSB │ └───┴──┴──┘ ─────────┤<├───┤ └────███───o +5V 10К Что, у Вас не Профи 3й версии? Ну ничего, для Вас я постарался и нарисовал кусок схемы с Профика (фрагмент 2). Итак: 1. Сначала выясняете, если у Вас ФАПЧ. ФАПЧ это такая штуковина из 2х мик- росхем ТМ9 и РТ4 (или РТ11 вместо РТ4), соединенных в цепочку, которая якобы по- могает лучше читать диски:). ФАПЧ точно есть на Профи - всех версий, на Скорпе , и его точно нет на _оригинальном_ Пента- гоне и контроллере из инфоркомовской кни- жки, на остальных смотрите сами... Кстати, Народ!, пришлите plz;) бума- жные схемы Кая 1024 и Атм 'а - Родина вас не забудет! 2. Собираете фрагменты 1 и 2 (гене- ратор на D4 можно не собирать если он есть, главное, чтобы ZQ1 был на 16Mhz). 3. Если ФАПЧ есть, то отрезайте вы- вод 9 ТМ9 и подавайте на него сигнал FREQ, а если ФАПЧа нет, то ищите место, куда идет сигнал 4Mhz (как уже писал вы- ше, 4 Mhz используется также в схеме за- писи - вывод 9 микросхемы ИР16), отрезае- те его и подаете туда сигнал WRCLK. 4. Одноименные сигналы обоих фрагме- нтов соединяются, сигнал WRCLK подается на вывод 9 м/сх ИР16 в схеме записи (от- резав приходящую туда дорожку), а WGCLK на вывод 24 ВГшки (идущий туда проводник также отрезается). Микросхемы: D3: 1533ИЕ5, D4: 1533ЛН1 Фрагмент 2. ZQ1 16Mhz ┌──────┤█├──────┬─────────────────────── │ D4.1 D4.2 │ │ ┌─┐ ┌─┐ │ D3 ├─1┤1o2─┬─3│1o4─┤ ┌──┬──┬──┐ 8Mhz │ └─┘ │ └─┘ └─14│CO│CT│Q0│12──────── │ 1К │ ┌───1│C1│ │Q1│9───┐WRCLK └──███──┘ │ ├──┤ │Q2│8── └───── │┌──2│R1│ │Q3│11┐ VGCLK FREQ │├──3│R2│ │ │ └─────── ───────────────┘│ ├──┴──┴──┤ ├─10┤GND Uv├5─o +5V │ └────────┘ ┴ не забудьте, что питание на м/сх ИЕ5 подается на 10 и 5 выводы! Так, и еще пара замечаний перед гла- вной частью этой статьи. Во-первых, я ис- пользую только 3,5' HD диски, это связано и с тем, что 5,25' диски _imho_ морально устарели, так и с тем, что длина дорожки на них меньше, чем на 3,5'. Во-вторых, я _категорически_ не согласен, что нужно использовать бит 7 TRDOSного порта #FF для переключения контроллера и дисковода на HD и DD. И вот почему: 1. Все програмное обеспечение не ус- танавливает этот бит - т.е. это исключает (без перепрошивки) работу всех TRDOSных прог с HD диска. 2. Наклейки - это вовсе не маразм - наоборот сразу видно какой диск HD/DD. 3. Ну вы сами скоро поймете, почему ;))). Сначала сделайте сигнал /HDA, он снимается с ноги микрика, отвечающего за открытие/закрытие отверстия HD/DD, с 3,5' дисковода. Если диск заклеен, то /HDA=- лог.1. Его нужно подавать через 2 или 4 проводник дисководного шлейфа (смотрите чтоб другие дисководы на него не гади- ли:). Если у Вас 3,5' стоит драйвом "А" (как у меня - кстати это предпочтитель- ней), то /DSB берете с дисководного ра- зъема - это выбор драйва "B". Если у Вас есть еще дисководы, то добавьте еще дио- дов;). Короче говоря, на 2 вывод м/сх D2 должен быть лог.1, тогда и только тогда, когда выбран 3,5' дисковод и в нем HD'шная дискета. Предположим, что эту схему вы собра- ли и что же дальше? Лично мне попадалась всего одна программа, поддерживающая HD, причем это форматтер, который, по идее, бесполезен ввиду того, что читать и пи- сать нечем;(. Пользователям IS-DOS 'а есть смысл обратиться к фидошникам - у них, вроде, есть драйвера под это дело. Ну, а пока остается ждать появления какого-нить копировщика с писишных 1,44 дисков. Правда, у меня есть собственный, но он очень глючный и распространению не подлежит. Еще, если кто желает, могу дать модифицированный MODPLAYER , который ра- ботает как с 720, так и с 1,44 MSDOS дис- ками. А теперь то, ради чего затевалась эта статья. Сколько времени прошло между возникновением идеи и ее воплощением в жизнь сказать сложно. Причины обычные: это, конечно, лень и разные бытовые мело- чи. Схема называется "2 in 1" . Первое, что я сделал - запихал на HD дискетку 32 сектора по 256 байт, причем с interlie- ve=18 , т.е. сектора располагались так (слева указан номер стороны): 0: 1, 2, 3, 4, 5, 6,..,16,17,18,19,..,32 1:15,16,17,18,19,20,..,30,31,32, 1,..,14 0:29,30,31,32, 1, 2,..,12,13,14,15,..,28 etc... (напомню, что физические номера секторов начинаются с 1). Если кто не понял: сначала TRDOS грузит сектора 1-16 стороны 0, затем пе- реключает сторону и грузит снова сектора 1-16, причем сектора 1-14 грузятся на этом же обороте! Таким образом, за один оборот имеем в буфере почти 2 дорожки. Я сразу же проверил в RDS 'е и чуть не упал со стула;), увидев, с какой скоростью check'ается диск. Ну, в общем, дальше ра- здумывать было нечего... Итак детали: D5: 1533КП12, D6: 1533ЛЛ1 (можно ставить 555 серию). D5 ┌───┬──┬──┐ ───────┬──10│B0 │ │ │ <- это неисполь- └──11│B1 │ │ │ зованный кусок D1FF ┌──12│B2 │ │ │ м/сх D2 (фр.1) ───────┴──13│B3 │ │YB│9───┐ ┌──15oE0B│ │ │ │ ┴ └───┴──┴──┘ │ │ ┌─────────────────────┘ │ ┌──────────────────┐ │ ┌──┼────────────────┐ │ │ │ │ D5 │ │ │ │ │ ┌───┬──┬──┐ │ │ │ │ ├──6│A0 │MX│ │ │ │ │ │ ├──5│A1 │ │ │ │ │ └───────4│A2 │ │ │ │ │ D5VG /WR │ └──3│A3 │ │YA│7─┴──────── ─────────────1oE0A│ │ │ │ │ ├───┤ │ │ │ └──┬─10│B0 │ │ │ │ ├─11│B1 │ │ │ │ ├─12│B2 │ │ │ │ D5 └─13│B3 │ │YB│9───┴────── ┌───15oE0B│ │ │ A5 │ ├───┤ │ │ ────────────14│SO │ │ │ A6 │ ┌──2│S1 │ │ │ ──────────┘ └───┴──┴──┘ └──────┐ D6 │ /CSVG ┌──┐ │ ────────1┤1 ├3─┘ /RD ┌──2┤ │ ─────┘ └──┘ Куда паять? 1. Режем D5 (12 вывод 1818ВГ93). 2. Подаем туда D5VG. 3. D5, A5, A6, /WR, /RD - сигналы с шины/процессора, можно взять с ВГ93 (кро- ме D5 конечно): A5 - 5й вывод ВГ93, A6 - 6й /WR - 2й /RD - 4й D5 перерезанный 4. /CSVG берем с 3 вывода ВГ93. Как обычно, все гениальное просто;). Нужно обмануть ВГшку, подменяя номера се- кторов. Для этого используем сигнал D5. Номера получаются такие (думаю понятно почему): 1,2,..,16,33,34,..,48. Встает вопрос: как сделать переключение между двумя TRD дисками на одном дисководе? По- скольку у меня 2 дисковода: A-3,5' и B-5,25' + Ramdisk D, то решение было на поверхности: сделать драйв "C" второй по- ловинкой 3,5'. Для этого отрезаем вход дешифратора ABCD - бит D1 TRDOSного порта #FF, на дешифратор подаем 0, а освободив- шийся бит на доработку - он обозначен как D1FF. Теперь если выбрать в коммандере диск "A", будут читаться сектора 1-16 с драйва "A" (HD или DD), если "B", то обы- чные DD диски 5,25', если "C", то сектора 33-48 с драйва "A", и, наконец, выбор ди- ска "D", будет програмно перехвачен TRDO- Sом (конечно если у Вас версия 5.12 и вы- ше). В случае, когда у Вас, 3,5' подклю- чен как "B", изменений в данной схеме де- лать не нужно. Позаботтесь лишь, чтобы режим /HD включался как при обрашении к "B" и к "C" и выключался при обращении к "A". В приложении вы обнаружите програмку HDDDFORM.B - это не что иное, как мой фо- рматтер, который позволяет сформировать диск как нужно доработке. Но поскольку я не силен (точнее просто нет опыта) в пи- сании дисковых утилит, то за основу фор- маттера взят исходник Cardinal 'a из Playgear и интерфейс там фактически ника- кой;). К сожалению, эта утилитка может только форматировать, ни check'ать, ни restore'ть она не умеет. Правда, диски можно check'ать и в почти любой дисковой утилитке (в RDS 'е почему-то только 2 драйва...), но restore делать ни в коем случае нельзя - убъете сразу 1 или 2 до- рожки. Чтоб хоть как-нибудь оправдаться, привожу исходники: файл FORMAIN.A - "ин- терфэйс", MINIFONT.A - миниатюрная печа- талка, FORMHD.A - собственно, форматтер (его можно подключить к своему интерфэйсу и т.д. - все параметры описаны в исходни- ке). Напоследок, еще одна мулька - "защи- та #FD" . Наверное, многие, сделав себе расширение памяти Pentagon512 , частень- ко, ругая кодеров, щелкают переключателем ON/OFF. И все из-за того, что нынче модно обращаться к #7ffd по #fd, но с маской #40 (все благодаря Scorp 'ам с Каями и их системному порту #1ffd). Пример: LD a, #50 OUT (#FD), A - врубить 0 банк. Ну, соответственно, у кого 256/512кб начинают включаться не те банки, портится рамдиск и прочая ерунда. А кое-кто даже специаль- но (вот это уж совсем зря) переключает память по #fd ( Ultrasonic - digital tra- cker). Короче говоря, эта проблема реше- на уже давно (я не пользуюсь переключате- лем pent512 on/off полтора года). Обычно схема расширения выглядит так: pent512 on/off / ┌─┬─┬─┐ ┌───────/ └───┬────────────oR│T│ │ │ │ ├─┤ │ │ ┴ +5V o──███─┘ ┌──────────/C│ │ │ 10К │ D6 ├─┤ │ │ WR7ffd │ ──────┤0│ │0├── ──────────────────┘ D7 ┌─┤1│ │1├── ────┘ │ │ │ │ └─┴─┴─┘ Микросхема-триггер - это обычно пара элементов ТМ2 или ТМ9 или ТМ8. У ТМ2 вхо- ды R (должны быть соединены) - 1 и 13, у ТМ8 и ТМ9 - 1. Входы C у ТМ2 (должны быть соединены) - 3 и 11, у ТМ8 и ТМ9 - 9. Схема доработки: D7: 1533ЛЕ1 pent512 on/off / ┌─┬─┬─┐ ┌───────/ └───┬───┬────────oR│T│ │ │ │ │ ├─┤ │ │ ┴ +5V o──███─┘ ┌──────────/C│ │ │ 10К │ │ D6 ├─┤ │ │ WR7ffd │ │ ──────┤0│ │0├── ────────┬─────────┘ │ D7 ┌─┤1│ │1├── │ D7.3 │ ────┘ │ │ │ │ │ ┌──┐ │ └─┴─┴─┘ ├─8┤1 │ └─────────────────┐ │ │ o10─┐ D7.2 D7.1 │ └─9┤ │ │ ┌──┐ ┌──┐ │ └──┘ └─6┤1 │ ┌3┤1 │ │ A13 │ o4─┤ │ o1─┤<├┘ ────────────────────5┤ │ └2┤ │ └──┘ └──┘ Вместо D7 можно использовать инвер- тор и элемент ЛЛ1 (если есть свободные на плате). Особое внимание следует уделить сигналу WR7ffd. Здесь приведен вариант, пригодный для Пентагона и Профи : когда записи в порт нет WR7ffd=лог.0, если у Вас по-другому, то подавайте WR7ffd без инверсии (без D7.3). Принцип работ таков: 1. LD BC,#7FFD:LD A,#50:OUT (C),A адресация полная - A13=bit5,B=1 - на выходе D7.1 имеем лог.1, триггер не сбра- сывается, включается #50 банк. 2. LD A,#50:OUT (C),A адресация короткая - A13=bit5,A=0 (напомню 5й бит A - это блокировка #7ffd, поэтому он всегда равен 0) Когда происходит запись WR7ffd=1, то на выходе D7.1 - лог.0, который сбрасы- вает триггер - 6й и 7й биты. Таким обра- зом включается банк 0. Недостатки: все равно не работает UFO 2 , потому что там перед записью в #7ffd накладывается маска #c0. Также в Ultrasonic 'е имеем только 128к. А в остальном...все отлично! Напоследок Coming soon from J7N : Если не загребут в декабре в ряды ВС РФ, то обешаю опубликовать следующие схе- мы: 1. Контроллер винта с чтением секто- ра двумя командами INIR и записью двумя коммандами OTIR. 2. Схему эмуляции ВГшки, причем не важно, на винте или на рамдиске. Все за- висит от программной поддержки, которая благополучно сдохла весной этого года есте с винтом;(. 3. В дополнение к 2: метод как боро- ться с программами, т.н. "Drive A only". 4. (если очень попросят) Схему цвет- ного CP/M 'а на Профи на 72пиновом симме. 5. Полноценная пентагоновская разве- ртка на Профи версии 5.x. 6. Что-нибудь еще - делайте зака- зы;). П.1 - работал до кончины винта - схему не публикую просто из-за лени. П.п.2,3 - проверены, но на данный момент не адаптированы под шину ( Kay/S- corp ), кстати, этим же объясняются тор- моза с п.1. П.4. - работает у меня 2 года. П.5. - тормозимс. П.6. - схему разработать смогу, но проверяйте/паяйте сами;). В общем, все зависит от свободного времени и оказывае- мого на меня давления. Т.е. пишите/звони- те/телеграфируйте - будут схемы. Но с од- ним условием: в свободное распространение пойдут только 100% проверенные вещи. На днях скачал схему GS 'а. Почти сразу нашел глюк: если подключен расшири- тель, то одновременно могут выбраться ра- зные банки памяти: RAM4 на основной плате и самый младший на плате расширения. На- верное, буду делать собственную версию на симме... Приветы: AXLR , thx за схему Turbo в Пентагоне , Combinator&Point/Pht и Tiggr/BW/XPJ за моральную поддержку, VTS , Cardinal/PGC - а не слабо отформа- тить диск за 16 сек.;)?, ну и всем пермс- ким ZX маньякам. cYa, send messages to мыло: jtn@mail.ru or golubt@psu.ru звонилка: (3422) 16-82-34 (Василий) ring time: 17:00 - 21:00 msk папер: 614002 Пермь, Островского 111а-47
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября