Комментарии 115
Вот сколько длится загрузка игры Lemmings (конвертер композитного сигнала в VGA не смог извлечь цвет из сигнала CGA, поэтому картинка черно-белая)
Заметьте, тут точно больше 4х цветов.Далеко не во всех CGA-играх есть поддержка композитного выхода. В итоге в зависимости от видеорежима будет либо чёрно-белый сигнал (как в первом случае), либо мазня (как во втором).
Далеко не во всех CGA-играх есть поддержка композитного выхода
А какое CGA-играм вообще может быть дело до композитного выхода на видеокарте? Он же там реализован сугубо аппаратно, они вообще ничего о его существовании не знают.

а а мониторе вот так

А вообще там нюансов огромное количество, вот здесь подробно описано
int10h.org/blog/2015/04/cga-in-1024-colors-new-mode-illustrated
Меня в своё время с этим эффектом познакомили на мониторе, у которого был и композит, и РГБ. Одновременно двумя кабелями подключили и тыкали кнопку переключения входов. На РГБ цвета сохранялись, но превращались в стандартную палитру. А на композите цвета становились веселей, но ценой чёткости картинки, на всяких менюшках особенно заметно было.
Ах да — чёрно-белую (на композите) вы тоже получите, если использутеся палитра чёрный-голубой-красный-белый. Вот как у автора в Леммингах.
Некоторые игрушки геркулеса поддерживали нативно, некоторые можно было через софтверный драйвер поддержки CGA запускать.
Вообще, не уверен, что я видел геркулеса живьём. Может и видел, но не сознавал это тогда.
Был в детстве в пионерлагере какой-то древний комп с зелёным монитором, где самые умные играли в Robot Odissey, но там надо было думать, потому большинство предпочитали что-то попроще — space quest, loom или вообще mother goose.
И да, не надо думать, что Hercules/MDA — это обязательно зелёный монитор. Полно было мониторов с нормальным белым люминофором.
Были роботроны в одном техникуме — я там игрался в рэмбо и бармена. Про них вообще ничего не помню, кроме того, что они роботроны и мониторы были черно-белые.
Был потом ещё через некоторое время черно-белый мелкий VGA с надписью IBM. Но это было сильно позже, мы на нём в ufo1 играли.
А так большей частью мониторы у тех компьютеров, с которыми я общался ощутимое время, всегда были цветные. Обычно даже ега и выше, но некоторое количество цга успел пощупать.
Потому и говорю, что «не уверен». Может и видел, но не осознавал.
Преподаватель потом там себе притащил какой-то COPAM и играл на нём в цивилизацию. Нам не разрешал, но иногда пускал поиграть в Империю. Монитор был цветной.
Потом был вышеупомянутый класс ps/2 286, потом опять ямахи — но туда мы пошли не за компьютерами, а за преподавателем. А потом туда 386 поставили. И какой-то мак там стоял. Плюс где-то в само конце школы там появился учительский пентиум, но мне уже было не до него, выпускные экзамены и т.п. Да и дома уже был какой-никакой компьютер.
forum.maxiol.com/index.php?showtopic=5119 Питание 12В внешнее.
А 6106 был уже цветным ЦГА.
Плата у тебя самосборная интересная классической компоновки, я на очень похожей «икстишку» собирал в первой половине 90-х (помимо первых Радио-86РК и клонов «Спектрум») — редкость была, их моментом вытеснили хлынувшие из-за бугра оригинальные ХТ и 286-е. С годик поработал на предприятии «ЛСП ВТИ» — чинили аццкие чумоданы :-) типа «Искра-1030», ЕС-184х и домашние «Поиск». Тут на хабре про него хорошая статья есть: habr.com/ru/post/199044
Из игр, поддерживающих этот видеорежим, играл в F-19 и Total Eclipse. Из рабочего софта — AutoCAD 10.
А CGA-игры через резидентный DOS-драйвер выглядели ужасно, поскольку эмуляция разных цветов делалась растрированием.
Монитор был доработанный от какого-то терминала то ли ЕС, то ли СМ. С зеленым свечением, да. Помню, что доработка была мизерной и включала, помимо небольшой подстройки частот развертки, допайку пары резисторов, преобразующих двоичные сигналы на выходах Video и Intensity в аналоговые уровни для модулятора яркости (мне сейчас память подсовывает воспоминание про «серый» уровень и в графическом режиме, но похоже, это воспоминание ложное — проверка по описанию HGC говорит, что в графике был таки 1 бит на пиксель, а «увеличенная яркость» использовалась только в MDA-режиме).
На одну дискету 5,25 дюйма влезает 360КБ данных, на 3,5 дюймовую — 720КБкажется, что-то не так здесь с объёмом 5,25'': в конце эволюции их объём был 1,2 МБ, если «возвращаться в прошлое делением», должно получаться 600 КБ, 300 КБ, 150 КБ: для 3,5'' это 2,88 МБ (до этой стадии 5,25'' уже не дожили, иначе мы бы знали об объёме в 2,4 МБ), 1,44 МБ, 720 КБ и 360 КБ
3,5" были 720 и 1,44. А 2,88 это, скорее, чисто теоретическая штука, живьём её мало кто встречал.
Точную модель не скажу, но то были 286 без винтов. В школе компьютерный класс был.
Спасибо за Quad формат, не знал про него.
Поговаривают, что того же эффекта было можно достичь, просверлив на дискете над отверстием определения высокой плотности ещё одно такое же, при условии поддержки дисководом формата (и достаточного качества самой дискеты).
А вот 3,5 дюймовые дискеты так не страдали. 720 КБ дисководы прекрасно форматировали 1.44 МЮ дискеты в 730 КБ формат и читались они везде.
Кстати нет, у меня некоторые экземпляры чиают такое.
А некоторые нет. Я даже решил, что они неисправны. Видимо стоит попробовать дискету записать дисководом не 1.2.
Если вы запишите 360 КБ дискету на 1.2 МБ дисководе, то 360 КБ дисковод её не прочитает.
Я могу и ошибаться, но по идее, прочитает. Там же специально у format.com ключ есть /4, который нужно использовать, если вы форматируете 360 КБ дискету на HD-дисководах. Без него она делает по одному шагу на трек, как будто дисковод 40-дорожечный, и тогда с точки зрения флопика 360К на диске окажется полная лабуда. А с этим ключом уже делает по два шага, и треки располагаются корректно для флопика 360К.
Double density 5.25" drives use 40 tracks per side. When high density 5.25" drives were introduced, they doubled the number of tracks to 80 per side. To do this, a narrower disk drive head had to be used.
A high density 5.25" drive can read a low density diskette just fine, even though the drive head is narrow compared to the track. However, if you try to write to the diskette, you will write a new track of data that is much narrower than the existing data. This will generally make the diskette unreadable in a double density drive, because the double density drive has the old «fat» drive head that will see a narrow data track laid on top of a normal sized data track. Other high density drives may not deal with this diskette well either, depending on their calibration.
If using a double density 5.25" disk in a high density drive, only do reads from it — make sure that you do not write to it!
www.brutman.com/PCjr/diskette_handling.html
Соответственно если вы возьмёте новую дискету, отформатируете её на дисковода HD, запишите на HD и сунете в DD — она причитается.
А вот если дискету писать на DD и перезаписать на HD — нет! Данные на двух дорожках и между ними — будут разные и DD-привод увидит мусор.
Иногда помогает сделать так: форматировать на DD, писать на HD… но лучше — просто не смешивать.
Что было гораздо, гораздо надёжнее настоящих дискет на 1.44МБ.
P.S. Кстати как раз дискетный мегабайт меня, в частности, убедил, что мебибайты — это хорошо, а мегабайты — должны быть десятичными. Потому что «все» знают, что дискеты бывают 1.2МБ и 1.44МБ… а вот сколько в том «мегабайте» байт? 1'000'000 или 1024*1024 = 1'048'576?
«в конце эволюции 5,25"» была PU_1700«посмертная» эволюция — уже совсем другая история
www.itweek.ru/themes/detail.php?ID=48844
Только назывался он Vist 1000. А выглядел точно так же.
Если глянете на тот же дистрибутив 95 винды, то там только одна или две дискеты 1,44, а остальные 1,7 вроде бы.
кажется, что-то не так здесь с объёмом 5,25'': в конце эволюции их объём был 1,2 МБ, если «возвращаться в прошлое делением», должно получаться 600 КБ, 300 КБ, 150 КБ: для 3,5'' это 2,88 МБ (до этой стадии 5,25'' уже не дожили, иначе мы бы знали об объёме в 2,4 МБ), 1,44 МБ, 720 КБ и 360 КБ
Все так :)
Именно 360 были первые дискеты. А еще их можно было форматануть на 800, просто загрузив драйвер 800.com :)
Работали они с такой емкостью нормально, так как плотность записи на дорожку не менялась, просто дорожек становилось больше.
Именно 360 были первые дискеты. А еще их можно было форматануть на 800, просто загрузив драйвер 800.com
Ну только при условии, что у вас дисковод был хотя бы на 720К. У дисководов на 360К головка была в два раза шире, и они физически не могли дать 800К. Но они могли форматировать на 400К с помощью этого драйвера :)
Offtopic: не используйте ProFTPD, это небезопасно
КиБ
Красное и Белое?
Норм статья но первые абзацы выглядят несколько странно. Это и "КиБ" эти дурацкие, которые были придуманы намного позже того железа, и какие-то странные комментарии по поводу разрядностей различных шин как процессора так и ISA.
кстати, именно поэтому 1й мегабайт памяти был так важен для шины ISA все время ее существования, на нее были разведены только 20 бит адреса, и ничего за пределами 1го мегабайта она не «видела»
Нет, только в её 8-битной версии которая практически полностью была заменена на 16-битную в PC/AT, не говоря уже про компы из 90-х по которым большинство тут эту шину и знает.
Однако шина данных процессора была обрезана до 8 бит, именно для того, чтобы использовать 8-бит переферию
8-бит периферия прекрасно совмещалась и с 16-битной шиной 286-го, а тут дело было в исключительно в удешевлении путём избавления от поддержки 16-битной шины.
И, хотя 20 бит адреса позволяли адресовать аж 1 МиБ ОЗУ, весь обмен информацией в IBM PC 5150 осуществлялся по шине, шириной в 8 бит
Непонятно, какая тут предполагается связь между разрядностями шин. Её нет.
Норм статья
спасиб!
Это и «КиБ» эти дурацкие, которые были придуманы намного позже того железа, и какие-то странные комментарии по поводу разрядностей различных шин как процессора так и ISA.
КБ — он разный бывает… А КиБ — он и в Африке КиБ.
А разрядность только преминимо к данному конкретному компьютеру.
Нет, только в её 8-битной версии которая практически полностью была заменена на 16-битную в PC/AT, не говоря уже про компы из 90-х по которым большинство тут эту шину и знает.
Если 8-бит карту установить даже в 16-бит шину, она все равно будет ограничена 20 бит адреса. Увы.
8-бит периферия прекрасно совмещалась и с 16-битной шиной 286-го, а тут дело было в исключительно в удешевлении путём избавления от поддержки 16-битной шины.
Что никак не отменяет того факта, что в 8088 шина данных процессора была обрезана до 8 бит, именно для того, чтобы использовать 8-бит переферию
Непонятно, какая тут предполагается связь между разрядностями шин. Её нет.
Никакой и не предполагается. Процессор был 16 бит (регистры, АЛУ, внутренняя шина данных), шина адреса 20 бит, а переферия так и осталась на 8 бит шине.
Что никак не отменяет того факта, что в 8088 шина данных процессора была обрезана до 8 бит, именно для того, чтобы использовать 8-бит переферию
«Периферия», наверное, не совсем правильный термин. Обрезана, чтобы использовать память с 8-битным доступом. 8-битная периферия прекрасно и с 16-битным 8086 уживается, он же умеет и побайтно обращаться. А вот обмен с памятью он должен производить по 16-битной шине, что заметно усложняет разводку системной платы, по крайней мере, по меркам конца 1970-х годов.
КБ — он разный бывает…КБ всегда был одинаковый, а разным стал исключительно с того момента, как производители винтов решили свою прибыль немножко оптимизировать и новый стандарт пропихнуть.
ЗЫ, если перейдете по ссылке, которую я дал, вы увидите, что речь о 1991 годе. Гигабайтами тогда еще даже не пахло, а проблема с КБ уже была.
В любом случае, стандарт на кибы/мибы был принят в 1999, когда проблема встала уже во весь рост.
Не спорю с Вами, КиБ появился сильно позже 1991, но при этом сильно раньше этой статьи ). И проблема с пересчетом КБ в 1991 уже была, как сказано в комментарии, на который я ссылался.
Так что проблема — тянется с 80х… просто когда компьютерами занимались энтузиасты, то «все всё понимали», а когда они «пошли в массы» — на разница между «разными» гигабайтами стала уже реальной проблемой.
Товарищ! Воспоминания в плане скорости "Поиска" вас не подводят — на нем, поздних ЕСках и ряде других железок проц(или вернее — его советско-ереванский клон, архитектурно совместимый с 8088, но по техпроцессу — уровень раннего 286) штатно работал с удвоенной частотой(8 вместо 4 с копейками) со всеми вытекающими, например — неполной совместимостью с софтом, заточенным под оригинал.
Кроме того, один коллега рассказывал(в принципе доверять можно), что в их НИИ от безысходности "всем колхозом" на одной ЕСке что-то подправили, доведя частоту до 12мгц, сверху приколхозили какой-то радиатор на КПТ(благо отечественный ЦП был в керамике), установили EGA видеокарту, а местный "кулхацкер" даже пропатчил под запуск на этом W3D(что, собственно, и было самоцелью)
Возможно — в принципе, советско-российских клонов XTшки было не счесть. Собственно я вспомнил от того, что у одного знакомого на антресолях болтается "Поиск-М" форм-фактора "клавиатура с мозгами" — Made in USSR(видимо, производитель ещё не оправился от рыночного шока), 1993(!) год на шильдике, унутре — проц на 8 МГц(подробнее не скажу, кем-то из прошлых владельцев сверху приклеена чугуниевая пластинка, видимо — теплоотвода для), 256 отечественной оперативки(ага, теми самыми глючными модулями по 16 Кбайт) и контроллер дисковода, уникальный своей несовместимостью ни с чем, кроме самого себя(то бишь комплектного дискодава) и снабженный уникальной же особенностью читать на дискете только первые 300-с-чем-то Кбайт
Другое дело, что сейчас эти бета версии фиг найдёшь: винты тогда были маленькие, кто стал бы хранить бету, если есть релиз?
Wolf3D on 8086/88
Wolf3D hacked for 8086/8088 CPUs
this is something i wanted to attempt for a while, and last night i did it. i took the original (now public domain) source code for Wolfenstein 3D and went through it all (ASM and C) modifying it to play on an 8086 or 8088 system.
if you try it on that kind of CPU, the game will say sorry you need a 286 or better. what i did was bypass the CPU check, and change a lot of SHR/SHL instructions that had a value greater than 1 to multiple SHR/SHL _,1 instructions. also had to totally remove XMS detection code, as that caused a lock up on my 8088. a few other modifications had to be made as well.
Wolf3D hacked for 8086/8088 CPUs 14 сентября 2009 года.
Так что пока я не нашел альфу Wolf3D на EGA ни хака на запуск на 8088 из начала 90-х. А у людей которые запускали Wolf3D на XT скорее всего стоял NEC V20/V30 который был pin2pin совместим с 8088 и 8086 соответственно, плюс бонусом у NEC ов была увеличенная производительность (+30%) и команды 186. Ну и скорее всего там был Realtek VGA который мог пойти без бубнов на XT. Ну и надо отключить проверку на 286 в Wolf3D (поставить JMP).
А Wolf3d на EGA скорее всего выглядел бы как Catacomb 3D: Abyss
На MCGA он не работает, только VGA
Надо посмотреть исходники Wolf3D, чисто технически в нем используется режим 13h 320х200х256 цветов (в xmode).
Если бы использовался режим 13h, игра работала бы значительно медленнее и имела бы артефакты обновления картинки. На самом деле использовался т.н. mode Y. mode x и mode y не совместимы с mcga.
/*
=======================
=
= VL_SetVGAPlaneMode
=
=======================
*/
void VL_SetVGAPlaneMode (void)
{
asm mov ax,0x13
asm int 0x10
VL_DePlaneVGA ();
VGAMAPMASK(15);
VL_SetLineWidth (40);
}
/*
=================
=
= VL_DePlaneVGA
=
=================
*/
void VL_DePlaneVGA (void)
{
//
// change CPU addressing to non linear mode
//
//
// turn off chain 4 and odd/even
//
outportb (SC_INDEX,SC_MEMMODE);
outportb (SC_INDEX+1,(inportb(SC_INDEX+1)&~8)|4);
outportb (SC_INDEX,SC_MAPMASK); // leave this set throughought
//
// turn off odd/even and set write mode 0
//
outportb (GC_INDEX,GC_MODE);
outportb (GC_INDEX+1,inportb(GC_INDEX+1)&~0x13);
//
// turn off chain
//
outportb (GC_INDEX,GC_MISCELLANEOUS);
outportb (GC_INDEX+1,inportb(GC_INDEX+1)&~2);
//
// clear the entire buffer space, because int 10h only did 16 k / plane
//
VL_ClearVideo (0);
//
// change CRTC scanning from doubleword to byte mode, allowing >64k scans
//
outportb (CRTC_INDEX,CRTC_UNDERLINE);
outportb (CRTC_INDEX+1,inportb(CRTC_INDEX+1)&~0x40);
outportb (CRTC_INDEX,CRTC_MODE);
outportb (CRTC_INDEX+1,inportb(CRTC_INDEX+1)|0x40);
}
//===========================================================================
/*
====================
=
= VL_SetLineWidth
=
= Line witdh is in WORDS, 40 words is normal width for vgaplanegr
=
====================
*/
void VL_SetLineWidth (unsigned width)
{
int i,offset;
//
// set wide virtual screen
//
outport (CRTC_INDEX,CRTC_OFFSET+width*256);
//
// set up lookup tables
//
linewidth = width*2;
offset = 0;
for (i=0;i<MAXSCANLINES;i++)
{
ylookup[i]=offset;
offset += linewidth;
}
}
#define VGAMAPMASK(x) asm{cli;mov dx,SC_INDEX;mov al,SC_MAPMASK;mov ah,x;out dx,ax;sti;}
На самом деле использовался т.н. mode Y. mode x и mode y не совместимы с mcga.Честно говоря, я не знал что mode x не работает в режиме 13h на MCGA.
Хотя нужно уточнить, что у ID Software в планах была поддержка EGA в Wolf3D. И это не было пустой фантазией, как минимум в Catacomb Abyss 3D (который некоторые личности называли недовольфом) вполне себе шел на EGA.
А сейчас, имея на руках исходники оригинала, Wolf3D заставили работать и на 8088 с CGA
Стек, конечно, IPX/SPX.
С TCP/IP под досом мне довелось дело иметь вскользь, но уже где-то году в 2003-2004.
Так, многих шокирует, что 640КиБ ОЗУ в IBM PC 5150 не было.… Конечно, существовали карты расширения памяти, но они появились позже, да и вторая ревизия материнской платы содержала уже 64 КиБ ОЗУ в базовом варианте (очень глючный вариант, который, как я полагаю, в продажу не поступал, но об этом позже), а максимум можно было разместить аж 256 КиБ!
Про память дополню.
1. Технически 640 кБ материнская плата поддерживала, но для этого нужно было использовать карты расширения. Сама IBM выпустила платы на 64, 64/256 и 256 кБ, значит, нужно было для полного комплекта ставить аж 3 платы памяти (а слотов то всего 5).
2. К счастью, другие производители наладили выпуск более емких плат расширения, например MEMO576 рассчитана ровно на 64 на матери + 576 дополнительных =640 кБ. А карты LIM EMS после 84-го года позволяли использовать даже до 2 Мб, заодно полностью заполняя все 640 кБ стандартной памяти.
3. Первая и вторая ревизии BIOS из-за ошибки могли видеть только 544 кБ, только третья ревизия видела все 640 кБ. Зато третья ревизия имеет другой баг — система работает, ТОЛЬКО КОГДА ВСЕ ЧЕТЫРЕ БАНКА ПАМЯТИ НА МАТЕРИНКЕ ЗАПОЛНЕНЫ ПОЛНОСТЬЮ, для обоих версий матери — 64 и 256 кБ. Ссылка
Жесткие диски можно было бы поставить на 5150, но вот блок питания у него маломощный — всего 83,5 Вт. Зато IBM, когда выпустили модель 5160 XT, не стали жлобиться и разработали блок расширения 5161 совместимым с обоими моделями. А в комплекте с 5161 как раз и шел жесткий диск с контроллером.
И еще один полезный сайт с доками.
С чего начиналась монополия, или немного возни с IBM PC 5150