mirror of
https://github.com/Oibaf66/fbzx-wii.git
synced 2024-11-30 20:14:15 +01:00
Added ZX Interface II Rom cartridge loading feature
This commit is contained in:
parent
2596ca34ab
commit
337799cccb
2
Makefile
2
Makefile
@ -116,6 +116,7 @@ dist: $(BUILD)
|
||||
mkdir -p $@/fbzx-wii/spectrum-roms
|
||||
mkdir -p $@/fbzx-wii/tapes
|
||||
mkdir -p $@/fbzx-wii/snapshots
|
||||
mkdir -p $@/fbzx-wii/snapshots/rom-cartridges
|
||||
mkdir -p $@/fbzx-wii/microdrives
|
||||
mkdir -p $@/fbzx-wii/scr
|
||||
mkdir -p $@/fbzx-wii/scr2
|
||||
@ -145,6 +146,7 @@ dist: $(BUILD)
|
||||
cp AMSTRAD CAPABILITIES COPYING FAQ README README.TZX VERSIONS VERSIONS.wii $@/apps/fbzx-wii/doc
|
||||
touch $@/fbzx-wii/tapes/dummy
|
||||
touch $@/fbzx-wii/snapshots/dummy
|
||||
touch $@/fbzx-wii/snapshots/rom-cartridges/dummy
|
||||
touch $@/fbzx-wii/microdrives/dummy
|
||||
touch $@/fbzx-wii/scr/dummy
|
||||
touch $@/fbzx-wii/scr2/dummy
|
||||
|
@ -126,6 +126,7 @@ dist: $(BUILD)
|
||||
mkdir -p $@/fbzx-wii/spectrum-roms
|
||||
mkdir -p $@/fbzx-wii/tapes
|
||||
mkdir -p $@/fbzx-wii/snapshots
|
||||
mkdir -p $@/fbzx-wii/snapshots/rom-cartridges
|
||||
mkdir -p $@/fbzx-wii/microdrives
|
||||
mkdir -p $@/fbzx-wii/scr
|
||||
mkdir -p $@/fbzx-wii/scr2
|
||||
@ -155,6 +156,7 @@ dist: $(BUILD)
|
||||
cp AMSTRAD CAPABILITIES COPYING FAQ README README.TZX VERSIONS VERSIONS.wii README_WIN.txt $@/fbzx-wii/doc
|
||||
touch $@/fbzx-wii/tapes/dummy
|
||||
touch $@/fbzx-wii/snapshots/dummy
|
||||
touch $@/fbzx-wii/snapshots/rom-cartridges/dummy
|
||||
touch $@/fbzx-wii/microdrives/dummy
|
||||
touch $@/fbzx-wii/scr/dummy
|
||||
touch $@/fbzx-wii/scr2/dummy
|
||||
|
@ -1,5 +1,5 @@
|
||||
FBZX Wii was written to run on WII, for testing purpose FBZX Wii was adapted
|
||||
to run also on Windows. Anyhow the windows version is yet usable.
|
||||
to run also on Windows even if some WII features cannot be used.
|
||||
|
||||
These are the basic instructions:
|
||||
|
||||
@ -20,7 +20,8 @@ FBZX WII Menu
|
||||
|
||||
Menu key (it is the key near CTRL Rigth) or gamepad 7 key to access FBZX Wii menu.
|
||||
Left ALT key to toggle Full Screen.
|
||||
The virtual keyboard is accessed passing the mouse on the screen or through CTRL Rigth or gamepad button 6 (if depends on the selected option).
|
||||
The virtual keyboard is accessed passing the mouse on the screen or through CTRL Rigth
|
||||
or gamepad button 6 (it depends on the auto virtual ketboard option).
|
||||
|
||||
* In menu
|
||||
Gamepad pad or keyboard keys for menu navigation.
|
||||
@ -47,7 +48,7 @@ Gamepad -------- WII
|
||||
******************
|
||||
Original FBZX Menu
|
||||
******************
|
||||
F1-F12 to access the original FBZX (not Wii) menu (not all the features are available here).
|
||||
F1-F12 to access the original FBZX menu (not all the features are available here).
|
||||
F1 key to access FBZX help menu.
|
||||
|
||||
|
@ -178,6 +178,8 @@ void computer_init () { //Called only on start-up
|
||||
ordenador.npixels=4;
|
||||
ordenador.progressive=0;
|
||||
ordenador.audio_mode=2; //ACB
|
||||
|
||||
rom_cartridge[0] = 0;
|
||||
}
|
||||
|
||||
void computer_set_palete() {
|
||||
@ -1726,6 +1728,8 @@ void ResetComputer () {
|
||||
Z80free_reset (&procesador);
|
||||
load_rom (ordenador.mode128k);
|
||||
|
||||
rom_cartridge[0] = 0;
|
||||
|
||||
// reset the AY-3-8912
|
||||
|
||||
for (bucle = 0; bucle < 16; bucle++)
|
||||
|
@ -79,6 +79,7 @@ char load_path_snaps[MAX_PATH_LENGTH];
|
||||
char load_path_taps[MAX_PATH_LENGTH];
|
||||
char load_path_scr1[MAX_PATH_LENGTH];
|
||||
char load_path_poke[MAX_PATH_LENGTH];
|
||||
char rom_cartridge[MAX_PATH_LENGTH];
|
||||
|
||||
unsigned int colors[80];
|
||||
unsigned int jump_frames,curr_frames, turbo_n;
|
||||
@ -366,6 +367,23 @@ char *load_a_rom(char **filenames) {
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
char *load_rom_cartridge(void) {
|
||||
|
||||
FILE *fichero;
|
||||
int size;
|
||||
|
||||
printf("Opening %s\n", rom_cartridge);
|
||||
fichero=fopen(rom_cartridge,"rb");
|
||||
if(fichero==NULL) {
|
||||
return (rom_cartridge);
|
||||
}
|
||||
size=fread(ordenador.memoria,1,16384,fichero);
|
||||
if (size != 16384) return (rom_cartridge);
|
||||
|
||||
fclose(fichero);
|
||||
return (0);
|
||||
}
|
||||
|
||||
void load_rom(char type) {
|
||||
|
||||
char *retval;
|
||||
@ -377,7 +395,7 @@ void load_rom(char type) {
|
||||
case 0:
|
||||
filenames[0]="spectrum-roms/48.rom";
|
||||
filenames[1]=NULL;
|
||||
retval=load_a_rom(filenames);
|
||||
if (rom_cartridge[0]) retval = load_rom_cartridge(); else retval=load_a_rom(filenames);
|
||||
if (retval) {
|
||||
printf("Can't load file %s\n",retval);
|
||||
exit(1);
|
||||
|
@ -44,6 +44,7 @@ extern char load_path_snaps[MAX_PATH_LENGTH];
|
||||
extern char load_path_taps[MAX_PATH_LENGTH];
|
||||
extern char load_path_scr1[MAX_PATH_LENGTH];
|
||||
extern char load_path_poke[MAX_PATH_LENGTH];
|
||||
extern char rom_cartridge[MAX_PATH_LENGTH];
|
||||
|
||||
extern unsigned int colors[80];
|
||||
extern unsigned int jump_frames,curr_frames, turbo_n;
|
||||
|
@ -1666,6 +1666,16 @@ static int save_load_snapshot(int which)
|
||||
if (!filename)
|
||||
return 0;
|
||||
|
||||
//Load ROM Cartridge
|
||||
if ((ext_matches(filename, ".rom")|ext_matches(filename, ".ROM"))&(which == 0))
|
||||
{
|
||||
set_machine_model(0);
|
||||
strcpy(rom_cartridge, filename);
|
||||
free((void*)filename);
|
||||
ResetComputer ();
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (ext_matches(filename, ".z80")|ext_matches(filename, ".Z80")|
|
||||
ext_matches(filename, ".sna")|ext_matches(filename, ".SNA"))
|
||||
{
|
||||
|
@ -317,7 +317,7 @@ static const char **get_file_list_zip(const char *path)
|
||||
}
|
||||
|
||||
const char *exts[] = {".tap", ".TAP", ".tzx", ".TZX", ".z80",".Z80",".sna", ".SNA",
|
||||
".mdr", ".MDR", ".scr", ".SCR", ".conf", ".CONF",".pok", ".POK" ,NULL};
|
||||
".mdr", ".MDR", ".scr", ".SCR", ".conf", ".CONF",".pok", ".POK" ,".rom", ".ROM", NULL};
|
||||
|
||||
if (ext_matches_list(filename_inzip, exts))
|
||||
{
|
||||
@ -369,7 +369,7 @@ static const char **get_file_list(const char *base_dir)
|
||||
{
|
||||
char buf[255];
|
||||
const char *exts[] = {".tap", ".TAP", ".tzx", ".TZX", ".z80",".Z80",".sna", ".SNA",
|
||||
".mdr", ".MDR", ".scr", ".SCR", ".conf", ".CONF",".pok", ".POK", ".zip", ".ZIP",NULL};
|
||||
".mdr", ".MDR", ".scr", ".SCR", ".conf", ".CONF",".pok", ".POK", ".zip", ".ZIP",".rom", ".ROM",NULL};
|
||||
struct stat st;
|
||||
|
||||
snprintf(buf, 255, "%s/%s", base_dir, de->d_name);
|
||||
|
Loading…
Reference in New Issue
Block a user