Subversion Repositories pentevo

Rev

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

  1.  
  2.                 include ../../macros.a80
  3.                 include ../../global_vars.a80
  4.  
  5. COLOR1          EQU 0X0B
  6. COLOR2          EQU 0X22
  7.  
  8.                 ORG 0
  9. TEST_TXTMODE    DI
  10.                 LD SP,0X6000
  11.                 LD BC,0XFF77
  12.                 LD A,0XA3               ;SPECTRUM SCREEN
  13.                 OUT (C),A
  14.                 XOR A
  15.                 CALL SET_7FFD
  16.                 LD HL,0X4000
  17.                 LD DE,0X4001
  18.                 LD BC,0X1800
  19.                 LD (HL),L
  20.                 LDIR
  21.                 LD D,H
  22.                 LD E,L
  23.                 INC DE
  24.                 LD BC,0X300
  25.                 LD (HL),0X39
  26.                 LDIR
  27.                 LD A,1
  28.                 OUT (0XFE),A
  29.                 LD DE,0X4808            ;АДРЕС ПЕЧАТИ НА ЭКРАНЕ
  30.                 LD HL,TEXT_SPMODE
  31.                 CALL PRINT
  32.                 LD DE,0X48E2
  33.                 LD HL,PRESS_SPACE
  34.                 CALL PRINT
  35.                 CALL WAIT_KEYS
  36.                 LD BC,0XFF77
  37.                 LD A,0XA6               ;TEXTMODE SCREEN
  38.                 OUT (C),A
  39.                 LD A,5
  40.                 OUT (0XFE),A
  41.                 LD A,0X27
  42.                 CALL CLEAR_TXTSCR
  43.                 LD DE,0X1006
  44.                 LD HL,TEXT_TXTMODE
  45.                 LD C,COLOR1
  46.                 CALL PRTT_MSG
  47.                 LD DE,0X2010
  48.                 LD HL,PRESS_SPACE
  49.                 LD C,COLOR2
  50.                 CALL PRTT_MSG
  51.                 CALL WAIT_KEYS
  52.                 JP TEST_TXTMODE
  53.  
  54. PRTT_MSG        LD A,(HL)
  55.                 INC HL
  56.                 AND A
  57.                 RET Z
  58. ;D-X E-Y C-COLOR
  59.                 PUSH DE
  60.                 PUSH HL
  61.                 PUSH AF
  62.                 LD L,E
  63.                 LD A,D
  64.                 LD H,0
  65.                 LD D,H
  66.                 ADD HL,HL
  67.                 ADD HL,HL
  68.                 ADD HL,HL
  69.                 ADD HL,HL
  70.                 ADD HL,HL
  71.                 ADD HL,HL
  72.                 LD E,A
  73.                 SRL E
  74.                 ADD HL,DE
  75.                 AND 1
  76.                 RRCA
  77.                 RRCA
  78.                 RRCA
  79.                 OR 0XC1
  80.                 LD D,A
  81.                 LD E,0XC0
  82.                 ADD HL,DE
  83.                 POP AF
  84.                 LD (HL),A
  85.                 LD A,0X0B
  86.                 CALL SET_7FFD
  87.                 LD A,H
  88.                 XOR 0X20
  89.                 LD H,A
  90.                 LD A,D
  91.                 AND 0X20
  92.                 RLCA
  93.                 RLCA
  94.                 RLCA
  95.                 ADD A,L
  96.                 LD L,A
  97.                 LD (HL),C
  98.                 LD A,0X0F
  99.                 CALL SET_7FFD
  100.                 POP HL
  101.                 POP DE
  102.                 INC D
  103.                 JR PRTT_MSG
  104.  
  105. WAIT_KEYS       LD A,0X7F
  106.                 IN A,(0XFE)
  107.                 RRA
  108.                 JR C,WAIT_KEYS
  109. WAIT_KEY1       XOR A
  110.                 IN A,(0XFE)
  111.                 CPL
  112.                 AND 0X1F
  113.                 JR NZ,WAIT_KEY1
  114.                 RET
  115.                
  116. PRINT           LD A,(HL)
  117.                 INC HL
  118.                 AND A
  119.                 RET Z
  120.                 PUSH HL
  121.                 PUSH DE
  122.                 PUSH DE
  123.                 LD L,A
  124.                 LD H,0
  125.                 LD DE,CHARS-0X100
  126.                 ADD HL,HL
  127.                 ADD HL,HL
  128.                 ADD HL,HL
  129.                 ADD HL,DE
  130.                 POP DE
  131.                 REPT 8
  132.                 LD A,(HL)
  133.                 LD (DE),A
  134.                 INC HL
  135.                 INC D
  136.                 ENDM
  137.                 POP DE
  138.                 POP HL
  139.                 INC E
  140.                 JR PRINT
  141.  
  142. CLEAR_TXTSCR    PUSH AF
  143.                 LD A,0X0F
  144.                 CALL SET_7FFD
  145.                 LD HL,0XC1C0
  146.                 LD A," "
  147.                 CALL CLS_TXTSCR
  148.                 LD HL,0XE1C0
  149.                 CALL CLS_TXTSCR
  150.                 LD A,0X0B
  151.                 CALL SET_7FFD
  152.                 LD HL,0XC1C0
  153.                 POP AF
  154.                 CALL CLS_TXTSCR
  155.                 LD HL,0XE1C0
  156.                 CALL CLS_TXTSCR
  157.                 LD A,0X0F
  158. SET_7FFD        PUSH BC
  159.                 LD BC,0X7FFD
  160.                 OUT (C),A
  161.                 POP BC
  162.                 RET
  163.  
  164. CLS_TXTSCR      LD D,H
  165.                 LD E,L
  166.                 LD BC,0X63F
  167.                 LD (HL),A
  168.                 INC DE
  169.                 LDIR
  170.                 RET
  171.  
  172. TEXT_SPMODE     DB "SPECTRUM SCREEN MODE",0
  173. TEXT_TXTMODE    DB "TEXT SCREEN MODE",0
  174. PRESS_SPACE     DB "PRESS SPACE FOR CONTINUE",0
  175.  
  176. CHARS           binclude ../../page0/source/shr_3d00.bin
  177. TXT_CHARS       binclude ../../page4/source/8x8_ar.fnt
  178.  
  179.    ; Fill rest of rom with 0XFF
  180.                 DUPL 0X3D2F-$,0XFF
  181.                 DB 0X00,0XC9
  182.    
  183.    ; Fill rest of rom with 0XFF
  184.                 DUPL 0X4000-$,0XFF
  185.