- 1
- 2
add bp, 4 ; 83C504
lea bp, [bp + 4] ; 8D6E04
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
add bp, 4 ; 83C504
lea bp, [bp + 4] ; 8D6E04
А они ещё говорят, что первого байта для всех КОПов не хватает, и ввели дополнительный.
666_N33D135 11.06.2018 08:28 # +2
666_N33D135 11.06.2018 12:37 # +2
guest8 11.06.2018 13:04 # −999
666_N33D135 11.06.2018 14:53 # 0
ЗЫ. lea трогает флаг cf?
guest8 11.06.2018 15:35 # −999
666_N33D135 11.06.2018 15:44 # 0
guest8 11.06.2018 16:20 # −999
666_N33D135 11.06.2018 16:47 # 0
Нашел сравнение, lea может работать как add (за исключением флагов), а push/pop кроме указателя стека какают в память/регистры.
666_N33D135 11.06.2018 16:53 # 0
Зачем он там?
guest8 11.06.2018 17:16 # −999
roskomgovno 11.06.2018 17:59 # −1
Называется он dbghlp.dll и имеет хуеву кучу фронтэндов, самый пополярный из которых -- windbg.
А еще есть дебагер, встроенный в студию.
666_N33D135 11.06.2018 18:49 # 0
И правильно, простому юзеру он нахуй не сдался, а досовский debug уж тем более, я вообще не понимаю, нахуя он столько лет поставлялся вместе с виндой. Да и вряд ли кто-то сейчас отлаживает программы глядя в ассемблерный листинг.
roskomgovno 11.06.2018 18:57 # 0
Я 32хбитный винд лет пять не видел -- проверить негде
В XP он точно был, как был и edit.com кажется, потому что это часть окружения ms-dos которая винда должна была эмулироватть
guest8 11.06.2018 18:59 # −999
guest8 11.06.2018 20:17 # −999
guest8 11.06.2018 20:18 # −999
roskomgovno 11.06.2018 23:44 # 0
666_N33D135 12.06.2018 04:53 # 0
Он ехешник.
У нас использовали:
текстовый редактор -- какой хошь (я юзал нотепад++);
ассемблер -- tasm;
линкер -- tlink;
дебагер -- turbo debuger.
Для винды я учил асм сам.
roskomgovno 13.06.2018 22:36 # 0
ХЗ зачем его перелинковали, может чтобы впиндюрить туда PE.
>>нотепад++
когда я учил ассемблер не было никакого нотпад++ и editplus тоже не было: у меня были две IDE: TurboCшная и edit.com;)
666_N33D135 17.06.2018 08:07 # 0
666_N33D135 11.06.2018 19:17 # 0
И в семёрке тоже был, а вот выше -- незнаю, не проверял. А в 64-битных 16-битные проги вроде работают.
guest8 11.06.2018 20:16 # −999
roskomgovno 11.06.2018 23:36 # 0
Я не уверен что сегмент кода такого типа будет работать в long mode, но тут это не очень важно потому что debug.com не использовал защищенный режим.
Грубо говоря это не 286 а 8088 приложение)
666_N33D135 12.06.2018 04:54 # 0
Не 8086?
roskomgovno 12.06.2018 22:12 # 0
8086 имел 16 ножек на шине данных, а 8088 имел их 8.
Таким образом в память за один раз читался один байт.
В следующей модели уже использовался 80286 в котором дороже стало 16, и читаться стало два байта.
С этим связан традиционный для интелов "плевок в вечность"
На 8088 не обязательно было выравнивать обращение к памяти: читался-то все равно один байт,
а вот в 286 стало нужно потому что читался всегда четный, например:
0 и 1
2 и 3
итд. Так что если считать WORD (два байта) по адресу 1, то получится ДВА чтения, половина из которых будет выкинута.
В других процессорах за такое чтение выдавали exception, но в 286 просто было временное пенальти, потому что был уже код под 8088 который срать хотел на выравнивания.
Ну а теперь префетчер читает данные из кеша, кеш читает линейками из памяти, и все это уже не так важно
guest8 12.06.2018 23:15 # −999
roskomgovno 13.06.2018 22:39 # 0
Intel 8088 @ 4.77 MHz
Это вика даже знает.
На нем же был и jr и XT, а вот AT уже был на 286.
Первые клоны вполне могли быть на 8086, Да
guest8 11.06.2018 18:57 # −999
roskomgovno 11.06.2018 18:59 # −1
До сих пор долбоёбы есть у которых 16ти битные программы для реального режима, написанные 25 лет назад.
Их обычно в DosBox гоняют
guest8 11.06.2018 19:02 # −999
guest8 11.06.2018 20:18 # −999
roskomgovno 11.06.2018 23:30 # 0
DosBox это не V86 приложение а честный эмулятор PC. Иначе бы старые игрушки плохо работали.
syoma 12.06.2018 00:15 # 0
roskomgovno 12.06.2018 00:26 # 0
В бладе было сохранение, так что это не самая сложная игра.
Самые сложные это аркады на приставках образца 90х Mario2 (японский), Contra итд
syoma 12.06.2018 00:28 # 0
roskomgovno 12.06.2018 00:30 # 0
Blood хороший очень, для своего времени просто огонь.
guest8 12.06.2018 00:33 # −999
syoma 12.06.2018 00:41 # 0
guest8 12.06.2018 00:45 # −999
guest8 12.06.2018 01:38 # −999
guest8 12.06.2018 01:38 # −999
guest8 12.06.2018 23:28 # −999
guest8 12.06.2018 23:33 # −999
guest8 12.06.2018 23:33 # −999
guest8 12.06.2018 23:38 # −999
guest8 12.06.2018 23:48 # −999
guest8 12.06.2018 23:53 # −999
guest8 12.06.2018 23:57 # −999
guest8 12.06.2018 23:55 # −999
guest8 12.06.2018 23:59 # −999
guest8 16.06.2018 01:48 # −999
guest8 16.06.2018 01:49 # −999
roskomgovno 12.06.2018 00:49 # 0
Можно конечно писать под GDI и не использовать ускорение но тогда получится кривое тормозное говно наверное
guest8 12.06.2018 00:52 # −999
roskomgovno 12.06.2018 00:54 # +1
bormand 12.06.2018 00:54 # 0
Если оно тогда не тормозило, то сейчас -- тем более не будет. Пусть рисует в буфер. Подходящий момент для перекачки буфера в видеопамять всяко можно отыскать.
roskomgovno 12.06.2018 01:03 # 0
Кстати, игре под дос (в некоторых режимах) могли использоваться planes, когда одна точка писалась в три разных места (r, g и b). Это будет не очень удобно портировать
bormand 12.06.2018 01:04 # 0
Шейдеры всё стерпят.
Да и даже полностью софтовая эмуляция VGA должна летать на современных процах.
guest8 12.06.2018 01:22 # −999
guest8 12.06.2018 01:32 # −999
666_N33D135 13.06.2018 09:30 # 0
bormand 13.06.2018 09:59 # 0
Я думаю, что тупо по табличке конвертят каждый фрейм. Разрешение маленькое, процы сейчас быстрые. Да и вся поллитра в кеш войдёт.
666_N33D135 13.06.2018 12:15 # 0
bormand 13.06.2018 13:54 # 0
Ну да, если не туплю. Сложить поллитру в одномерную текстурку и в шейдере брать из неё нужный пиксель.
guest8 13.06.2018 14:17 # −999
bormand 13.06.2018 14:20 # 0
Блин, вот мне самому было бы интересно под webgl такое пильнуть...
666_N33D135 13.06.2018 15:56 # 0
bormand 13.06.2018 16:58 # 0
Да, вполне. 1 канал, 8 бит. Только надо прямоугольник с текстурой очень-очень аккуратно мапать на экран. Чуть-чуть с оффсетом или масштабом накосячишь и кровь-кишки-распидорасило. Ибо интерполяцию координат перед пиксельным шейдером никто не отменял.
З.Ы. Хотя оффсет и масштаб -- общая проблема для любого 2D графония через OpenGL.
guest8 13.06.2018 18:35 # −999
roskomgovno 13.06.2018 18:44 # 0
guest8 13.06.2018 18:46 # −999
roskomgovno 13.06.2018 18:48 # 0
bormand 13.06.2018 18:48 # 0
Дык ты её 60 раз в секунду перерисовывай, как это обычно и происходит.
roskomgovno 13.06.2018 18:50 # 0
1) забиваешь память красным
2) ждешь когда луч попадет в середину экрана
3) забиваешь память синим (ну или меняешь политрку)
получается что пол экрана красные, а пол синие.
bormand 13.06.2018 18:51 # 0
Ты его не понял. Он, походу, предлагал ещё более тонко менять палитру -- на каждый пиксель (ну или группу пикселей, если поштучно не успеваешь).
roskomgovno 13.06.2018 18:53 # 0
ок, я за
типа 640x480x60?
666_N33D135 13.06.2018 19:00 # 0
roskomgovno 13.06.2018 19:06 # 0
Если ты про 13h, он же "плоский" он же "без ебли с планерами" то 320x200.
Но это в чистом VGA
В VESA (VBE) дофига 256цветных режимов, вплоть до 1280×1024
guest8 13.06.2018 19:10 # −999
roskomgovno 13.06.2018 19:16 # 0
666_N33D135 13.06.2018 19:31 # 0
Xo4y_EbaTbc9l 13.06.2018 21:43 # 0
Он ведь манерный такой весь, слащавый.
guest8 13.06.2018 19:00 # −999
roskomgovno 13.06.2018 19:03 # 0
guest8 13.06.2018 19:07 # −999
666_N33D135 14.06.2018 06:26 # 0
bormand 13.06.2018 19:03 # 0
Анролл на строку развёртки. И самомодификация кода во время hblank.
Но вот можно ли синхронизнуться на hblank на VGA/CGA? Просто без привязки к hblank очень сложно будет идти синхронно с развёрткой.
bormand 13.06.2018 19:17 # 0
666_N33D135 17.06.2018 08:27 # 0
bormand 17.06.2018 11:00 # 0
Дык надо моргать быстрее, миллионы раз в секунду и синхронно с развёрткой.
roskomgovno 13.06.2018 16:07 # 0
типа цвет 123 теперь не красный а бурый?
guest8 13.06.2018 16:34 # −999
roskomgovno 13.06.2018 17:02 # 0
так делали когда писать в память было дорого
666_N33D135 13.06.2018 16:43 # 0
666_N33D135 16.06.2018 11:33 # 0
syoma 12.06.2018 00:40 # 0
А так - неудачный бросок динамита, огреб от босса, монахи, да и просто неудачно влез в бой. Дюк тут гораздо предсказуемее.
666_N33D135 12.06.2018 04:57 # 0
НА ВСЕ ВРЕМЕНА!!!
Атмосферная такая ишрушка. Красивая.
guest8 13.06.2018 00:22 # −999
roskomgovno 13.06.2018 00:31 # +1
3.14159265 13.06.2018 23:24 # 0
Да. Battletoads самый сложный.
>Mario2 (японский)
Если это то о чём я думаю, то это пиздец.
bormand 13.06.2018 23:38 # 0
Да ладно, их можно пройти. Для меня там самый пиздец -- ёбаная крыса-террорист, которую надо обогнать.
3.14159265 13.06.2018 23:40 # 0
>ёбаная крыса-террорист, которую надо обогнать
Это где? Когда на мотоциклах
Или это:
https://youtu.be/kW7KBl7zSE0?t=2712
Я там постоянно факапил когда подымаешься по такой змее вверх. И крыса тоже, но до неё очень сложно дойти было.
bormand 13.06.2018 23:42 # 0
Не, я в просто battletoads задротил, без double dragon.
3.14159265 14.06.2018 00:03 # 0
comment updated
http://govnokod.ru/24375#comment417458
guest8 13.06.2018 23:52 # −999
3.14159265 14.06.2018 00:00 # 0
Там потом надо крысу отпиздить. Потом устроить ББПЕ паре шлюх с плётками, хуйнуть чела с пулеметом, расхуярить космокорабль на маленькой пиздюрке.
И это будет только середина игры.
И там баг ещё такой, очень доставучий. Когда ползёшь к рубильнику, а вокруг тебя крутится электричество. Вот иногда игра глючила, чуть-чуть смещала персонажа и потом никак нельзя было слезть с той трубы.
roskomgovno 14.06.2018 00:03 # 0
3.14159265 13.06.2018 23:25 # 0
https://www.youtube.com/watch?v=in6RZzdGki8
Но это специально созданный каким-то психом левел, который можно пройти только чисто на багах марио.
А из тех картриджей что у меня были однозначно Battletoads. Причём &DD мне таки удалось пройти.
А тот где только жабы — он запредельно блядь сложный.
roskomgovno 13.06.2018 23:30 # 0
Mario вышла на NES (и как там она в японии называлась -- фамиком вроде). Потом японцы сделали продолжение, но в Европу и США продавать не стали потому что слишком сложно видимо:)
В США на NES совсем другой Mario 2, который в Японии называлася doku doku panic, только в него перенесли персонажей из Mаrio: можно играть за принцессу или гриба.
Боже, зачем я всё это знаю
3.14159265 13.06.2018 23:36 # 0
Посмотри видео по моей ссылке.
Он не может быть сложнее. В принципе.
guest8 13.06.2018 23:31 # −999
roskomgovno 13.06.2018 23:33 # 0
https://www.retrogamer.net/retro_games80/the-making-of-the-great-giana-sisters/
roskomgovno 13.06.2018 23:33 # 0
https://www.retrogamer.net/retro_games80/the-making-of-the-great-giana-sisters/
guest8 13.06.2018 23:53 # −999
roskomgovno 13.06.2018 23:54 # 0
или нет
ну вот оно
https://www.youtube.com/watch?v=QbsVREc9TRQ
guest8 14.06.2018 00:08 # −999
roskomgovno 14.06.2018 00:27 # 0
guest8 11.06.2018 19:07 # −999
guest8 11.06.2018 20:28 # −999
guest8 11.06.2018 21:29 # −999
guest8 11.06.2018 20:31 # −999
voodoodal16 11.06.2018 19:17 # 0
666_N33D135 11.06.2018 19:35 # 0
В моей школе были такие в компуктерном класси, только стоял на них какой-то "Лёхкай линукс", который выглядел как испоганенная 98 винда. Мы на них ебались с ПопенОфис.
guest8 11.06.2018 20:31 # −999
666_N33D135 11.06.2018 19:23 # 0
Сидят токие долбоёбы на парах, пишут проги под дос. :)
roskomgovno 11.06.2018 23:31 # 0
Но в продакшене зачем?
bormand 12.06.2018 00:07 # 0
Трамплинчики для перехода в защищённый режим и обратно. Х.з. зачем ещё сейчас риалмодный асм...
roskomgovno 12.06.2018 00:07 # 0
bormand 12.06.2018 00:08 # 0
roskomgovno 12.06.2018 00:11 # 0
bormand 12.06.2018 00:14 # 0
З.Ы. Ты что-то там спрашивал дней 5 назад, напомни в каком треде.
roskomgovno 12.06.2018 00:17 # 0
cms -- Compatibility Support Module?
bormand 12.06.2018 00:22 # 0
Угу.
> почему COM порты ищут перебором
Рискну предположить, что для раннего логирования, когда эти ваши ACPI ещё некому исполнять. Да и адреса этих портов менять уже никто никогда не будет.
roskomgovno 12.06.2018 00:24 # 0
Всмысле чтобы запускать сосноль на компорту и отладчик ядра?
bormand 12.06.2018 00:27 # 0
Ну да. Или хотя бы просто логи загрузки туда сливать.
j123123 12.06.2018 08:54 # 0
https://lj.rossia.org/users/herm1t/66091.html
http://man7.org/linux/man-pages/man2/modify_ldt.2.html
> The normal use for modify_ldt() is to run legacy 16-bit or segmented 32-bit code. Not all kernels allow 16-bit segments to be installed, however.
Этот modify_ldt кажется используется в DOSEMU и еще в Wine если им запустить 16-битные приложения винды
j123123 12.06.2018 08:59 # 0
roskomgovno 12.06.2018 22:06 # 0
спасибо тебе господи что я не вирусописатель, это же ад и палестина
>>modify_ldt
Интересно, можно использовать эту фичу для безопастности: нарезать себе два сегмента: Один с правом записи, другой -- с правом исполнения, и получить нахаляву NX в 32битной моде?
Просто если modify_ldt нужен только штоб 16ти битный код гонять то как-то жирно
roskomgovno 11.06.2018 17:58 # −1
работает он, соответственно, только в 32битной винде (в режиме V86), в long mode уже ничего этого нет
Так что я сочувствую тебе, счастливый обладатель компютера с памятью менее 4 гигов
666_N33D135 11.06.2018 19:23 # 0
Ковыряюсь в дерьме мамонта
guest8 11.06.2018 20:19 # −999
roskomgovno 11.06.2018 23:34 # 0
roskomgovno 11.06.2018 17:56 # −1
но это уже давно не так.
666_N33D135 11.06.2018 19:27 # 0
Кто-то где-то говорил, что inc/dec работает медленней add/sub. С чем это связано?
guest8 11.06.2018 23:18 # −999
guest8 11.06.2018 23:21 # −999
roskomgovno 11.06.2018 23:32 # +1
Вообще говоря начиная с пня весь асемблер переводится префетчером в лоу-левел код под конкретную архитектуру: он может не делатьразницы между inc и add 1
guest8 11.06.2018 23:54 # −999
guest8 11.06.2018 23:55 # −999
roskomgovno 12.06.2018 00:00 # 0
Больше:)
>>Строго говоря не с пня, а с P6 (Pentium Pro и Pentium II).
Да, вероятно ты прав.
Там еще был pentium overdrive кажется, но я не знаю умел-ли он.
---
зы: заглянул в книжку mindshare:
micro-op: fixed-length RISC instruction executed by P6 cpu core
всё так
guest8 12.06.2018 00:04 # −999
roskomgovno 12.06.2018 00:05 # 0
guest8 12.06.2018 00:11 # −999
roskomgovno 12.06.2018 00:15 # 0
Но еще был Pentium II Overdrive который втыкался в Socket 8 (от Petntium Pro), когда нормальные PII уже вставляли в Slot 1.
guest8 12.06.2018 00:24 # −999
roskomgovno 12.06.2018 00:35 # 0
Да понятно, я просто обратил внимание что было два овердайва и первый был не risc, а второй risc.
>>Что из этой информации напрямую относится к RISC, а что нет?
В смысле можно-ли реализовать CMOV или MMX в cisc?)
guest8 12.06.2018 00:40 # −999
roskomgovno 12.06.2018 00:44 # 0
Тащемто кеш и сейчас прозрачен, если не считать инструкций для явного его сброса
g0cTb 12.06.2018 01:07 # +1
... и мельдоний
roskomgovno 12.06.2018 01:09 # 0
bormand 12.06.2018 01:10 # 0
roskomgovno 12.06.2018 01:14 # 0
На самом деле я до сих пор в ахуе от того как люди додумались до такого.
зы: Мышхъ целую главу написал про оптимизацию под кеш (правда уже сильно устаревшую), но мне кажется что большинству питушков (кроме гейдевов и мачимачихов) хватит просто последовательного чтения/записи: весь аппарат оптмизирован на референс локалити и последовательное обращение
bormand 12.06.2018 01:17 # 0
PREFETCHxxx смотрит на тебя с недоумением.
roskomgovno 12.06.2018 01:21 # 0
Могу соврать (надо зырить мануал) но мне казалось что никакой гарантии попадания данных в кеш там не было: ты мог "попросить процессор подвинуть данные ближе", то-есть это такой хинт, нет?
bormand 12.06.2018 01:13 # 0
Да вроде только интел задуряется с новым несовместимым сокетом под каждое семейство процов. У AMD с сокетами постабильней.
roskomgovno 12.06.2018 01:22 # 0
Теперь вот на тебя смотрит LGA 775, переживший хуеву кучу микроархитектур
guest8 12.06.2018 00:16 # −999
roskomgovno 12.06.2018 00:21 # +1
Все ржут над JavaScript, однако когда гугл выпустил Dart его все заклевали.
В мире один миллиард программ, написанных, отлаженных и скомпилированных под x86 со всеми его костылями.
Прекрасный PowerPC, чудесный Itanium, умный Sparc64 именно по этой причине пошли, в свое время, лесом.
guest8 12.06.2018 00:42 # −999
bormand 12.06.2018 00:45 # 0
guest8 12.06.2018 00:49 # −999
roskomgovno 12.06.2018 00:51 # 0
Компании вложили миллионы баксов в софт, потому первый вопрос который они задавали производителю проца: "а там будет работать мой софт двадцатилетней давности?"
Думаешь MS и Intel от хорошей жизни умели V86?
guest8 12.06.2018 00:55 # −999
666_N33D135 12.06.2018 14:26 # 0
J2ME это ж не ось? Это жава вм хуита, её можно и на Андрюйде поставить.
bormand 12.06.2018 00:56 # 0
guest8 12.06.2018 00:58 # −999
roskomgovno 12.06.2018 01:00 # 0
guest8 12.06.2018 02:10 # −999
roskomgovno 12.06.2018 02:16 # 0
guest8 12.06.2018 02:26 # −999
roskomgovno 12.06.2018 02:34 # 0
Жаль, кстати: C#.NET вполне годные язык и платформа
bormand 12.06.2018 08:28 # 0
Да выпускать то можно, но зачем? Тут та же ситуация, что и с десктопным линуксом -- если винда на мобилах не покрывает даже 0.3% рынка, то кто будет тратить ресурсы и под неё что-то писать?
roskomgovno 14.06.2018 22:35 # 0
Все Intellij-based продукты (включая Idea, Android Studio и PyCharm) имеют официальные Linux версии (даже snapы есть иногда!)
Android Studio -- официальная (по сути единственная) IDE для самой популярной мобильной платформы в мире (и устройств под ней скоро станет больше, чем компов под windows). И она официально поддерживает Linux.
bormand 12.06.2018 08:33 # 0
j123123 12.06.2018 09:59 # 0
bormand 12.06.2018 10:34 # 0
А 64-битный intel это не amd64?
> ноут с сенсорным экраном
Скорее планшетка с клавой.
j123123 12.06.2018 11:58 # 0
Есть некоторые инструкций, которые в AMD64 есть, а в 64-битных интелах нет. Да даже в 32-битную эру были такие инструкции, 3DNow!
И вот еще
А еще были когда-то процессоры Cyrix, у которых тоже какие-то свои особые инструкции были
guest8 12.06.2018 15:05 # −999
roskomgovno 12.06.2018 21:50 # 0
Некоторые ОС (gentoo, arch, netbsd, freebsd) encourage тебя компиляться под конкретный проц.
Некоторые (ubuntu, debian, centos/redhat, openbsd) -- нет
roskomgovno 12.06.2018 21:51 # 0
Много где можно встретить foo-x86 и foo-amd64, например
3.14159265 13.06.2018 23:37 # 0
Были. Cyrix 3dnow кстати тоже поддерживали.
Которые по сути 64-битный sse.
guest8 13.06.2018 23:39 # −999
guest8 13.06.2018 23:43 # −999
roskomgovno 13.06.2018 23:45 # 0
guest8 13.06.2018 23:48 # −999
roskomgovno 13.06.2018 23:51 # 0
Квейк юзал?
guest8 14.06.2018 00:05 # −999
3.14159265 14.06.2018 00:08 # 0
Сомневаюсь насчёт кваки. Кармак всю жизнь оптимизировал под интел.
Хотя вот на вики пишут шо таки да
https://en.wikipedia.org/wiki/Quake_II
Unlike Quake, where hardware accelerated graphics controllers were supported only with later patches, Quake II came with OpenGL support out of the box. Later downloads from id Software added support for AMD's 3DNow! instruction set for improved performance on their K6-2 processors
roskomgovno 14.06.2018 00:09 # 0
потому в 2001 году считалось что "amd лучше для игр"
roskomgovno 14.06.2018 00:09 # 0
Я вот знаю что SSE последние юзают все: от подбирателей паролей до хрома, а мне интересно кто юзал mmx.
У меня есть такое ощущение что в 90х годах софт компилировался под 386 потому что это было 60% парка компов, и завязываться на mmx было стремно.
А когда уже стали более-ли-менее нормальные машины появляться то уже начались SSE
Правда, это в России. Может быть в мире не так.
3.14159265 14.06.2018 00:12 # +1
Тю ёба, да все юзали. Кому нужны были целые.
Но в играх нужнее флоаты.
А патч 3dnow сама АМД написала:
Half-Life: Uses MMX to great extent, particularly for the software DSP sound engine and probably also skeletal animation system
Unreal: Uses MMX for its Galaxy sound engine, in fact the readme suggests to lower the sampling rate to 11 kHz for better performance on non-MMX CPUs. MMX was also used greatly for the software renderer. There is probably some 3DNow! usage and SSE is detected, although I don't think it's used
Quake II: 3DNow! patch written by AMD to promote K6-2, provides a notable speed boost (and supposedly there are even graphical differences with this?!). There are specific options available for 3DNow! software, OpenGL and Voodoo2 MiniGL ("3DfxGL") IIRC, and also a later version that is more optimized towards K7. No MMX usage though:
Quake II does NOT use Intel's latest MultiMedia eXtensions. Unreal will though as well as other upcoming games. Even then, it's wise to buy a MMX chip if you're already thinking of upgrading your machine.
3.14159265 14.06.2018 00:13 # 0
Carmack reported that a MMX version of Quake he had in alpha stages would run, at best, the same speed in 16-bit colour as an 8-bit colour version does on a non-MMX Pentium chip of the same clock speed. Carmack says this increase in colour depth only isn't worth the development time and money and has decided not to support MMX with the Quake engine in its current form.
roskomgovno 14.06.2018 00:14 # 0
3.14159265 14.06.2018 00:18 # 0
Он мог обрабатывать в джва раза больше флоатов, за те же деньги. Но 32х битных.
То есть за одну инструкцию они хуярили в 64битах по 2 флоата сразу.
Для игр точность была сильно критична, потому шло на ура.
Интел на тот момент вообще так не умел.
Просто у АМД это было хроническое. По интам PentiumRating вроде заебись, а плав. питух работал медленно.
666_N33D135 14.06.2018 20:07 # 0
хтоническое.
float/double kutulu.
roskomgovno 12.06.2018 01:01 # 0
666_N33D135 12.06.2018 14:31 # 0
3.14159265 14.06.2018 15:33 # 0
Фублядь, фунахуй. Кому нужна очередная недоджава с плюшками?
На фоне дарта js is pretty ok.
666_N33D135 14.06.2018 15:37 # 0
3.14159265 14.06.2018 15:41 # 0
Только он нахуй никому не нужОн, этот ваш дарт.
666_N33D135 14.06.2018 15:46 # 0
Развешто только для себя.
Изза токих как ты он и нинужон, жысоманы.
roskomgovno 14.06.2018 20:15 # 0
https://flutter.io
У человека, который хочет написать мобильное приложение и при этом не писать логику 2 раза (один раз на котлине, другой раз на свифте) есть два стула: на одном JS от фейсбука и апача точены, на другом C# от ксамарина и MS. Теперь есть третий стул от гугла с дартом.
Был когда-то еще робовм чтобы все писать на джаве, но кажется он уже того
roman-kashitsyn 14.06.2018 15:40 # 0
Ты, наверное, пропустил хайп TypeScript, который в точности соответствует твоему описанию.
3.14159265 14.06.2018 17:14 # 0
Никак нет.
>который в точности соответствует твоему описанию
В ts хотя бы отличия косметические: там необязательные типы после переменных, ключевое слово constructor.
Правда это следствие самой ценной его фичи: обратной совместимости с ECMA5. Эдакий жс с автовыводом.
Но как увидел все эти class, private, у меня реакция: «Шо, опять? Вот же ж жаба головного мозга.»
И еще вот что удивительно, чего же M$ которая этот тайпскрипт выдумала, офис пишет на J$e?
roskomgovno 14.06.2018 17:20 # 0
1) не final по умолчанию
2) декларацию где тип идет перед имеием
3) ключ слово new которое не нужно никогда
И все же оно лучше чем JS образца до 2015
666_N33D135 14.06.2018 19:05 # 0
А мне это нравится. Особенно сишные объявления типа:
> ключ слово new которое не нужно никогда
Ну да, но нет ничего сложного в том, чтобы написать слово из 3 буков.
roman-kashitsyn 14.06.2018 19:09 # +1
Зелёным, надеюсь? Одна из самых больших ошибок сишки, кмк.
roskomgovno 14.06.2018 19:22 # 0
Сишники хотели чтобы декларация была похожа на дефиницию, в итоге сделали такой плевок-в-вечность из которого мы до сих пор выплыть не можем.
Хотя лет десять назад пришло осознание, и новые япы уже этим не страдают
666_N33D135 14.06.2018 20:22 # +1
> лет десять назад пришло осознание, и новые япы уже этим не страдают
Вирту яблоко на бошку первому упало. Ещё до сишки.
roskomgovno 14.06.2018 20:24 # 0
Кстати, некоторые старики считали что тенденция 80-90 ухода от паскалеобразных к сиобразным это плохо
666_N33D135 14.06.2018 20:30 # 0
roskomgovno 14.06.2018 20:33 # 0
https://minnie.tuhs.org//cgi-bin/utree.pl?file=V2/c/cvopt.c
Смотрите, смотрите, auto в 1972м году
666_N33D135 14.06.2018 20:52 # 0
Бля, что ты мне показал? Спагетти-код на Си в стиле старого Бейсика на сайте на Перл.
roskomgovno 14.06.2018 20:55 # 0
зацени, кстати, няшщку:
extern putchar,getc,peekc,printf,flag,flush;
знаешь почему?
Потому что в ту пору не указывали параметров в декларации и не распостраняли хедеровые файлы с ними
Програмист под unix должен был набивать декларации сам, почерпнув их из бумажной документации
guest8 14.06.2018 22:13 # −999
roskomgovno 14.06.2018 22:27 # +1
auto означает"автоматическая" переменная это такая, которая умирает при выходе из блока. Storage duration у нее такой.
Сейчас многие называют ее "переменная на стеке", но на самом деле стек это как-бы деталь реализации.
int действительно был типом по умолчанию, и потому не писался явно
main(){
return 42;
}
А еще не было void* и потому в старом коде (в dns клиенте штоль) можно встретить char* который не строка а указатель на неизвестное.
В общем хорошо что весь этот K&R почил в бозе к моменту выхода C89
зы: а еще там надо было немного по-другому указывать параметры функции
guest8 14.06.2018 22:36 # −999
roskomgovno 14.06.2018 22:39 # 0
guest8 14.06.2018 22:44 # −999
roskomgovno 15.06.2018 00:15 # 0
guest8 14.06.2018 22:53 # −999
666_N33D135 15.06.2018 09:31 # 0
roskomgovno 17.06.2018 00:19 # 0
в каждом языке они с разных сторон пишутся, воно куда их занесло в алголе
guest8 17.06.2018 00:30 # −999
roskomgovno 17.06.2018 00:31 # 0
guest8 17.06.2018 00:36 # −999
guest8 17.06.2018 00:38 # −999
guest8 17.06.2018 00:39 # −999
guest8 17.06.2018 00:39 # −999
666_N33D135 17.06.2018 03:49 # 0
[code]print( ((INT x)INT:(x * x))(6) ); # 36 #
roskomgovno 14.06.2018 19:12 # −1
фу, какой толстый троллинг
>>Ну да, но нет ничего сложного в том,
фу, какой толстый троллинг
Xo4y_EbaTbc9l 15.06.2018 09:24 # 0
666_N33D135 14.06.2018 20:03 # 0
roskomgovno 14.06.2018 20:04 # 0
666_N33D135 15.06.2018 05:10 # 0
roskomgovno 15.06.2018 06:34 # 0
AFAIK функция может вернуть только указатель на функцию:)
В сях же нету лямд ;)
666_N33D135 15.06.2018 06:57 # 0
roskomgovno 16.06.2018 23:55 # 0
guest8 16.06.2018 23:58 # −999
roskomgovno 17.06.2018 00:06 # 0
guest8 17.06.2018 00:09 # −999
roskomgovno 17.06.2018 00:12 # 0
он ведь работает на этапе копеляции, то-есть он знает размер в буквах:)
guest8 17.06.2018 00:24 # −999
roskomgovno 17.06.2018 00:26 # 0
Я раньше думал что боялись порвать стек, но при этом размер структур-то никого не волнует, особенно если завернуть массив в структуру.
зы: про ассемблер, кстати, согласен: программирование на нем очень хорошо ставит на место в голове понимание того, где и как хранятся объекты. Ты буквально все руками трогаешь и потому все понимаешь)
666_N33D135 15.06.2018 09:36 # 0
Я уже 15 часов жду этого.
guest8 17.06.2018 00:33 # −999
roskomgovno 17.06.2018 00:34 # 0
guest8 17.06.2018 00:44 # −999
roskomgovno 17.06.2018 00:48 # 0
По правде-то говоря я учился программировать на компьютерах где уже были скобочки и диезики
guest8 17.06.2018 00:59 # −999
syoma 12.06.2018 00:42 # 0
666_N33D135 12.06.2018 05:05 # 0