
    ZSh                     4    S r SrSrSrSrSrSr " S S5      rg	)
   @                   c                   P    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)CtrlRegister
   c                 f    SU l         SU l        SU l        SU l        SU l        SU l        SU l        g N    flag_Vflag_Pflag_Hflag_Bflag_Sflag_Iflag_Nselfs    KC:\Users\trevor\Downloads\nes_v0.5\nes_v0.5\engine\ppu_registers\control.py__init__CtrlRegister.__init__   s3    DKDKDKDKDKDKDK    c                 &    SU R                   S-  -  $ )Ni    r   )r   r   s    r   nametable_addrCtrlRegister.nametable_addr   s    T[[B&''r   c                 ,    U R                   (       a  S$ S$ )Nr      )r   r   s    r   vram_addr_incCtrlRegister.vram_addr_inc       2#!#r   c                 ,    U R                   (       a  S$ S$ Ni   r   )r   r   s    r   sprt_pattern_addrCtrlRegister.sprt_pattern_addr       ;;4%A%r   c                 ,    U R                   (       a  S$ S$ r&   )r   r   s    r   bknd_pattern_addrCtrlRegister.bknd_pattern_addr   r)   r   c                 ,    U R                   (       a  S$ S$ )Nr   r   r   r   s    r   	sprt_sizeCtrlRegister.sprt_size!   r$   r   c                     U R                   $ Nr.   r   s    r   master_slaveCtrlRegister.master_slave$       ;;r   c                     U R                   $ r2   )r   r   s    r   gen_vblank_nmiCtrlRegister.gen_vblank_nmi'   r5   r   c                     U[         -  S:g  U l        U[        -  S:g  U l        U[        -  S:g  U l        U[        -  S:g  U l        U[        -  S:g  U l	        U[        -  S:g  U l        U[        -  U l        g r   )V_MASKr   P_MASKr   H_MASKr   B_MASKr   S_MASKr   I_MASKr   N_MASKr   )r   values     r   setCtrlRegister.set*   sm    &.A%DK&.A%DK&.A%DK&.A%DK&.A%DK&.A%DK&.DKr   c                     U R                   S-  U R                  S-  -  U R                  S-  -  U R                  S-  -  U R                  S-  -  U R
                  S-  -  U R                  -  $ )N         r   r      r   r   s    r   getCtrlRegister.get3   s|    
kkQ
kkQ
kkQ kkQ kkQ	
 kkQ kkr   )r   r   r   r   r   r   r   N)__name__
__module____qualname____firstlineno__r   r   r"   r'   r+   r/   r3   r7   rB   rI   __static_attributes__ r   r   r
   r
   
   s4    ($&&$!	r   r
   N)r:   r;   r<   r=   r>   r?   r@   r
   rP   r   r   <module>rQ      s2   






2 2r   