Просмотр полной версии : Firmware для Спектрума
CityAceE
03.02.2005, 15:56
Представим себя Клайвами Синклерами (хотя как выясняется, представлять себя нужно вовсе не им) в 1982 году :eek:
1. Откидываем весь тот софт, который написан начиная с 1982 для Спектрума и полностью забываем о его существовании.
2. Берем стандартный для ex-USSR Спектрум-совместимый клон (образца 90-xx).
3. Выкидываем из компьютера все ПЗУ.
4. НАЧИСТО забываем как выглядели программы прошитые в ПЗУ (Basic48, Basic128, TR-DOS), а вернее в 1982 году мы их в глаза не видели :)
5. При этом в наших головах откуда-то имеются все нюансы и опыт написания программ под железо Спектрума.
Подытожу: В нашем распоряжении ни на что негодная "неизвестная" железяка, в которую необходимо вдохнуть жизнь написав "прошивку" с нуля.
Как могло бы выглядеть ПО прошитое в ПЗУ и что должно было быть в ПЗУ, если бы не было необходимости оглядываться на совместимость с накопленным софтом?
Вообще очень правильная идея.
С Димой Быстровым (АЛКО) обсуждали, что в принципе можно оставить ТырДос, а в его свободные места затолкать процедуры работы с винтом, и стандартизировать точки входа, плюс в стандартное меню встроить загрузчик такой как у Нэмо на Кае применялся, но под свой контроллер (подразумевается что IDE есть по умолчанию на "клоуне" Спека :) ).
Если развивать идею, то в оставшиеся места можно записать только загрузчик с Винта и некую таблицу идентификации устройств и портов. Тогда ОС стартуя с винта (а ОС должна быть не жесткая зашитая), базируясь на эту таблицу может полностью заюзать оборудование конкретного клона. ВОт собственно такая мысль была.
Вообще очень правильная идея.
С Димой Быстровым (АЛКО) обсуждали, что в принципе можно оставить ТырДос, а в его свободные места затолкать процедуры работы с винтом, и стандартизировать точки входа, плюс в стандартное меню встроить загрузчик такой как у Нэмо на Кае применялся, но под свой контроллер (подразумевается что IDE есть по умолчанию на "клоуне" Спека :) ).
Если развивать идею, то в оставшиеся места можно записать только загрузчик с Винта и некую таблицу идентификации устройств и портов. Тогда ОС стартуя с винта (а ОС должна быть не жесткая зашитая), базируясь на эту таблицу может полностью заюзать оборудование конкретного клона. ВОт собственно такая мысль была.
Хе-хе, и как это сэр Клайв со-товарищи до этого не додумались? :)
Так, я не понял, вы хотите родимый BASIC выкинуть???
Хе-хе, и как это сэр Клайв со-товарищи до этого не додумались? :)
Так, я не понял, вы хотите родимый BASIC выкинуть???
Неа ничего выкидывать не собираемся, если поместится все что нужно, то можно и не выкидывать. На самом деле еще от Клона сильно зависит.
CityAceE
04.02.2005, 06:41
Ну вот, отошли от темы разговора :) Мы же не знаем что такое Basic на Спектруме, мы же не знаем что такое TR-DOS! У нас есть только железо, его нужно оживить!
Я так полагаю, что как минимум в ПЗУ должен находится знакогенератор, драйвер стандартного экрана, стандартной клавиатуры, а также драйверы дисковода и винчестера.
Мы включили компрьютер. Прошел тест самодиагностики, то есть прошивка обнюхала все устройства, опредлила их наличие, а также наличие свободной памяти... А дальше-то что? Нельзя же просто так разбрасываться адресным пространством в 64К и после этого всего просто ждать загрузку с одного из внешних накопителей. Не по-спектрумовски это! Надо максимально начинить ПЗУ полезными функциями. Какими?
Неужели никто помечтать не хочет? :confused:
Ну вот, отошли от темы разговора :) Мы же не знаем что такое Basic на Спектруме, мы же не знаем что такое TR-DOS! У нас есть только железо, его нужно оживить!
Ну тогда стоит и железо получше взять. Помощнее.
Я так полагаю, что как минимум в ПЗУ должен находится знакогенератор, драйвер стандартного экрана, стандартной клавиатуры, а также драйверы дисковода и винчестера.
А равзе его там нет (знакогенератора)? Русской раскладки нет, ну она должна быть загружаемой все таки.
Базовый экран - стандартный, менять его нет смысла и драйвер к нему-непонятно честно говоря для чего.
Драйверы тоже держать как то большого смысла нет, вот появится поддержка какойнить ФАТ-ZX и что перепрошивать все?
Базовый загрузчик есть смысл держать.
Мы включили компрьютер. Прошел тест самодиагностики, то есть прошивка обнюхала все устройства, опредлила их наличие, а также наличие свободной памяти... А дальше-то что? Нельзя же просто так разбрасываться адресным пространством в 64К и после этого всего просто ждать загрузку с одного из внешних накопителей. Не по-спектрумовски это! Надо максимально начинить ПЗУ полезными функциями. Какими?
Это что за писюканство получится да еще с Plug and pray. Ну его нафиг. "Бросай эти штучки Билл, здесь другие ребята" (с)Жириновский. Смысл Оси начинается наверно с 128кб (это это минимум), рекомендуется все таки хотябы 512кб.
Да и в ПЗУ держать все - плохой тон, вон скоко ошибок было в родном, но его всеравно для совместимости держут, да и опять же куча версий будет - а это значит разброд и шатания.
Неужели никто помечтать не хочет? :confused:
Да нет почему у меня тоже мечты есть создать приличный комп с морфоархитектурой на базе отчественного 1876вм1.
CityAceE
04.02.2005, 10:58
Ну тогда стоит и железо получше взять. Помощнее.
Тогда вся суть меняется. Здесь железо вот оно - только бери и пиши новый софт под него :)
А равзе его там нет (знакогенератора)? Русской раскладки нет, ну она должна быть загружаемой все таки.
Вспомни, ведь мы выкинули ПЗУ как таковое! У нас в нём теперь вообще ничего нет и мы его строим с полного нуля :)
Базовый экран - стандартный, менять его нет смысла и драйвер к нему-непонятно честно говоря для чего.
Вот и получится, что если захотим прикрутить к нашему железу хотя бы 192х512, то сможем использовать его, только если софт будет напрямую лазить в этот режим.
Драйверы тоже держать как то большого смысла нет, вот появится поддержка какойнить ФАТ-ZX и что перепрошивать все?
Базовый загрузчик есть смысл держать.
Опять же, у нас же нет никакого софта под наше железо, а значит мы вольны сами выбирать какую систему мы поддержим на винте будь то iS-DOS или NTFS.
Это что за писюканство получится да еще с Plug and pray. Ну его нафиг. "Бросай эти штучки Билл, здесь другие ребята" (с)Жириновский.
И тем не менее что плохого, если позаимствовать хорошие идеи с других платформ?
Смысл Оси начинается наверно с 128кб (это это минимум), рекомендуется все таки хотябы 512кб.
Я помню как на своём Sintez-2 с 48 кило памяти я впервые запустил iS-DOS. Это было что-то! Я уверен, что 48 кило для минимального ядра должно хватить.
Да и в ПЗУ держать все - плохой тон, вон скоко ошибок было в родном, но его всеравно для совместимости держут, да и опять же куча версий будет - а это значит разброд и шатания.
Согласен! Значит надо написать его так, чтобы можно было безболезненно менять прошивки, а вслучае чего иметь возможность загружать куски кода и в ОЗУ, меня вектора.
Имхо, конечно.
В 1-ю очередь. Чтобы можно было на голой машине без винта, оси и т.п. грузануться с дискетки и перешить FLASH ПЗУ...
А остальное... Чтобы определиться с этим, нужно понять, на какого пользователя мы ориентируемся.
2-е, имеем !ПРОСТОЙ! способ зашить свои любимые программы в ПЗУ.
3-е, при включении компа видим меню:
1) 48 BASIC
2) OS
3) DIZZY :)
4) Чёрный ворон-3
5) HiTech C++
0) Пепрошить ПЗУ
Вспомни, ведь мы выкинули ПЗУ как таковое! У нас в нём теперь вообще ничего нет и мы его строим с полного нуля :)
ОК давай попробуем.
Т.е. грубо говоря нужно следующее:
- посекторная работа с дисководом (причем размер сектора застандартизировать);
- определение что висит на шлейфе харда;
- посекторная работа с хардом;
- базовый загрузчик;
- посекторная работа с CDROM (почему бы и негрузиться с СДРОМ);
- функции переключения памяти (точки входа стандартизировать);
- функции эмуляции текстового или базового экрана (точки входа стандартизировать);
- функции работы с клавиатурой (хотя не очень обязательно).
Остальное железо с помощью драйверов ОСИ.
Вот и получится, что если захотим прикрутить к нашему железу хотя бы 192х512, то сможем использовать его, только если софт будет напрямую лазить в этот режим.
К сожалению это единственный выход, ибо стоко реализаций разных что придумать как устроен будет драйвер сложно.
Проще расписать номера режимов, которые поддерживаются в данной машине (опять же в таблице ПЗУ). А софтописатели будут отслеживать по этой таблице какой режим можно использовать.
Опять же, у нас же нет никакого софта под наше железо, а значит мы вольны сами выбирать какую систему мы поддержим на винте будь то iS-DOS или NTFS.
Нельзя жестко забивать ФАТ, токо посекторную запись поддержать в ПЗУ, а с ФАТ пусть ОСЬ разбирается.
И тем не менее что плохого, если позаимствовать хорошие идеи с других платформ?
Прикинь поддерживаем мы ПандП, так надо ИДы разнумеровать и прочее, т.е. должно быть централизовано, а этого нет и не будет. Ну нафиг, пусть лучше каждый производитель пишет свой драйвер так как он считает нужным. Да и настроить ось без ПП проще.
Я помню как на своём Sintez-2 с 48 кило памяти я впервые запустил iS-DOS. Это было что-то! Я уверен, что 48 кило для минимального ядра должно хватить.
Хватит, но большого смысла в этом нет ибо такая ось будет не менее убога как ТРДОС и ИЗДОС первых версий.
Согласен! Значит надо написать его так, чтобы можно было безболезненно менять прошивки, а вслучае чего иметь возможность загружать куски кода и в ОЗУ, меня вектора.
Т.е. должна быть стандартизированная таблица входов, т.е. грубо говоря BIOS.
Если я - злой лысый предприниматель в 1982-м году, то я иду на поклон к микрософту и заказываю у них вирменный бейсик, Microsoft DOS и совместимость с CP/M в стиле MSX. Так же я понимаю что успех платформы во многом зависит от скорости и эффективности работы со спрайтовой графикой и звукогенератором с частотвой модуляцией, поэтому я заказываю у мирового лидера в этой области - фирмы Ямаха - YM и VDP V9918. Память я решаю ставить 64KB RAM и 16KB VRAM, при этом говорю инженерам, чтобы сделали видеопамять доступной не только через порты VDP, но и на прямую. Так же я сразу же добавляю поддержку внешних дисководов DD 5.25" и 3.5". Так же я понимаю что конроль качества должен быть на высоте, а анонсы новинок можно делать только тогда, когда они полностью готовы к запуску в производство. Все!
CityAceE
05.02.2005, 13:14
Если я - злой лысый предприниматель в 1982-м году... Все!
Тогда это будет уже совершенно другое железо!
Вы видимо не совсем понимаете о чём говорю. У нас есть железо, во всем его разнообразии, которое наработано на сегодняшний день для Спектрума, но у нас нет ни одной программы, включая прошивку. Нам надо создать прошивку, чтобы это железо ожило так, чтобы стать современным компьютером, под которое начнет писать свои программы армия программистов...
Ясное дело никто ничего писать уже не будет, но, во-первых, мечтать не вредно, а во-вторых, никто не мешает просто так, ради развлечения начать писать такую прошивку. Просто очень интересно с высоты прожитых лет посмотреть какой могла бы быть идеальная прошивка.
Чего греха таить, все мы (присутствующие на этом форуме) имеем доступ к эмуляторам либо же одними эмуляторами пользуемся, так что заменить прошивку с своем виртуальном компьютере не составит никакого труда.
Вспоминаю, когда я пользовался компьютером "Специалист" ребята из г. Барнаул написали свою прошивку SP-580, при этом чтобы их прошивка заработала необходимы были некоторые аппаратные доработки. Я эти доработки сделал и поставил SP-580. Позже я добавил в компьютер переключатель, который переключал ПЗУ и эти самые доработки... Просто навеяло...
Можно, например, для начала продумать работу с клавиатурой. Надо продумать так, чтобы любая клавиатура подключенная любым образом к Спектруму работала без нареканий. Например, захочу я подключить РС-клавиатуру через магнитофонный разъем (наверное это всё же не реально, но это лишь пример) и у меня не должно возникнуть проблем с программным обеспечением. Мне должно быть достаточно лишь написать небольшой драйверок, поместить его в ОЗУ и сменить вектор.
Нужен BIOS и предлагаю подумать о нём. Как грамотно распорядится рестартами, прерываниями, памятью, двумя экранами и т.д. и т.п.?
У нас есть железо, во всем его разнообразии, которое наработано на сегодняшний день для Спектрума, но у нас нет ни одной программы, включая прошивку. Нам надо создать прошивку, чтобы это железо ожило так, чтобы стать современным компьютером, под которое начнет писать свои программы армия программистов...
Понимаешь, в чем дело: многое железо разрабатывалось с учетом уже имеющегося и написанного программного обеспечения, особенно встроенного. Например, Beta Disk Interface привязан к системному ПЗУ, точнее написанному в нем коду, и ZX Interface 1, тоже.
Можно, например, для начала продумать работу с клавиатурой. Надо продумать так, чтобы любая клавиатура подключенная любым образом к Спектруму работала без нареканий. Например, захочу я подключить РС-клавиатуру через магнитофонный разъем (наверное это всё же не реально, но это лишь пример) и у меня не должно возникнуть проблем с программным обеспечением. Мне должно быть достаточно лишь написать небольшой драйверок, поместить его в ОЗУ и сменить вектор.Интересно, а до того как драйвер клавиатуры помешается в ОЗУ, как мы с этой самой клавиатурой работаем?
Нужен BIOS и предлагаю подумать о нём. Как грамотно распорядится рестартами, прерываниями, памятью, двумя экранами и т.д. и т.п.?Basic Input Output System, предполагает, что есть некий минимальный набор оборудования: клавиатура, экран (видеоадаптер), устройство(ва) загрузки. С некоторой натяжкой (касаемо устройств загрузки), эти функции реализованы в «родном» ПЗУ. Управление дополнительной памятью, расширенные экраны, слабо относятся к BIOS. Иначе он начинает разрастаться в операционную систему. Причем привязанную к конкретному оборудованию.
Скажем так: спек 48 с точки зрения как фирменной прошивки, так и с железной стороны - полный урод. А вот софт под него все недостатки прощает. Особой ценности в прошивке нет из-за страшных тормозов при выполнении или чтении из ПЗУ. Бэйсик используется как затычка для запуска программ, написанных в основном на ассемблере
Скажем так: спек 48 с точки зрения как фирменной прошивки, так и с железной стороны - полный урод. А вот софт под него все недостатки прощает. Особой ценности в прошивке нет из-за страшных тормозов при выполнении или чтении из ПЗУ. Бэйсик используется как затычка для запуска программ, написанных в основном на ассемблере
Но надо учитывать что куча ассемблерного софта использует всяческие процедуры из стандартной васиковской прошивки и поэтому ее выкинув, мы выкинем по сути весь этот софт. И с этим надо смириться или создавать "песочницу" для выполнения таких программ (т.е. в нулевую страницу подключать память с соответствующими прошивками), но не каждый клон это может. ;)
начинает свою работу с диагностики.
1. Прежде всего диагностируется работа памяти.
Естественно работа процессора не диагностируется, либо делается это в слабой форме ("можно усомнится даже в сущестовании Бога, но я знаю точно: I think therefore I am"), т.е. если процессор неисправный то тут уж явно делать нечего.
Значит для работы с памятью должен быть универсальный драйвер памяти.
2. После этого обязательно надо дать диагностический гудок.
Т.о. нужны процедуры и драйвер работы звукового железа
Это прежде всего Speaker и AY/YM. GS и прочие приставки идут через ОСь.
3. Если проверка памяти завершилась хорошо, то необходимо вывести что нибудь на экран. Т.о. возникает процедуры и драйвер работы с экраном. В самом простом случае они инициализирует (очищают экран) выводят точку (одну), читают состояние точки (одной), выводят символ/строку символов. Подразумевается наличие в памяти таблицы символов, соответствующей стандартизированным первым 128 символам ASCII.
4. После этого опрашиваются внешние устройства (магнитофон, FDD, HDD и т.д.). Т.о. необходим процедуры и драйвер работы с внешними носителями. На этом все функции BIOS кончаются.
5. BIOS обязательно создаёт в памяти системные переменные.
6. BIOS может быть упакованной. В таком случае очень правильно было бы использовать теневую BIOS - она будет активизироваться при Reset и (в-,от-)ключаться по требованию ПО.
7. BIOS имеет средства информировать ОСь о той периферии, которой она (BIOS) управляет.
п/п из BIOS нужно использовать стандартные RST 8, RST 16 и т.д.
Синтаксис обычный:
RST XX ; вызов п/п
DEFB YY ; класс п/п
DEFB ZZ ; функция
DEFB A1,A2,... ; параметры
На мой взгляд в ПЗУ надо вставить быструю математику, пускай с числами вида 8.8 или 16.8, на манер используемых в современных 3Д-демо... просто действительно сложно написать подобные процедуры, а они очень часто нужны 8(
а в идеале - было бы просто замечательно, если бы мы имели ставить вместо ПЗУ страницу ОЗУ, это очень бы упростило кодинг... а если проецировать любую страницу в произвольное окно... но это сейчас можно сделать только на уровне эмулятора, поэтому этого видимо не будет 8(
а в идеале - было бы просто замечательно, если бы мы имели ставить вместо ПЗУ страницу ОЗУ, это очень бы упростило кодинг... а если проецировать любую страницу в произвольное окно... но это сейчас можно сделать только на уровне эмулятора, поэтому этого видимо не будет 8(
ГЫЫЫ! Да вы батенька заблуждаетесь!
АТМ Турбо 2+ любая страница ПЗУ или ОЗУ в любое окно :smile:
ГЫЫЫ! Да вы батенька заблуждаетесь!
АТМ Турбо 2+ любая страница ПЗУ или ОЗУ в любое окно :smile:
есть большая разница - АТМ и наша любовь СПЕКТРУМ. Можно в эмуле легко все это сделать, но только в чем смысл?
все люди, которые сейчас пишут игры, демы, всякое остальное - именно влюблены в простую старую машинку zx128. и любые попытки изменения конфигурации уменьшат число людей, остающихся на платформе.
есть большая разница - АТМ и наша любовь СПЕКТРУМ. Можно в эмуле легко все это сделать, но только в чем смысл?
все люди, которые сейчас пишут игры, демы, всякое остальное - именно влюблены в простую старую машинку zx128. и любые попытки изменения конфигурации уменьшат число людей, остающихся на платформе.
Простая старая машинка - это zx48, а все остальное от лукавых испанцев либо немо и др. :wink:
P.S. Типа шютка - сарказм т.е...
Максагор
06.03.2005, 12:22
есть большая разница - АТМ и наша любовь СПЕКТРУМ. Можно в эмуле легко все это сделать, но только в чем смысл?
все люди, которые сейчас пишут игры, демы, всякое остальное - именно влюблены в простую старую машинку zx128. и любые попытки изменения конфигурации уменьшат число людей, остающихся на платформе.
В корне не согласен. И ледо тут совсем не в АТМ. Сколько людей покупали, к примеру, Скорп, потому что он "круче обычного Спека и у него есть теневой монитор"? А сколько брали KAY-1024 из-за мега памяти и слотов, чтобы подключить без проблем GS и винт? Кстати, контроллер винта пользуется довольно неплохим спросом (да и у немо пользовался) - зачем это людям просто влюбленным в "простую старую машинку zx128"?
acidrain
09.03.2005, 11:52
[skip]
2. После этого обязательно надо дать диагностический гудок.
Т.о. нужны процедуры и драйвер работы звукового железа
Это прежде всего Speaker и AY/YM. GS и прочие приставки идут через ОСь.
[...]
7. BIOS имеет средства информировать ОСь о той периферии, которой она (BIOS) управляет.
Да вы, уважаемый, никак на пц пересидели? Особенно насмешил спикером, а нафуя туда дуть при каждом пуске? Даже если он не работает - и что теперь не пускаться? А ночью приятно слушать пищалку? На пц многие отключают пищалку.
Мне кажется ось должна управлять железом, а не биос. Как там на маках новых и амигах-пегасосах: забутился с возможного устройства (хард/сидюк), а дальше хоть кол на голове чеши. =)
в твоём голосе присутсвует зерно здоровой критики :D
Я так же могу сказать что вы уважаемый пересидели на амигах :D
Насчёт звука это на 100% должно быть так
А насчёт периферии, всегда есть низкоуровненые драйвера и высокоуровненые. Вот в ПЗУ как раз сидят никзоуровневые драйвера для создания ВОЗМОЖНОСТИ общения с любым подключенным железом: у кого то стоит GS у кого то CD-ROM у кого то вообще кроме магнитофона ничего нет, все эти премудрости базовых подклчюений всегда берёт на себя преОС - ОС которая лежит в ПЗУ.
Насчёт звука это на 100% должно быть так
А насчёт периферии, всегда есть низкоуровненые драйвера и высокоуровненые. Вот в ПЗУ как раз сидят никзоуровневые драйвера для создания ВОЗМОЖНОСТИ общения с любым подключенным железом: у кого то стоит GS у кого то CD-ROM у кого то вообще кроме магнитофона ничего нет, все эти премудрости базовых подклчюений всегда берёт на себя преОС - ОС которая лежит в ПЗУ.
На том же пц в ПЗУ не сидит ничего, касающегося звука - бо звук может быть воткнут произвольный. Так же и на спеке - воткнули DMA USC, а в пзу его нема - и что, облом?
1. драйвера бипера и ay-ка - не нужны, потому что для бибикания никакого драйвера не нужно, а для играния сложных биперных музонов драйвер тоже не нужен (понятно, почему)? Для аука опять же бибикальный драйвер не нужен, и музонный тоже - плееров нынче туева хуча развелась.
2. драйвер экрана - ставить-выключать точки. Зачем, опять же? Им что - ось будет пользоваться, что ли?
3. "возможность общения" - это как ? подпрограммы in a,(c):ret и out (c),a:ret ? Или плугундплей, как на пц? Так вот, последнее - в огромной мере заслуга не биоса, а именно шины ПЦИ.
acidrain
12.03.2005, 07:44
На том же пц в ПЗУ не сидит ничего, касающегося звука - бо звук может быть воткнут произвольный. Так же и на спеке - воткнули DMA USC, а в пзу его нема - и что, облом?
[...]
2. драйвер экрана - ставить-выключать точки. Зачем, опять же? Им что - ось будет пользоваться, что ли?
[...]
Спасибо за поддержку =). Ты прав на все 100%, только с экраном (равно как и со звуком) позволь не согласиться - сам прекрасно знаешь, что если включил видяху (амми;)), то стандарный вывод на экран работать не будет. Так и на спеке вкл. не спек режим экрана, а как с ним кодеру работать? Шоб не париться нунен общий подход, а для продвинутых дрова для их конкретной карты (если на спеке так можно выразиться:)). Т.о. не надо будет кодеру переписывать вывод графики (звука) в его супер-пупер-проге для каждой конкретной платформы (спек, атм, спринтер) итп. Ну ты ж ведь мну понял. И к тому же, никто не запрещает кодить напрямую железо ;)
О пзу - я согласен, что в пзу должна быть поддержка hdd, cd, fd, да и либла управления памятью. Плюс некоторые мелкие процедурки и шрифт.
раз рассматривается проект ПЗУ для спекка, то подразумевается что система будет отдельно работать.
Для спекка нет защищённого режима вообще, так что любая работа с портами не должна вестись из ОС и ПО этой ОСи. Или по крайней мере значительно исключаться и переноситься в защищённые области.
Поэтому работу с портами берёт на себя ПЗУ, а никак не ОСь. Я про это и говорю.
А какой девайс будет на портах работать, это уже не важно.
Работа с тем же DMA USC на себя тоже будет брать ПЗУ (всё таки DMA это ресурс материнской платы, а то что есть возможность выводить звук это уже побочный эффект :D)
Кроме того, меня вот буквально только что потыкали ПЦшничеством, а потом приводится аргумент про звук на ПЦ. Спекк - не ПЦ, в нём нет туевой хучи звуковых девайсов, их можно на пальцах рук пересчитать, поэтому с этой точких зрения даже стоит полностью поддержку звука ложить в ПЗУ.
На том же пц в ПЗУ не сидит ничего, касающегося звука - бо звук может быть воткнут произвольный. Так же и на спеке - воткнули DMA USC, а в пзу его нема - и что, облом?
Читай выше.
1. драйвера бипера и ay-ка - не нужны, потому что для бибикания никакого драйвера не нужно, а для играния сложных биперных музонов драйвер тоже не нужен (понятно, почему)? Для аука опять же бибикальный драйвер не нужен, и музонный тоже - плееров нынче туева хуча развелась.
Драйвер не бибиканья, а вывода в порт.
2. драйвер экрана - ставить-выключать точки. Зачем, опять же? Им что - ось будет пользоваться, что ли?
Да, ими должна пользоваться именно ОС, пока не загрузит все свои высокоуровневые драйвера для работы с экраном и т.д. Если бы с самого начала был низкоуровневый драйвер экрана, то не было бы такого НЕРАЗВИТИЯ экрана на спекке.
3. "возможность общения" - это как ? подпрограммы in a,(c):ret и out (c),a:ret ? Или плугундплей, как на пц? Так вот, последнее - в огромной мере заслуга не биоса, а именно шины ПЦИ.
На этапе запуска система в ПЗУ может делать анализ (опрос) того оборудования которое висит на системной шине. PCI шина это вообще отдельный разговор, для неё имеется отдельный арбитр, который делит производительность, на спекке такого нет, и не надо у нас не столько разномастных железок.
А насчёт вывода в порты ещё раз повторяю, это в любом случае должно быть в ПЗУ.
Господа! В свое время я думал над драйвером экрана. И пришел к выводу, что - нереализуемо. Увы.
Причина - недостаточная скорость машины и ГИГАНТСКИЕ различия между разными режимами.
Итак, положение №1. Раз уж у нас графические экраны, то и драйвер должен поддерживать графику. Иначе - грош цена ему.
Положение №2. Простейший графический примитив - прямоугольник. Итак, мы должны давать драйверу прямоугольник в некоем унифицированном формате, он должен его выводить в произвольные координаты. А также должна быть обратная операция.
Положение №3. Все это будет настолько медленно, что смысл использования будет нулевой. С экраном Профи, например, и так работается весьма медленно.
Возможно, можно реализовать текстовый экран с приемлемой скоростью. При этом для каждого экрана нужно держать свой вариант шрифта с разным разрешением. Это приводит к тому, что размеры драйвера крайне велики.
Вывод: прошивать такой драйвер в ПЗУ бессмысленно. Если мы говорим о создании ОС, то его можно будет грузить в ОЗУ после старта ОС, а для начального диалога ИМХО достаточно и спековского экрана.
обнаружить расширенный экран (будь то текстовый режим или что ещё), если об этом не скажет (тем или иным образом, согласно общему интерфейсу) ПЗУ твоей системы, потому что разные графические экраны по сути просто способы представления одной и той же информации, основанные на хранящихся в ОЗУ данных. Т.е. пример (опять меня будут упрекать в ПЦшничестве) стандартный видеоускоритель для AGP - его BIOS содержит информацию и предоставляемых регистрах, а предоставляемых режимах и т.д. И никто (ни БИОС мат. платы на драйвера, даже будучи они поставлены) не смогут привести список режимов и регистров, которые предоставляются видеоускорителем. Для примера выньте ПЗУ из вашего ускорителя и поймёте о чём я говорю :D
Шутка, не надо ничего вынимать. В ПЗУ должны быть данные о том, какие есть экраны и что с ними можно делать. А вот как конкретно делать - это уже согласен ложится на плечи драйверов ОСей, и уж точно не лежит в ПЗУ (для примера засунуть Detonator'ы или там Catalyst'ы в BIOS видеокарты :D).
А с учётом того, что пока ещё видеоподсистема пока интегрирована в системную плату, то даже вопрос надо ли располагать низкоуровневые драйвера экрана в ПЗУ или нет мне кажется однозначно решённым
Rubts0FF
23.07.2005, 20:46
Мечтатели :). Если-бы в 1982 году сделали то что вы хотите СПЕКТРУМА небыло-б. :(
acidrain
25.07.2005, 10:14
а для начального диалога ИМХО достаточно и спековского экрана.
Допустим, некто создал супер-пупер карту со спец.граф.процами на борту. А новая ось о них иапло того не знает, так еще и не предусмотренна работа с экраном, как таковым. Что тогда делать будем? ОСь новую писать? =) Драйвер экрана - не графическая библиотека, он должен всего-навсего выводить информацию в экран. Все, остальное на себя берет graphics.library
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot