вопросы по Биосам на двух Hi и Lo

Описания, советы, ремонт, эксплуатация старых IBM PC-совместимых ПК
Ответить
Ekb
Advanced Member
Сообщения: 2606
Зарегистрирован: 15.06.2014,11:31

Вклад в сообщество

вопросы по Биосам на двух Hi и Lo

Сообщение Ekb » 11.08.2015,18:24

Имеется материнская плата 286 с биосом Hi и Lo, но зашиты в них устаревший биос (с входом меню: Cmos setup и Diagnostic). Но этот биос не может автоопределения CF-карточек (головок, блинов, секторов). А CF-карточек у меня несколько штук, надоело вводить из бумажки в CMOS.

Есть еще биос от 286-харриса-20mhz (назовем "биос-харрис"), где зашит только в одной микросхеме. В нем биос выглядит современно и есть пункт "Autodetect HDD" :thumbup:

Вопрос:
1) Можно ли биос-харрис залить-запрограммировать в старые материнские платы с другими чипсетами VLSI, Winbond? заработает?
2) Как разделить образ биос-харрис на два образа Hi и Lo ?
3) есть ли у вас (или в инете) готовые образцы биоса на двух Hi и Lo, но с функцией Autodetect HDD ?
4) как поменять/твикнуть код биоса, чтобы принимал 4 гб CF-карточки, без лимита на 512мб.

P.S. есть человек в нашем городе, который имеет программатор, но ему нужны образцы для Hi и Lo.

Mihail1810
Advanced Member
Сообщения: 2075
Зарегистрирован: 08.12.2014,11:39
Откуда: Екатеринбург

Сообщение Mihail1810 » 11.08.2015,19:42

Ну так пиши напрямую Eretik - прошить)
По остальному ответят.
----- IBM PC/XT 5160 ::: Visual Commuter 1083 ::: 286-20 ::: 386sx16 ::: 386dx40 ::: 486sx40 ::: 486dx4-100 ::: итд)

Гость

Сообщение Гость » 11.08.2015,21:38

А ёмкость обеих микрух соответствует одной "харисовой"? Мож, банально не влезет, не говоря уж об несовместимости чипсетов и прочих возможных косяках.

Аватара пользователя
eretik
Advanced Member
Сообщения: 1024
Зарегистрирован: 07.11.2013,11:15
Откуда: Екатеринбург

Сообщение eretik » 11.08.2015,22:13

Mihail1810 писал(а):Ну так пиши напрямую Eretik - прошить)
пока совсем неясно что надо шить и как поделить цельный бивис на 2 половинки.
байты пополам раскидать по верхним и нижним адресам? (какой прогой? не вручную же!)
или цельный файл пополам в блокноте порезать? (на твоём компане не заработало)

есть еще проблема с наличием флешек - в промке 2764 по космическим ценам (пару родных перезаписывать умотаешься в поисках рабочей версии биоса, удобнее оптом несколько комплектов стереть/прошить разными версиями)

DrPass
Advanced Member
Сообщения: 3696
Зарегистрирован: 17.04.2005,13:44
Откуда: Донецк

Вклад в сообщество

Сообщение DrPass » 12.08.2015,02:50

Ekb писал(а):1) Можно ли биос-харрис залить-запрограммировать в старые материнские платы с другими чипсетами VLSI, Winbond? заработает?
2) Как разделить образ биос-харрис на два образа Hi и Lo ?
3) есть ли у вас (или в инете) готовые образцы биоса на двух Hi и Lo, но с функцией Autodetect HDD ?
4) как поменять/твикнуть код биоса, чтобы принимал 4 гб CF-карточки, без лимита на 512мб.
1. Надо пробовать. Может, заработает, может, нет.
2. Там ПЗУ с 16-битным доступом. Считать её в один файл, потом разделить этот файт побайтово, нечётные байты в Hi, чётные в Lo. Программа в Турбо-паскале пишется минут за пять. Ну и как Ресторатор сказал, еще сразу объем ПЗУ проверь. Что та одна 16-битная не больше, чем две 8-битные.
3. У меня нет. В инете, наверное, есть.
4. Там для объемов больше 528 Мб не только лимит на автодетект нужен, но и целиком поддержка режима LBA при общении с IDE-накопителем. Без наличия исходников BIOS объем работы слишком большой, чтобы эту задачу решить.
Let the Force be with you

