Как стать автором
Обновить

Комментарии 39

Страшно подумать, я только к 8-9 классу осваивал Бейсик,Visual Basic и Pascal. И тоже нужно было программировать в тетрадках.
НЛО прилетело и опубликовало эту надпись здесь
Собственный спрайт можно было нарисовать через poke или call. Точно не помню.

Через прямые обращения к памяти, наверняка, можно было рисовать, но в документации это никак не было освещено, да и сама структура памяти мне была неизвестна.

А еще можно было припаять батарейку-таблетку к картриджу и программа сохранялась после вынимания картриджа.

Очень интересно, не могли бы вы вспомнить подробности этой операции? Мой картридж внутри ничем не отличался от обычных картриджей с играми для Dendy, поэтому я не представляю, каким образом это можно было сделать. Возможность использования батарейки для сохранений была в некоторых оригинальных картриджах NES, но на Dendy, насколько мне известно, такого никогда не наблюдалось.
Сам всплакнул, вспоминая написание игр типа «Угадай число» или что-то типа бросания костей) А еще замечательные beep'ы, которыми были интерпретированы каждая вторая песня, начиная с Дюны и заканчивая шансоном 90-х.
НЛО прилетело и опубликовало эту надпись здесь
Собственный спрайт можно было составить из символов кодовой страницы. Т.о. количество практически интересных спрайтов было немногим больше количества типовых (которые, видимо, коллега понимает под «встроенными») — «марио», «орбитальная станция» и пр (не помню, сколько их было) — они тоже собирались из символов. Переключив кодовую страницу можно было использовать буквы, звёзды, шарик (типа планета) и прочие символы, предназначенные для отрисовки «пейзажа».
Гы! Спасибо!!! :)

Как сейчас помню…

10 CLS
20 INPUT A, B
30 C = A * B
40 PRINT C
50 END

Последние 25 лет я не только не думал, что когда-нибудь снова напишу эти строки, но и не подозревал, что скупая слеза потечет по небритой щеке… :)
А «50 END» зачем? Спектрум же по умолчанию выходил :)
ЕМНИП это из «энциклопедии проффесора Фортрана» и к ZX BASIC не относится
О, точно!
«Надо купить сапоги и уши!»
«энциклопедии проффесора Фортрана» — это же моя любимая книга ))) До сих пор на полке стоит
Привычка. После END обычно размещали DATA.
БК 0010
Да уж, многие, наверное, начинали путь в IT с создания своей игры)

У меня вот все завертелось, когда возможностей паскалевского модуля GRAPH стало не хватать. И пошел ассемблер, VESA, Ralf Brown's Interrupt List, SB DMA, и понеслась. Зато игрушки стали шустро отрисовываться и звучать :-D
Неа! :)
Бейсик Микрон, первая прога — записная книжка(по рецептам «Радио») с сохранением на кассету(сохранять удалось только месяце на третьем «битвы»).
Смутно помнятся те времена.
Начинал как и многие, с Бейсика на Спектруме. До ассемблера дело не дошло. Однажды мне попалась кассета с Паскалем, набросал простенькую программу и был сильно удивлен, что он работает в разы быстрее встроенного Бейсика.

Эх. А у меня не было кассетного магнитофона. Т.е. был, но на запись он не работал — качество записи было отвратным и программы не читались.
Поэтому я сохранялся… на бобинный магнитофон Юпитер )))
Помню я на DRAW и POINT написал свой первый в 11 лет графический, ну не редактор наверное все таки, а просто графопостроитель.
А еще я помню в доме пионеров дискеты размером с патефонную пластинку.
Эх, эх.
Когда мой малой елозит пальцем по емкостному тачскрину телефона с разрешением экрана 1920х1080 пикселей...

Как вы понимаете, мой путь в программирование едва ли можно назвать стандартным, даже для 90-х годов, в основном из-за специфики оборудования, на котором приходилось учиться.


