Assembler

индекс
353,21

Самая маленькая игра в мире (58 байт)

Для тех, кто читал статью в песочнице: добавил раздел «Можно ли сделать игру меньше?».

Прочитав историю одного байта, вспомнил свою историю.

Когда я учился в школе и только начинал программировать меня очень привлекал ассемблер и оптимизация. А именно — кропотливая оптимизация, с подсчетам тактов и байтов. На летних каникулах у меня с двоюродным братом появилась идея написать самую маленькую игру в мире.

Первый прототип, размером 80 байт, был готов на следующий день. (Поскольку о контроле версий тогда я даже не догадывался, то остается верить воспоминаниям). С этого момента началась моя борьба за байты. Помню, довольно быстро размер был уменьшен до 65 (или около того), дальше каждый байт давался все с большим и большим трудом. К концу лета результат был 58 байт.

Сюжет и управление


Вы несетесь по трассе на грузовике с двумя прицепами. Слева от вас разделительная полоса, справа обочина укрытая травой. На дороге встречаются люди и деревья (может ямы). Ваша задача: не сбивать людей и не врезаться в деревья (не попадать в ямы).
Управление: стрелки влево-вправо — поворот; Esc — пауза.


Скриншот




Исходный код


begin:
  ; ds указывает на видеопамять
  push 0b800H
  pop ds
  ; установить графический режим 40×25
  int 10H
  ; bx = 700H - смещение, по которому находиться грузовик
  mov bh, 7H
  
main_loop:
  ; Задержка и вывод грузовика на экран
  xchg cx, ax  ; mov ah, 0
  int 1AH
  mov [bx], dl
delay:
  int 1AH
  cmp [bx], dl
  je delay
  
  ; si - смещение следующего препятствия
  xchg ax, si
  add al, dl
  xchg ax, si
  
  xchg ax, cx   ; mov cx, 0
  
  ; Получение нажатой клавиши
  in al, 60H
  cmp al, 77
  jnz keytest1  
  ; вправо
  inc bx
  inc bx  
keytest1:
  ; влево
  ja keytest2
  dec bx
  dec bx
keytest2:
  ; очистка буфера клавиатуры
  mov ah, 0CH
  int 21H
  ; скролл экрана на 1 строчку
  mov ax, 0701H
  mov dx, 1827H
  int 10H
  
  ; вывод препятствия
  mov [si], ax
  ; вывод травы и разделительной полосы
  mov [di+51], dx
  ; проверка что перед грузовиком нет препятствий
  cmp [bx], dh
  ja main_loop
  
  ret

Архив с исходником и бинарником (для компиляции использовался Tasm)

Комментарии


В XP программа работает, но таймер работает не гладко и сначала не обнулено состояние клавиатуры. В DosBox'е работает без проблем.

В исходнике, две инструкции (push 0b800H и mov [di+51], dx) записаны в машинном коде (db 68H, 00H, 0b8H и db 89H, 55H, 51H), это связано с тем, что Tasm их не воспринимал в режиме компиляции по умолчанию. По-моему он требовал включения инструкций x386, хотя могу и ошибаться.

Можно ли сделать игру меньше?


Скорее всего — да. Много места занимает прокрутка экрана (8 байт) и задержка (10 байт). Если поменять направление движения (препятствия надвигаться снизу вверх), то скролл можно заменить быстрым выводом символа перевода строки (mov al, 0Ch; int 29h). Задержку можно заменить проверкой состояния двойного слова по адресу 0040:006Сh. Там должен находиться счетчик отсчетов таймера с полуночи (Timer ticks since midnight).

UPD: Спасибо! Перенес в блог «Ассемблер»

UPD2: Imp5 подсказывает, что я не совсем прав. Shifticida — игра для двоих игроков, которая занимает 32 байта. Так что правильное название топика: «Самая маленькая гоночная игра в мире»
+324
13 июля 2009, 17:22
74

комментарии (132)

