system/ppu/background.js
function initAttrAddresses() {
	var i,
	    result = new Uint16Array( 0x8000 );

	for ( i = 0; i < 0x8000; i++ ) {
		result[ i ] = 0x23c0 | (i & 0x0c00) | ((i >> 4) & 0x38) | ((i >> 2) & 0x07);
	}

	return result;
}
function initAttrAddresses() {
	var i,
	    result = new Uint16Array( 0x8000 );

	for ( i = 0; i < 0x8000; i++ ) {
		result[ i ] = 0x23c0 | (i & 0x0c00) | ((i >> 4) & 0x38) | ((i >> 2) & 0x07);
	}

	return result;
}
function initAttrAddresses ( ) { var i , result = new Uint16Array ( 0x8000 ) ; for ( i = 0 ; i < 0x8000 ; i ++ ) { result [ i ] = 0x23c0 | ( i & 0x0c00 ) | ( ( i >> 4 ) & 0x38 ) | ( ( i >> 2 ) & 0x07 ) ; } return result ; }
Initialize attribute address lookup table.
Maps loopy_v values to attribute addresses.
Initialize attribute address lookup table . Maps loopy_v values to attribute addresses .