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

COLOR1          EQU 0X0B
COLOR2          EQU 0X22

                ORG 0
TEST_TXTMODE    DI
                LD SP,0X6000
                LD BC,0XFF77
                LD A,0XA3               ;SPECTRUM SCREEN
                OUT (C),A
                XOR A
                CALL SET_7FFD
                LD HL,0X4000
                LD DE,0X4001
                LD BC,0X1800
                LD (HL),L
                LDIR
                LD D,H
                LD E,L
                INC DE
                LD BC,0X300
                LD (HL),0X39
                LDIR
                LD A,1
                OUT (0XFE),A
                LD DE,0X4808            ;€„…‘ …—€’ˆ € Š€…
                LD HL,TEXT_SPMODE
                CALL PRINT
                LD DE,0X48E2
                LD HL,PRESS_SPACE
                CALL PRINT
                CALL WAIT_KEYS
                LD BC,0XFF77
                LD A,0XA6               ;TEXTMODE SCREEN
                OUT (C),A
                LD A,5
                OUT (0XFE),A
                LD A,0X27
                CALL CLEAR_TXTSCR
                LD DE,0X1006
                LD HL,TEXT_TXTMODE
                LD C,COLOR1
                CALL PRTT_MSG
                LD DE,0X2010
                LD HL,PRESS_SPACE
                LD C,COLOR2
                CALL PRTT_MSG
                CALL WAIT_KEYS
                JP TEST_TXTMODE

PRTT_MSG        LD A,(HL)
                INC HL
                AND A
                RET Z
;D-X E-Y C-COLOR
                PUSH DE
                PUSH HL
                PUSH AF
                LD L,E
                LD A,D
                LD H,0
                LD D,H
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                LD E,A
                SRL E
                ADD HL,DE
                AND 1
                RRCA
                RRCA
                RRCA
                OR 0XC1
                LD D,A
                LD E,0XC0
                ADD HL,DE
                POP AF
                LD (HL),A
                LD A,0X0B
                CALL SET_7FFD
                LD A,H
                XOR 0X20
                LD H,A
                LD A,D
                AND 0X20
                RLCA
                RLCA
                RLCA
                ADD A,L
                LD L,A
                LD (HL),C
                LD A,0X0F
                CALL SET_7FFD
                POP HL
                POP DE
                INC D
                JR PRTT_MSG

WAIT_KEYS       LD A,0X7F
                IN A,(0XFE)
                RRA
                JR C,WAIT_KEYS
WAIT_KEY1       XOR A
                IN A,(0XFE)
                CPL
                AND 0X1F
                JR NZ,WAIT_KEY1
                RET
               
PRINT           LD A,(HL)
                INC HL
                AND A
                RET Z
                PUSH HL
                PUSH DE
                PUSH DE
                LD L,A
                LD H,0
                LD DE,CHARS-0X100
                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

CLEAR_TXTSCR    PUSH AF
                LD A,0X0F
                CALL SET_7FFD
                LD HL,0XC1C0
                LD A," "
                CALL CLS_TXTSCR
                LD HL,0XE1C0
                CALL CLS_TXTSCR
                LD A,0X0B
                CALL SET_7FFD
                LD HL,0XC1C0
                POP AF
                CALL CLS_TXTSCR
                LD HL,0XE1C0
                CALL CLS_TXTSCR
                LD A,0X0F
SET_7FFD        PUSH BC
                LD BC,0X7FFD
                OUT (C),A
                POP BC
                RET

CLS_TXTSCR      LD D,H
                LD E,L
                LD BC,0X63F
                LD (HL),A
                INC DE
                LDIR
                RET

TEXT_SPMODE     DB "SPECTRUM SCREEN MODE",0
TEXT_TXTMODE    DB "TEXT SCREEN MODE",0
PRESS_SPACE     DB "PRESS SPACE FOR CONTINUE",0

CHARS           binclude ../../page3/source/shr_3d00.bin
TXT_CHARS       binclude ../../page5/source/8x8_ar.fnt

   ; Fill rest of rom with 0XFF
                DUPL 0X3D2F-$,0XFF
                DB 0X00,0XC9
   
   ; Fill rest of rom with 0XFF
                DUPL 0X4000-$,0XFF