Чем они запрограммировали эту игрушку? - PullRequest
3 голосов
/ 16 мая 2010

Довольно странный вопрос: я часто спрашиваю себя, на каких языках программирования созданы вещи. Я недавно нашел этот игрушечный мини-компьютер, с которым играл, когда мне было около 13 лет дома. (Примечание: это не одна из тех игрушечных «тетрадей», она очень маленькая и поставляется в комплекте с журналом)

"Особенности":

аппаратные ресурсы:

  • ЖК-дисплей с небольшим полем пикселей, в котором проходили игры, кроме того, некоторые характеристики, такие как оценка, рекорд и т. Д.

  • Звуки и ужасная музыка при запуске

  • Действительно маленькая "клавиатура" с проводом

Программное обеспечение:

  • Не менее 14 или около того игр, от Snake over Tetris и Breakdown до какой-то мерзости игры в автомобильные гонки

  • Калькулятор

  • Меню выбора игры

  • Будильник

Внутри очень маленькая печатная плата, но я не хочу сейчас ее открывать.

Можете ли вы представить, что игры и «Операционная система» этой вещи где-то запрограммированы с использованием языка?

Если да, то на каком языке это может быть?

Если не с языком программирования, как еще он был создан?

Ответы [ 4 ]

2 голосов
/ 16 мая 2010

Если бы я рискнул предположить, я бы сказал, что они использовали C, это часто используется с микроконтроллерами в подобных устройствах.

1 голос
/ 16 мая 2010

Чье-то предположение. Часто используемая тактика при попытке втиснуть много программного обеспечения в устройство массового рынка (где экономия 10c на хранилище может иметь значение) заключается в использовании некоторого интерпретатора байт-кода, где байт-коды предназначены для экономии места, даже если они выполняются довольно медленно. FORTH раньше был популярен для этой цели, но в мире очень много одноразовых байт-кодов. Infocom Z-Machine .

выжил в приключенческих играх.
1 голос
/ 16 мая 2010

Вопрос действительно архитектурный. Есть ли там микропроцессор? Если так, то, скорее всего, он был запрограммирован на довольно низкоуровневом языке - ассемблер или C довольно распространены. Тем не менее, вероятно, не может быть процессор; он может быть реализован как пользовательский кремний, либо FPGA , либо (маловероятно) ASIC , который можно программировать на VHDL или Verilog.

0 голосов
/ 10 июня 2010

Это явно встроенный микроконтроллер. Хотя в принципе его можно было программировать практически на любом языке, я был бы удивлен, если бы он был написан на другом языке, кроме ассемблера или C.

Насколько я понимаю, все операционные системы до 1972 года и практически все встраиваемые системы до 1980 года или около того были написаны полностью на ассемблере, возможно (как отметил Норман Рэмси) с одноразовым языком, специфичным для домена (DSL).

Сборка уменьшилась в популярности, и язык программирования C стал самым популярным языком программирования микроконтроллеров. Даже примерно до 2000 года практически все встраиваемые системы использовали хотя бы немного языка ассемблера для обработки того, что не мог обработать ни один из доступных языков более высокого уровня.

Даже сегодня, из тысяч доступных микроконтроллеров встроенных систем, подавляющее большинство из них имеют в наличии не более 4 языков программирования, доступных в продаже: ассемблер, C, BASIC и Forth.

(Я надеюсь, что Python станет доступным для большего количества микроконтроллеров - диалекты Pyastra и PyMite уже охватывают пару самых популярных микроконтроллеров).

http://www.faqs.org/faqs/microcontroller-faq/primer/

...