Ekb
Advanced Member
Сообщения: 2606
Зарегистрирован: 15.06.2014,11:31

Вклад в сообщество

Сообщение Ekb » 11.10.2015,18:12

Может это поможет пролить свет:
Изображение

обсуждают тут: http://www.vintage-computer.com/vcforum ... -even-BIOS

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

Вклад в сообщество

Сообщение Tronix » 11.10.2015,19:04

Да просто первый байт - в Hi, второй в Lo, третий в Hi, четвертый в Lo и тд... И если не заработает, поменять микросхемы местами (Lo в Hi, Hi в Lo). Я прожку на паскале давно писал для себя из пару строк:

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

Var
   F,FF,FFF : File;
   i : LongInt;
   B : Byte;
   Mas : Array [1..512*1024] of Byte;
   FSize : LongInt;
Begin
   Assign(F,ParamStr(1));
   Reset(F,1);
   FillChar(Mas,512*1024,$FF);
   FSize := FileSize(f);
   BlockRead(F,Mas,FileSize(F));
   Close(F);

   Assign(FF,'even_red.bin');
   Rewrite(FF,1);
   Assign(FFF,'odd_white.bin');
   Rewrite(FFF,1);
   WriteLn('Converting...');

   i := 1;
   while I <FSize do
      begin
      BlockWrite(FF,Mas[i],1);
      Inc(i);
      BlockWrite(FFF,Mas[i],1);
      Inc(i);
   end;
   Close(FF);
   Close(FFF);
   WriteLn('done');
End.
Вложения
split_bios.exe
(12 КБ) 349 скачиваний

Ekb
Advanced Member
Сообщения: 2606
Зарегистрирован: 15.06.2014,11:31

Вклад в сообщество

Сообщение Ekb » 12.10.2015,07:38

Tronix
скачал вашу прогу, подкинул любой текстовый файл - и действительно поделился на две части. :thumbup:
Спасибо большое!

Теперь думаю можно рискнуть перепрошить :)

P.S. есть ли процесс обратный? even + odd => один файл

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

Вклад в сообщество

Сообщение Tronix » 12.10.2015,07:46

Ekb писал(а):P.S. есть ли процесс обратный? even + odd => один файл

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

Var F,FF,FFF : File;
i : LongInt;
B : Byte;
Begin
   Assign(F,ParamStr(1));
   Reset(F,1);
   Assign(FF,ParamStr(2));
   Reset(FF,1);
   Assign(FFF,'out.bin');
   Rewrite(FFF,1);
   while not  eof(F) do
      begin
      BlockRead(F,B,1);
      BlockWrite(FFF,B,1);
      BlockRead(FF,B,1);
      BlockWrite(FFF,B,1);
   end;
   Close(F);
   Close(FF);
   Close(FFF);
   WriteLn('done');
End.
Вложения
bios_con.exe
(12 КБ) 271 скачивание

Ekb
Advanced Member
Сообщения: 2606
Зарегистрирован: 15.06.2014,11:31

Вклад в сообщество

Сообщение Ekb » 12.10.2015,08:36

Tronix
всё работает! :thumbup:
Запускал под winXP

Гость

Сообщение Гость » 12.10.2015,16:10

Ekb писал(а):всё работает! :thumbup:
Запускал под winXP
Ещё-б не работало! Там только простейшие операции и всё-ещё 8-битный (!) API. Да, перегибаю, но на 8-ми битах этот код работоспособен. И легко да просто масштабируется на любую битность.

Ответить