?

Log in

No account? Create an account
олдскульные ссылки - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

олдскульные ссылки [ноя. 28, 2016|07:53 pm]
Anatoly Vorobey
[Tags|]

1. Compiler Explorer - потрясающе удобный ресурс для изучения работы C/C++ компиляторов. Показывает ассемблер, в который компилирируется код, и ставит в соответствие строчки кода и ассемблера. Умеет много версий компиляторов. Эх, где эта штука была в 90-х!

2. A Summary of the 80486 Opcodes and Instructions (если браузер предупреждает, что сайт плохой, эти предупреждения можно игнорировать). Объясняет, как правильно понимать машинный код 80x86 - если читать его в восьмеричной основе, то все очень логично! Хорошее чтение для WTF-фактора. Я замечал в свое время, что обозначения регистров и режимов адресации занимают как раз по три бита, но мне не пришло в голову читать всю инструкцию в октале.

3. How "oldschool" graphics worked Part 1 - Commodore and Nintendo. Видео про то, как устроена была графика на 8-битных компьютерах. Очень хорошо объясняет. Вся техника "color cells" прошла в свое время мимо меня, потому что я рисовал графику на Ямахе MSX1/MSX2, где был честный цвет у каждого пикселя (но цветов было мало). Зато спрайты, которые там тоже объясняются, отлично помню. Вообще хороший канал, похоже.
СсылкаОтветить

Comments:
[User Picture]From: Ramziel
2016-11-28 08:42 pm
У 8-bit guy потрясающий канал, у него есть ещё второй канал 8-bit keys, посвящённый целиком старым цифровым синтезаторам и компьютерному аудио.
(Ответить) (Thread)
From: karpion
2016-11-28 09:43 pm
1. Хороший оптимизирующий компилятор перемешивает команды процессора, принадлежащие разным строчкам исходного кода. Если надо - могу показать пример.

А вообще, видео - отстой. Надо читать, а не смотреть.
(Ответить) (Thread)
[User Picture]From: netp_npokon
2016-11-29 07:48 am
Понятное дело, там нет никакой ракетной науки, сайт просто визуализирует вывод objdump. Но это все равно несколько приятнее, чем делать то же самое на своей машине.
(Ответить) (Parent) (Thread)
[User Picture]From: nec_p1us_u1tra
2016-11-28 10:14 pm
О, помню-помню. Весело было с коммодором. Реверинжиниринг формата и ФС на дискете (простая была как пробка, btw), и потом с этим знанием реверсинжиниринг собственно машинного кода офисного пакета, прямиком посекторно на диске. Потом добавить кириллицу, потом драйвер принтера.

А игрушки так вообще милое дело. Счетчик жизней найти да установить в нужное число. Или спрайт поправить (кстати в видео об этом не говорят, но детектор коллизий спрайтов был аппаратный, и в играх обычно попадания/съедания/проч были через нее сделаны, так что если спрайт поправить, то жизнь себе облегчить можно здорово)

А потом мне стало 15 и мне начали давать, и я все забросил.

EDIT: В видео №2 он рассказывает о cpu-driven graphics. Я в одной игре такой трик видел и так и не разобрался как оно работает. Ну зато теперь, почти 25 лет спустя, я знаю. Feels good.

Edited at 2016-11-28 22:29 (UTC)
(Ответить) (Thread)
From: notes4myfamily
2016-11-29 05:00 am
Спасибо за познавательное, утащил
(Ответить) (Thread)
[User Picture]From: mtyukanov
2016-11-29 09:06 am
Насчет первого -- а какой отладчик это не умел? Или имеется в виду именно сравнение разных процессоров на одном экране?
(Ответить) (Thread)
From: (Anonymous)
2016-11-29 03:35 pm

Yamaha MSX

Вообще-то на MSX1 была довольно похожая история c псевдо-цветными пикселями. Только блоки там были не 8 на 8, а 8 на 1 - горизонтальные полоски. Каждая такая полоска - двуцветный битмап.

Если сделать так
screen 2
line (0, 100)-(100, 0), 2

А потом так
line (100, 0)-(0, 100), 8

то центральные пиксели первой линии перекрасились бы с зеленого (2) в красный (8). Типичные грабли того времени.

Я помню что в MSX2 появились новые графические режимы, но я не помню были ли там честные пиксели.
(Ответить) (Thread)
[User Picture]From: avva
2016-11-29 03:42 pm

Re: Yamaha MSX

Ага, мне в ФБ тоже уже это написали. Я этого не помню - видимо я с самого начала графику рисовал на MSX2. Там было несколько дополнительных режимов, и во всех, кроме одного, полосок уже не было, согласно https://www.msx.org/wiki/SCREEN

Я ходил заниматься на Ямахах в пединститут своего городка, по блату (я был школьник). Там стояло два класса, MSX1 и MSX2, какой был свободным, там и сидел, но предпочитал MSX2 естественно.
(Ответить) (Parent) (Thread)
[User Picture]From: klvov
2016-11-29 05:39 pm
Нда, спасибо, ностальгия нахлынула. Это я про ссылку № 3. Тоже рисовал спрайты на тетрадке в клеточку, и даже делал анимацию из них, и тоже одно "знакоместо" можно было раскрасить всего в два цвета (ZX Scpectrum). И тоже можно было делать POKE прямо в видеопамять, и оно сразу после выполнения этого оператора отображалось на экране. Давно было, а вот...
(Ответить) (Thread)
[User Picture]From: neatfires
2016-11-30 04:20 pm
Авва, привет! Интересно, что вы решили насчет Rust? По-прежнему собираетесь изучать?
(Ответить) (Thread)