Rev 548 |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| RSS feed
| ?url?
;LAST UPDATE: 16.08.2015 savelij
include ../../macros.a80
include ../../global_vars.a80
ORG 0X6000
TEST_READ_FONT DI
LD SP,0X6000
LD HL,0X4000
LD D,H
LD E,L
INC DE
LD BC,0X1800
LD (HL),L
LDIR
LD BC,0X300
LD (HL),%00001111
LDIR
LD DE,0X4001
LD HL,FIRST_TEST
CALL PRINT
LD A,4
OUT (PEVO_CONF),A
LD IXL,0
LD HL,0
LD DE,0X8000
LD BC,0X800
LDIR ;
XOR A
OUT (PEVO_CONF),A
LD HL,0X8000
LD DE,TXT_CHARS
LD BC,0X800
TRDFNT01 LD A,(DE) ;
CP (HL)
JR Z,TRDFNT03
LD IXL,1
LD DE,0X4041
LD HL,FIRST_READ_ERR
CALL PRINT
JR TRDFNT04
TRDFNT03 INC HL
INC DE
DEC BC
LD A,B
OR C
JR NZ,TRDFNT01
LD IXL,0
LD DE,0X4801
LD HL,FIRST_PASS_OK
CALL PRINT
TRDFNT04 LD DE,0X50E1
LD HL,PRESS_SPACE
CALL PRINT
CALL WAIT_SPACE
LD HL,TXT_CHARS
; RST 8
; DB Write_font
LD A,4
OUT (PEVO_CONF),A
LD DE,0
LD BC,0X800
LDIR
DJNZ $
LD HL,0
LD DE,0X8000
LD BC,0X800
LDIR ;
XOR A
OUT (PEVO_CONF),A
LD IXL,0
LD HL,TXT_CHARS
LD DE,0X8000
LD BC,0X800
TRDFNT02 LD A,(DE) ;
CP (HL)
JR Z,TRDFNT05
LD IXL,1
LD DE,0X4841
LD HL,SECOND_PASS_ERR
CALL PRINT
JR TRDFNT06
TRDFNT05 INC HL
INC DE
DEC BC
LD A,B
OR C
JR NZ,TRDFNT02
LD DE,0X4841
LD HL,SECOND_PASS_OK
CALL PRINT
TRDFNT06 LD DE,0X50E0
LD HL,PRESS_SPACE
CALL PRINT
CALL WAIT_SPACE
LD A,IXL
AND A
JP NZ,TEST_READ_FONT
LD A,1
OUT (PEVO_CONF),A
LD BC,0X7FFD
LD A,0X10 ; 0
OUT (C),A
LD BC,0XFF77
LD A,0XA4
OUT (C),A
LD BC,WIN_A3
LD A,0X76 ; 9
OUT (C),A
LD HL,0XC800
LD DE,0XC801
LD BC,0X800
LD (HL),%00110000
LDIR
LD DE,0X0203
LD HL,SECOND_TEST
LD C,%00111010
CALL PRINTT
LD DE,0X0905
LD HL,SCREEN0
LD C,%00011001
CALL PRINTT
CALL WAIT_SPACE
LD BC,WIN_A3
LD A,0X74 ; 11
OUT (C),A
LD BC,0X7FFD
LD A,0X18 ; 1
OUT (C),A
LD HL,0XC800
LD DE,0XC801
LD BC,0X800
LD (HL),%00001000
LDIR
LD DE,0X1204
LD HL,SECOND_TEST
LD C,%00011111
CALL PRINTT
LD DE,0X1110
LD HL,SCREEN1
LD C,%00110001
CALL PRINTT
CALL WAIT_SPACE
JR $
;D=X E=Y C=COLOR
PRINTT LD A,(HL)
INC HL
AND A
RET Z
PUSH HL
PUSH DE
LD B,D
LD L,E
LD H,0
LD D,H
ADD HL,HL ;X2
ADD HL,HL ;X4
ADD HL,DE ;X5
ADD HL,HL ;10
ADD HL,HL ;20
ADD HL,HL ;40
ADD HL,HL ;80
LD E,B
ADD HL,DE
LD DE,0XC000
ADD HL,DE
LD (HL),A
SET 3,H
LD (HL),C
POP DE
POP HL
INC D
JR PRINTT
PRINT LD A,(HL)
INC HL
AND A
RET Z
PUSH HL
PUSH DE
PUSH DE
LD L,A
LD H,0
LD DE,TXT_CHARS
ADD HL,HL
ADD HL,HL
ADD HL,HL
ADD HL,DE
POP DE
REPT 8
LD A,(HL)
LD (DE),A
INC HL
INC D
ENDM
POP DE
POP HL
INC E
JR PRINT
WAIT_SPACE LD A,0X7F
IN A,(0XFE)
AND 1
JR NZ,WAIT_SPACE
WAIT_SPACE1 XOR A
IN A,(0XFE)
CPL
AND 0X1F
JR NZ,WAIT_SPACE1
RET
TXT_CHARS binclude ../../page5/source/8x8_ar.fnt
; 01234567890123456789012345678901
FIRST_TEST DB " ¥à¢ë© â¥áâ: ç⥨¥ ä®â ",0
SECOND_TEST DB " â®à®© â¥áâ: ¢ë¢®¤ ⥪áâ ⥪áâ®¢ë¥ íªà ë 9 ¨ 11 ",0
FIRST_READ_ERR DB " ¥à¢®¥ ç⥨¥ ä®â - ®è¨¡ª ",0
FIRST_PASS_OK DB " ¥à¢®¥ ç⥨¥ ä®â - ",0
SECOND_PASS_ERR DB " â®à®¥ ç⥨¥ ä®â - ®è¨¡ª ",0
SECOND_PASS_OK DB " â®à®¥ ç⥨¥ ä®â - ",0
SCREEN0 DB " ¢¥â ï ¯¥ç âì íªà ¥ ®¬¥à 0 - ¢ 9 áâà ¨æ¥ ",0
SCREEN1 DB " ¢¥â ï ¯¥ç âì íªà ¥ ®¬¥à 1 - ¢ 11 áâà ¨æ¥ ",0
PRESS_SPACE DB " Press SPACE please :) ",0