Subversion Repositories pentevo

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
537 lvd 1
; TESTING ATM AND NEW TEXT MODES
;
; USES TXT SCREEN DUMPS BY DDp

START   EQU     #6000
        ORG     START

        DI 

        LD      A,1
        OUT     (#FE),A

        XOR     A
        OUT     (#BF),A

        LD      BC,#EFF7
        OUT     (C),A

        INC     A
        OUT     (#BF),A

        LD      A,#07
        LD      BC,#FF77
        OUT     (C),A     ;1-page ATM text mode

        CALL    OUTPAGE

LOOP
        CALL    SYNCREAD
        CALL    DECODEFONT
        CALL    INVERTFONT
        CALL    WRITEFONT

        LD      A,#7F
        IN      A,(#FE)
        RRA 
        JR      C,LOOP


        LD      A,#FF
        LD      BC,#FFF7
        OUT     (C),A

        LD      A,#03
        LD      C,#77
        OUT     (C),A



        XOR     A
        OUT     (#BF),A

        RET 



OUTPAGE
        LD      A,#7F-8
        LD      BC,#FFF7
        OUT     (C),A

        LD      HL,#C000
        LD      DE,#C001
        LD      (HL),#05
        LD      BC,#3FFF
        LDIR 

        XOR     A
        LD      HL,#C1C0
        LD      DE,64-40
        LD      C,25
STRLOOP
        LD      B,80/5
SYMLOOP
        CALL    PRINC
        CALL    PRINC
        CALL    PRINC
        CALL    PRINC
        CALL    PRINC

        INC     A

        DJNZ    SYMLOOP

        ADD     HL,DE

        DEC     C
        JR      NZ,STRLOOP

        RET 

PRINC
        LD      (HL),A
        BIT     4,H
        SET     4,H
        RET     Z
        RES     4,H
        INC     HL
        RET 





SYNCREAD
        DI 
        IM      2


        ;MUST BE 7MHz MODE HERE!!!!!!!!!!!!!!!!!!!


        ; setup IM2 tables

        LD      HL,INTTAB
        LD      A,H
        LD      I,A
        INC     A

        LD      (HL),A
        INC     L
        JR      NZ,$-2

        INC     H
        LD      (HL),A

        LD      L,H
        LD      (HL),#C3 ; JP
        INC     HL
        LD      (HL),.INTPROC
        INC     HL
        LD      (HL),'INTPROC


        LD      HL,FREAD

        EI 
        HALT 
        EI 
        HALT 

        LD      BC,0
        LD      B,2
        DJNZ    $
        LD      D,76

LINWAIT
        LD      BC,256*33
        DJNZ    $
        DEC     D
        JP      NZ,LINWAIT

        LD      BC,#0EBE
        LD      D,128

READLOOP
       DUP     16
        INI 
        INC     B
       EDUP 

        LD      E,7
        DEC     E
        JR      NZ,$-1

        DEC     D
        JP      NZ,READLOOP



        DI 
        IM      1
        RET 

INTPROC
        RET 




DECODEFONT

        LD      HL,FREAD
        LD      DE,FONT


        LD      HX,16
DF256L
        LD      LX,16
DF16L
        LD      BC,16
       DUP     8
        LD      A,(HL)
        ADD     HL,BC
        LD      (DE),A
        INC     DE
       EDUP 

        LD      BC,1-128
        ADD     HL,BC

        DEC     LX
        JR      NZ,DF16L

        LD      BC,128-16
        ADD     HL,BC

        DEC     HX
        JR      NZ,DF256L

        RET 



INVERTFONT

        LD      HL,FONT
        LD      BC,2048
IFLOOP
        LD      A,(HL)
        CPL 
        LD      (HL),A
        CPI 
        JP      PE,IFLOOP

        RET 



WRITEFONT

        LD      A,#05
        OUT     (#BF),A

        LD      HL,FONT
        LD      DE,FLDIR
        LD      BC,2048
        LDIR 

        LD      A,1
        OUT     (#BF),A
        RET 



        ORG     ($+255)&#FF00
INTTAB
        DS      512


FREAD   DS      2048
FONT    DS      2048

FLDIR   EQU     FONT & #F800

ENDD
        ORG     START