int main(int argc, char *argv[])
{
	reset8080(0x0100);
	
	uint8_t *bufp = registerBank(0x0000, 0x10000, NULL, 0);

	bufp[0] = 0xc3;

	// FILE *fp = fopen("CPUTEST.COM", "rb");
	FILE *fp = fopen("8080EXM.COM", "rb");
	fread(bufp + 0x100, 1, 0x10000, fp);
	fclose(fp);
	
	while (!e8080.halt)
	{		
		emulate8080(5 * 50 * 1000000);
	}
	
	return 1;
}
int initalize8080 ()
{
	FILE * romBank;
	char *bankName[] = {"invaders.h", "invaders.g", "invaders.f", "invaders.e"};
	int c;
	
	printf("Resetting the 8080...\n");
	
	reset8080();
	
	u8 *bankPtr = NULL;
	
	for (c = 0; c < 4; c++) {
		if (e8080.ram[c].flag == FLAG_ROM) {
			printf("ROM @ %#x (%#x) %p\n", e8080.ram[c].start, e8080.ram[c].size, e8080.ram[c].ptr);
			bankPtr = e8080.ram[c].ptr;
			break;
		}
	}
			
	if (!bankPtr)
		die("No rom bank defined");
			
	for (c = 0; c < 4; c++) {
		romBank = fopen(bankName[c], "rb");
		if (!romBank) {
			return 0;
		}
		if (fread(&bankPtr[0x0800 * c], 1, 0x0800, romBank) != 0x0800) {
			return 0;
		}
		fclose(romBank);
	}
	
	printf("Loaded the 4 rom banks...\n");
	
	return 1;
}