Придумай инструкцию x86!

Тема в разделе "WASM.HEAP", создана пользователем alpet, 22 июн 2005.

  1. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Paguo_86PK,

    Честно сказать я ничего не понял, но всё равно интересно зачем нужно овер одной мыши.
    У меня был раз косяк, сломалась мышь, а магазы закрыты. Только на следующий день я вспомнил что есть тачпад :)
     
  2. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    911
    Адрес:
    Ташкент
    Вoт в том и дело, что когда батарейки кончаются, я перехожу на одну из проводных мышек. А если там окошко запылилось и мышь плохо ходит, хватаю третью. Пока не наступает день покупки батареек с чисткой всех мышек и клавиатур от шерсти. Просто, не отвлекаюсь на заморочки разные, когда гуглю или пишу код: Что-то отказало - отодвигаю и беру следующее.

    P.S.: Сейчас хочу найти совсем убитую беспроводную мышь, чтобы на входной двери работала датчиком и моей программой сигнализировала…
    Вообще-то, один USB порт через хабы поддерживает до 127 устройств. Тем самым, если добыть сотню беспроводных мышек и натыкать ими окна, флюгеры, туалеты, то можно даже момент заполнения сливного бачка фиксировать, без применения сторонних (1-Wire) технологий.
    Всё завязать на 50 мышах и 50 клавиатурах по всей территории квартиры. :beach:
    (Вот стоит Вам посидеть за 5 мониторами с кучей мышек и клавиатур, скоро привыкните звук сбавлять/прибавлять не мизерными кнопками где-то с краю клавиатуры, а большими кнопками определённой мышки. А другой мышкой - сворачивать все окна и ставить видео на паузу. Иногда это гораздо легче, чем жестикулировать одной мышью на экране.)
    Вон профессиональные дизайнеры не тычат мышью в 3D-MAX делая свою модель, а сразу лепят её из пластелина и потом манипулятором вводят её рельеф в цифру. А я, как идиот, дурацкий диван 15 часов в MAX'е лепил, чтобы потом удалить всю сцену нафиг! Так как в 3D мире ковыряться мышью - что одним пальцем посуду мыть! Только в носу ковырять разве что.
    И готовых СЕРЪЁЗНЫХ программ для толковой работы двумя мышками под Windows практически нет. Один теоретический практический любительский экспериментальный мусор. Вот это и стимулирует меня писать свою утилиту в конкуренцию SlyControl. ;)
     
    Последнее редактирование: 27 авг 2017
  3. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    911
    Адрес:
    Ташкент
    Оказываeтся, зря я позабыл про MPC: Вполне нормальный плеер, который установился вместе с системой 5 лет назад, имеет редактор шейдеров. А главное - меню не шифрует и дистанционно программно охотно управляется… :friends:

    P.S.: Иногда полезно не игнорировать «открыть с помощью…»… :taunt:
    P.P.S.: В настоящий момент ищу способ проигрывать wav со всеми cue-тэгами. Оказывается, ни API-PlaySound, ни MPC и VLC не проигрывают синтезированный моей программой звук, где сто коротких отрезков звука выставляются определённой цепочкой… Может не так компоную wav-файл?
    Вроде бы проигрывается, но весь целиком, а не кусочками, как нужно. Когда-то в FMOD подобные примеры видел, но не охото грузить проект сторонними либами.
    (Написал прогу синтеза текущего состояния системы в голос с очень нестандартным wav-редактором и хочу теперь всё по правилам сделать. Чтобы помидорами не забросали)
    (Программа позволяет вручную нарезать одно data-поле на сотню отдельных. А junk-смещением указать на нужный data в реальном времени, чтобы воспроизвести нужный фрагмент)
     

    Вложения:

    • mystery.zip
      Размер файла:
      209 КБ
      Просмотров:
      345
    Последнее редактирование: 4 сен 2017
  4. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    911
    Адрес:
    Ташкент
    Срочнo требуется внедрение команды bsodd «BSOD Disable»… :superman2:
    На предприятии проводят очередное обновление и кучу хороших девайсов разбивают в хлам. :skull:
    Среди тех, что удалось «спасти» - YK215HB, YK217ZF, YK275F, YK276F, VS-1139F, VS-1132 SNH-2; а также TTA111VT и TTA414VR.
    Последние «две особи» довольно интересные и позволяют передавать по простой витой паре видеосигнал на километры… В общем, в выходные гуглил и разбирался, что к чему.
    Одна из камер имеет зум до 22x и позволяет читать номера машин, припаркованных за сотни метров (позже заютубю, когда «процензурю» некоторые моменты). А также, разглядывать дорожки всяческой микроэлектронники без вреда для глаз.

    Так вот, достала долбанная ошибка вдоль и поперёк, так как использую EasyCap из-под VirtualDub. То ли этот «Изя» перегревается, то ли драва уж слишком кривые, но за пару суток я получил пару :black_eye: «Смертельных Синяков», что крайне дико в моём случае (система, обычно, не перезагружается по 2 месяца, дежуря в режиме DVR 24/7/365)…
    Установил драйверы под vmWare для большей безопасности, так там эти «Синяки» стали обычным делом: Ни одного кадра не получаю, так как все имеющияся утилиты находятся в «ожидании получения fps источника» и ничего поделать с этим не могу… Приходится использовать «Изю» вживую без виртуальных машин и рисковать «синяком»: Кабеля закрепляю строго и никого не подпускаю к столу… :superstition: :angry2:

    P.S.: Вешать за причинное место надо тех, кто пишет критически нестабильный код в таких узких местах…
     
    Последнее редактирование: 12 сен 2017
  5. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Так китайцы, чего же вы от них хотите? Они за еду эти дрова пишут.
     
  6. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    911
    Адрес:
    Ташкент
    Думaю, виноваты не китайцы, а индусы :blush2:
    Сейчас вот под VMware я с достаточно продолжительным трудом (потратил минут 10-15 аж) завалил Windows'XP. Просто тупо подключал «Изю» к хосту, запускал захват и отключал от хоста в самый неподходящий момент. Самое частое - происходило частичное подвисание системы и VirtualDub, но всё продолжало работать. После нескольких таких попыток рухнул VirtualDub. И лишь в конце-концов всё свалилось в синяк:
    Код (Text):
    1.  
    2. A problem has been detected and Windows has been shut down to prevent damage
    3. to your computer.
    4.  
    5. If this is the first time you've seen this Stop error screen,
    6. restart your computer. If this screen appears againg, follow
    7. these steps:
    8.  
    9. Run a system diagnostic utility supplied by your hardware manufacturer.
    10. In particular, run a memory check, and check for faulty or mismatched
    11. memory. Try changing video adapters.
    12.  
    13. Disable or remove any newly installed hardware and drivers. Disable or
    14. remove any newly installed software. If you need to use Safe Mode to
    15. remove or disable components, restart your computer, press F8 to select
    16. Advanced Startup Options, and then select Safe Mode.
    17.  
    18. Technical information:
    19.  
    20. *** STOP: 0x0000007F (0x00000000,0x00000000,0x00000000,0x00000000)
    P.S.: Оказывается Windows'XP устойчивее, чем я думал… :hunter:
    (В современных Windows'8 (Vista пока не пробовалась мною) что-то наиндусили видимо где-то) :scare2:
     
  7. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Paguo_86PK,

    Ось не может падать с этим кодом, ибо:

    У вас маркер ошибки обнулён. В таком случае синь может вызвать только принудительно кривой драйвер.
     
  8. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    911
    Адрес:
    Ташкент
    Driver_Corrupted_ExPool выскочилo, когда я попытался установить спряжение с телефоном через Bluetooth!!! :black_eye:

    P.S.: Ладно, EasyCap я использую в виртуалке… Но, блутуз!!! :ireful2:
     
  9. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    911
    Адрес:
    Ташкент
    Хотелoсь возвратиться к «проблеме ESC-монопольности FPU»: Вполне реально ведь «искусственно» на уровне операционной системы исключить FPU-инструкции из набора доступных команд флажком контрольного регистра?
    Тем самым, виртуально, вместо кучи int/call-обращений к подпрограммам мы можем открывать файлы/сокеты, читать диски/сеть и рендерить графику одними лишь Esc-расширителями. А так как Esc-команды изначально расчитаны на явный параллелизм, то приложение в принципе не будет тормозиться (формально) на период, пока Esc-инструкция рендерит HTML-контент с SVG-анимацией…
    Тем самым, для приложения можно выделить все 4Гб адресного пространства (рассматривается именно 32-битная реализация OS) и сделать саму операционную среду как эмулятор набора сотен сопроцессоров…

    P.S.: Всё-таки грустно, что весь потенциал даже i386 (где появились все те фишки, давшие начало «революционной Windows'95»!) до сих в пор в полной мере не реализован…
     
  10. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.709
    Paguo_86PK,
    к сопроцессору, кроме Esc-команд, можно было обращаться через int (Р.Браун, Дж.Кайл "Справочник по прерываниям для IBM PC", том 2, глава 35)
    прерываниеописание
    int 34hкоманда сопроцессора с кодом 0D8h (FMUL)
    int 35hкоманда сопроцессора с кодом 0D9h (FXCH)
    int 36hкоманда сопроцессора с кодом 0DAh (FCMOVE)
    int 37hкоманда сопроцессора с кодом 0DBh (FCMOVNE)
    int 38hкоманда сопроцессора с кодом 0DCh (FMUL)
    int 39hкоманда сопроцессора с кодом 0DDh (FXCH4)
    int 3Ahкоманда сопроцессора с кодом 0DEh (FMULP)
    int 3Bhкоманда сопроцессора с кодом 0DFh (FMULP)
    int 3Chкоманда сопроцессора с переопределением сегмента
    int 3DhFWAIT
    int 3Ehподкодописание
    0DChзагрузить стек 8086 регистрами 8087
    0DEhзагрузить регистры 8087 из стека 8086
    0E0hокруглить ST(0) и ST(1) с одинарной точностью, сравнить, дважды снять со стека
    0E2hокруглить ST(0) и ST(1) с двойной точностью, сравнить, дважды снять со стека
    0E4hсравнить ST(0)/ST(1) с двумя снятыми со стека словами
    0E6hсравнить ST(0)/ST(1) со снятым со стека словом
    0E8hFTST
    0EAhFXAM
    0EChFSIN
    0EEhFCOS
    0F0hFTAN
    0F2hFATAN
    0F4hFLDLN2
    0F6hFLDLG2
    0F8hFLDLG10
    0FAhFLDL2E
    0FChST(0)=2ST(0)
    0FEhST(0)=10ST(0)
    и через in/out
    Диапазон адресовУстройство
    80h-9Fhсопроцессор
    0F0hсброс занятости сопроцессора
    0F1hсброс сопроцессора
    но это было под DOS'ом
     
  11. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    911
    Адрес:
    Ташкент
    Пo-видимому, Вы не переходили по ссылкам к #176 и #178, где содержится сама суть вопроса :blush2:
     
  12. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.709
  13. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Сейчас не могу найти архив этой темы, но навскидку, через порты вв-вывода оно работало только на 386 и/или ниже.

    Вариант с интами - это fpu emulation, была такая опция в Borland C под дос. Инты перехватываются Си-шной библиотекой, прилинкованной к EXE.
     
  14. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    В мостах соврменных материнских плат по 3 (три) х86 процессора, https://habrahabr.ru/company/pt/blog/336242/

    А мы тут чето выдумываем :)

    Коммерческая идея с репликами 386 процессоров и переферии к ним, кажется уже не такой безумной.
     
  15. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.709
    _edge, привет!
    да, я знаю, что это эмуляция FPU, Р.Браун, Дж.Кайл пишут об этом. Но представьте, как было бы здорово, если у нас 486 процессор и выше и вместо эмуляции по int 34h-3Eh под DOS'ом подставлялся бы результат обработки реальных команд FPU. Но DOS давно снесен и проверить не на чем :)
     
  16. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Mikl___, это к DosAsm386, у него аутентичный дос-комп есть 386-й. В принципе, если настолько нужно, у мну есть сокет7 материнка рабочая с Пнем Первым :)
     
  17. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    911
    Адрес:
    Ташкент
  18. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.087
    придётся подобную фигню отключать нормальными аль извратными средствами :)
    --- Сообщение объединено, 14 ноя 2018 ---
    ложная тревога является очень сильным нарушением секуры == из-за неё сигнализацию выключают полностью :)
     
  19. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    911
    Адрес:
    Ташкент
  20. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.087
    это опять-таки двоичная логика с закосом под тройку. :)