Top secrets sources NedoPC pentevo

Rev

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