Login

Subversion Repositories NedoOS

Rev

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

;Процедуры вывода "Об игре" и "Об авторах"
;
;ABOUT

;Эти переменные нужно взять
;из основной программы, либо компилировать
;в составе основной проги!
;--------------------
;PG_VIEW EQU 7
;PAGE   EQU 0
;MKEYSp1  EQU 0
;CURSCR EQU 0
;PR64   EQU 0
;IM2M2  EQU 0
;IM2N   EQU 0
;--------------------

PRINTER
;d=0..1
;       LD A,16
;       LD (CURSCR-1),A
        CALL PAGE_PG_VIEW

        PUSH BC
        PUSH DE

PRTER   XOR A
        LD (MKEYSp1),A

        LD DE,#1800
        LD HL,#D800
        LD BC,32
PRTLP0  LD (HL),E
        CPI
        JP PE,PRTLP0
        HALT
        DEC D
        JR NZ,PRTLP0-3

        LD HL,#C000
        LD DE,#C001
        LD BC,6143
        LD (HL),L
        LDIR

        POP DE
        POP BC
        LD A,D      ;Если D=1 - заходим в описание первый раз
        OR E        ;Если DE=0 - выход из описания в меню
        RET Z
        DEC D
        JR Z,PRTLP1
        INC D
        JR PRTLP2   ;Продолжение описания с адреса DE
PRTLP1  LD HL,#1203 ;координаты
        LD DE,ABGM1 ;об игре
        INC C
        DEC C
        JR Z,PRTLP2
        LD DE,AUTR  ;об авторах
PRTLP2  CALL PR64

;можно юзать токен смены координат: 0,1,X,Y

        INC DE
        LD A,(DE)
        DEC A
        JR NZ,PRTLP5
        INC DE
        EX DE,HL
        LD D,(HL)
        INC HL
        LD E,(HL)
        INC HL
        EX DE,HL
        JR PRTLP2

PRTLP5
        EX DE,HL
        INC HL
        LD D,(HL)
        INC HL
        LD E,(HL)
        INC HL
        LD A,(HL)
        INC HL
        LD C,(HL)
        INC HL
        LD B,(HL)
        EX DE,HL
        PUSH BC
        PUSH BC

        LD DE,#D800
        LD B,23
PRTLP4  PUSH BC
        ADD HL,HL
        ADC A,A
        CALL ATRLIN
        POP BC
        DJNZ PRTLP4
       
;Ожид. клавишу
PRTLP3  LD H,25 ;скорость мигания во фреймах
        HALT
        LD A,(MKEYSp1)
        AND %00010000 ;Fire
        LD B,A
        LD A,(KEYSp1)
        AND %10000000 ;Enter
        OR B
        JR NZ,PRTER
        DEC H
        JR NZ,PRTLP3+2
        LD DE,#DAE0
        LD A,6  ;Цвет мигания
        XOR 6
        LD ($-1),A
        LD C,A
        CALL ATRLP
        JR PRTLP3

ATRLIN  LD C,7
        JR NC,$+4
        LD C,4
ATRLP   LD B,32
        EX DE,HL
        LD (HL),C
        INC HL
        DJNZ $-2
        EX DE,HL
        RET

AUTR
        DB "Художник",13
        DB "Кирилл Каган (Surfin Bird)",13,13
;       DB "Александр Шушков (Axor)",13
;       DB "Дмитрий Патютько (Pulsar)",13,13

        DB "Композиторы:",13
        DB "Дмитрий Жемков (C-jeff)",13
        DB "Андрей Пеунов (Bedjamen)",13
        DB "n1k-o",13,13

        DB "Программисты:",13
        DB "Александр Шушков (Axor)",13
        DB "Александр Синяков (SAM style)",13
        DB "Сергей Бульба",13
        DB "Дмитрий Быстров (Alone Coder)",13,13

        DB "Авторы сценария:",13
        DB "Владимир Сивов",13
        DB "Александр Разумов",13,13

        DB "(c) 2003-2008, Perspective",0

;       DB "Антон Яковлев (scl)",13
;       DB "Александр Шушков (Axor)",0
        DB 1,58,23,"В меню",0,2
        DB %00010000,%01000000 ;атрибутная раскраска по строкам
        DB %00010010
        DW 0        ;адрес продолжения текста, 0,0-конец

ABGM1   INCBIN "VERA_ZX1.C" ;текст об игре1
        DB 0
        DB 0,0,64
        DW ABGM2

ABGM2   INCBIN "VERA_ZX2.C" ;текст об игре2
        DS 6