diff --git a/src/apple2.h b/src/apple2.h index dea2e52b..94973759 100644 --- a/src/apple2.h +++ b/src/apple2.h @@ -17,7 +17,9 @@ #ifndef _A2_H_ #define _A2_H_ +#ifdef HAVE_CONFIG_H #include "config.h" +#endif #define BANK2 0x10000 diff --git a/src/asm386/memory.S b/src/asm386/memory.S index ce80b3de..6bb7edc3 100644 --- a/src/asm386/memory.S +++ b/src/asm386/memory.S @@ -179,9 +179,11 @@ E(read_random) ret E(read_speaker_toggle_pc) +#ifdef AUDIO_ENABLED pushal call SN(SpkrToggle) popal // FIXME, do we need to set %al to something here? +#endif ret E(read_switch_primary_page) diff --git a/src/disk.c b/src/disk.c index a3aad85a..6dc882d1 100644 --- a/src/disk.c +++ b/src/disk.c @@ -106,9 +106,14 @@ void c_eject_6(int drive) { const char* const err = def(disk6.disk[drive].file_name); if (err) { + ERRLOG("OOPS: An error occurred when attempting to compress a disk image : %s", err); +#ifdef INTERFACE_CLASSIC snprintf(&zlibmenu[4][2], 37, "%s", err); c_interface_print_submenu_centered(zlibmenu[0], ZLIB_SUBMENU_W, ZLIB_SUBMENU_H); - while ((ch = c_mygetch(1)) == -1) { } + while ((ch = c_mygetch(1)) == -1) { + // ... + } +#endif } else { @@ -158,14 +163,12 @@ int c_new_diskette_6(int drive, char *file_name, int cmpr, int nib, int force) { if (!force) { - /* Open read only */ disk6.disk[drive].fp = fopen(disk6.disk[drive].file_name, "r+"); disk6.disk[drive].is_protected = 0; } if ((disk6.disk[drive].fp == NULL) || (force)) { - /* Open for read AND write */ disk6.disk[drive].fp = fopen(disk6.disk[drive].file_name, "r"); disk6.disk[drive].is_protected = 1; /* disk is write protected! */ } diff --git a/src/joystick.c b/src/joystick.c index 2259d60d..88151cea 100644 --- a/src/joystick.c +++ b/src/joystick.c @@ -121,6 +121,7 @@ static void c_calculate_pc_joystick_parms() js_adjusthigh_y = (float)HALF_JOY_RANGE / (float)js_upperrange_y; } +#ifdef INTERFACE_CLASSIC /* ------------------------------------------------------------------------- c_calibrate_pc_joystick() - calibrates joystick. determines extreme and center coordinates. assumes that it can write to the interface @@ -143,10 +144,6 @@ static void c_calibrate_pc_joystick() "| Is the proper kernel module loaded? |", "| |", "||||||||||||||||||||||||||||||||||||||||" }; -#define JOYERR_SHOWERR(ERR) \ - copy_and_pad_string(&errmenu[3][2], ERR, ' ', JOYERR_PAD, ' '); \ - c_interface_print_submenu_centered(errmenu[0], JOYERR_SUBMENU_W, JOYERR_SUBMENU_H); \ - while (c_mygetch(1) == -1) { } /* reset all the extremes */ js_max_x = INT_MIN; @@ -159,7 +156,15 @@ static void c_calibrate_pc_joystick() { if (c_open_pc_joystick()) { - JOYERR_SHOWERR(strerror(errno)); + const char *err = strerror(errno); + ERRLOG("OOPS, cannot open pc joystick : %s", err); +#ifdef INTERFACE_CLASSIC + copy_and_pad_string(&errmenu[3][2], err, ' ', JOYERR_PAD, ' '); + c_interface_print_submenu_centered(errmenu[0], JOYERR_SUBMENU_W, JOYERR_SUBMENU_H); + while (c_mygetch(1) == -1) { + // ... + } +#endif return; } } @@ -317,9 +322,10 @@ static void c_calibrate_pc_joystick() nanosleep(&ts, NULL); } } +#endif // INTERFACE_CLASSIC #endif // LINUX_JOYSTICK -#ifdef KEYPAD_JOYSTICK +#if defined(KEYPAD_JOYSTICK) && defined(INTERFACE_CLASSIC) static void c_calibrate_keypad_joystick() { @@ -426,7 +432,7 @@ static void c_calibrate_keypad_joystick() nanosleep(&ts, NULL); } } -#endif // KEYPAD_JOYSTICK +#endif // KEYPAD_JOYSTICK && INTERFACE_CLASSIC #ifdef TOUCH_JOYSTICK // TBD ... @@ -465,6 +471,7 @@ void c_close_joystick() #endif } +#ifdef INTERFACE_CLASSIC void c_calibrate_joystick() { #ifdef LINUX_JOYSTICK @@ -481,6 +488,7 @@ void c_calibrate_joystick() } #endif } +#endif // INTERFACE_CLASSIC void c_joystick_reset() { diff --git a/src/keys.c b/src/keys.c index 59f6c26c..21828e1b 100644 --- a/src/keys.c +++ b/src/keys.c @@ -241,11 +241,14 @@ void c_handle_input(int scancode, int pressed) } pthread_mutex_lock(&interface_mutex); +#ifdef AUDIO_ENABLED SoundSystemPause(); +#endif in_interface = true; switch (current_key) { +#ifdef INTERFACE_CLASSIC case kF1: c_interface_select_diskette( 0 ); break; @@ -253,6 +256,7 @@ void c_handle_input(int scancode, int pressed) case kF2: c_interface_select_diskette( 1 ); break; +#endif case kPAUSE: while (c_mygetch(1) == -1) @@ -262,6 +266,7 @@ void c_handle_input(int scancode, int pressed) } break; +#ifdef INTERFACE_CLASSIC case kF5: c_interface_keyboard_layout(); break; @@ -279,12 +284,15 @@ void c_handle_input(int scancode, int pressed) case kF10: c_interface_parameters(); break; +#endif default: break; } +#ifdef AUDIO_ENABLED SoundSystemUnpause(); +#endif c_joystick_reset(); pthread_mutex_unlock(&interface_mutex); in_interface = false; diff --git a/src/meta/debugger.c b/src/meta/debugger.c index 1e85b323..ee333956 100644 --- a/src/meta/debugger.c +++ b/src/meta/debugger.c @@ -1284,6 +1284,7 @@ void do_debug_command() { main debugging console ------------------------------------------------------------------------- */ +#ifdef INTERFACE_CLASSIC void c_interface_debugging() { static char lex_initted = 0; @@ -1371,4 +1372,5 @@ void c_interface_debugging() { } return; } +#endif diff --git a/src/misc.c b/src/misc.c index f03a8cf0..71805676 100644 --- a/src/misc.c +++ b/src/misc.c @@ -744,8 +744,10 @@ void reinitialize(void) void c_initialize_firsttime() { +#ifdef INTERFACE_CLASSIC /* read in system files and calculate system defaults */ c_load_interface_font(); +#endif /* initialize the video system */ video_init(); diff --git a/src/prefs.c b/src/prefs.c index c4f16228..dc136325 100644 --- a/src/prefs.c +++ b/src/prefs.c @@ -209,11 +209,11 @@ void load_settings(void) config_file = fopen(config_filename, "r"); if (config_file == NULL) { - printf( + ERRLOG( "Warning. Cannot open the .apple2 system defaults file.\n" "Make sure it's readable in your home directory."); - printf("Press RETURN to continue..."); - getchar(); + ERRLOG("Press RETURN to continue..."); + getchar(); // HACK FIXME -- this needs to be decoupled from both testing and mobile targets return; } @@ -236,7 +236,7 @@ void load_settings(void) switch (main_match) { case PRM_NONE: - fprintf(stderr, "Unrecognized config parameter `%s'", parameter); + ERRLOG("Unrecognized config parameter `%s'", parameter); break; case PRM_SPEED: @@ -352,6 +352,11 @@ bool save_settings(void) LOG("Saving preferences..."); +#define PREFS_ERRPRINT() \ + ERRLOG( \ + "Cannot open the .apple2/apple2.cfg system defaults file for writing.\n" \ + "Make sure it has rw permission in your home directory.") + #define ERROR_SUBMENU_H 9 #define ERROR_SUBMENU_W 40 int ch = -1; @@ -370,14 +375,13 @@ bool save_settings(void) config_file = fopen(config_filename, "w"); if (config_file == NULL) { - printf( - "Cannot open the .apple2/apple2.cfg system defaults file for writing.\n" - "Make sure it has rw permission in your home directory."); + PREFS_ERRPRINT(); +#ifdef INTERFACE_CLASSIC c_interface_print_submenu_centered(submenu[0], ERROR_SUBMENU_W, ERROR_SUBMENU_H); while ((ch = c_mygetch(1)) == -1) { } - +#endif return false; } @@ -417,10 +421,13 @@ bool save_settings(void) if (anErr) { + PREFS_ERRPRINT(); +#ifdef INTERFACE_CLASSIC c_interface_print_submenu_centered(submenu[0], ERROR_SUBMENU_W, ERROR_SUBMENU_H); while ((ch = c_mygetch(1)) == -1) { } +#endif return false; } diff --git a/src/timing.c b/src/timing.c index 93b2fa86..ba1db4d6 100644 --- a/src/timing.c +++ b/src/timing.c @@ -95,10 +95,12 @@ static void _timing_initialize(double scale) g_fCurrentCLK6502 = CLK_6502 * scale; // this is extracted out of SetClksPerSpkrSample -- speaker.c +#ifdef AUDIO_ENABLED g_fClksPerSpkrSample = (double) (UINT) (g_fCurrentCLK6502 / (double)SPKR_SAMPLE_RATE); SpkrReinitialize(); LOG("timing_initialize() ... ClockRate:%0.2lf ClockCyclesPerSpeakerSample:%0.2lf", g_fCurrentCLK6502, g_fClksPerSpkrSample); +#endif } static void _switch_to_fullspeed(double scale)