Pull to refresh

Comments 39

Страшно подумать, я только к 8-9 классу осваивал Бейсик,Visual Basic и Pascal. И тоже нужно было программировать в тетрадках.
UFO just landed and posted this here
Собственный спрайт можно было нарисовать через poke или call. Точно не помню.

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

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

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

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

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

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

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

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

Ага. Со всеми приличествующими бемолями-диезами-стакаттами-легатами.
Sign up to leave a comment.