コード例 #1
0
ファイル: pbi_mio.c プロジェクト: OpenEmu/Atari800-Core
static void init_mio(void)
{
	free(mio_rom);
	mio_rom = (UBYTE *)Util_malloc(mio_rom_size);
	if (!Atari800_LoadImage(mio_rom_filename, mio_rom, mio_rom_size)) {
		free(mio_rom);
		mio_rom = NULL;
		return;
	}
	D(printf("Loaded mio rom image\n"));
	PBI_MIO_enabled = TRUE;
	if (PBI_SCSI_disk != NULL) fclose(PBI_SCSI_disk);
	if (!Util_filenamenotset(mio_scsi_disk_filename)) {
		PBI_SCSI_disk = fopen(mio_scsi_disk_filename, "rb+");
		if (PBI_SCSI_disk == NULL) {
			Log_print("Error opening SCSI disk image:%s", mio_scsi_disk_filename);
		}
		else {
			D(printf("Opened SCSI disk image\n"));
			mio_scsi_enabled = TRUE;
		}
	}
	if (!mio_scsi_enabled) {
		PBI_SCSI_BSY = TRUE; /* makes MIO give up easier */
	}
	free(mio_ram);
	mio_ram = (UBYTE *)Util_malloc(mio_ram_size);
	memset(mio_ram, 0, mio_ram_size);
}
コード例 #2
0
ファイル: atari.c プロジェクト: bazilio-ua/Atari800MacX
static int load_roms(void)
{
	switch (Atari800_machine_type) {
	case Atari800_MACHINE_OSA:
		if (emuos_mode == 2)
			COPY_EMUOS(0x0800);
		else if (!Atari800_LoadImage(CFG_osa_filename, MEMORY_os, 0x2800)) {
			if (emuos_mode == 1)
				COPY_EMUOS(0x0800);
			else
				return FALSE;
		}
		else
			MEMORY_have_basic = Atari800_LoadImage(CFG_basic_filename, MEMORY_basic, 0x2000);
		break;
	case Atari800_MACHINE_OSB:
		if (emuos_mode == 2)
			COPY_EMUOS(0x0800);
		else if (!Atari800_LoadImage(CFG_osb_filename, MEMORY_os, 0x2800)) {
			if (emuos_mode == 1)
				COPY_EMUOS(0x0800);
			else
				return FALSE;
		}
		else
			MEMORY_have_basic = Atari800_LoadImage(CFG_basic_filename, MEMORY_basic, 0x2000);
		break;
	case Atari800_MACHINE_XLXE:
		if (emuos_mode == 2)
			COPY_EMUOS(0x2000);
		else if (!Atari800_LoadImage(CFG_xlxe_filename, MEMORY_os, 0x4000)) {
			if (emuos_mode == 1)
				COPY_EMUOS(0x2000);
			else
				return FALSE;
		}
		else {
			/* if you really don't want built-in BASIC */
			if (!strcmp(CFG_basic_filename,"none"))
				memset(MEMORY_basic, 0, 0x2000);
			else if (!Atari800_LoadImage(CFG_basic_filename, MEMORY_basic, 0x2000))
				return FALSE;
		}
		MEMORY_xe_bank = 0;
		break;
	case Atari800_MACHINE_5200:
		if (!Atari800_LoadImage(CFG_5200_filename, MEMORY_os, 0x800))
			return FALSE;
		break;
	}
	return TRUE;
}