public void addSymFile(String fileName) throws Throwable {
		BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), "ASCII"));
		int numRead = 0;
		int numInserted = 0;
		String line;
		while(true) {
			line = br.readLine();
			if(line == null)
				break;
			if(line.contains(";"))
				line = line.substring(0,line.indexOf(";")); // cut off comments
			if(line.trim().isEmpty())
				continue;
			numRead++;
			String add = line.substring(0, line.indexOf(" "));
			String name = line.substring(line.indexOf(" ")+1);
			int bank = Integer.valueOf(add.substring(0,add.indexOf(":")), 16);
			int address = Integer.valueOf(add.substring(add.indexOf(":")+1), 16);
			if(name.contains("."))
				name = name.substring(name.lastIndexOf("."));
			if(name.startsWith(".asm"))
				continue;
			if(address >= 0x8000) {
				ramLabel[address-0x8000].add(name);
				continue;
			}
			if(address >= 0x8000)
				continue;
			if(address >= 0x4000)
				address += (bank-1)*0x4000;
			label[address] = name;
			numInserted++;
		}
		br.close();
		System.out.println("inserted "+numInserted+" of "+numRead+" labels");
	}