
    pf                     4    d Z dZdZdZdZdZdZ G d d      Zy	)
   @                   c                   H    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)CtrlRegisterc                 f    d| _         d| _        d| _        d| _        d| _        d| _        d| _        y N    flag_Vflag_Pflag_Hflag_Bflag_Sflag_Iflag_Nselfs    4d:\Programming\nes 3\engine\ppu_registers\control.py__init__zCtrlRegister.__init__   s3    DKDKDKDKDKDKDK    c                 &    d| j                   dz  z  S )Ni    
   )r   r   s    r   nametable_addrzCtrlRegister.nametable_addr   s    T[[B&''r   c                 "    | j                   rdS dS )Nr      )r   r   s    r   vram_addr_inczCtrlRegister.vram_addr_inc       2#!#r   c                 "    | j                   rdS dS Ni   r   )r   r   s    r   sprt_pattern_addrzCtrlRegister.sprt_pattern_addr       ;;4%A%r   c                 "    | j                   rdS dS r#   )r   r   s    r   bknd_pattern_addrzCtrlRegister.bknd_pattern_addr   r%   r   c                 "    | j                   rdS dS )Nr   r   r   r   s    r   	sprt_sizezCtrlRegister.sprt_size!   r!   r   c                     | j                   S Nr)   r   s    r   master_slavezCtrlRegister.master_slave$       ;;r   c                     | j                   S r,   )r   r   s    r   gen_vblank_nmizCtrlRegister.gen_vblank_nmi'   r.   r   c                     |t         z  dk7  | _        |t        z  dk7  | _        |t        z  dk7  | _        |t        z  dk7  | _        |t        z  dk7  | _	        |t        z  dk7  | _        |t        z  | _        y r   )V_MASKr   P_MASKr   H_MASKr   B_MASKr   S_MASKr   I_MASKr   N_MASKr   )r   values     r   setzCtrlRegister.set*   sm    &.A%DK&.A%DK&.A%DK&.A%DK&.A%DK&.A%DK&.DKr   c                     | j                   dz  | j                  dz  z  | j                  dz  z  | j                  dz  z  | j                  dz  z  | j
                  dz  z  | j                  z  S )N         r   r      r   r   s    r   getzCtrlRegister.get3   s|    
kkQ
kkQ
kkQ kkQ kkQ	
 kkQ kkr   N)__name__
__module____qualname__r   r   r    r$   r'   r*   r-   r0   r:   r@    r   r   r
   r
   
   s4    ($&&$!	r   r
   N)r2   r3   r4   r5   r6   r7   r8   r
   rD   r   r   <module>rE      s2   






2 2r   