Subversion Repositories pentevo

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2.                 include ../../macros.a80
  3.                 include ../../global_vars.a80
  4.  
  5.                 ORG 0X6000
  6. TEST_READ_FONT  DI
  7.                 LD SP,0X6000
  8.                 LD HL,0X4000
  9.                 LD D,H
  10.                 LD E,L
  11.                 INC DE
  12.                 LD BC,0X1800
  13.                 LD (HL),L
  14.                 LDIR
  15.                 LD BC,0X300
  16.                 LD (HL),%00001111
  17.                 LDIR
  18.                 LD DE,0X4001
  19.                 LD HL,FIRST_TEST
  20.                 CALL PRINT
  21.                 LD A,4
  22.                 OUT (PEVO_CONF),A
  23.                 LD IXL,0
  24.                 LD HL,0
  25.                 LD DE,0X8000
  26.                 LD BC,0X800
  27.                 LDIR                            ;ПЕРВОЕ ЧТЕНИЕ ФОНТА
  28.                 XOR A
  29.                 OUT (PEVO_CONF),A
  30.                 LD HL,0X8000
  31.                 LD DE,TXT_CHARS
  32.                 LD BC,0X800
  33. TRDFNT01        LD A,(DE)                       ;СРАВНЕНИЕ С ИСХОДНЫМ
  34.                 CP (HL)
  35.                 JR Z,TRDFNT03
  36.                 LD IXL,1
  37.                 LD DE,0X4041
  38.                 LD HL,FIRST_READ_ERR
  39.                 CALL PRINT
  40.                 JR TRDFNT04
  41.  
  42. TRDFNT03        INC HL
  43.                 INC DE
  44.                 DEC BC
  45.                 LD A,B
  46.                 OR C
  47.                 JR NZ,TRDFNT01
  48.                 LD IXL,0
  49.                 LD DE,0X4801
  50.                 LD HL,FIRST_PASS_OK
  51.                 CALL PRINT
  52. TRDFNT04        LD DE,0X50E1
  53.                 LD HL,PRESS_SPACE
  54.                 CALL PRINT
  55.                 CALL WAIT_SPACE
  56.                 LD HL,TXT_CHARS
  57. ;               RST 8
  58. ;               DB Write_font
  59.                 LD A,4
  60.                 OUT (PEVO_CONF),A
  61.                 LD DE,0
  62.                 LD BC,0X800
  63.                 LDIR
  64.                 DJNZ $
  65.                 LD HL,0
  66.                 LD DE,0X8000
  67.                 LD BC,0X800
  68.                 LDIR                            ;ЧТЕНИЕ ФОНТА
  69.                 XOR A
  70.                 OUT (PEVO_CONF),A
  71.                 LD IXL,0
  72.                 LD HL,TXT_CHARS
  73.                 LD DE,0X8000
  74.                 LD BC,0X800
  75. TRDFNT02        LD A,(DE)                       ;СРАВНЕНИЕ
  76.                 CP (HL)
  77.                 JR Z,TRDFNT05
  78.                 LD IXL,1
  79.                 LD DE,0X4841
  80.                 LD HL,SECOND_PASS_ERR
  81.                 CALL PRINT
  82.                 JR TRDFNT06
  83.  
  84. TRDFNT05        INC HL
  85.                 INC DE
  86.                 DEC BC
  87.                 LD A,B
  88.                 OR C
  89.                 JR NZ,TRDFNT02
  90.                 LD DE,0X4841
  91.                 LD HL,SECOND_PASS_OK
  92.                 CALL PRINT
  93. TRDFNT06        LD DE,0X50E0
  94.                 LD HL,PRESS_SPACE
  95.                 CALL PRINT
  96.                 CALL WAIT_SPACE
  97.                 LD A,IXL
  98.                 AND A
  99.                 JP NZ,TEST_READ_FONT
  100.                 LD A,1
  101.                 OUT (PEVO_CONF),A
  102.                 LD BC,0X7FFD
  103.                 LD A,0X10                       ;ЭКРАН 0
  104.                 OUT (C),A
  105.                 LD BC,0XFF77
  106.                 LD A,0XA4
  107.                 OUT (C),A
  108.                 LD BC,WIN_A3
  109.                 LD A,0X76                       ;СТРАНИЦА 9
  110.                 OUT (C),A
  111.                 LD HL,0XC800
  112.                 LD DE,0XC801
  113.                 LD BC,0X800
  114.                 LD (HL),%00110000
  115.                 LDIR
  116.                 LD DE,0X0203
  117.                 LD HL,SECOND_TEST
  118.                 LD C,%00111010
  119.                 CALL PRINTT
  120.                 LD DE,0X0905
  121.                 LD HL,SCREEN0
  122.                 LD C,%00011001
  123.                 CALL PRINTT
  124.                 CALL WAIT_SPACE
  125.                 LD BC,WIN_A3
  126.                 LD A,0X74                       ;СТРАНИЦА 11
  127.                 OUT (C),A
  128.                 LD BC,0X7FFD
  129.                 LD A,0X18                       ;ЭКРАН 1
  130.                 OUT (C),A
  131.                 LD HL,0XC800
  132.                 LD DE,0XC801
  133.                 LD BC,0X800
  134.                 LD (HL),%00001000
  135.                 LDIR
  136.                 LD DE,0X1204
  137.                 LD HL,SECOND_TEST
  138.                 LD C,%00011111
  139.                 CALL PRINTT
  140.                 LD DE,0X1110
  141.                 LD HL,SCREEN1
  142.                 LD C,%00110001
  143.                 CALL PRINTT
  144.                 CALL WAIT_SPACE
  145.                 JR $
  146.  
  147. ;D=X E=Y C=COLOR
  148. PRINTT          LD A,(HL)
  149.                 INC HL
  150.                 AND A
  151.                 RET Z
  152.                 PUSH HL
  153.                 PUSH DE
  154.                 LD B,D
  155.                 LD L,E
  156.                 LD H,0
  157.                 LD D,H
  158.                 ADD HL,HL       ;X2
  159.                 ADD HL,HL       ;X4
  160.                 ADD HL,DE       ;X5
  161.                 ADD HL,HL       ;10
  162.                 ADD HL,HL       ;20
  163.                 ADD HL,HL       ;40
  164.                 ADD HL,HL       ;80
  165.                 LD E,B
  166.                 ADD HL,DE
  167.                 LD DE,0XC000
  168.                 ADD HL,DE
  169.                 LD (HL),A
  170.                 SET 3,H
  171.                 LD (HL),C
  172.                 POP DE
  173.                 POP HL
  174.                 INC D
  175.                 JR PRINTT
  176.  
  177. PRINT           LD A,(HL)
  178.                 INC HL
  179.                 AND A
  180.                 RET Z
  181.                 PUSH HL
  182.                 PUSH DE
  183.                 PUSH DE
  184.                 LD L,A
  185.                 LD H,0
  186.                 LD DE,TXT_CHARS
  187.                 ADD HL,HL
  188.                 ADD HL,HL
  189.                 ADD HL,HL
  190.                 ADD HL,DE
  191.                 POP DE
  192.                 REPT 8
  193.                 LD A,(HL)
  194.                 LD (DE),A
  195.                 INC HL
  196.                 INC D
  197.                 ENDM
  198.                 POP DE
  199.                 POP HL
  200.                 INC E
  201.                 JR PRINT
  202.  
  203. WAIT_SPACE      LD A,0X7F
  204.                 IN A,(0XFE)
  205.                 AND 1
  206.                 JR NZ,WAIT_SPACE
  207. WAIT_SPACE1     XOR A
  208.                 IN A,(0XFE)
  209.                 CPL
  210.                 AND 0X1F
  211.                 JR NZ,WAIT_SPACE1
  212.                 RET
  213.  
  214. TXT_CHARS       binclude ../../page4/source/8x8_ar.fnt
  215.  
  216. ;                   01234567890123456789012345678901
  217. FIRST_TEST      DB " Первый тест: чтение фонта ",0
  218. SECOND_TEST     DB " Второй тест: вывод текста на текстовые экраны 9 и 11 ",0
  219. FIRST_READ_ERR  DB " Первое чтение фонта - ошибка ",0
  220. FIRST_PASS_OK   DB " Первое чтение фонта - ОК ",0
  221. SECOND_PASS_ERR DB " Второе чтение фонта - ошибка ",0
  222. SECOND_PASS_OK  DB " Второе чтение фонта - ОК ",0
  223. SCREEN0         DB " Цветная печать на экране номер 0 - в 9 странице ",0
  224. SCREEN1         DB " Цветная печать на экране номер 1 - в 11 странице ",0
  225. PRESS_SPACE     DB " Press SPACE please :) ",0
  226.