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

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

20 августа 2012, 02:58 (4476 дней назад, №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. Первый день, Второй день.


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

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

2900 дней назад, 22:2313 декабря 2016 Есть у меня старый планшет с отстёгивающейся клавиатурой - Asus TF101g (1gb ram, cortex-a9 1ghz). Asus, конечно, на него давно забил - продавался он с Android 3.0, последняя официальная версия 4.0.3 (даже Google Docs не запустить). Но, поскольку машинка очень популярная, народ под неё настрогал собственных сборок - я поставил Android 6.0.1 KatKiss. Как ни странно, после ...далее

Избранное

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

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