Отпуск отпуском, это ж такое. Но контактами с Вами я бы обменялся, чтобы быть на связи.
Господа, не подскажете почему установка палитры влияет на нижнюю линию верхней служебной строки и на верхнюю нижней?
Код:
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