public static int[][] getTiles(int dx, int dy, int width, int blockAdd, int tilesetAdd, int tilesetBankOffset) {
		int[] rom = curGb.getROM();
		int[][] tmp = new int[24][20];
		int add = blockAdd;
		for (int y=0;y<5;y++) {
			for (int x=0;x<6;x++) {
				int block = getBlockVal(tilesetBankOffset, rom, add);
				for (int yy=0;yy<4;yy++)
					for (int xx=0;xx<4;xx++)
						tmp[x*4 + xx][y*4 + yy] = getTileVal(tilesetAdd, rom, 16*block + 4*yy + xx);
				add++;
			}
			add += (width + 6) - 6;
		}
		int[][] ret = new int[20][18];
		for (int y=0;y<18;y++)
			for (int x=0;x<20;x++)
				ret[x][y] = tmp[x + 2*(dx&1)][y + 2*(dy&1)];
		return ret;
	}