+32
asmerdev #
Приятно, что есть ещё фанаты асма. Прекрасно, коллега!
+44
MARDEN #
Вот она, старая школа! Каждый байт на вес золота!
+13
intnzy #
ну не только старая.
По-хорошему, програмеры разных микроконтроллеров порой тоже весьма зажаты в байтах…
+2
AndreyVibe #
Это да, а сейчас 1 полигон в игре больше. Производители железа развратили кодеров:)
0
Lamo #
Или наоборот
0
Lamo #
Или наоборот
+7
nepx #
Приятно, что такая игра загрузится за 0,0004 сек на мегабитном канале интернета.
Кстати, пустая SWF-ка, в которой ничего нет, занимает 36 байт.
+9
Rylov #
Вспоминается аналогия:
программа на WPF занимает 20кб, но что бы ее запустить нужно .netFramework 3.5 который весит 200мб :)
+93
nekt #
программа на ассемблере занимает 58 байт. Но чтобы ее запустить — нужен i386 процессор весом около 50 грамм :)
+3
Lux_In_Tenebris #
предлагаемая версия не использует 32-битных инструкций, так что берите ещё ниже :)
+6
entze #
Те процессоры были тяжелее :)
0
smartly #
Не факт. i8088 в пластиковом корпусе будет легче i80386DX в керамическом.
Хотя Am486SX в PQFP возможно ещё легче был.
0
dioteos #
Страшно даже подумать, что 88-й был выпущен в 79-м. Спустя 30 лет всего 64)
+51
bubuq #
Много места занимает прокрутка экрана (8 байт)…


Таких людей осталось мало, и скоро, к сожалению, совсем не будет. Vale!
+69
asm0dey #
Это угроза автору? )))
+1
Methos #
будет и осталось.

например, моя программа ExactMouse для win32 написана на Ассемблере (-:
+1
rushter #
Отлично, моё почтение.
НЛО прилетело и опубликовало эту надпись здесь
+5
GooRoo #
o_O

Графика, конечно, не как в .kkrieger, но и места занимает в полторы тысячи раз меньше. Респект.
+1
ibnteo #
А не выпустить ли железяку на микроконтроллере и с маленьким ЖК экраном с набором таких игр?
+59
nekt #
Как бэ уже давно:
+1
ibnteo #
Вот и надо обойти китайцев, и сделать у нас такую штуку, только игры будут более оригинальные, ведь по части выдумки нам равных нет.
+3
vadimus #
По части выдумки равных нет. А по части производства и продаж: сложнее. Хотя могло бы пользоваться спросом.
+5
nekt #
Проблема в том что они будут непопулярны. Они не смогут конкурировать с игровыми возможностями обычных телефонов. :)
+2
ibnteo #
Мода как известно развивается по спирали, так что вполне вероятно что через какое-то время такого рода игры опять будут популярны. Можно вместо устройства просто писать программы для телефонов.
0
Fr1z2r #
тем более некоторые устройства уже снова начинают понимать ассемблер)
такие как siemens и sony ericsson с поставленным на них эльфпаком
+13
xappymah #
Уже обошли:)
+22
nickkee #
Тут не обошли.
Это копия (клон, как нынче модно говорить) нинтенды.
ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%80%D0%BC%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B8%D0%B3%D1%80%D1%8B_%D1%81%D0%B5%D1%80%D0%B8%D0%B8_%C2%AB%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0%C2%BB
Можете минусовать, но правда именно такая :)
+1
xappymah #
А, ну да:)
Сам ссылку поставил, а толком не вчитался — виноват:)
+5
maserg #
вот ты какой убийца айфона…
0
averkin #
И весить отечественный девайс будет пол кило, не меньше :)
Это была байка такая, не знаю, факт или нет: собрали мобильник полностью из российских деталей. Получился агрегат весом 950 грамм.
+1
entze #
Зачем байки слушать — ГЛОНАСС который никуда не влезает и жрет как паровоз
www.3dnews.ru/auto/glospace_sgk_70/
+2
unchqua #
Ага, даже шутка такая есть.
На уссурийского тигра ВВП надел ГЛОНАСС-передатчик, чтобы всегда знать, где находится это редкое животное. Теперь все знают, где тигр — там, где его с передатчиком оставили, т.к. передвигаться с ним он уже не может.
0
LoadSPB #
Ну тетрис же русский изобрел.
www.youtube.com/watch?v=O0gAgQQHFcQ
+4
kottt #
Ага, и тетрисом назвать! Наверняка никто такого не делал
+1
ibnteo #
То тетрис, а здесь можно напихать сотни маленьких программ.
+2
nekt #
к концу популярности подобных устройств там были и подобные гонки. Единственно поле было поменьше…

