Чем отличаются текстовые режимы 2 и 3 в ДОС?

Тема в разделе "WASM.DOS/BIOS/Vesa/ports", создана пользователем Intro, 25 мар 2025 в 01:23.

Метки:
  1. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    631
    Вот в MS-DOS есть пара стандартных текстовых режимов 25х40 и 25х80.
    Включаются так:
    Код (ASM):
    1. mov  ax, 3 ;режим 25х80
    2. int  10h
    Вопрос, а чем они отличаются, 0 от 1 или 2 от 3? У Фролова написано так что отличий нет, наверное есть какие-то нюансы.
     
  2. MaKsIm

    MaKsIm Active Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    160
    https://www.minuszerodegrees.net/video/bios_video_modes.htm

    Если попробовать вспомнить, то они отличались в те времена, когда у компа сзади еще были переключатели (биты) для выставления режима и нужно было вручную включать цвета у видео адаптера (CGA/Mono)
     
  3. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    631
    Короче, это чёрнобелые варианты.
    Код (ASM):
    1. mov     ax, 2 ;включаем 25х80 с 16-ю градаций серого.
    2. int     10h
    Я помню в те далёкие времена, были популярны монохромные мониторы, т.к. они давали более контрастный цвет и глаза с ними меньше уставали. Потом появились и цветные моники ЭЛТ с хорошим качеством, и монохромные ушли в прошлое.
    Надо бы это проверить, что на современном железе и эмулях режим 2 и 0 включает серый режим.
     
  4. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    551
    во даете!
    монохромные мониторы....
    30 лет тому? :)
     
  5. MaKsIm

    MaKsIm Active Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    160
    В некоторых версиях ROM подгружалась серая цветовая палитра, но в большинстве нет. Нужен DISPLAY.SYS.
    А те переключатели, если я правильно еще помню, как раз выключали в сигнале на моник импульсы цветопередачи.
    Было как раз 2 переключателя и в зависимости от них DOS выбирал один из 4-х этих режимов. Но надо было подстраиваться под монитор т.к. адаптер не умел определять его тип.
     
  6. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.023
    Еще чб-режимы давали в 80х большее разрешение с тем же 8кб-видеобуфером.
     
  7. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    631
    MaKsIm, если верить этой таблице, то режим серый(0, 2) работал на CGA, PCjr, Tandy, EGA. А вот VGA и выше, уже не работает, цвета будут отображаться, хотя если включить режим совместимости, то по идеи цвета должны быть серыми. Хотя конечно с 90-х редко кто режимы 0,1,2 использовал, 25х40 вообще для старого телека. Но кто подключал писюк к телеку, может только в 80-х.
     
  8. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    551
    Before CGA (Color Graphics Adapter) came into existence, computers primarily used monochrome display standards for visuals. Here's a quick look:
    • MDA (Monochrome Display Adapter): Introduced by IBM in 1981 (the same year as CGA), it supported only text mode and displayed one color—typically green, amber, or white—on a black background. This was widely used for business applications requiring clear text.
     
  9. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.920
    режим
    hex
    типширинавысотаколичество цветовадаптер
    0​
    текстовый32020016CGA
    1​
    текстовый32020016CGA
    2​
    текстовый64020016CGA
    3​
    текстовый72040016CGA
    4​
    графический3202004CGA
    5​
    графический3202004 цвета из 4 наборовCGA
    6​
    графический640200ч/бCGA
    7​
    текстовый7203503 (ч/б/bold)MDA, EGA
    8​
    графический16020016PCjr
    9​
    графический32020016PCjr
    A​
    графический6402004PCjr
    D​
    графический32020016EGA
    E​
    графический64020016EGA
    F​
    графический6403503 (ч/б/bold)EGA
    10​
    графический64035016EGA
    11​
    графический640480ч/бVGA
    12​
    графический64048016VGA
    13​
    графический320200256VGA
    Richadrd Wilton "Programmer's guid to PC & PS/2 Video systems"
     
  10. MaKsIm

    MaKsIm Active Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    160
    В том то и прикол, что эти мониторы работали на COM порту. У телеков такого выхода в 80-х не было. Как его подключишь. У телеков только антена.
     
  11. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    631
    MaKsIm, ну 5150 подключали к телеку, но это у более поздних моделей убрали. Хотя потом появился S-video выход, который потом убрали.
     
  12. aa_dav

    aa_dav Active Member

    Публикаций:
    0
    Регистрация:
    24 дек 2008
    Сообщения:
    534
    CGA можно было подключить к телеку через обычный телевизионный кабель как от магнитофона.
    ИЧСХ в таком режиме его нечеловеческая сиренево-плесневая 4-цветная палитра лишалась разрешения в 2 раза по горизонтали, зато "слипшиеся" два пикселя начинали на телеке отображать 16 очень мягких и тёплых цветов по принципу как их выводил тот же Apple II. То есть интересный был компромисс у CGA - в графических режимах с телеком можно было получить мутную, но красочную картинку в то время как с монитором чёткие выжигающие глаза четыре цвета ультрачёткого разрешения.
     
  13. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    631
    aa_dav, вот поэтому и сделали базово 4-ре текстовых режима. 25х40 выдавал на телеке через композит(RCA) более или менее читабельный текст, 25х80 мог в этом случае вообще не читаться. Так же можно было выключить цвет для лучшей контрастности, такая проблема была ещё на БК-0010. Но потом появились EGA, VGA, SVGA, и качественные мониторы, режим 25х40 устарел, но всё ещё мог где-то использоваться.
    Но вот можно было ли отключить цвет, просто включив режим 2 и 0 как изначально планировал автор программы?
    --- Сообщение объединено, 25 мар 2025 в 16:48 ---
    Хотя...
    https://en.wikipedia.org/wiki/Color_Graphics_Adapter
    Говориться что разницу между 0 и 1, 2 и 3 можно увидеть только при композитном подключении, на RGB-мониторах разница не видна, но вероятно на некоторых эмуляторах писюков можно настроить отображения композитного режима.
     
  14. MaKsIm

    MaKsIm Active Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    160
    Так я же говорил уже, что не во всех VROM BIOS были палитры для Grayscale. Только Mono и CGA, а палитра для Grayscale в DOS была в DISPLAY.SYS.
    А на RGB VGA мониторах вообще нет разницы. Разница была, когда были физически переключатели бит в портах. Оттуда DOS считывал инфу и ставил режим. А заодно и адаптер переключался в нужный режим работы под нужный монитор.
     
  15. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    551
    товарищи!
    а где вход в Машину Времени?
    или дайте доступ k мелафону )))
     
  16. MaKsIm

    MaKsIm Active Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    160
    Мелафон могу на VHS дать. А вот за магнитофоном для нее это к Вертеру.
     
    alex_dz нравится это.
  17. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    631
    Понятно что это давно сильно устарело, но всё же интересно узнать с исторической точки зрения.
    Есть эмуляторы старых писюков, досбокс это конечно не то, виртуальную дос-машину на х64 завести забыли. Особо не задумывался о режимах 0,1,2, но логично что для 0 и 2 могли оставить чб режим, но видно решили не заморачиваться. Что интересно, такая система с цветными знакоместами тайтлами позволяла создавать оконный текстовый режим с мышкой, с разными контролами, типа кнопки, переключатели, радиокнопки и прочие. Разработчик мог подобрать чб тона определённым образом, что в цветном режиме выглядит не очень, так же это касается игр, так что могли в VGA+ для этих режимов чб вариант оставить.
    Кстати, получается при желании в середине 80-х могли тайтловую спрайтовую графику реализовать в джуниоре, но что-то пошло не так, ИБэМэ такая бюрократическая конторка очень на советскую похожа.
     
  18. aa_dav

    aa_dav Active Member

    Публикаций:
    0
    Регистрация:
    24 дек 2008
    Сообщения:
    534
    В IBM просто однажды спустили команду - сделать бытовой комп для народа, ибо по Apple II было видно, что рынок образуется. Но всерьёз в него веры не было и команда была еще такая, чтобы занять минимум собственных ресурсов, а взять комплектующие все основные с полки. Никаких собственных чипов IBM не собиралась в IBM PC вкладывать. Видимо по этой же причине юридический отдел проморгал и не обложил никакими патентами и роялти архитектуру получившегося компьютера.
    Именно поэтому когда курица начала нести яйца IBM задумал вернуть детище в собственное лоно и обложить всех вендоров роялти с изготовления прибамбасов для него и придумало IBM PS/2: https://ru.wikipedia.org/wiki/IBM_PS/2
    Однако только разьём PS/2 из этой машины и выжил, вся остальная айбиэмовская проприетарщина и перспектива платить роялти сгинула.
    А потом уже Intel поняв что это его золотая курица сделал открытым стандарт шины PCI чтобы неповадно никому закрывать платформу не было.
    Так и живём. А не вот эти вот мифы, что открытый стандарт победил потому что от чистого сердца и с добрыми помыслами. Да нифига. Лень, недальновидность, жадность и корысть сделали прогресс.
     
  19. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    631
    Я так понял но чб режим 25х80 на VGA+ без танцев с бубном не получится вызвать. Придётся как-то палитру менять, но смысл, это работает если только режим 2 вызвать.
     
  20. MaKsIm

    MaKsIm Active Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    160
    Палитру можно загрузить и в 3 режиме. Это уже вообще не функция переключения.
    либо поштучно AX=1000h + INT 10h
    либо сразу блоком AX=1012h + INT 10h

    Еще есть AX=101Bh + INT 10h, но этим я не пользовался