Subversion Repositories pentevo

Rev

Rev 573 | Rev 646 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. ;LAST UPDATE: 03.12.2012 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.                 LD BC,WIN_P3
  91.                 LD A,0XF7
  92.                 OUT (C),A
  93.                 LD A," "
  94.                 LD HL,CPU3+LSYM
  95.                 CALL CLSTXTMD1
  96.                 LD HL,CPU3+RSYM
  97.                 CALL CLSTXTMD1
  98.                 LD A,MAGIC_COLOR
  99.                 LD HL,CPU3+LATTR
  100.                 CALL CLSTXTMD1
  101.                 LD HL,CPU3+RATTR
  102. CLSTXTMD1       EX AF,AF'
  103.                 LD A,25
  104.                 LD B,0
  105. CLSTXTMD2       EX AF,AF'
  106.                 LD (HL),A
  107.                 EX AF,AF'
  108.                 LD D,H
  109.                 LD E,L
  110.                 INC DE
  111.                 LD C,39
  112.                 LDIR
  113.                 LD C,25
  114.                 ADD HL,BC
  115.                 DEC A
  116.                 JR NZ,CLSTXTMD2
  117.                 EX AF,AF'
  118.                 RET
  119.  
  120. ;СОХРАНЕНИЕ ТЕКСТМОДНОГО ЭКРАНА
  121. STORE_TXTMODE   LD BC,WIN_P3
  122.                 LD A,0XF7
  123.                 OUT (C),A
  124.                 LD B,HIGH (WIN_P1)
  125.                 LD A,PAGE_TEMP
  126.                 OUT (C),A
  127.                 LD DE,CPU1+OFFSET_SCRSAVE
  128.                 LD HL,CPU3+LSYM
  129.                 CALL STORETXTMD1
  130.                 LD HL,CPU3+RSYM
  131.                 CALL STORETXTMD1
  132.                 LD HL,CPU3+LATTR
  133.                 CALL STORETXTMD1
  134.                 LD HL,CPU3+RATTR
  135. STORETXTMD1     LD A,25
  136.                 LD B,0
  137. STORETXTMD2     LD C,40
  138.                 LDIR
  139.                 LD C,24
  140.                 ADD HL,BC
  141.                 DEC A
  142.                 JR NZ,STORETXTMD2
  143.                 RET
  144.  
  145. ;ВОССТАНОВЛЕНИЕ ТЕКСТМОДНОГО ЭКРАНА
  146. RESTORE_TXTMODE LD BC,WIN_P3
  147.                 LD A,0XF7
  148.                 OUT (C),A
  149.                 LD B,HIGH (WIN_P1)
  150.                 LD A,PAGE_TEMP
  151.                 OUT (C),A
  152.                 LD DE,CPU1+OFFSET_SCRSAVE
  153.                 LD HL,CPU3+LSYM
  154.                 CALL RESTORETXTMD1
  155.                 LD HL,CPU3+RSYM
  156.                 CALL RESTORETXTMD1
  157.                 LD HL,CPU3+LATTR
  158.                 CALL RESTORETXTMD1
  159.                 LD HL,CPU3+RATTR
  160. RESTORETXTMD1   LD A,25
  161.                 LD B,0
  162. RESTORETXTMD2   LD C,40
  163.                 EX DE,HL
  164.                 LDIR
  165.                 EX DE,HL
  166.                 LD C,24
  167.                 ADD HL,BC
  168.                 DEC A
  169.                 JR NZ,RESTORETXTMD2
  170.                 RET
  171.  
  172. MAGIC_FONT      LD HL,CP866_FONT;CP866_UTL
  173.                 LD DE,OFFSET_BUFSYM
  174.                 PUSH DE
  175.                 PCALL UNPACK,P_ADDON1
  176.  
  177.                 LD HL,SYM00
  178.                 LD DE,OFFSET_BUFSYM+0XF2*8
  179.                 LD BC,END_MAGICSYM-SYM00
  180.                 LDIR                            ;ДОБАВЛЕНИЕ СПЕЦ СИМВОЛОВ В НАБОР
  181.  
  182.                 LD BC,0X800
  183.                 POP HL
  184.                 LD DE,0
  185.                 PEC_ON SHADOW_BF+FONT_BF
  186.                 LDIR                            ;УСТАНОВКА MAGIC FONT
  187.                 PEC_OFF FONT_BF
  188.                 RET
  189.  
  190. RESTORE_FONT    LD HL,OFFSET_FNTSAVE
  191.                 LD DE,0
  192.                 LD BC,0X800
  193.                 PEC_ON SHADOW_BF+FONT_BF
  194.                 LDIR
  195.                 PEC_OFF FONT_BF
  196.                 RET
  197.