У меня и у нескольких моих школьных друзей-приятелей путь один-в-один. Единственное — заход в машинные коды происходил через сильное желание узнать, как эти игры устроены внутри (и добавить себе жизней и патронов).
И у меня. И транслятор ассемблера я свой написал. И дизассемблер-отладчик, которым потом разбирал код стандартного ROM. Как сейчас помню, как меня поразили некоторые моменты на ассемблере в ROM, например код для вывода пикселей на экран. Мне самому тогда казалось, что это очень сложно, найти адрес пикселя на спектруме с его нетривиальным разбиением видеопамяти, но оказалось, что магия битовых полей всё сильно упрощает. Для меня это было открытие века в том возрасте. Или вот до сих пор помню паттерн для обновления битового поля в байте за три инструкции — два xor и один and, короче не придумаешь, там это часто использовалось. И только потом уже в классах постарше появился «большой» компьютер, с которым я уже знал, что делать, благодаря спектурму.
Прямо в точку, прибавить жизней, с этого.
Начинал я с КР-04 потом КР-05, потом была Дельта С-128.
А асм начал изучать с Zeus Assembler
Помню лето 1989 года на ВВЦ в Киеве выставка компьютерной техники, мне 14 лет. До глубины души потрясла чья-то программа на MSX-Бейсике, выводящая на экран таблицу умножения… С этого всё и закрутилось. Дальше программирование в тетрадке за неимением компьютера. Не вижу, кстати, в этом ничего плохого — на начальном этапе только так и надо. Нужно сначала вырабатывать навык представления, как именно программа будет выполняться, тетрадка для этого подходит лучше всего.
статься поразительно напоминает мне мое детство, только спектрум в какой-то момент стал с дисководами и LPT портом, а денди и сеги не было, играл у друзей.
CIRCLE 128, 80, 80 — не забыть тот вечер, когда отец припаял в огромный телевизор проводки от пензенского спектрума и я подобрал эти цифры. Точка невозврата.
И хорошо, что в нашей глубинке не было книжек, всё опытным путём было исследовано.
Случайно, с помощью peek, был найден адрес на который «оцифровывался» единственный бит с аудиовхода и написана программа для записи звука.
А потом, мы с другом сделали сетку из двух компов, соединив их через все тот же порт. Правда на большом расстоянии > 200м. лапши по деревьям так и не удалось заставить надёжно работать. Но в сетевые самописные игрушки мы поиграли.
Потом уже была Москва, центральный узел Freenet, первая порнуха из инета в гифках в NN. Как в другой жизни, а вроде мы ещё и не старые совсем.
Из-за этого поста не смог уснуть полночи.
Вспомнил, что это порт был, а не адрес памяти и нашёл его с помощью IN, а не PEEK. 254 порт, он ещё и клавиатуру позволял считывать и бордюр экрана перекрашивать.
А ещё как кодировщик ASM писал на BASIC с тетрадки переписывая команды. Помню была целая куча команд с префиксом 217 на отдельном листе тетрадки. Зачем это всё теперь в памяти хранится и спать не дает :)

Синклера мне не досталось, начинал с СМ-4 под RSX-11M в 1985 году. Игрушки, написанные там, не сохранились, а вот когда в 1990 году в руки попал IBM PC, в соавторстве с Димой Петровым был написан Digger's Loader :-).

http://lurkmore.to/Digger
Насчет «низкоуровневости» в Arduino, Raspberry Pi — это Вы зря. Там как раз упор делается на Си.
Но я с Вами согласен, что обучение программированию (по-крайней мере, для микроконтроллеров) надо начинать с ассемблера и «низкоуровневости». Более того, на мой взгляд, не существует понятия «программист микроконтроллеров», существует понятие «инженер-электроник», который занимается разработкой устройств, а отсюда обязательны еще и знания электроники. Поэтому начинать надо именно с электроники, чтобы не получилось так, что ребенок может написать для ардуино программку для выведения звука на динамик, но не знает, каким образом этот самый динамик к ардуино подключить.
Тем же, кому интересно «чистое программирование», на мой взгляд, надо смотреть в сторону профессии «инженер-программист», который занимается именно программированием для ПК.
Не согласен. Детям совсем низкий уровень и понимание что там происходит нафиг не надо в начале обучения. Если бы на вопрос «как программировать спектрум» я сразу получил хотя бы книжку по бейсику, было бы сильно проще. Но мне в начале моего пути была дадена здоровенная книга о том, как устроен процессор про шины, АЛУ и т.п. Полистал, почитал, спросил «и нахрена мне это все?» и пошел отжимать у отца книжку по бейсику. А вот уже потом, когда я и на асме мог программировать и понадобилось писать дрова для LPT, который был напаян на мой спектрум, вот тогда уже и понадобились знания про всякие порты, сигналы, прерывания и т.п. Если ребенку некуда приложить знания, они вызовут только скуку и в голове не задержатся.
Вначале давайте определимся, кого Вы понимаете под словом «дети». «Дети» — это какой возраст? 7-8 лет? 10-11 лет? 14-15 лет? Вот эта, на мой взгляд, прекрасная книга была написана, в общем-то, для детей. Конечно, не семилетних, но в таком возрасте учить программированию, я считаю, вообще рано. Для программирования нужно иметь определенный уровень понимания абстракций, быть знакомым с определенными математическими понятиями и законами. Как учить программированию без объяснения, что такое системы счисления (хотя бы три основных — DEC, HEX и BIN)? Как рассказывать о логических операторах языка, если обучаемый не знает законов булевой алгебры? Если обучаемый этого не знает, тогда об этом придется говорить в рамках курса обучения программированию.

