Сменный Модуль Памяти

Модуль памяти изготовлен на основе А537РУ10 и А1835ВГ2.

Семейство 1835 произодилось в Минске и включало в себя:
1835ВГ2 - Контроллер сменного модуля памяти для LSI-11/23
1835ВГ3 - Контроллер ЗУ для LSI-11/23
1835ВГ4 - Контроллер внешнего устройства для LSI-11/23
1835ВГ5 - Системный контроллер для LSI-11/23
1835ВГ6 - Контроллер плоттера для LSI-11/23
1835ВГ7 - Контроллер сменного модуля для LSI-11/23


При инициализации СМП командой Бейсика INIT в СМП с адреса 0 прописывается следующий машинный код (для версии 2.0). Для Бэйсика других версий код отличается.

000000 000240                               nop
000002 004737 145154                        call    INIT_RAM               ;@#145154
000006 004737 122324                        call    TEST_CPU               ;@#122324
000012 013737 006402 164000                 mov     @#FRAMEBUF, @#164000   ;@#word_6402
000020 012737 104306 164002                 mov     #104306, @#164002
000026 004067 000030                        jsr     R0, sub_62

000032 000016                               .ascii  <16>,<15>,<12>
000035                                      .ascii  \ smp BEZ ZAGRUZ^IKA\<0>
000061 000377                               .byte   377 ;

000062                      sub_62:
000062 112002                               movb    (R0)+, R2
000064                      loc_64:
000064 001777                               beq     loc_64
000066 004737 120034                        call    PUTCHAR                ;@#120034
000072 000773                               br      sub_62

Машинный код, расположенный начиная с 0 байта СМП, загружается в ОЗУ МК-90 по абсолютному адресу 000000, после чего запускается

По значению sp=0x0200 можно предположить размер кода - не более 512 байт

Подпрограмма, расположенная с адреса 000062, выводит на дисплей фразу "СМП без загрузчика", используя в цикле вызов подпрограммы вывода символа PUTCHAR 0120034.

Подпрограмма INIT_RAM 0145154 очищает область память и инициализирует системные переменные, копируя их значения из ROM:
145154 012700 001000        mov #1000, R0
145160 012701 017400        mov #17400, R1
145164        loc_145164:
145164 005020               clr (R0)+
145166 077102               sob R1, loc_145164
145170 012700 144542        mov #144542, R0
145174 012701 000205        mov #205, R1
145200 012702 006070        mov #6070, R2
145204        loc_145204:
145204 012022               mov (R0)+, (R2)+
145206 077102               sob R1, loc_145204
145210 000207               return

  • Возвращаемся к инициализации СМП. В числе прочих вызывается подпрограмма 153470:
    153470 012737 000011 164022                 mov     #11, @#164022
    153476 004735                               call    @(R5)+
    153500 005737 164026                        tst     @#164026
    153504 042703 177776                        bic     #177776, R3
    153510 052703 000370                        bis     #370, R3
    153514 010337 164024                        mov     R3, @#164024
    153520 012537 164026                        mov     (R5)+, @#164026
    153524 004767 177702                        call    153432
    153530 042503                               bic     (R5)+, R3
    153532 010337 164024                        mov     R3, @#164024
    153536 004767 177670                        call    153432
    153542
    153542                      loc_153542:
    153542 004775 000000                        call    @0(R5)
    153546 004767 177660                        call    153432
    153552 005301                               dec     R1
    153554 001372                               bne     loc_153542
    153556 005737 164026                        tst     @#164026
    153562 005725                               tst     (R5)+
    153564 004767 177642                        call    153432
    153570 000205                               rts     R5
    
    Обращают на себя внимание адреса 164022/24/26. Перед вызовом в R5 помещается адрес блока параметров вида
    153364, 330, 10, 153442 или
    153430, 250,  0, 153456
    

    Программа загрузчика похожа на PDP-11 Bootstrap Loaders

    Программы для чтения-записи СМП через порт принтера: mk90_lpt.tgz. Это модификация под Linux-LPT.
    Описание картриджа СМП
    Карта памяти СМП
    Простая прорграмма чтения-записи картриджа
    Самодельная замена картриджа


    2005