User Tag List

Показано с 1 по 10 из 97

Тема: С чего начать

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    31.03.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    33
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    79
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от megozavr Посмотреть сообщение
    Доброго времени! Надеюсь не ошибся темой. Допустим хочу научиться кодить под speccy (через эмулятор, реала нет), то с чего начать, Конкретно алгоритм изучения?! Изучить структуру - изучить ассемблер- изучить приемы. А может сразу начать с книги как написать игру для zx ?! Коннечно у каждого кодера свой путь но все же. Еще в далеко 2000-м один из профи сказал начать изучать с : Программирование в машинных кодах и на языке АССЕМБЛЕРА - Инфорком'93, своеобразной библии на тот момент. Был неб. опыт на васике, если чес и его подзабыл. Вообщем буду благодарен за конкретный вариант...типа сначала это потом это потом то! Если не трудно то напишите)
    Приветствую.

    То что вы спрашиваете, я называю путь "программирования извне". То есть программировать утилитами и средствами из среды PC для Спектрума, а не средствами Спектрума для нужд самого Спектрума (типа Zeus, Gens-Mons и пр.). Я пробовал именно с первого варианта.

    Понимаю, что отвечаю с запозданием, но я только вчера тут зарегистрировался. Я сам в программировании не соображал, когда был реальный ZX-совместимый. Немного знал BASIC, а команда RANDOMIZE USR ... казалась дверью в другой неизвестный и яркий мир. К сожалению эта дверь долгое время для меня оставалась наглухо закрытой. Как алхимики в старину, в детстве, я пытался найти такую волшебную программу или "золотой ключик на Бейсике", который внезапно превратит содержимое, прячущееся за неприступной дверью с надписью "RANDOMIZE USR" в понятную BASIC программу. И все время недоумевал, почему же все красочные игры расположены в "таинственных ячейках", а всякая ерунда делается в открытом BASIC... Эх юность-детство. А сбил меня с толку злосчастный ToBoS-FP из игры STEK-D, который только подлил масла в огонь.

    Теперь по поводу советов. Каждый человек индивидуален, и поэтому способ, который подходит одному человеку, может не подойти другому.
    Лично я с нуля натренировался очень просто практическим способом с теоретической подсказкой, которая всегда лежала под рукой. Еще в 2000-х кто-то из коллег по работе разгребая завалы, презентовал мне бумажное издание книги Родионова и Ларченко "ZX-SPECTRUM для пользователей и программистов". На мой взгляд это самая удачная книга. Так вот, там четко и ясно с 60-й по 95-ю страницу описана работа компьютера и принцип действия команд. Доходчиво описана.
    А с практикой все просто. Открываете Spectaculator, загружаете в него любимую игру, выставляете в DEBUGGER'е точки прерывания в интересных, на Ваш взгляд, местах со стартового адреса. И вперед:



    Внимательно наблюдаете за курсором который гуляет по командам, а следом за ним меняются значения регистров в окошке и содержимое ячеек. Записываете на бумагу или текстовый файл добытые знания, тренируетесь с короткими подпрограммами. Одновременно вспоминайте, какие действия стоят за теми или этими событиями в Вашей любимой игре. Меняйте содержимое ячеек, смотрите на результат, выписывайте короткие программы и пробуйте их запускать отдельно от игры... Компьютер рестартнулся? Не страшно! Снова вставляйте, анализируйте причину.
    В играх, в отличие от сухих теоретических книжных знаний, вы будете запоминать разные методы решения тех или иных проблем, выверты программистов с недокументированными особенностями, половинками индексных регистров, нецелевым использованием машинного стека (например для закраски экрана), и прочими шедеврами. Со временем навскидку будете отсортировывать графическо-текстовые ресурсы, карты полей и переменных, отображаемые командами ассемблера, от последовательности команд реально исполняемой программы.
    Первая изучаемая игра пойдет тяжело, но в конечном итоге вы будете раскатывать игры средней сложности довольно быстро, и черпать оттуда бесценный опыт программирования.
    Но проще начинать с простых и коротких программ. Отличный базовый навык можно приобрести изучая Debugger'ом пакеты программ SUPERCODE. Они достаточно короткие и станут настоящей находкой.

    Следует сразу понять, что BASIC это, грубо говоря, оболочка, которая по сути такая-же машинная программа, расположенная в ПЗУ. Изучая дизассемблер интерпретатора, можно также подчерпнуть массу полезных идей, состоящих из машинных процедур. Поэтому, поковырять отдельные куски BASIC-системы через Debugger тоже стоит.

    Создание программ и компиляция. Как мне кажется, проще и удобнее, чем EmulZWin средств просто нет. Никаких дополнительных команд. Одна директива ORG (или несколько в разные точки) с адресом размещения. Все! Создал txt файл в блокноте Windows, написал какую-нибудь простенькую коротенькую программку. Две манипуляции пальцами CTRL+C - CTRL+V в эмулятор, Compile. И... программа готова:



    Сохраняй в .Z80 и работай в любом эмуляторе, записывай в любой полюбившийся формат... В общем, у меня метод изучения машинного языка был такой. Возможно что-то из моего опыта Вам приглянется.
    Последний раз редактировалось Yuri80; 01.04.2016 в 21:55.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. БК-0011: С чего начать, или вопросы нуба
    от BYTEMAN в разделе БК-0010/0011
    Ответов: 82
    Последнее: 13.06.2021, 22:20
  2. Голая Амига с чего начать
    от alex51 в разделе Amiga
    Ответов: 335
    Последнее: 22.02.2016, 00:26
  3. Электроника МС 0511 с чего начать?
    от AHTuXPuCT в разделе ДВК, УКНЦ
    Ответов: 16
    Последнее: 22.11.2012, 14:30
  4. sdcc. с чего начать.
    от ALKO в разделе Программирование
    Ответов: 42
    Последнее: 16.09.2012, 15:49
  5. C чего начать геймдэв для горбатыша?
    от ALKO в разделе Для начинающих
    Ответов: 69
    Последнее: 24.01.2012, 15:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •