Top secrets sources NedoPC pentevo

Rev

Rev 736 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?


; à¨¬¥à ç⥭¨ï ä®­â஬  ¢ ¯¥­â¥¢¥
;
; (c) lvd^nedopc 2012
;
; á®à¥æ ¤«ï  « á¬ 

;……„…‹Š€ „‹Ÿ ŠŽŒˆ‹Ÿ–ˆˆ ‚ ‘Ž‘’€‚… EVO RESET SERVICE 16.04.2012 savelij

;LAST UPDATE: 30.06.2019 savelij

;START   EQU     #6000
 ;       ORG     START

FREAD           EQU CPU1+OFFSET_SCRSAVE;OFFSET_FNTSAVE;-0X800
FONT            EQU CPU1+OFFSET_FNTSAVE;0XD800
;FLDIR          EQU 0XD800

SCAN_FONT
;        DI

;        LD      A,1
;        OUT     (0XFE),A

;        XOR     A
;        OUT     (PEVO_CONF),A

;        LD      BC,0XEFF7
;        OUT     (C),A   ;áâ ¢¨¬ ¥ää7, ª®â®àë© ¤®áâ㯥­ ⮫쪮 ¢ ­¥è¥¤®ã-०¨¬¥

;        INC     A
;        OUT     (PEVO_CONF),A

        LD      A,0XA7
        LD      BC,0XFF77
        OUT     (C),A     ;¢ª«îç ¥¬ ­®¢ë© ¯¥­â¥¢­ë© ⥪á⬮¤ - 1-áâà ­¨ç­ë©
                          ; § ®¤­® ¥ää7 ¨ ää77 áâ ¢ïâ ­ ¬ 7 Œƒæ ç áâ®âã
                EVOPORT WIN_P1,RAM_SCR_FONT
        CALL    OUTPAGE   ;¢ë¢®¤¨¬ ¢á¥ ᨬ¢®«ë ­  íªà ­

LOOP
        CALL    SYNCREAD   ;áç¨â뢠¥¬ ä®­â஬ ¬¥â®¤®¬ ç⥭¨ï ¡ ©â¨ª®¢, ª®â®àë¥ ­  íªà ­¥
        JP    DECODEFONT ; ¯¥à¥ª®¤¨à㥬 ¢ ®¡ëç­ë© ä®à¬ â ä®­â஬  ˆˆ‚…’ˆŒ ‘—ˆ’€›‰ ”Ž’
;        CALL    INVERTFONT ; ¨­¢¥àâ¨à㥬 ¢á¥ ¡ ©âë ä®­â 
;        CALL    WRITEFONT  ; ¯¨è¥¬ ¢§ ¤

;        LD      A,0X7F
;        IN      A,(0XFE)
;        RRA
;        JR      C,LOOP     ;¨â®£® ¢áñ ¬¨£ ¥â ¯®ª  ­¥ ­ ¦¬ñ¬ any key

;        LD      A,0XFF
;        LD      BC,WIN_A3
;        OUT     (C),A

;        LD      A,0XA3
;        LD      BC,0XFF77
;        OUT     (C),A ; ¢®ááâ ­ ¢«¨¢ ¥¬ 6912-०¨¬

;        XOR     A
;        OUT     (PEVO_CONF),A ;§ ªà뢠¥¬ 襤®ã

;        RET

OUTPAGE
;        LD      A,0X7F-8    ;£¤¥ ­ å®¤¨âáï 1áâà ­¨ç­ë© ⥪á⬮¤ (ᬠ¤®ªã)
;        LD      BC,WIN_A3
;        OUT     (C),A

;        LD      HL,0XC000   ; áâ ¢¨¬  âਡãâë. ¥ ®¡ï§ â¥«ì­®, ç⮡ ᨬ¢®«ë ¡ë«¨ ¢¨¤¨¬ë,
;        LD      DE,0XC001   ; ¬®¦­® ­ ä¨£ ç¨âì ­ã«¥©
;        LD      (HL),0X01;5
;        LD      BC,0X3FFF
;        LDIR

                XOR A
                LD HL,CPU3+LATTR
                ROMCALL CLSTXTMD1,ROM_RST82
                XOR A
                LD HL,CPU3+RATTR
                ROMCALL CLSTXTMD1,ROM_RST82

        XOR     A         ; ª®¤ ¯¥ç â ¥¬®£® ᨬ¢®« 
        LD      HL,CPU3+LSYM    ;0XC1C0  ; ®âªã¤  ­ ç¨­ ¥¬ ¯¥ç â âì
        LD      DE,64-40
        LD      C,25      ; ᪮«ìª® áâப ¯¥ç â ¥¬. „®áâ â®ç­® ­ ¯¥ç â âì 16 áâப ᢥàåã.
STRLOOP
        LD      B,80/5
SYMLOOP
        CALL    PRINC  ; ¯®¢â®à塞 ª ¦¤ë© ᨬ¢®« 5 à §
        CALL    PRINC
        CALL    PRINC
        CALL    PRINC
        CALL    PRINC

        INC     A

        DJNZ    SYMLOOP

        ADD     HL,DE ; ᬥ饭¨¥ ­  á«¥¤ãîéãî áâபã

        DEC     C
        JR      NZ,STRLOOP

        RET

PRINC   ; ¯¥ç â ¥¬ ᨬ¢®« ¨  ¯¤¥©â¨¬ 㪠§ â¥«ì ¢ HL ­  á«¥¤ãî騩 ᨬ¢®«
        LD      (HL),A
        BIT     4,H
        SET     4,H
        RET     Z
        RES     4,H
        INC     HL
        RET

SYNCREAD

        ; íâ  ¯à®æ¥¤ãà  ¤®«¦­  ¢ë¯®«­ïâìáï ¯à¨ ç áâ®â¥ ¯à®æ¥áá®à  7 Œƒæ!!!!!!!

        ; á­ ç «  ¢ª«îç ¥¬ IM 2 ¨ ¤¥« ¥¬ â ¡«¨çª¨ ¤«ï ­¥£®
        DI
;        IM      2  

        ; setup IM2 tables

;        LD      HL,INTTAB
;        LD      A,1
;        LD      I,A
;        INC     A

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

;        INC     H
;        LD      (HL),A

;        LD      L,H
;        LD      (HL),0XC3 ; JP
;        INC     HL
;        LD      (HL)LOW (INTPROC)
;        INC     HL
;        LD      (HL),HIGH (INTPROC)


                LD HL,EI_RET
                LD (ADR_INT),HL

        LD      HL,FREAD ; § à ­¥¥ áâ ¢¨¬ ªã¤  ¡ã¤¥¬ ç¨â âì ä®­â

        EI  
        HALT
        EI
        HALT ; ¤¥« ¥¬ å «â ç⮡ ¯®á«¥ ¨­â  ¨ § ¤¥à¦ª¨ ¯®¯ áâì ç⥭¨¥¬ ᯥ毮àâ  ¯àאַ
             ; ¢ ¬®¬¥­â ­ ç «  ®â®¡à ¦¥­¨ï ᨬ¢®«®¢. ¤¥« ¥¬ å «â 2 à § , ç⮡ ã¡¥¤¨ææ®,
             ; çâ® ¨­â ¡ã¤¥â á墠祭 ¢ ᢮¥¬ ­ ç «¥,   ­¥ ¢ á¥à¥¤¨­¥.
             ; ®¡à ¡®â稪 ¨­â  - á­ ç «  JP, ¯®â®¬ RET.




        ; ¤¥« ¥¬ § ¤¥à¦ªã ¤® ¬®¬¥­â  ®â®¡à ¦¥­¨ï ¯¥à¢®£® ᨬ¢®« . Ž­ ¯®¢â®àï¥âáï 5 à §,
        ;   ¯¥à¢ ï ª®¬ ­¤  INI ¯®¯ ¤ ¥â 横«®¬ ¢¢®¤  ¯à¨¬¥à­® ¢ á¥à¥¤¨­ã íâ¨å
        ; 5 ᨬ¢®«®¢
        LD      BC,0            ;10
        DI                      ;4
        LD      B,2             ;7
        DJNZ    $               ;13*2+8
        LD      D,76
LINWAIT
        LD      BC,256*33
        DJNZ    $
        DEC     D
        JP      NZ,LINWAIT
        LD      BC,0X0EBE  ; § ®¤­® ¢ ¯à®æ¥áᥠ§ ¤¥à¦ª¨ £à㧨¬  ¤à¥á ¯®àâ 
        LD      D,128     ; ¨ áçñâ稪 ¤«ï 128 áâப


READLOOP
        ; ç¨â ¥¬ 16 ¡ ©â. Š ª à § INI:INC B ¢ë¯®«­ï¥âáï §  20 ⠪⮢, ¨ 5 ᨬ¢®«®¢
        ; ¤«ïâáï ⮦¥ 20 ⠪⮢ (@7MHz nowait)
       REPT     16
        INI
        INC     B
       ENDM

        LD      E,7    ; ¯à®á¨à ¥¬ ®á⠢襥áï ¢à¥¬ï áâப¨
        DEC     E
        JR      NZ,$-1

        DEC     D
        JP      NZ,READLOOP ; ¨â®£® ¢¥áì íâ®â «ã¯ § ­¨¬ ¥â 448 ⠪⮢


        ; ¢áñ áç¨â «¨, ¨¤ñ¬ ­  ©ãå...
        DI
 ;       IM      1
        RET

;INTPROC ; ®¡à ¡®â祣 ¨­â  :)
;        RET




DECODEFONT
       
        ; ¯¥à¥ª®¤¨à㥬 áç¨â ­­ë© ä®­â ¢ ®¡ëç­ë© ä®à¬ â

        LD      HL,FREAD
        LD      DE,FONT


        LD      IXH,16
DF256L
        LD      IXL,16
DF16L
        LD      BC,16
       REPT     8
        LD      A,(HL)
        ADD     HL,BC
        LD      (DE),A
        INC     DE
       ENDM

        LD      BC,1-128
        ADD     HL,BC

        DEC     IXL
        JR      NZ,DF16L

        LD      BC,128-16
        ADD     HL,BC

        DEC     IXH
        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,0X05
;        OUT     (PEVO_CONF),A

;        LD      HL,FONT
;        LD      DE,FLDIR ; «¤¨à¨¬ ¨§ ®§ã ¢ ®§ã -- ¢áñ à ¡®â ¥â
;        LD      BC,2048
;        LDIR

;        LD      A,1
;        OUT     (PEVO_CONF),A
;        RET



;        ORG     ($+255)&0XFF00
;INTTAB
;        DS      512


;FREAD   DS      2048
;FONT    DS      2048

;FLDIR   EQU     FONT & 0XF800

;ENDD
;        ORG     START