0
impwx #
очень здорово!
+2
GHS #
Снимаю шляпу. Вы — золотой человек!
+5
NemeZZiZZ #
Какой добрый топик… Душу греет! А в сравнение на ум приходит только подкованная Левшой блоха.

Поставлю всем плюсов…
+13
vadimus #
В детстве, когда я мечтал о компьютере БК0010, или хотя бы о программируемом калькуляторе, я написал еще более короткую игру, которая шла на калькуляторе, у которого можно было табом менять значения, выводимые на экран.

В ячейку Х вводилось число 555555.

В ячейку Y вводилось число 222222.

Затем, нажимая на кнопку таб, собственно можно было начать наблюдать игру: «Танцующие змеи»:
+4
ibnteo #
Я тоже начинал программировать на программируемом калькуляторе МК-61 (до сих пор жив и работает, не так давно даже пользовался по прямому назначению) и БК-0010 (и БК-0011М).

Помню как в одном журнале увидел программу для МК-61 играющую в игру «Бридж», и при этом занимающую то ли 8, то ли 16 байт. Другой аналог этой программы занимал более 100 байт, и играл гораздо медленее и хуже.
0
dfn #
Эх, были времена… Помню, тоже «программировал» игры на МК-52. Тоже читал журналы (кажется, то был ж-л «Техника-молодежи», кстати, отличный журнал), там публиковали исходники игр с комментариями. Читатели даже нашли недокументированные возможности, когда числа при переполнении разрядов превращались в «монстров» :)
0
rgaliull #
я тоже с мк-56 начинал программировать. учитель офигела когда я принес его в школу и ее глазах написал игру быки и коровы. с тех пор разрешили с десятым классом мне семикласснику ходить на информатику. но я очень скоро понял что они там ничем интересным не занимаются и попросился паралленьно еще и с 11 классом ходить. в итоге после 7 класса уже программировал на бейсике для БК.
+1
ipfw #
Спасибо, поностальгировал:
F Прг

01.5 02.5 03.5 04.5 05.5 06.5 07.5 08.5
09.B↑
10.2 11.2 12.2 13.2 14.2 15.2 16.2 17.2
18.(F ¤)
19.(БП 18)

F Авт
В/О
С/П
0
JadeSpirit #
Эхехе, ностальгия… МК-54 и МК-61, программы из «Техники Молодёжи», игры «Бесконечная история» и «Лабиринт» — помните такое? Особенно игрушки, которая даже умудрялись не занимать всю доступную память калькулятора, а игрались так, что современные «шедевры» отдыхают.
Самой большой неприятностью казался однострочный экран. «Эх, а вот с многострочником я бы наворотил!» — главная мысль того времени.
А потом уже появилась какая-то из «Электроник»-клонов «Спектрума». До сих пор дома пылится, кстати.
+2
standov #
во сколько уложитесь при добавлении блекджека и шлюх во второй версии?
шютка, респект.
0
Zarohan #
Игра «подтормаживает» сама по себе, или у меня железо старое?
зы: про подтормаживает — я не шучу
+2
Carry #
Скорее всего это следствие «В XP программа работает, но таймер работает не гладко»
0
PatapSmile #
Вы запускаете под XP? Там таймер работает не так как в DOS'е. Попробуйте запустить с опцией «Эмуляция совместимого аппаратного таймера» (Compatible timer hardware emulation).
НЛО прилетело и опубликовало эту надпись здесь
+7
Nakilon #
Юные дарования сейчас могут писать только крестики-нолики, требующие 8 ядер и гигабайт памяти ..(
НЛО прилетело и опубликовало эту надпись здесь
0
Methos #
я начинал с Правцов болгарских, писал на машинных кодах там, потом перешёл на Спектрум, ассемблер, затем 0x86.
НЛО прилетело и опубликовало эту надпись здесь
+1
freeAKK #
сурово. интересно, действительно она самая маленькая?
+2
MaD5py #
Шикарно. Уважаю и завидую.
+2
Nakilon #
Называлась эта игра «Слалом»
+3
deniamnet #
а вы демки писать не пробовали? =)
+3
tokio #
кстати да, вам бы в демосцену ;)
+1
deniamnet #
я думаю, после годика эскпериментов парень бы выдал неплохие 4k-демки ;)
+2
PatapSmile #
Пробовал, но был молод и поэтому особенных результатов не достиг)

