** Сайт посвящённый ПЭВМ АГАТ **
Проектировался как частичная замена дисководу, автор - инженер из г. Камышин, представляет собой 32+2 Кб постоянной памяти, доступной через регистры ввода/вывода. Был предназначен для частичной замены дисководу. Может использоваться для автозагрузки при включении компьютера. Выполнен в единственном экземпляре.
Состоит из двух микросхем ПЗУ и нескольких вспомогательных микросхем:
Для выбора адреса D3 используются два счётчика адреса, обозначаемых далее как AdrL (155ие19, 8 бит) и AdrH (2 x 155ие15, 4 + 4 бит), итого 16 разрядов, из них используется 15.
x - номер слота, n - номер слота + 8:
ПЗУ D1 может содержать любой программный код, который напрямую доступен центральному процессору. В частности, там может содержаться сигнатура автозагрузчика, в этом случае системный монитор при включении машины передаст управление коду, хранящемуся в D1 (т.е. устройство будет загрузочным).
D3 разбито на блоки по 256 байт. Чтобы считать блок, нужно задать его адрес и в цикле запросить все 256 байт. Адрес задаётся сбросом счётчиков адреса (C0n3) с последующей записью номера блока в регистр AdrH (C0n2). Чтение очередного байта происходит из регистра чтения (C0n0), для перехода к следующему байту необходимо увеличить счётчик, выполнив произвольную операцию с регистром увеличения адреса (C0n1).
Сброс счётчиков можно не выполнять, если предыдущий блок прочитан полностью. Если считываются несколько блоков подряд, можно также пропустить запись номера блока в регистр AdrH для второго и последующих читаемых блоков.
Простейший автозагрузчик нулевого блока D3 в ОЗУ, с последующей передачей управления:
0004- A2 20 .. ""?" LDX #$20 '?
0006- A0 00 .. " ?" LDY #$00 '?
0008- A2 03 .. ""?" LDX #$03 '?
000A- 86 3C .. "??" STX $3C
000C- 84 50 .. "?p" STY $50
000E- A9 00 .. ")?" LDA #$00 '?
0010- 85 51 .. "?q" STA $51
0012- AD B3 C0 "-3@" LDA $C0B3
0015- AD B0 C0 "-0@" LDA $C0B0
0018- 91 50 .. "?p" STA ($50), Y
001A- AD B1 C0 "-1@" LDA $C0B1
001D- C8 .. .. "H" INY
001E- D0 F5 .. "PУ" BNE $0015
0020- 4C 00 08 "l??" JMP $0800