Напишите или выберите программу
Введите код на ассемблере 6502 в редакторе или выберите пример, например «Змейку», «Цветные полосы» или математическое демо. Программы начинаются с $0600.
Введите код на ассемблере 6502 и нажмите «Запуск»: он собирается и выполняется на цветном экране 32×32 с вводом с клавиатуры.
Выполняйте по одной инструкции, ставьте точки останова и смотрите, как меняются регистры, флаги и память.
Загрузка эмулятора…
Введите код на ассемблере 6502 в редакторе или выберите пример, например «Змейку», «Цветные полосы» или математическое демо. Программы начинаются с $0600.
Нажмите «Запуск» (или Ctrl/⌘+Enter). Код собирается; ошибки перечисляются с номерами строк. Щёлкните по экрану, чтобы передавать программе нажатия клавиш.
Ставьте на паузу, выполняйте по одной инструкции и щёлкайте номер строки, чтобы поставить точку останова. Следите за регистрами, флагами, памятью и дизассемблером во время работы.
У 6502 три 8-битных регистра, стек на 256 байт и несколько режимов адресации. Эти идеи помогут продвинуться далеко.
Каждый байт от $0200 до $05FF — один пиксель, по 32 в строке. STA $0200 закрашивает левый верхний пиксель; прибавьте $20, чтобы спуститься на строку.
Адреса $00–$FF записываются одним байтом и читаются на такт быстрее. Храните там счётчики и указатели.
Сохраните 16-битный адрес в двух байтах нулевой страницы, младший байт первым, и LDA ($10),Y прочитает по этому адресу плюс Y. Примеры «Змейка» и узоры так обходят экран.
ADC прибавляет и перенос, поэтому начинайте сложение с CLC, а вычитание — с SEC. Переходы вроде BCC и BCS затем проверяют перенос.
После SED команды ADC и SBC считают в десятичной системе: $58 + $46 даёт $04 с установленным переносом (104). Удобно для очков; выключается командой CLD.
Каждая инструкция загрузки и арифметики обновляет N и Z. Пройдите цикл по шагам и следите, как они меняются перед проверяющим их переходом.
Создавайте пиксель-арт спрайты, заставки и короткие ролики для своих игр и демо по промпту с WaveSpeed AI.
Создавайте спрайты, тайлы и заставки в ретро-стиле.
Превратите неподвижную картинку в короткий анимированный ролик.
Превратите картинку в 3D-модель.
$1 бесплатных кредитов для подходящих новых аккаунтов. Карта не нужна. Для генераторов нужны отдельный аккаунт и кредиты. Инструмент «эмулятор 6502» бесплатный.
Да. Бесплатно, без регистрации, рекламы и ограничений. Программа сохраняется в браузере, так что в следующий раз она будет на месте.
Оригинальный NMOS 6502 со всеми 151 документированной инструкцией, двоично-десятичным режимом с поведением флагов NMOS, ошибкой страницы JMP ($xxFF) и документированным числом тактов, включая штрафы за пересечение страницы и переходы.
Он проходит широко используемую функциональную тестовую программу для 6502 и 1,5 миллиона тестов отдельных инструкций, проверяющих регистры, флаги, память и число тактов.
64 KB RAM. Экран — $0200–$05FF (один байт на пиксель, 16 цветов), чтение $FE даёт новый случайный байт, в $FF лежит последняя нажатая клавиша, а программы загружаются с $0600. Программы из популярных учебников 6502 для начинающих, использующих такую раскладку, работают без изменений.
Щёлкните или коснитесь экрана и печатайте: ASCII-код клавиши попадает в $FF. Стрелки и экранные стрелки отправляют w, a, s и d, которые используют примеры «Змейка» и «Рисование».
Метки (loop: или слово в начале строки), константы (define name value или name = value), *= или .org, .byte/dcb, .word, .text, .asciiz и .res, числа в hex ($FF), двоичные (%1010), десятичные и символы ('A'), арифметика, а также < и > для младшего и старшего байта. Значение меньше $100 использует нулевую страницу; напишите $00FF, чтобы принудительно выбрать абсолютную форму.
Щёлкните номер строки (или нажмите F9 на строке), чтобы поставить точку останова. Запуск остановится перед этой инструкцией; «Шаг» (F10) выполняет одну инструкцию и подсвечивает её строку. Регистры, флаги, память и дизассемблер обновляются после каждой остановки — отличный способ изучить ассемблер 6502.
Программа автоматически сохраняется в браузере. Также можно сохранить её как файл .asm, скачать собранный .bin, скопировать hex-дамп, сохранить всё состояние машины или скопировать ссылку, содержащую программу.
Нет. Сборка и выполнение происходят в браузере. Ссылка для отправки хранит программу в части адреса после #, которую браузеры не отправляют на сервер.
Бесплатно, в браузере, с отладчиком.