В тот момент, когда я заканчивал свой килобайтный 3д движок, мне показали 4кб демку Меша (названия точно не помню, но в архивах должна где-то быть) — 10 минут 3д сцен и музыки. Она убила мою веру в себя.
+1
deniamnet #
посмотрите Seven Heaven, тоже очень стоящая работа
я когда ее в первый раз увидел — долго смотрел на свой комп и думал, как это вообще возможно )) потом понял
на самом деле советую скачать некоторые демки, которые распространяются вместе с сорцами, там много интересного
0
deniamnet #
сорри, опечатался — Heaven Seven
0
Lux_In_Tenebris #
Меня Chaos Theory от демо-группы Conspiracy ещё поразила. :)

Впрочем, любителям этой темы стоит основательно покопаться в архиве демосцены. Особого внимания заслуживают конкурсные работы с демо-пати Assembly, Breakpoint, The Gathering и почившей в бозе Mekka & Symposium.
+1
deniamnet #
о да
это история
я уже и не сосчитаю, сколько я оттуда скачал и насмотрелся
вот умеют же некоторые с компом обращаться!
0
Syrok #
а меня в своё время, очень потрясла fr08v101
да и сейчас тоже запустил, посмотрел, нет слов…
+1
flashkot #
а Elevated уже видели?
0
Syrok #
я когда такое смотрю, убеждаю себя что это все в винде уже прописано, а они просто вызвали недокументированную функцию воспроизведения ;-)
0
Lolus #
Офигенно!
–1
Azurre #
Ещё бы несколько таких людей и можно переписывать исходники Мира, тогда бы улучшилась производительность всех людей на земле. )))
+2
nerezus #
размер как правило никак не связан с производительностью ;)
0
Nakilon #
Автор в данном случае считал байты, но так же увлекался, судя по его рассказу, и тактами ,.)
–1
Azurre #
Производи́тельность — внесистемная величина, равная отношению объема проделанной работы к времени, за которое она была совершена.

Есть две программы, выполняющие одно и то-же(объем проделанной работы) первая — 50 байт, вторая — 100, соответственно первая выполняется за 50 тактов, вторая за 100 (если считать одна команда — один байт). Какая программа быстрее и, соответственно, у которой
больше производительность?
+4
asmerdev #
Производительность больше у второй, там развёрнуты все циклы :-P
+3
nerezus #
Вероятно, если я расскажу, что в программе могут быть операторы переходов, это станет для вас открытием )
+3
electronik #
Хорошая тема! Любителям минимализма: www.guimp.com/
0
electronik #
1. Кликнуть на flash.
2. Выбрать игру.
3. Играть.
0
anatoly_rr #
Cheat: Win+Plus ;)
0
proektor #
А у вас в игре скроллинг плавный? (игру не запускал) Смотрелось бы отлично. Делается через запись в контроллер ЭЛТ, просто пишется значение по определенным адресам, в справочниках кажется Фроловых было описание.
0
deniamnet #
если запускать из под XP — не плавный, прыгает
до для такого размера файла — простительно
0
PatapSmile #
Нет. Скроллинг посимвольный (8 пикселей за раз). Все из-за размера, насколько я помню, только чтобы обратиться к контроллеру надо было 3-4 инструкции.
0
technowizard #
Вместе с этим еще можно символы грузовика в шрифте модифицировать, сдвигая на пиксель вверх, тогда и скроллинг плавный будет и грузовик дергаться не будет :)
0
Sb0y #
Потрясающе!
+1
vk2 #
эх, потерял свою реализацию конвейевской «Жизни» с встроенным редактором… тоже байт 70 было :)
+1
plushka #
Когда-то занимался подобными вещами на Спектруме.
0
Bkmz #
Хорошо что хоть кто-то еще этим занимается :)
Интерестно было потыркаться… Молодость всполмнил…
+1
Kastrulya0001 #
Даешь второй уровень!
0
seventh #
Быстро так едет)
+6
Antipod #
Автор молодчага, а я свой асм забросил, лет 6 назад. Вспомнились строки из «Программистской молодости»:

«Но это время прошло, но это было давно,
Теперь y каждого нудной работы полно,
И заказчик-дурак тычет мышкой в картиночки гордо...»


"… Теперь нам лень изощряться, оптимизировать код,
И интерфейс с дураками мы пишем из году в год,
Свыклись с мощной машиной, отвыкли от всякого риска.
Забыли коды команд и старых трюков запас..."

Удачи автору!

0
bochkov #
Шикарно! И летние каникулы с толком провели)
+4
Imp5 #
игра в 32 байта, правда, жанр другой.
www.pouet.net/prod.php?which=50234&howmanycomments=100
0
Nakilon #
Хаха! Одна из первых вещей, которые я делал на флэше в школьном далеком прошлом: files.webi.ru/m_down/peretiaganki.swf.html
+2
Halt #
А вы таки на асме попробуйте ;-)
–2
Nakilon #
Я не пишу на асме. Мне за это минус? Новые правила хабра? Хм…
+2
Halt #
Да нет, не новые. Просто это примерно как если бы вам похвастались что его картины выставляются в Эрмитаже, на что вы ответили бы что «да, эт прикольно. я тоже на заборах хорошо рисую» :)

К слову, минус ставил не я.
0
PatapSmile #
Спасибо за ссылку, добавил в топик. Исходник было интересно почитать.
+15
flashkot #
Уважаемый, вы заставили моё сердце встрепеннуться. Cреди комментов на поуёте, была ссылка на игрушку K.Y.K.

Так вот, Dr. Max — это я (;

а k.y.k. мы писали с моим однокласником. так сказать «на перегонки». модемов тогда ещё не было в нашей деревушке, по этому мы активно менялись дискетами в классе (боже мой, сколько всего интересного влезало в эти 1457664 байта! Умопомрочительно!).

Я сделал первую версию весом байт в триста. Серёга на следующий день принём версию в 280 или около того… я сдела 188… он ответил на это 128 байтами… кончилось тем, что я упаковал это в 37.

до сих пор с умилением вспоминаю эти дни… (;

Сейчас доделаю кой чего по дому и может выложу куда архивчики этих забавных древностей (если компашка с бэкапом не накрылась).

p.s. Кто этот Pirx и откуда он взял мою игрушку и инфо о ней? ооочень интересно… (8
+2
flashkot #
Вот, может кому будет интересно. «Я изучаю ассемблер» называется. (;

не смотрите на даты, там небольшой косяк с ними. по идее всё это происходит в 1997 году (может осенью, а может весной). из-за этого же косяка очень сложно восстановить порядок в котором они были написаны. но, подозреваю что чем меньше получаемый комок, тем более поздняя это версия. (8

narod.ru/disk/10887439000/kyk_history.tar.bz2.html

сейчас поставлю себе dosbox и буду смотреть чего там ещё есть в этом архивчике (а там что-то уж сильно дофига всего :)

Только вот очень обидно, что не сохранились серёгины версии. Хоть и без исходников, но всё равно забавно было бы поизучать.
0
Semy #
Спасибо, поностальгияровал. Тоже на tasm'е писал и оптимизировал.
0
Nickname #
Жаль старые версии потерялись, интересно было бы почитать про процесс оптимизации :)
+1
anatoly_rr #
Когда-то давно реализовывал программку, которая тупо выводила на экран cpuid. Уложился в 14 байт, и то только благодаря какой-то случайности, вроде последовательности регистров при массовом запихивании в стек.

Но теперь, думаю, что можно и меньше сделать ;)
0
VladX #
Это целое искусство…
–1
Kastrulya #
на дороге встречаются люди и деревья. и столбы перебегают иногда ;)
–1
banancheg #
Конечно хорошо вспомнить старое, но ИМХО через десятки лет и гиговые игрушки будут такими же мелкими, как для нас сейчас байтовые
+1
theaspin #
Чем больше у человека доступных ресурсов — тем больше он будет лениться. Зато такие задачки как эта, когда приходится действовать в очень ограниченных рамках, заставляют по-настоящему шелевить мозгами :)
0
banancheg #
Ограниченные рамки байтами не измеряются
0
rayevg #
Раньше именно байтами и измерялись.
0
theaspin #
А демо сцена, точнее говоря 4KB и 64KB интро, тогда что, полная свобода действий?
0
Antigluk #
Раньше ограничением был объем памяти, сейчас — высокая нагрузка. Изменился вектор и приемы, но проблема не исчезла
+1
lostinfuture #
как вам знаменитый kkrieger? www.theprodukkt.com/kkrieger
–1
VladX #
интересно, влезла бы она на DVD-болванку, если бы ее делали товарищи из Rockstar Games :)
+1
deck #
Искренне завидую, во времена ассемблера я под стол пешком ходил, а про такие вещи остается только слушать старших коллег :)
0
DIHALT #
Никогда не поздно начать. Ниша однокристаллок еще вовсю асм юзает.
–2
rayevg #
Асма-асма) Люди умели ценить ресурсы, сейчас бывает взглянешь на код, так как-будто специально пишут чтобы подлиннее, да потяжелее, особенно этим страдают Java-кодеры.
+2
harrier #
Расскажите это Java ME разработчикам, они с вами вместе посмеются.
Или разработчикам LinkedIn, который написан на Java.

