Subversion Repositories pentevo

Rev

Rev 761 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ;LAST UPDATE: 30.06.2019 savelij
  3.  
  4. PRTT_MSG        LD A,(HL)
  5.                 AND A
  6.                 RET Z
  7.                 CALL PRTT_UPR
  8.                 INC HL
  9.                 JR PRTT_MSG
  10.  
  11. PRTT_UPR        CP " "
  12.                 JP NC,PRTT_A_
  13.                 CP 0X16
  14.                 JR Z,PRTT_COD16
  15.                 CP 0X17
  16.                 JR Z,PRTT_COD17
  17.                 CP 9
  18.                 RET NZ
  19. PRTT_COD09      LD A,D
  20.                 ADD A,8
  21.                 AND 0XF8
  22.                 LD D,A
  23.                 RET
  24.  
  25. PRTT_COD17      INC HL
  26.                 LD A,(HL)
  27.                 LD (TXT_COLOR),A                ;УСТАНОВКА ЦВЕТА ПЕЧАТИ
  28.                 RET
  29.  
  30. PRTT_COD16      INC HL
  31.                 LD E,(HL)                       ;X ПОЗИЦИЯ
  32.                 INC HL
  33.                 LD D,(HL)                       ;Y ПОЗИЦИЯ
  34.                 RET
  35.  
  36. ;ПЕЧАТЬ СИМВОЛА НА ТЕКСТМОДНОМ ЭКРАНЕ
  37. ;D-X E-Y C-COLOR
  38. PRTT_A_         PUSH DE
  39.                 PUSH HL
  40.                 PUSH AF
  41.                 LD L,E
  42.                 LD A,D
  43.                 LD H,0
  44.                 LD D,H
  45.                 ADD HL,HL       ;X2
  46.                 ADD HL,HL       ;X4
  47.                 ADD HL,HL       ;X8
  48.                 ADD HL,HL       ;X16
  49.                 ADD HL,HL       ;X32
  50.                 ADD HL,HL       ;X64
  51.                 LD E,A
  52.                 SRL E
  53.                 ADD HL,DE
  54.                 AND 1
  55.                 RRCA
  56.                 RRCA
  57.                 RRCA
  58.                 RRCA
  59.                 ADD A,HIGH (CPU3+LSYM)
  60.                 LD D,A
  61.                 LD E,LOW (CPU3+LSYM)
  62.                 ADD HL,DE
  63.                 POP AF
  64.                 LD (HL),A
  65.                 LD A,H
  66.                 XOR 0X30
  67.                 LD H,A
  68.                 LD A,D
  69.                 AND 0X10
  70.                 RLCA
  71.                 RLCA
  72.                 RLCA
  73.                 RLCA
  74.                 ADD A,L
  75.                 LD L,A
  76.                 LD A,(TXT_COLOR)
  77.                 INC A
  78.                 JR Z,PRTT_A1
  79.                 DEC A
  80.                 LD (HL),A
  81. PRTT_A1         POP HL
  82.                 POP DE
  83.                 INC D
  84.                 RET
  85.  
  86. ;ОЧИСТКА ТЕКСТМОДНОГО ЭКРАНА
  87. CLS_TXTMODE8    LD BC,0XFF77
  88.                 LD A,0XAF
  89.                 OUT (C),A
  90.                 EVOPORT WIN_P3,0XF7
  91.                 LD A," "
  92.                 LD HL,CPU3+LSYM
  93.                 CALL CLSTXTMD1
  94.                 LD HL,CPU3+RSYM
  95.                 CALL CLSTXTMD1
  96.                 LD A,MAGIC_COLOR
  97.                 LD HL,CPU3+LATTR
  98.                 CALL CLSTXTMD1
  99.                 LD HL,CPU3+RATTR
  100. CLSTXTMD1       EX AF,AF'
  101.                 LD A,25
  102.                 LD B,0
  103. CLSTXTMD2       EX AF,AF'
  104.                 LD (HL),A
  105.                 EX AF,AF'
  106.                 LD D,H
  107.                 LD E,L
  108.                 INC DE
  109.                 LD C,39
  110.                 LDIR
  111.                 LD C,25
  112.                 ADD HL,BC
  113.                 DEC A
  114.                 JR NZ,CLSTXTMD2
  115.                 EX AF,AF'
  116.                 RET
  117.  
  118. ;СОХРАНЕНИЕ ТЕКСТМОДНОГО ЭКРАНА
  119. STORE_TXTMODE   EVOPORT WIN_P3,0XF7
  120.                 LD B,HIGH (WIN_P5)
  121.                 LD A,RAM_TEMP
  122.                 OUT (C),A
  123.                 LD DE,CPU5+OFFSET_SCRSAVE
  124.                 LD HL,CPU3+LSYM
  125.                 CALL STORETXTMD1
  126.                 LD HL,CPU3+RSYM
  127.                 CALL STORETXTMD1
  128.                 LD HL,CPU3+LATTR
  129.                 CALL STORETXTMD1
  130.                 LD HL,CPU3+RATTR
  131. STORETXTMD1     LD A,25
  132.                 LD B,0
  133. STORETXTMD2     LD C,40
  134.                 LDIR
  135.                 LD C,24
  136.                 ADD HL,BC
  137.                 DEC A
  138.                 JR NZ,STORETXTMD2
  139.                 RET
  140.  
  141. ;ВОССТАНОВЛЕНИЕ ТЕКСТМОДНОГО ЭКРАНА
  142. RESTORE_TXTMODE EVOPORT WIN_P3,0XF7
  143.                 LD B,HIGH (WIN_P5)
  144.                 LD A,RAM_TEMP
  145.                 OUT (C),A
  146.                 LD DE,CPU5+OFFSET_SCRSAVE
  147.                 LD HL,CPU3+LSYM
  148.                 CALL RESTORETXTMD1
  149.                 LD HL,CPU3+RSYM
  150.                 CALL RESTORETXTMD1
  151.                 LD HL,CPU3+LATTR
  152.                 CALL RESTORETXTMD1
  153.                 LD HL,CPU3+RATTR
  154. RESTORETXTMD1   LD A,25
  155.                 LD B,0
  156. RESTORETXTMD2   LD C,40
  157.                 EX DE,HL
  158.                 LDIR
  159.                 EX DE,HL
  160.                 LD C,24
  161.                 ADD HL,BC
  162.                 DEC A
  163.                 JR NZ,RESTORETXTMD2
  164.                 RET
  165.  
  166. MAGIC_FONT      LD HL,CP866_FONT
  167.                 LD DE,CPU1+OFFSET_BUFSYM
  168.                 PUSH DE
  169.                 ROMCALL UNPACK,ROM_RST80
  170.  
  171.                 LD HL,SYM00
  172.                 LD DE,CPU1+OFFSET_BUFSYM+0XF2*8
  173.                 LD BC,END_MAGICSYM-SYM00
  174.                 LDIR                            ;ДОБАВЛЕНИЕ СПЕЦ СИМВОЛОВ В НАБОР
  175.  
  176.                 LD BC,0X800
  177.                 POP HL
  178.                 LD DE,0
  179.                 PEC_ON M_SHADOW_BF+M_FONT_BF
  180.                 LDIR                            ;УСТАНОВКА MAGIC FONT
  181.                 PEC_OFF M_FONT_BF
  182.                 RET
  183.  
  184. RESTORE_FONT    EVOPORT WIN_P1,RAM_SCR_FONT
  185.                 LD HL,CPU1+OFFSET_FNTSAVE
  186.                 LD DE,0
  187.                 LD BC,0X800
  188.                 PEC_ON M_SHADOW_BF+M_FONT_BF
  189.                 LDIR
  190.                 PEC_OFF M_FONT_BF
  191.                 RET
  192.