public void addAssembly(String fileName, String baseFileName) throws Throwable {
		Scanner sc = new Scanner(new File(baseFileName));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8"));

		while(sc.hasNextLine()) {
			String line = sc.nextLine();
			// example line: INCBIN "baserom.gbc",$13074,$13095 - $13074
			String prefix = "INCBIN \"baserom.gbc\"";
			if(!line.startsWith(prefix)) {
				bw.write(line + "\n");
				continue;
			}
			String[] parts = line.split(",");
			if(parts.length != 3) {
				System.out.println("line \""+line+"\" has invalid separations");
				bw.write(line + "\n");
				continue;
			}
			int start = evalNumber(parts[1]);
			int len = evalNumber(parts[2]);
			if(start == -1 || len == -1) {
				System.out.println("line \""+line+"\" has invalid range");
				bw.write(line + "\n");
				continue;
			}
			writeAssembly(bw,start,start+len);
		}
		sc.close();
		bw.close();
	}