И вообще, только вот грязи не надо.
+4
Bytexpert #
Огромный респект автору!

Я тоже начинал с MK-52 и с журналом «Техника-Молодежи», кстати, очень помогло в институте на информатике (сразу посадили самостоятельно изучать… хм… бейсик на Ямахах, он кстати от Майкрософта был) и ..., вы не поверите — астрономии! Дали задание: кто напишет самую короткую программу для преобразования сферических координат — вот тогда пятерку я этим себе честно заработал.

А еще был такой ПК «Вектор», кстати, нравился он мне больше чем БК, т.к. там аж целых 32Кб было под видеопамять выделено, а это 256*256*16 из 256 возможных цветов… предел мечтаний! :) Правда видеопамять там была по уродски устроена, постраничная, цвет пиксела складывался из битов расположенных друг от друга на расстоянии 8 Килобайт. И чтоб одну точку поменять, надо было 4 байта изменить, но зато благодаря такой организации памяти можно было видеопамять под данные отдавать за счет уменьшения битности цвета…

А игруху я писал, это я в тетрадке, по тактам процессора рассчитывал, насколько та или иная процедура на ассемблере будет более быстрой для вывода спрайта. «Профилирование» кода в тетрадке… :)

И дисковода не было грузился с магнитофона, загрузишь с магнитофона ассемблер, напишешь, сохранишь на кассету исходник, скомпилируешь, скинешь на кассету, выгрузишь ассемблер, загрузишь что скомпилировал, потестируешь… и все по новой — романтика!

А сейчас? Столько возможностей, пиши на чем хочешь, для чего хочешь! И порой думаешь: эх, молодежь нынче ленивая стала — им сейчас все на блюдечке с голубой каёмочкой, а они — лентяи, ничего делать не хотят! Но вот только сейчас от всего этого IT изобилия я периодически испытываю настоящий шок — так все быстро меняется, появляется так много новых технологий, что только успеешь освоить одну, как она уже устаревает. Поэтому и молодежи сейчас даже видимо тяжелее, чем нам, они другие сейчас так как время сейчас другое…

+2
Patron #
все меняется, время летит. и даже если нас самих вернуть в то время, то не повторятся те эмоции, тот дух, тот интерес, что бывало оторвешься чаю попить — в окно взглянул — а там рассвет.
0
mordet #
Со всем уважением, последнее — повторяется — и еще как! (сейчас танцую с бубном вокруг GLSL...)
+1
yopopt #
Супер! Побольше бы таких фанатов ассемблера. :)
0
HeLLiK #
Просто топик добра!
0
asci #
я бы сказал сказал умиления и ностальгирования)
+1
ldv290384e #
По поводу сюжета. Интересная такая дорога, где поперёк вмещается более чем три десятка грузовиков и прямо на полотне растут деревья. =))) Если действительно сменить направление прокрутки, то можно придумать что-нибудь по поводу батискафа и мин. ;)
0
neocrust #
Весьма достойно, браво :)
0
WhiteDragon #
Не перевелись еще богатыри на земле Русской. Порадовали :)
0
Methos #
Вы используете функции вызова BIOS и DOS для работы с экраном и клавиатурой.
0
asmerdev #
Так точно!
+1
DIHALT #
Читер! ;)
0
DIHALT #
Кто как, а я и щас байты считаю. На Микроконтроллерах. Сижу вот пишу маленькуй маленькую кооперативную ОС. Пока укладываюсь в 400байт.
–1
Arris #
Молодооость…

Вспоминаю FORTH :)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.