Отпуск отпуском, это ж такое. Но контактами с Вами я бы обменялся, чтобы быть на связи.

Господа, не подскажете почему установка палитры влияет на нижнюю линию верхней служебной строки и на верхнюю нижней?



Код:
void PALET (void)
{
  asm("  .GLOBL  NEWPAL            \n"
      "  MOV     R0, NEWPAL        \n"
      "  MOV     R1, NEWPAL+2      \n"
      "  MOV     $BUF0, R0         \n"
      "  MOV     $5, R1            \n"
      "  MTPS    $0200             \n"
      "  BR      2$                \n"
"1$:     MOVB    (R0)+, @$0176676  \n"
"2$:     TSTB    @$0176674         \n"
      "  BPL     2$                \n"
      "  SOB     R1, 1$            \n"
      "  MTPS    $0                \n"
      "  RTS     PC                \n"
"BLK:    .WORD   020*0400, 032, 02470, NEWPAL, 2         \n"
"BUF0:   .WORD   BLK, -1                                 \n"
"NEWPAL: .WORD   0b1110111011001100, 0b1010101010001000  \n"
  );
} // PALET

void SetPalette (int c0, int c1, int c2, int c3)
{
  asm("  BICB    $0177760, 8(SP)  \n"
      "  BICB    $0177760, 6(SP)  \n"
      "  MOVB    6(SP), R0        \n"
      "  ASH     $4, R0           \n"
      "  ADD     6(SP), R0        \n"
      "  ASH     $4, R0           \n"
      "  ADD     8(SP), R0        \n"
      "  ASH     $4, R0           \n"
      "  ADD     8(SP), R0        \n"
      "  BICB    $0177760, 4(SP)  \n"
      "  BICB    $0177760, 2(SP)  \n"
      "  MOVB    2(SP), R1        \n"
      "  ASH     $4, R1           \n"
      "  ADD     2(SP), R1        \n"
      "  ASH     $4, R1           \n"
      "  ADD     4(SP), R1        \n"
      "  ASH     $4, R1           \n"
      "  ADD     4(SP), R1        \n"
  );
  PALET();
} // SetPalette