Обратите внимание, что новости можно получать по RSS.
X
-

События, Демосцена, Информационные технологии, История вычислительной техники и IT, LiveJournal cr_it - архив

20 августа 2012, 02:58 (4265 дней назад, №8824)Программирование в машинных кодах на ЭВМ "Агат"

DSC_8219На прошедшем в эти выходные Chaos Constructions'2012 кто-то принёс на выставку Агат  - советский неполный аналог Apple II. С ним была одна дискета, с которой он ничего не хотел грузить. То есть писал "АГАТ" и единственное что можно было сделать - выйти во встроенный монитор, который позволял смотреть память по адресам, менять её, ну и еще дизассемблировать.

DSC_8287Мы (я, tnt23, Oxyd, Meteo и еще один человек) никогда с Apple II и Агатами дела не имели, но предположили, что там ну просто обязан быть Бейсик в ПЗУ. И пытались его самыми разными способами извлечь. Похоже, Бейсика там в помине не было, но в какой-то момент сам процесс стал интереснее цели. Сначала методом тыка мы нашли, какие примерно команды монитор понимает. Просматривая память обнаружили, где примерно начинается ПЗУ (с Fx00) и где ОЗУ, в которое можно писать (с 0100). Поскольку я когда-то начинал с Commodore 64, по крайней мере процессор (6502/6510) был знаком. Так что, просматривая листинг ПЗУ, быстро удалось найти подпрограмму вывода на экран символа (во-первых, она часто вызывалась, во-вторых перед вызовом всегда загружался только аккумулятор: что-то типа LDA ... и затем JSR FDD4). В итоге за несколько минут в кодах была написана суперпрограмма:

DSC_8243DSC_8239INX             ; о том, что нельзя увеличивать напрямую значение аккумулятора я уже и забыл
TXA            ; так что увеличиваем индексный регистр, а потом переносим значение в аккумулятор
JSR FDD4 ; вызываем ROM подпрограмму вывода символа на экран
JMP 0100   ; и по новой..

ассемблировать монитор не умел (или мы не нашли как), поэтому пришлось писать в машинных кодах.
Запущенная программа сходу вывела все символы и даже стала чистить экран и пищать (видимо там есть и управляющие коды). Видео.

Приятно было вспомнить системы, которые можно изучать такими простыми способами :-)

P.S. Заодно, ссылки на фотографии с CC'12. Первый день, Второй день.


Опубликовано: Пётр Соболев

Случайная заметка

8301 день назад, 00:322 августа 2001    Итак, на официальном сайте Assembly скоро уже не будет видна надпись "Asm01 is coming. Are you?". Уже меньше чем через 12 часов будут открыты для гостей двери Hartwall Areena, крупнейшего стадиона Финляндии.    В этом году будет юбилей акции - она проводится уже в десятый раз. Крупнейшее в мире событие, посвященное компьютерному underground искусству ...далее

Избранное

2546 дней назад, 01:575 мая 2017 Часть 1: От четырёх до восьми Я люблю читать воспоминания людей, заставших первые шаги вычислительной техники в их стране. В них всегда есть какая-то романтика, причём какого она рода — сильно зависит от того, с каких компьютеров люди начали. Обычно это определяется обстоятельствами — местом работы, учёбы, а иногда и вовсе — ...далее

2058 дней назад, 20:305 сентября 2018 "Finally, we come to the instruction we've all been waiting for – SEX!" / из статьи про микропроцессор CDP1802 / В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой ...далее