@Override
	protected void execute() {
		Map<Integer, Set<String>> m = new TreeMap<Integer, Set<String>>();

		seq(new WalkToSegment(19, 17));
		seq(Segment.skip(1));
		seqMove(new WriteMemory(0xd3b1, 0x00)); // set index to 0
		qsave();
		for (int map=MIN_MAP;map<=MAX_MAP;map++) {
			if(excludedMaps.contains(map))
				continue;
			qload();
			seqMove(new WriteMemory(0xd3b2, map)); // set map
			seq(new WalkToSegment(3,8, false));
			System.out.println("Map "+map);
			seq(Segment.skip(10));
			int[] memory = curGb.getCurrentMemory();
			for (int i=20;i<0x80;i++) {
				int add = 0xd31e+2*i;
				if (/*memory[add] == 0x48 || memory[add] == 0x49 || memory[add] == 0x4e || memory[add] == 0x29 ||memory[add] == 0xc5 || */memory[add] == 0x1f) {
					String desc = ""+Util.toHex(map,2)+"("+map+"):"+i+"("+Util.toHex(add,4)+")";
					add(memory[add], desc, m);
				}
			}
		}

		for (Entry<Integer, Set<String>> e : m.entrySet()) {
			System.out.print(e.getKey()+":");
			for (String pos : e.getValue())
				System.out.print(" | "+pos);
			System.out.println();
		}
	}