- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
http://faqs.org.ru/progr/c_cpp/watcom_c.htm
WATCOM C/C++ FAQ
version 3.0
29 Aug 1998
compiled by Lenik Terenin, 2:5061/1
Maintained by Cyril Pertsev, 2:5020/1415.1
Please send your additions and suggestions to the above address.
Для удобства потpебления данного текста
добавления выделены символом квотинга
...
> Q: Гpафическая библиотека ваткома отказывается пеpеключать pежимы/банки
> или делает это кpиво
>A: В результате ковыряния в библиотеке выяснилось, что криворукие
>ваткомовцы
>совершенно не задумываются ни о какой переносимости и универсальности их
>библиотек. В результате, если видео-карта имеет в биосе прошитое имя
>производителя или другую информацию о нем, то для нее будет вызываться
>вместо
>функции переключения банков через VESA, другая функция, работающая с
>картой
>напрямую (иногда даже через порты).
>Единственная проблема, что у каждого производителя (ATI, в моем случае),
>рано
>или поздно выходят новые и продвинутые карты, раскладка портов в которых
>может
>отличаться от той, которая использовалась в старых моделях. В результате,
>все
>это свинство начинает глючить и иногда даже виснуть.
>После того, как я руками заткнул ему возможность использовать "родные"
>фишки
>для конкретной карты и прописал пользоваться только VESA -- все работает
>как из
>пушки ;))
>Как затыкать -- а просто, есть переменная: _SVGAType, которую я
>описывается
>следующим образом: "extern "C" int _SVGAType;", и потом _перед_ (важно!)
>вызовом _setvideomode нужно сказать "_SVGAType = 1;".
Люблю читать несвежие FAQ.
Сегодня-то такого не встретишь, чтобы кто-то прямо в порты в видеокарту что-то писал, эхх...
j123123 31.07.2018 03:41 # +1
Но ничего, есть вон даже ассемблеры и дизассемблеры к GPU
https://github.com/CLRX/CLRX-mirror
https://github.com/envytools/envytools
bormand 31.07.2018 07:39 # 0
j123123 31.07.2018 08:01 # +2
Разве то был настоящий асм? DirectX ASM это например не настоящий асм (будь он настоящий, он работал бы только на ATI и не работал бы на Nvidia (или наоборот, в общем он был бы жестко прикован к одному типу GPU), но таким свойством он не обладает)
roskomgovno 31.07.2018 16:11 # 0
Асм пишется для набора инструкций (ISA), а микроархитектура вполне может быть различной: см Intel vs AMD
j123123 31.07.2018 20:08 # 0
Откуда инфа что наборы инструкций там совпадали, а не транслировались через какой-то недо-JIT?
roskomgovno 31.07.2018 20:38 # 0
ISA x86 тоже транслируется в микрокоды конкретной микроархитектуры, правильно?
Слоёный пирог:
java (javac) -> jvm_opcodes (jit) -> x86 opcodes (decoder) -> sandy bridge microcodes
j123123 31.07.2018 21:25 # 0
Ну если разницы нет, давайте тогда питон асмом назовем
>ISA x86 тоже транслируется в микрокоды конкретной микроархитектуры, правильно?
Не всегда. Старые процессоры x86 отлично обходились без этого
roskomgovno 01.08.2018 01:05 # 0
До P6 примерно, дальше всё RISC...
guest8 01.08.2018 01:39 # −999
roskomgovno 01.08.2018 01:43 # 0
Думаю, надо было читать их мануалы, там всё было бы написано.
Я про превращение CISC в RISC читал в книге, где про AMD было ничегоне сказано
bormand 01.08.2018 07:10 # 0
З.Ы. Спутал, это на K7 было. А на K6 ещё не обновлялось.
bormand 31.07.2018 18:17 # 0
Те GPU же ещё не были современными терафлопсовыми суперкомпьютерами...
j123123 31.07.2018 20:08 # 0
Ну допустим договорились. Только как из этого следует, что машинный код должен быть для этих видеокарточек таким же? И почему этого DirectX ASM нет где-либо кроме винды с DirectX-ом? Ведь если это точно такой же честный асм, как и в ассемблере NASM (где определенные мнемоники транслируются в определенные байтики - инструкции для GPU/процессора), никакой привязки к DirectX и винде быть по-идее не должно, и те же мнемоники можно было бы оттранслировать в универсальные опкоды для всех видюх вообще под все архитектуры GPU(хотя какие еще все архитектуры? Архитектура тогда должна быть одна).
Этот недоасм настолько же асм, как и байткод какой-нибудь Java или сишарповский CIL (он же MSIL) - есть какая-то параша в операционке (драйвера видюхи, DirectX или еще какая-то ссанина) которая этот недоасм транслирует уже в настоящий асм
bormand 31.07.2018 20:18 # 0
j123123 31.07.2018 20:25 # 0
bormand 31.07.2018 20:41 # 0
Для новых карт -- соглашусь.
bormand 01.08.2018 07:21 # 0
guest8 31.07.2018 11:19 # −999
Steve_Brown 31.07.2018 12:15 # 0
Desktop 31.07.2018 12:24 # 0
>Q: Я уже забодался загружать все .vbb модули в Visual Builder
A: (Dmitriy Grachjev, 2:5020/328.328)
Создай файлик VbLoad.Dat со списком этих файлов с указанием пути и положи его
либо в каталог, где живут файлы приложения, в случае если Visual Builder
запускается оттуда, либо (что подходит только для одного проекта) в каталог в
VbBase.Vbb, VbDax.Vbb e.t.c (он называется IVB для Win и DDe4Vb для Os/2).
Солнце само себя не закатит
roskomgovno 31.07.2018 15:58 # 0
guest8 31.07.2018 16:12 # −999
guest8 31.07.2018 16:13 # −999
roskomgovno 31.07.2018 16:14 # 0
BIOS -- ты имеешь ввиду firmware видеокарты же? Обычный BIOS вроде как никак не принимал участие в моем писани (и кстати это были не I/O, а замапленная память).
Правда вот как я включал этот режим (через что -- этого я непомню)
guest8 31.07.2018 16:23 # −999
roskomgovno 31.07.2018 16:32 # 0
В общем я прекрасно понимаю что если тебе хотелось чего-то, что не описывают VGA и VESA Bios Extensions, то тебе приходилось узнавать что за видео карта и работать напярмую
Steve_Brown 31.07.2018 17:02 # 0
roskomgovno 31.07.2018 17:22 # 0
bormand 31.07.2018 18:34 # 0
Быстрее сбегать в защищёнку и оттуда нормально порисовать :) Там же нормальный адрес буфера можно было достать (или это только в последних VBE?)
HighVoltageCock 31.07.2018 18:37 # 0
bormand 31.07.2018 18:38 # 0
roskomgovno 31.07.2018 18:40 # 0
в HTML пишешь
<img src="foo.php"/>
guest8 31.07.2018 18:59 # −999
roskomgovno 31.07.2018 19:02 # 0
Про докачку ты прав: ranges сервер должен делать сам
guest8 31.07.2018 18:55 # −999
guest8 31.07.2018 16:33 # −999
roskomgovno 31.07.2018 16:40 # 0
guest8 31.07.2018 16:54 # −999
roskomgovno 31.07.2018 17:00 # 0
ОС (или драйвер шины) читаает PNPID у PCI и выбирает соответствующий драйвер устройства.
guest8 31.07.2018 17:01 # −999
roskomgovno 31.07.2018 17:08 # +1
BIOS PC сканировал адресное пространство (с не помню каким шагом) в поисках сигнатуры 0x55, 0xAA и если находил -- передавал туда управление.
Так запускались сетевые карточки с загрузской по сети, boot devices (причем их могло быть два сорта -- одни представлялись как устройство загрузки, а другие переписывали прерывание 13h, и представлялись как диски, как ты верно сказал -- так делал raid).
Видеокарточный биос патчил обработчик прерывания и мапил себя в адресное пространство
guest8 31.07.2018 17:10 # −999
roskomgovno 31.07.2018 17:17 # 0
Полагаю что Firmware умеет прочитать APCI, PCI и USB и ланчануть все нужные устройства.
Патчить прерывания ей не надо, она же ими не пользуется
bormand 31.07.2018 18:06 # 0
Боже упаси... Там интерфейсики с гуидами. Сразу видно, кто лапу приложил.
roskomgovno 31.07.2018 18:20 # 0
прерыввания были "API" в 16битном коде, в уефи уже нормальный чуть ли не сишный API
bormand 31.07.2018 18:21 # 0
Чуть ли не сиплюшплюшный! Вот только this руками передавать приходится.
bormand 31.07.2018 17:55 # +1
roskomgovno 31.07.2018 17:58 # 0
bormand 31.07.2018 18:01 # 0
roskomgovno 31.07.2018 18:05 # 0
Кстати, а PCI устройства же не имели права мапиться в память пока их не включат и не заполнят base address.
Выходит что и BIOS должен был знать про PCI чтобы ланчануть его option rom?
bormand 31.07.2018 18:09 # 0
Ну разве что прикинуться флешкой... В остальном -- нет.
> знать про PCI
Да конечно они знали. Операционки же жили на готовеньком маппинге. DOS разве вообще умел адреса раздавать?
roskomgovno 31.07.2018 18:21 # 0
да, dos не умел (хотя была какая-то шина не ISA и не PCI, а от IBM) в которой был кастрированный PnP который реализовывался спец программой под дос.
А вот win95 уже умела сам делать PNP (а NT не умела, кстати!)
и даже была опция в бивисе pnp os installed
guest8 31.07.2018 18:40 # −999
bormand 31.07.2018 18:41 # 0
Да и похуй в общем-то. Потом обратно ремапнешь.
roskomgovno 31.07.2018 18:44 # 0
Сделает страницу которая совпадает с реальными адресами?
зы: нахуй ефи x64? почему в 32 не стартовать? 4 гига хватит всем
bormand 31.07.2018 18:55 # 0
Держи: https://github.com/tianocore/edk2/blob/master/MdePkg/Library/BaseLib/X64/Thunk16.nasm
Ну и сам видеодрайвер через legacy: https://github.com/tianocore/edk2/blob/master/IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c
roskomgovno 31.07.2018 19:07 # 0
блядь, это же удаление бита PE , они из x64 в real mode переключаются?:))
Таки значит неможливо из x64 гонять realmode code.
зы: мало кто знает, но в 286 такой трюк был бы невозможен: там для возврашщения в реалмоде надо было делать ресет
bormand 31.07.2018 19:13 # 0
Ну да, венда в эмуляторе его гоняет когда нормальных дров на видюху нету.
bormand 31.07.2018 19:23 # 0
guest8 31.07.2018 19:27 # −999
bormand 31.07.2018 19:30 # 0
guest8 31.07.2018 19:51 # −999
bormand 31.07.2018 19:57 # 0
Сконпелировал другим асмом, windows logo же хочется получить. Майкрософт смеётся последним.
guest8 31.07.2018 20:12 # −999
bormand 31.07.2018 20:15 # 0
roskomgovno 31.07.2018 20:18 # 0
guest8 31.07.2018 20:21 # −999
roskomgovno 31.07.2018 20:21 # 0
roskomgovno 31.07.2018 19:59 # 0
Переключаться в real mode для работающей ОС -- не вариант по пнятным причинам
Инетерсно, как делают прыщи без DRM/DRI? Там GRUB их в граф режим переключает?
А если я передам vga=(vesa_режим) ядру?
Надо почитать сырцы
https://github.com/torvalds/linux/blob/master/drivers/video/fbdev/vesafb.c
guest8 31.07.2018 20:17 # −999
roskomgovno 31.07.2018 20:22 # 0
roskomgovno 31.07.2018 20:17 # 0
написано же
[quote]
* framebuffer driver for VBE 2.0 compliant graphic boards
*
* switching to graphics mode happens at boot time (while
* running in real mode, see arch/i386/boot/video.S).
[/quote]
ну а дальше уже в память писать биос не нужен
а тамщемто
video.S:
> int $0x10
Чудес не бывает
roskomgovno 31.07.2018 19:31 # 0
мы теперь не только AML гоняем, но и x86 isa:)
>>t int 10h functionality for video drivers can be maintained on 64-bit Windows
>>without the need to have these systems support virtual-8086 execution.
Зачем? Нельзя разве уметь VESA мимо BIOS, а дальше пусть драйвер ебется?
bormand 31.07.2018 19:34 # 0
Его же нет. А картинку как-то надо показывать. Хотя бы режим переключить на нужный. Они всяко не юзают это говно когда нормальный драйвер стоит.
roskomgovno 31.07.2018 19:37 # 0
я всё понял теперь: VGA можно напрямую, ну кому нахуй нужено 320x200x16, а для нормальных режимов нужны VESA BiosExtensions, а они только через BIOS
так?
bormand 31.07.2018 19:38 # 0
Так.
roskomgovno 31.07.2018 20:27 # 0
Писать в память и порты иксы могут (бо ланчаца от рута в линуксах, а в опенбзде имеют специальный двейс -- aperture driver)
Но как они выбирают видеорежим? Как они могут дернуть BIOS?
>>It can drive most VESA-compatible video cards, but only makes use of the basic standard VESA core that is common to these cards. The driver supports depths 8, 15 16 and 24.
Значит-ли это что у нас только vga?
roskomgovno 31.07.2018 16:22 # 0
roskomgovno 31.07.2018 16:49 # +1
Где Лёник Теренин из Ростова?
Где Кирилл Перцев из Москвы?
Им всем уже за сорокет. Пишут-ли они до сих пор на сях? Стали ли крупными тилидами?
Desktop 31.07.2018 16:55 # 0
guest8 31.07.2018 16:58 # −999
Desktop 31.07.2018 17:01 # +1
Но суть: чувак 20 лет назад уехал в Японию, щас веслает в NVidia. Т.е. продолжает пердолиться с GPU в том или ином виде.
roskomgovno 31.07.2018 17:20 # 0
>>Японию
хм
Desktop 31.07.2018 17:22 # +1
About 25+ years of embedded design under the belt, spent not only programming mainstream microprocessors, but also interfacing them to the networks and personal computers running Linux, Windows or any major OS. Plenty of mobile development (mostly Android) since 2010.
Successfully managed a small team working on the hardware/software projects.
Sr. Solutions Architect - Autonomous Driving
NVIDIA
март 2017 – настоящее время (1 год 5 месяцев)Within 23 wards, Tokyo, Japan
Self-driving cars is the future of the personal transportation, and we make it happen.
https://jp.linkedin.com/in/lenik-terenin-a124235a
jp устроит?
Network Engineer
Rostov state administration
1993 – 1996 (3 года)Ростовская область, Россия
- под описание подходит вполне.
roskomgovno 31.07.2018 17:26 # 0
Desktop 31.07.2018 17:25 # 0
roskomgovno 31.07.2018 17:27 # 0
Desktop 31.07.2018 17:29 # 0
roskomgovno 31.07.2018 17:33 # 0
HighVoltageCock 31.07.2018 17:35 # −1
Desktop 31.07.2018 17:35 # 0
roskomgovno 31.07.2018 17:48 # +2
Единицией адресации изначально была нода. Любая нода могла соединиться с другой нодой (был нодлист с их телефонами даже, и был час когда нужно принимать звонки), но так как звонить в далекие города было дорого, то некоторые ноды (установленные в ВУЗах, например) принмиали сообщения от всех и передавали в далекие города по своим каналам (Интернет или выделенные линии итд). Маршрутизация была нелинейной, в общем:)
У нод были клиенты -- поинты. Поинт мог попадать в Фидо только через свою ноду (можно думать о нем как о сидящем "за натом" клиенте).
Поинт никак не Фидо не влиял, а мог только использовать сервисы. А ноды выбирали координаторов, договаривались о маршрутизации итд.
Основные сервисы в сети это были это почта и конференции.
Почему была популярна?
Она была бесплатной. Интернет был очень дорогой и не везде был доступен, а чтобы подключиться к Фидо надо было найти ноду, прийти на поинтовку и попросить стать поинтом. Это примерно как на хабру попасть:)
Были и шлюзы в Интернет (из конференций в usenet (только на чтение разумеется!) из почты в SMTP или UUCP).
В конце концов Интернет её и убил.
HighVoltageCock 31.07.2018 17:59 # 0
Не о чем сожалеть. Убогие текстовые конференции без видео, фотографий, без дизайна... Мерзость.
roskomgovno 31.07.2018 18:00 # 0
Кстати, в 90-х Интернет тоже был преимущественно представлен usenetовыми конфами, ftp и smtp, так что дизайна там тоже не было.
Кто помнит gopher?
guest8 31.07.2018 18:45 # −999
roskomgovno 31.07.2018 18:49 # 0
Гофер как-то сразу же был убит HTTP, и мало успел пожить в качестве таких "Интернет-BBS":)
А в щтатах была сеть Compuserve с кучей сервисов, мемов, чатов, и почти не известная за пределами сша
guest8 31.07.2018 19:04 # −999
guest6 17.03.2024 18:42 # 0
У ХТТП его тоже не дохуя, есил не считать метод POST
>SMTP
То-есть вместо пирдолинга в маленьком окошке с неудобным редактором которое проебется когда ты случайно закроешь браузер ты предлагаешь использовать удобное приложение с нормальным настроенным под меня редактором, которое не зависит от связи с инетом?
с ума сошел что ли?
guest6 17.03.2024 22:11 # 0
guest8 31.07.2018 19:20 # −999
roskomgovno 31.07.2018 20:20 # +1
Гоф (как и все старыепротоколы) не смешивал в кучу данные и представление, и тем мне нравился.
guest8 31.07.2018 20:26 # −999
roskomgovno 31.07.2018 20:33 # 0
бля, даже в темных уголках
guest8 31.07.2018 22:25 # −999
guest8 31.07.2018 23:58 # −999
guest6 16.03.2024 09:58 # 0
gopher://gopherddit.com:70/1/
guest6 16.03.2024 10:02 # 0
https://i.imgur.com/L4gbkJ6.jpeg
guest6 17.03.2024 18:39 # 0
погодите, так это получается можно вместо вонючего вебговна делать цисгендерные интерфейсы к системам?
guest8 31.07.2018 20:29 # −999
roskomgovno 31.07.2018 20:32 # 0
ахахаха
guest6 16.03.2024 09:55 # 0
https://f-droid.org/ru/packages/com.gmail.afonsotrepa.pocketgopher/
Veronica (на floodgap) нашла анонимные борды по протоколу gopher, в которых обсуждают современную политоту.
У ТСПУ/DPI, поди, и алгоритмов для фильтрации такого конь-тента нету, только по IP.
guest6 16.03.2024 10:11 # 0
guest6 18.03.2024 08:44 # 0
guest6 18.03.2024 14:24 # 0
Спасибо вам, диктаторы-говноеды!
guest6 16.03.2024 10:27 # 0
https://telegra.ph/Issleduem-Gopherspace-07-05
guest6 16.03.2024 10:32 # 0
gopher://gopherspace.de:70/1/alive/new.report.php
guest6 16.03.2024 10:39 # 0
guest6 16.03.2024 10:42 # 0
> Gophered by Gophernicus/3.1.1 on Raspbian/11 armv7l
Какой пердолинг )))
guest6 16.03.2024 18:22 # 0
guest6 16.03.2024 21:50 # 0
Текст из книги Лучшие игры для ZX Spectrum выпуск 1, Санкт-Петербруг, 1993 г.
ISBN 5-85306-002-3
В этой игре вы являетесь маленьким белым привидением, в которое вас превратил злой колдун. И, чтобы опять стать человеком вам нужно до рассвета разбудить своего дядю, который возвратит вам прежний вид.
guest6 16.03.2024 10:49 # 0
guest6 16.03.2024 21:51 # 0
guest6 16.03.2024 11:39 # 0
Гоферпедия — фронтенд к Википедии. Фиговый: ссылок из статей нету, картинок нету...
guest6 16.03.2024 11:49 # 0
Фронтенд к чьему-то гиту.
guest6 16.03.2024 20:02 # 0
Оказывается, можно читать текст гетеросексуальным образом, без пяти мегабайт пердящего тормозящего джаваскрипта который греет тебе процессор и срёт хуйней про куки?
guest6 16.03.2024 09:51 # 0
guest6 16.03.2024 10:14 # 0
guest6 16.03.2024 22:06 # 0
guest6 18.03.2024 08:02 # 0
Canceled Software Solutions Gopher Service by Roman production
Rebuilted browsers with TLS 1.3 support for Windows 98
Modern 100% up-to-date proven browsers for Windows XP
guest8 31.07.2018 22:32 # −999
guest8 31.07.2018 22:34 # −999
roskomgovno 13.08.2018 04:44 # 0
666_N33D135 13.08.2018 06:43 # +1
guest8 31.07.2018 16:57 # −999
roskomgovno 31.07.2018 17:50 # 0
manwithbox 31.07.2018 18:05 # 0
LinuxGovno 01.08.2018 19:08 # 0
roskomgovno 13.08.2018 19:18 # 0
guest6 16.03.2024 20:02 # 0
https://www.unrealengine.com/en-US/tech-blog/bringing-verse-transactional-memory-semantics-to-c