На моей фотке джампер выставлен как дисковод "В" (для ПЦ). На Поиске будет как "А" ( учитывая что шлейф не перекручен).
---------- Post added at 18:51 ---------- Previous post was at 18:50 ----------
У меня обычный не турбированный контроллер.
Вид для печати
На моей фотке джампер выставлен как дисковод "В" (для ПЦ). На Поиске будет как "А" ( учитывая что шлейф не перекручен).
---------- Post added at 18:51 ---------- Previous post was at 18:50 ----------
У меня обычный не турбированный контроллер.
Вот такая
А вот и фигушки. Если грузить MSDOS 3.30, то действительно дисководам присваиваются буквы A-D.
А если загружаю MSDOS 5.0 или 6.22, то дисководы (720кб) это диски А и В, потом идёт винт С и D (мой винт разбит на два раздела), а далее ещё два дисковода (E, F) в режиме 360кб.
Так что жёсткой привязки нет!
Хм, значит замкнул я один джампер на дисководе, шлейф прямой без перекруток. При старте слышен звук проезжающих "туда-сюда" голов, так он и с 5,25" флопом делает. Далее, если сделать dir - есть обращение к дисководу, раскручивает мотор, но через пару секунд пишет ошибку. Форматирование пишет Drive not ready, FFORMAT пишет, что отсутствует дискета в дисководе.
Пробовал с другим адаптером, тот же эффект. Пробовал всякие 800.com, потом еще пробовал BIOS93SQ запускать с BIOS флопа - поведение немного поменялось - теперь если дать команду DIR очень долго мусолит дискету и выдает Seek error. FFORMAT начинает форматить дискету, пытается восстановить 0 дорогу но все это очень долго и видно, что не удается.
Победил я трёхдюймовый дисковод!!! Теперь он прекрасно работает на Поиске.
Нужно просто сигнал DriveReady (34 контакт дисководного разъёма) посадить на землю.
Вспомнил как подключал дисковод к РК-шке, там у меня была аналогичная проблема что трёшка не хотела нормально работать. Вот: http://zx-pk.ru/showpost.php?p=434872&postcount=206
Собсна озаботился тоже этим вопросом, так как в эмуляторе уважаемого b2m пока не работают никакие другие FDD BIOS кроме самого стандартного без надписей который. И из-за этого у меня turbo pascal 7 не грузил IDE, потому что думал что диск C: это диск E: и ругался что не может прочитать с него.
Короче суть такова:
В XT есть слово (16 bit) по адресу 0000:0410h, типа описатель установленных устройств. Эту инфу в память записывает BIOS при старте, он же потом отдает ее по int 11h. Здесь в битах 6-7 и задается кол-во доступных гибких магнитных драйвов:
В BIOS Поиска особо не заморачиваются с детектом что установлено а что нет, а прям копируют всегда такую табличку:Код:-------------------------- Figures ---------------------------
****************************************************************
bit
FEDCBA98 76543210 Described
XX...... ........ Number of printers installed
..X..... ........ (reserved)
...X.... ........ set if game adapter installed
....XXX. ........ Number of RS-232 serial ports
.......X ........ (reserved)
........ XX...... +1 = number of floppy drives (see bit 0) 00 - 1 drive, 01 - 2 drives, etc.
........ ..XX.... Initial video mode
01 - 40 column color
10 - 80 column color
11 - monochrome
00 - none of the above
........ ....XX.. For PC w/64k motherboard
Amount of system board RAM
00 - 16k,01 - 32k, 10 - 48k, 11 - 64k
For PC/AT: not used
For PS/2:
Bit 3 not used
Bit 2 - pointing device installed
........ ......X. set if math co processor installed
........ .......X set if any floppy drives installed
if set, see bits 6 and 7
****************************************************************
FIGURE 1: equipment list word at 0000:0410h
Здесь DW 40ECh и есть то самое слово конфигурации, которое копируется в 0000:0410h. Поэтому достаточно в BIOS найти и подменить это слово на 406Ch (один FDD). Ну и поправить у биос контрольную сумму после этого. Я сделал это на BIOS 91 года, он в архиве.Код:TEST_TABLIC LABEL WORD ;Таблица координации аппаратуры
DW 0,0,0,0 ;Адреса адаптеров RS232
DW 0378H,0,0,0 ;Адреса принтеров
DW 40ECH ;Установить '4 устройства'
DB 0 ;Флаг инициализации
DW 96 ;Размер памяти в Кбайтах
DW 40H ;Память канала ввода/вывода
DB 0
DB 0
DB 0
DW 1EH ;Указатель вершины буфера
DW 1EH ;Указатель начала буфера
Так же проблему можно конечно решить и программно, без изменения BIOS. Достаточно записать в память по адресу 0000:0410h то самое значение 406Ch. Только делать это нужно перед загрузкой DOS, например в BOOT секторе. Ничего сложного.