Но я-то, отвечая на высказывание об ардуино и говоря о ассемблере, больше имел в виду именно обучение программированию микроконтроллеров. При этом я подчеркнул, что это нельзя изучать в отрыве от хотя бы общих понятий об электронике вообще.

А то, что Вам
в начале моего пути была дадена здоровенная книга о том, как устроен процессор про шины, АЛУ

говорит только о непрофессинализме обучающего. Если такая книга дается ребенку, то к ней должен прилагаться учитель, но правильнее даже давать ребенку учителя, а к нему прилагать такую книгу. Самостоятельно ребенок такое не освоит, хотя надо опять-таки уточнить, о ребенке какого возраста идет речь.
Классный опыт! Мое программирование началось с MS Office 2000 и VBA. Так получилось, что первый год использования компьютера я провел имея диск Maximator 6 и книжку Visual Basic 6. Ни других книг, ни софта, ни компетентных знакомых не было…
«ведь двигаться с высокого уровня к низкому гораздо сложнее, чем наоборот.» — почитайте старый SICP, там начиная с очень высокого уровня доходят до микрокода.
«мой путь в программирование едва ли можно назвать стандартным»

Про стандартность не скажу, но для людей, в первый раз увидевших компьютер в начале 90-х, путь довольно распространённый.

Мы с ребятами втроём за одним «специалистом» безвылазно торчали года два — писали игры, свой транслятор ассемблера, текстовый редактор, примитивный графический редактор для спрайтов, переписывали BIOS на свой, зашивая его в микросхему ПЗУ, стираемые ультрафиолетовой лампой… А сколько радости было, когда мы мышь прицепили — не передать.

Попутно перетягивали к себе в код огрызки технологий с нормальных персоналок — в ассемблерном коде полным ходом использовали ООП, руками поддерживая таблицы виртуальных методов. да, время было веселое.
НЛО прилетело и опубликовало эту надпись здесь
Написал в 8 классе диггера на Радио-86РК на ассемблере. Самая жесть была — загрузить ассемблер с магнитофона, загрузить код с магнитофона, дописать что-то, сохранить на магнитофон, запустить, увидеть что-то мелькнувшее на экране и перезагрузку ОС. Потом загрузить ассемблер с магнитофона, загрузить код с магнитофона, сидеть, думать почему не заработало…
Если бы мне сейчас, сказали вот тебе 86РК и магнитофон, напиши диггера, или мы расстреляем тебя через 3 дня, я сказал бы — лучше сразу расстреляйте, я не смогу этого сделать :)
Интересно, что ностальгические темы практически всегда вызывают бурю комментариев… Интересно, о чём будут вспоминать нынешние дети лет этак через 20?
Scratch?
БК-0010 Вильнюс Бейсик
— — — — — — — — — — — ЛАТ
OK
Кстати тут на работе из подвала выбросили комп Intel-286 12Mhz белая сборка.
Made in West Germany July'90/
Мне его жалко стало притащил, поколдовал. Коллега притащил 5.25" дискетку — загрузились с нее.
Винт отключил т.к. батарея на плате прокисла, а конфигурация винта мне неизвестна и вручную его можно спалить.

Там (на приставке Сюбор) можно было еще звуками играться, причем звуки задавались не частотой, а нотами (ABCDEFG в английской нотации до-ре-ми)

Ага. Со всеми приличествующими бемолями-диезами-стакаттами-легатами.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий