sync 2.2.1

parent 8510c211
PUAE 2.2.00 PUAE 2.2.1 beta series
============ ============
PUAE tries to continue where E-UAE left off.. PUAE tries to continue where E-UAE left off..
PUAE versioning is based on the merged WinUAE version.. PUAE versioning is based on the merged WinUAE version..
...@@ -56,6 +56,10 @@ from which you can legally make a ROM image, a selection of ROM images ...@@ -56,6 +56,10 @@ from which you can legally make a ROM image, a selection of ROM images
are available for purchase online from Cloanto (publishers of the are available for purchase online from Cloanto (publishers of the
Amiga Forever distribution). See http://www.amigaforever.com/ Amiga Forever distribution). See http://www.amigaforever.com/
What's new since PUAE 2.x.x
======================
* trying to sync with winuae :}
What's new since PUAE 0.0.0 What's new since PUAE 0.0.0
====================== ======================
* Some many changes that i can't begin to mention here and now. * Some many changes that i can't begin to mention here and now.
......
...@@ -159,7 +159,7 @@ static void i2c_do (void) ...@@ -159,7 +159,7 @@ static void i2c_do (void)
bitcounter = -1; bitcounter = -1;
} }
} else { } else {
//write_log (L"NVRAM received bit %d, offset %d\n", sda_out, bitcounter); //write_log ("NVRAM received bit %d, offset %d\n", sda_out, bitcounter);
nvram_byte <<= 1; nvram_byte <<= 1;
nvram_byte |= sda_out; nvram_byte |= sda_out;
bitcounter++; bitcounter++;
......
This diff is collapsed.
...@@ -760,7 +760,7 @@ void blitter_handler (uae_u32 data) ...@@ -760,7 +760,7 @@ void blitter_handler (uae_u32 data)
static int blitter_stuck; static int blitter_stuck;
if (!dmaen (DMA_BLITTER)) { if (!dmaen (DMA_BLITTER)) {
event2_newevent (ev2_blitter, 10); event2_newevent (ev2_blitter, 10, 0);
blitter_stuck++; blitter_stuck++;
if (blitter_stuck < 20000 || !currprefs.immediate_blits) if (blitter_stuck < 20000 || !currprefs.immediate_blits)
return; /* gotta come back later. */ return; /* gotta come back later. */
...@@ -771,7 +771,7 @@ void blitter_handler (uae_u32 data) ...@@ -771,7 +771,7 @@ void blitter_handler (uae_u32 data)
} }
blitter_stuck = 0; blitter_stuck = 0;
if (blit_slowdown > 0 && !currprefs.immediate_blits) { if (blit_slowdown > 0 && !currprefs.immediate_blits) {
event2_newevent (ev2_blitter, blit_slowdown); event2_newevent (ev2_blitter, blit_slowdown, 0);
blit_slowdown = -1; blit_slowdown = -1;
return; return;
} }
...@@ -1365,7 +1365,7 @@ static void do_blitter2 (int hpos, int copper) ...@@ -1365,7 +1365,7 @@ static void do_blitter2 (int hpos, int copper)
blit_waitcyclecounter = 0; blit_waitcyclecounter = 0;
blit_cyclecounter = cycles * (blit_dmacount2 + (blit_nod ? 0 : 1)); blit_cyclecounter = cycles * (blit_dmacount2 + (blit_nod ? 0 : 1));
event2_newevent (ev2_blitter, blit_cyclecounter); event2_newevent (ev2_blitter, blit_cyclecounter, 0);
} }
void do_blitter (int hpos, int copper) void do_blitter (int hpos, int copper)
......
/* /*
* UAE - The Un*x Amiga Emulator * UAE - The Un*x Amiga Emulator
* *
* Block device access using libscg * Block device access using libscg
...@@ -276,7 +276,7 @@ static int execscsicmd (int unitnum, const uae_u8 *data, int len, uae_u8 *inbuf, ...@@ -276,7 +276,7 @@ static int execscsicmd (int unitnum, const uae_u8 *data, int len, uae_u8 *inbuf,
DEBUG_LOG ("SCSIDEV: sending command: 0x%2x\n", scmd->cdb.g0_cdb.cmd); DEBUG_LOG ("SCSIDEV: sending command: 0x%2x\n", scmd->cdb.g0_cdb.cmd);
gui_cd_led (1); gui_flicker_led (LED_CD, 0, 1);
scg_cmd (scgp); scg_cmd (scgp);
...@@ -349,7 +349,7 @@ static int execscsicmd_direct (int unitnum, uaecptr acmd) ...@@ -349,7 +349,7 @@ static int execscsicmd_direct (int unitnum, uaecptr acmd)
DEBUG_LOG ("SCSIDEV: result: %d %d %s\n", scmd->error, scmd->ux_errno,\ DEBUG_LOG ("SCSIDEV: result: %d %d %s\n", scmd->error, scmd->ux_errno,\
scgp->errstr); scgp->errstr);
gui_cd_led (1); gui_flicker_led (LED_CD, 0, 1);
put_word (acmd + 18, scmd->error == SCG_FATAL put_word (acmd + 18, scmd->error == SCG_FATAL
? 0 : scsi_cmd_len); /* fake scsi_CmdActual */ ? 0 : scsi_cmd_len); /* fake scsi_CmdActual */
......
...@@ -100,6 +100,12 @@ void sys_command_setunit (int unitnum) ...@@ -100,6 +100,12 @@ void sys_command_setunit (int unitnum)
int sys_command_open (int mode, int unitnum) int sys_command_open (int mode, int unitnum)
{ {
int ret = 0; int ret = 0;
if (forcedunit >= 0) {
if (unitnum != forcedunit)
return 0;
}
if (mode == DF_SCSI || !have_ioctl) { if (mode == DF_SCSI || !have_ioctl) {
if (device_func[DF_SCSI] != NULL) if (device_func[DF_SCSI] != NULL)
ret = device_func[DF_SCSI]->opendev (unitnum); ret = device_func[DF_SCSI]->opendev (unitnum);
......
...@@ -148,8 +148,7 @@ static const TCHAR *guimode1[] = { "no", "yes", "nowait", 0 }; ...@@ -148,8 +148,7 @@ static const TCHAR *guimode1[] = { "no", "yes", "nowait", 0 };
static const TCHAR *guimode2[] = { "false", "true", "nowait", 0 }; static const TCHAR *guimode2[] = { "false", "true", "nowait", 0 };
static const TCHAR *guimode3[] = { "0", "1", "nowait", 0 }; static const TCHAR *guimode3[] = { "0", "1", "nowait", 0 };
static const TCHAR *csmode[] = { "ocs", "ecs_agnus", "ecs_denise", "ecs", "aga", 0 }; static const TCHAR *csmode[] = { "ocs", "ecs_agnus", "ecs_denise", "ecs", "aga", 0 };
static const TCHAR *linemode1[] = { "none", "double", "scanlines", 0 }; static const TCHAR *linemode[] = { "none", "none", "double", "scanlines", 0 };
static const TCHAR *linemode2[] = { "n", "d", "s", 0 };
static const TCHAR *speedmode[] = { "max", "real", 0 }; static const TCHAR *speedmode[] = { "max", "real", 0 };
static const TCHAR *colormode1[] = { "8bit", "15bit", "16bit", "8bit_dither", "4bit_dither", "32bit", 0 }; static const TCHAR *colormode1[] = { "8bit", "15bit", "16bit", "8bit_dither", "4bit_dither", "32bit", 0 };
static const TCHAR *colormode2[] = { "8", "15", "16", "8d", "4d", "32", 0 }; static const TCHAR *colormode2[] = { "8", "15", "16", "8d", "4d", "32", 0 };
...@@ -763,7 +762,7 @@ void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type) ...@@ -763,7 +762,7 @@ void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type)
cfgfile_write_str (f, "gfx_resolution", lorestype1[p->gfx_resolution]); cfgfile_write_str (f, "gfx_resolution", lorestype1[p->gfx_resolution]);
cfgfile_write_str (f, "gfx_lores_mode", loresmode[p->gfx_lores_mode]); cfgfile_write_str (f, "gfx_lores_mode", loresmode[p->gfx_lores_mode]);
cfgfile_write_bool (f, "gfx_flickerfixer", p->gfx_scandoubler); cfgfile_write_bool (f, "gfx_flickerfixer", p->gfx_scandoubler);
cfgfile_write_str (f, "gfx_linemode", linemode1[p->gfx_linedbl]); cfgfile_write_str (f, "gfx_linemode", linemode[p->gfx_vresolution * 2 + p->gfx_scanlines]);
cfgfile_write_str (f, "gfx_fullscreen_amiga", fullmodes[p->gfx_afullscreen]); cfgfile_write_str (f, "gfx_fullscreen_amiga", fullmodes[p->gfx_afullscreen]);
cfgfile_write_str (f, "gfx_fullscreen_picasso", fullmodes[p->gfx_pfullscreen]); cfgfile_write_str (f, "gfx_fullscreen_picasso", fullmodes[p->gfx_pfullscreen]);
cfgfile_write_str (f, "gfx_center_horizontal", centermode1[p->gfx_xcenter]); cfgfile_write_str (f, "gfx_center_horizontal", centermode1[p->gfx_xcenter]);
...@@ -1371,8 +1370,6 @@ static int cfgfile_parse_host (struct uae_prefs *p, TCHAR *option, TCHAR *value) ...@@ -1371,8 +1370,6 @@ static int cfgfile_parse_host (struct uae_prefs *p, TCHAR *option, TCHAR *value)
|| cfgfile_strval (option, value, "gfx_lores_mode", &p->gfx_lores_mode, loresmode, 0) || cfgfile_strval (option, value, "gfx_lores_mode", &p->gfx_lores_mode, loresmode, 0)
|| cfgfile_strval (option, value, "gfx_fullscreen_amiga", &p->gfx_afullscreen, fullmodes, 0) || cfgfile_strval (option, value, "gfx_fullscreen_amiga", &p->gfx_afullscreen, fullmodes, 0)
|| cfgfile_strval (option, value, "gfx_fullscreen_picasso", &p->gfx_pfullscreen, fullmodes, 0) || cfgfile_strval (option, value, "gfx_fullscreen_picasso", &p->gfx_pfullscreen, fullmodes, 0)
|| cfgfile_strval (option, value, "gfx_linemode", &p->gfx_linedbl, linemode1, 1)
|| cfgfile_strval (option, value, "gfx_linemode", &p->gfx_linedbl, linemode2, 0)
|| cfgfile_strval (option, value, "gfx_center_horizontal", &p->gfx_xcenter, centermode1, 1) || cfgfile_strval (option, value, "gfx_center_horizontal", &p->gfx_xcenter, centermode1, 1)
|| cfgfile_strval (option, value, "gfx_center_vertical", &p->gfx_ycenter, centermode1, 1) || cfgfile_strval (option, value, "gfx_center_vertical", &p->gfx_ycenter, centermode1, 1)
|| cfgfile_strval (option, value, "gfx_center_horizontal", &p->gfx_xcenter, centermode2, 0) || cfgfile_strval (option, value, "gfx_center_horizontal", &p->gfx_xcenter, centermode2, 0)
...@@ -2715,15 +2712,13 @@ static void parse_gfx_specs (struct uae_prefs *p, const TCHAR *spec) ...@@ -2715,15 +2712,13 @@ static void parse_gfx_specs (struct uae_prefs *p, const TCHAR *spec)
p->gfx_resolution = _tcschr (x2, 'l') != 0 ? 1 : 0; p->gfx_resolution = _tcschr (x2, 'l') != 0 ? 1 : 0;
p->gfx_xcenter = _tcschr (x2, 'x') != 0 ? 1 : _tcschr (x2, 'X') != 0 ? 2 : 0; p->gfx_xcenter = _tcschr (x2, 'x') != 0 ? 1 : _tcschr (x2, 'X') != 0 ? 2 : 0;
p->gfx_ycenter = _tcschr (x2, 'y') != 0 ? 1 : _tcschr (x2, 'Y') != 0 ? 2 : 0; p->gfx_ycenter = _tcschr (x2, 'y') != 0 ? 1 : _tcschr (x2, 'Y') != 0 ? 2 : 0;
p->gfx_linedbl = _tcschr (x2, 'd') != 0; p->gfx_vresolution = _tcschr (x2, 'd') != 0 ? VRES_DOUBLE : VRES_NONDOUBLE;
p->gfx_linedbl += 2 * (_tcschr (x2, 'D') != 0); p->gfx_scanlines = _tcschr (x2, 'D') != 0;
if (p->gfx_scanlines)
p->gfx_vresolution = VRES_DOUBLE;
p->gfx_afullscreen = _tcschr (x2, 'a') != 0; p->gfx_afullscreen = _tcschr (x2, 'a') != 0;
p->gfx_pfullscreen = _tcschr (x2, 'p') != 0; p->gfx_pfullscreen = _tcschr (x2, 'p') != 0;
if (p->gfx_linedbl == 3) {
write_log ("You can't use both 'd' and 'D' modifiers in the display mode specification.\n");
}
free (x0); free (x0);
return; return;
...@@ -3519,8 +3514,8 @@ void default_prefs (struct uae_prefs *p, int type) ...@@ -3519,8 +3514,8 @@ void default_prefs (struct uae_prefs *p, int type)
p->gfx_size_win_xtra[i].width = 0; p->gfx_size_win_xtra[i].width = 0;
p->gfx_size_win_xtra[i].height = 0; p->gfx_size_win_xtra[i].height = 0;
} }
p->gfx_resolution = 1; p->gfx_resolution = RES_HIRES;
p->gfx_linedbl = 1; p->gfx_vresolution = VRES_DOUBLE;
p->gfx_afullscreen = GFX_WINDOW; p->gfx_afullscreen = GFX_WINDOW;
p->gfx_pfullscreen = GFX_WINDOW; p->gfx_pfullscreen = GFX_WINDOW;
p->gfx_xcenter = 0; p->gfx_ycenter = 0; p->gfx_xcenter = 0; p->gfx_ycenter = 0;
......
...@@ -24,7 +24,8 @@ void consolehook_config (struct uae_prefs *p) ...@@ -24,7 +24,8 @@ void consolehook_config (struct uae_prefs *p)
//p->headless = 1; //p->headless = 1;
p->produce_sound = 0; p->produce_sound = 0;
p->gfx_resolution = 0; p->gfx_resolution = 0;
p->gfx_linedbl = 0; p->gfx_vresolution = 0;
p->gfx_scanlines = false;
p->gfx_framerate = 10; p->gfx_framerate = 10;
p->immediate_blits = 1; p->immediate_blits = 1;
p->collision_level = 0; p->collision_level = 0;
...@@ -47,8 +48,8 @@ void consolehook_config (struct uae_prefs *p) ...@@ -47,8 +48,8 @@ void consolehook_config (struct uae_prefs *p)
p->gfx_size_win.width = 320; p->gfx_size_win.width = 320;
p->gfx_size_win.height = 256; p->gfx_size_win.height = 256;
p->turbo_emulation = 0; p->turbo_emulation = 0;
// p->win32_automount_drives = 2; //p->win32_automount_drives = 2;
// p->win32_automount_cddrives = 2; //p->win32_automount_cddrives = 2;
add_filesys_config (p, -1, "DH0", "CLIBOOT", ".", 1, 0, 0, 0, 0, 15, NULL, 0, 0); add_filesys_config (p, -1, "DH0", "CLIBOOT", ".", 1, 0, 0, 0, 0, 15, NULL, 0, 0);
} }
......
...@@ -180,6 +180,7 @@ int maxhpos = MAXHPOS_PAL; ...@@ -180,6 +180,7 @@ int maxhpos = MAXHPOS_PAL;
int maxhpos_short = MAXHPOS_PAL; int maxhpos_short = MAXHPOS_PAL;
int maxvpos = MAXVPOS_PAL; int maxvpos = MAXVPOS_PAL;
int maxvpos_nom = MAXVPOS_PAL; // nominal value (same as maxvpos but "faked" maxvpos in fake 60hz modes) int maxvpos_nom = MAXVPOS_PAL; // nominal value (same as maxvpos but "faked" maxvpos in fake 60hz modes)
int hsyncstartpos;
static int maxvpos_total = 511; static int maxvpos_total = 511;
int minfirstline = VBLANK_ENDLINE_PAL; int minfirstline = VBLANK_ENDLINE_PAL;
int equ_vblank_endline = EQU_ENDLINE_PAL; int equ_vblank_endline = EQU_ENDLINE_PAL;
...@@ -392,7 +393,7 @@ STATIC_INLINE int nodraw (void) ...@@ -392,7 +393,7 @@ STATIC_INLINE int nodraw (void)
static int doflickerfix (void) static int doflickerfix (void)
{ {
return currprefs.gfx_linedbl && doublescan < 0 && vpos < MAXVPOS; return currprefs.gfx_vresolution && doublescan < 0 && vpos < MAXVPOS;
} }
uae_u32 get_copper_address (int copno) uae_u32 get_copper_address (int copno)
...@@ -1870,7 +1871,7 @@ STATIC_INLINE void decide_line (int hpos) ...@@ -1870,7 +1871,7 @@ STATIC_INLINE void decide_line (int hpos)
if (hpos <= last_decide_line_hpos) if (hpos <= last_decide_line_hpos)
return; return;
if (fetch_state == fetch_not_started && diwstate == DIW_waiting_stop) { if (fetch_state == fetch_not_started && (diwstate == DIW_waiting_stop || (currprefs.chipset_mask & CSMASK_ECS_AGNUS))) {
int ok = 0; int ok = 0;
if (last_decide_line_hpos < plfstrt_start && hpos >= plfstrt_start) { if (last_decide_line_hpos < plfstrt_start && hpos >= plfstrt_start) {
if (plf_state == plf_idle) if (plf_state == plf_idle)
...@@ -1886,7 +1887,7 @@ STATIC_INLINE void decide_line (int hpos) ...@@ -1886,7 +1887,7 @@ STATIC_INLINE void decide_line (int hpos)
if (hpos - 2 == ddfstrt_old_hpos) if (hpos - 2 == ddfstrt_old_hpos)
ok = 0; ok = 0;
} }
if (ok) { if (ok && diwstate == DIW_waiting_stop) {
if (dmaen (DMA_BITPLANE)) { if (dmaen (DMA_BITPLANE)) {
start_bpl_dma (hpos, plfstrt); start_bpl_dma (hpos, plfstrt);
estimate_last_fetch_cycle (plfstrt); estimate_last_fetch_cycle (plfstrt);
...@@ -2734,7 +2735,7 @@ void init_hz (void) ...@@ -2734,7 +2735,7 @@ void init_hz (void)
int hzc = 0; int hzc = 0;
if (vsync_switchmode (-1, 0)) if (vsync_switchmode (-1, 0))
currprefs.gfx_avsync = changed_prefs.gfx_avsync = vsync_switchmode (-1, 0); currprefs.gfx_avsync = changed_prefs.gfx_avsync = vsync_switchmode (-1, 0) ? 2 : 0;
if (!isvsync () && ((currprefs.chipset_refreshrate == 50 && !currprefs.ntscmode) || if (!isvsync () && ((currprefs.chipset_refreshrate == 50 && !currprefs.ntscmode) ||
(currprefs.chipset_refreshrate == 60 && currprefs.ntscmode))) { (currprefs.chipset_refreshrate == 60 && currprefs.ntscmode))) {
...@@ -2809,6 +2810,14 @@ void init_hz (void) ...@@ -2809,6 +2810,14 @@ void init_hz (void)
if (vblank_hz > 300) if (vblank_hz > 300)
vblank_hz = 300; vblank_hz = 300;
maxhpos_short = maxhpos; maxhpos_short = maxhpos;
if (beamcon0 & 0x80) {
if (hbstrt > maxhpos)
hsyncstartpos = hbstrt;
else
hsyncstartpos = maxhpos + hbstrt;
} else {
hsyncstartpos = maxhpos_short + 7;
}
eventtab[ev_hsync].oldcycles = get_cycles (); eventtab[ev_hsync].oldcycles = get_cycles ();
eventtab[ev_hsync].evtime = get_cycles () + HSYNCTIME; eventtab[ev_hsync].evtime = get_cycles () + HSYNCTIME;
events_schedule (); events_schedule ();
...@@ -3261,7 +3270,7 @@ static void DMACON (int hpos, uae_u16 v) ...@@ -3261,7 +3270,7 @@ static void DMACON (int hpos, uae_u16 v)
unset_special (SPCFLAG_BLTNASTY); unset_special (SPCFLAG_BLTNASTY);
if (changed & (DMA_MASTER | 0x0f)) if (changed & (DMA_MASTER | 0x0f))
audio_hsync (hpos); audio_state_machine ();
if (changed & (DMA_MASTER | DMA_BITPLANE)) { if (changed & (DMA_MASTER | DMA_BITPLANE)) {
ddf_change = vpos; ddf_change = vpos;
...@@ -3275,13 +3284,16 @@ static void DMACON (int hpos, uae_u16 v) ...@@ -3275,13 +3284,16 @@ static void DMACON (int hpos, uae_u16 v)
static void MISC_handler (void) static void MISC_handler (void)
{ {
static bool dorecheck;
int i, recheck; int i, recheck;
evt mintime; evt mintime;
evt ct = get_cycles (); evt ct = get_cycles ();
static int recursive; static int recursive;
if (recursive) if (recursive) {
dorecheck = true;
return; return;
}
recursive++; recursive++;
eventtab[ev_misc].active = 0; eventtab[ev_misc].active = 0;
recheck = 1; recheck = 1;
...@@ -3293,8 +3305,10 @@ static void MISC_handler (void) ...@@ -3293,8 +3305,10 @@ static void MISC_handler (void)
if (eventtab2[i].evtime == ct) { if (eventtab2[i].evtime == ct) {
eventtab2[i].active = 0; eventtab2[i].active = 0;
eventtab2[i].handler (eventtab2[i].data); eventtab2[i].handler (eventtab2[i].data);
if (eventtab2[i].active) if (dorecheck || eventtab2[i].active) {
recheck = 1; recheck = 1;
dorecheck = false;
}
} else { } else {
evt eventtime = eventtab2[i].evtime - ct; evt eventtime = eventtab2[i].evtime - ct;
if (eventtime < mintime) if (eventtime < mintime)
...@@ -3354,9 +3368,9 @@ STATIC_INLINE void event2_newevent_x (int no, evt t, uae_u32 data, evfunc2 func) ...@@ -3354,9 +3368,9 @@ STATIC_INLINE void event2_newevent_x (int no, evt t, uae_u32 data, evfunc2 func)
event2_newevent_xx (no, t * CYCLE_UNIT, data, func); event2_newevent_xx (no, t * CYCLE_UNIT, data, func);
} }
void event2_newevent (int no, evt t) void event2_newevent (int no, evt t, uae_u32 data)
{ {
event2_newevent_x (no, t, 0, eventtab2[no].handler); event2_newevent_x (no, t, data, eventtab2[no].handler);
} }
void event2_newevent2 (evt t, uae_u32 data, evfunc2 func) void event2_newevent2 (evt t, uae_u32 data, evfunc2 func)
{ {
...@@ -3472,9 +3486,6 @@ void INTREQ_0 (uae_u16 v) ...@@ -3472,9 +3486,6 @@ void INTREQ_0 (uae_u16 v)
if (!(v & 0x8000) && old == intreq) if (!(v & 0x8000) && old == intreq)
return; return;
if (v & (0x0080 | 0x0100 | 0x0200 | 0x0400))
audio_update_irq (v);
if (use_eventmode (v)) { if (use_eventmode (v)) {
event2_newevent_xx (-1, INT_PROCESSING_DELAY, intreq, send_intreq_do); event2_newevent_xx (-1, INT_PROCESSING_DELAY, intreq, send_intreq_do);
} else { } else {
...@@ -5295,7 +5306,103 @@ static void hsync_scandoubler (void) ...@@ -5295,7 +5306,103 @@ static void hsync_scandoubler (void)
} }
} }
void hsync_handler (void) static void events_dmal (int);
static uae_u16 dmal, dmal_hpos;
static void dmal_emu (uae_u32 v)
{
int hpos = current_hpos ();
if (v >= 6) {
v -= 6;
int nr = v / 2;
uaecptr pt = audio_getpt (nr, v & 1);
uae_u16 dat = chipmem_wget_indirect (pt);
#ifdef DEBUGGER
if (debug_dma)
record_dma (0xaa + nr * 16, dat, pt, hpos, vpos, DMARECORD_AUDIO);
#endif
last_custom_value1 = dat;
AUDxDAT (nr, dat, pt);
} else {
uae_u16 dat;
int w = v & 1;
uaecptr pt = disk_getpt ();
// disk_fifostatus() needed in >100% disk speed modes
if (w) {
if (disk_fifostatus () <= 0) {
dat = chipmem_wget_indirect (pt);
last_custom_value1 = dat;
DSKDAT (dat);
}
} else {
if (disk_fifostatus () >= 0) {
dat = DSKDATR ();
chipmem_wput_indirect (pt, dat);
}
}
#ifdef DEBUGGER
if (debug_dma)
record_dma (w ? 0x26 : 0x08, dat, pt, hpos, vpos, DMARECORD_DISK);
#endif
}
}
static void dmal_func (uae_u32 v)
{
dmal_emu (v);
events_dmal (0);
}
static void dmal_func2 (uae_u32 v)
{
unsigned int i;
for (i = 0; i < 6 + 8; i += 2) {
if (dmal & 3)
dmal_emu (dmal_hpos + ((dmal & 2) ? 1 : 0));
dmal_hpos += 2;
dmal >>= 2;
}
}
static void events_dmal (int hp)
{
int i;
if (!dmal)
return;
if (currprefs.cpu_cycle_exact) {
for (i = 0; i < 6 + 8; i += 2) {
if (dmal & 3)
break;
hp += 2;
dmal >>= 2;
dmal_hpos += 2;
}
event2_newevent2 (hp, dmal_hpos + ((dmal & 2) ? 1 : 0), dmal_func);
dmal &= ~3;
} else {
event2_newevent2 (hp, 17, dmal_func2);
}
}
static void events_dmal_hsync (void)
{
unsigned int i;
if (dmal)
write_log ("DMAL error!? %04x\n", dmal);
dmal = audio_dmal ();
dmal <<= 6;
dmal |= disk_dmal ();
if (!dmal)
return;
dmal_hpos = 0;
for (i = 0; i < 6 + 8; i += 2) {
if (dmal & (3 << i)) {
alloc_cycle_ext (i + 7, CYCLE_MISC);
}
}
events_dmal (7);
}
static void hsync_handler (void)
{ {
int hpos = current_hpos (); int hpos = current_hpos ();
...@@ -5331,7 +5438,7 @@ void hsync_handler (void) ...@@ -5331,7 +5438,7 @@ void hsync_handler (void)
CDTV_hsync_handler (); CDTV_hsync_handler ();
#endif #endif
decide_blitter (-1); decide_blitter (-1);
DISK_hsync (maxhpos); DISK_hsync ();
#ifdef CPUEMU_12 #ifdef CPUEMU_12
if (currprefs.cpu_cycle_exact || currprefs.blitter_cycle_exact) { if (currprefs.cpu_cycle_exact || currprefs.blitter_cycle_exact) {
...@@ -5455,7 +5562,9 @@ void hsync_handler (void) ...@@ -5455,7 +5562,9 @@ void hsync_handler (void)
if (currprefs.produce_sound) if (currprefs.produce_sound)
audio_hsync (-1); audio_hsync ();
events_dmal_hsync ();
#ifdef JIT #ifdef JIT
if (currprefs.cachesize) { if (currprefs.cachesize) {
...@@ -5480,14 +5589,14 @@ void hsync_handler (void) ...@@ -5480,14 +5589,14 @@ void hsync_handler (void)
int lineno = vpos; int lineno = vpos;
if (lineno >= MAXVPOS) if (lineno >= MAXVPOS)
lineno %= MAXVPOS; lineno %= MAXVPOS;
if ((bplcon0 & 4) && currprefs.gfx_linedbl) if ((bplcon0 & 4) && currprefs.gfx_vresolution)
notice_interlace_seen (); notice_interlace_seen ();
nextline_how = nln_normal; nextline_how = nln_normal;
if (doflickerfix () && interlace_seen) { if (doflickerfix () && interlace_seen) {
lineno *= 2; lineno *= 2;
} else if (currprefs.gfx_linedbl && (doublescan <= 0 || interlace_seen > 0)) { } else if (currprefs.gfx_vresolution && (doublescan <= 0 || interlace_seen > 0)) {
lineno *= 2; lineno *= 2;
nextline_how = currprefs.gfx_linedbl == 1 ? nln_doubled : nln_nblack; nextline_how = currprefs.gfx_vresolution > VRES_NONDOUBLE && currprefs.gfx_scanlines == false ? nln_doubled : nln_nblack;
if ((bplcon0 & 4) || (interlace_seen > 0 && !lof_current)) { if ((bplcon0 & 4) || (interlace_seen > 0 && !lof_current)) {
if (!lof_current) { if (!lof_current) {
lineno++; lineno++;
...@@ -5740,6 +5849,7 @@ void customreset (int hardreset) ...@@ -5740,6 +5849,7 @@ void customreset (int hardreset)
set_cycles (0); set_cycles (0);
vpos_count = vpos_count_prev = 0; vpos_count = vpos_count_prev = 0;
dmal = 0;
init_hz (); init_hz ();
vpos_lpen = -1; vpos_lpen = -1;
...@@ -6157,28 +6267,28 @@ static int REGPARAM2 custom_wput_1 (int hpos, uaecptr addr, uae_u32 value, int n ...@@ -6157,28 +6267,28 @@ static int REGPARAM2 custom_wput_1 (int hpos, uaecptr addr, uae_u32 value, int n
case 0x0A4: AUDxLEN (0, value); break; case 0x0A4: AUDxLEN (0, value); break;
case 0x0A6: AUDxPER (0, value); break; case 0x0A6: AUDxPER (0, value); break;
case 0x0A8: AUDxVOL (0, value); break; case 0x0A8: AUDxVOL (0, value); break;
case 0x0AA: AUDxDAT (0, value); break; case 0x0AA: AUDxDAT (0, value, 0xffffffff); break;
case 0x0B0: AUDxLCH (1, value); break; case 0x0B0: AUDxLCH (1, value); break;
case 0x0B2: AUDxLCL (1, value); break; case 0x0B2: AUDxLCL (1, value); break;
case 0x0B4: AUDxLEN (1, value); break; case 0x0B4: AUDxLEN (1, value); break;
case 0x0B6: AUDxPER (1, value); break; case 0x0B6: AUDxPER (1, value); break;
case 0x0B8: AUDxVOL (1, value); break; case 0x0B8: AUDxVOL (1, value); break;
case 0x0BA: AUDxDAT (1, value); break; case 0x0BA: AUDxDAT (1, value, 0xffffffff); break;
case 0x0C0: AUDxLCH (2, value); break; case 0x0C0: AUDxLCH (2, value); break;
case 0x0C2: AUDxLCL (2, value); break; case 0x0C2: AUDxLCL (2, value); break;
case 0x0C4: AUDxLEN (2, value); break; case 0x0C4: AUDxLEN (2, value); break;
case 0x0C6: AUDxPER (2, value); break; case 0x0C6: AUDxPER (2, value); break;
case 0x0C8: AUDxVOL (2, value); break; case 0x0C8: AUDxVOL (2, value); break;
case 0x0CA: AUDxDAT (2, value); break; case 0x0CA: AUDxDAT (2, value, 0xffffffff); break;
case 0x0D0: AUDxLCH (3, value); break; case 0x0D0: AUDxLCH (3, value); break;
case 0x0D2: AUDxLCL (3, value); break; case 0x0D2: AUDxLCL (3, value); break;
case 0x0D4: AUDxLEN (3, value); break; case 0x0D4: AUDxLEN (3, value); break;
case 0x0D6: AUDxPER (3, value); break; case 0x0D6: AUDxPER (3, value); break;
case 0x0D8: AUDxVOL (3, value); break; case 0x0D8: AUDxVOL (3, value); break;
case 0x0DA: AUDxDAT (3, value); break; case 0x0DA: AUDxDAT (3, value, 0xffffffff); break;
case 0x0E0: BPLxPTH (hpos, value, 0); break; case 0x0E0: BPLxPTH (hpos, value, 0); break;
case 0x0E2: BPLxPTL (hpos, value, 0); break; case 0x0E2: BPLxPTL (hpos, value, 0); break;
...@@ -6341,12 +6451,6 @@ void REGPARAM2 custom_bput (uaecptr addr, uae_u32 value) ...@@ -6341,12 +6451,6 @@ void REGPARAM2 custom_bput (uaecptr addr, uae_u32 value)
} else { } else {
custom_wput (addr & ~1, rval); custom_wput (addr & ~1, rval);
} }
if (warned < 10) {
if (M68K_GETPC < 0xe00000 || M68K_GETPC >= 0x10000000) {
write_log ("Byte put to custom register %04X PC=%08X\n", addr, M68K_GETPC);
warned++;
}
}
} }
void REGPARAM2 custom_lput(uaecptr addr, uae_u32 value) void REGPARAM2 custom_lput(uaecptr addr, uae_u32 value)
......
...@@ -2573,7 +2573,7 @@ void debug (void) ...@@ -2573,7 +2573,7 @@ void debug (void)
continue; continue;
if (bpnodes[i].addr == pc) { if (bpnodes[i].addr == pc) {
bp = 1; bp = 1;
console_out (L"Breakpoint at %08X\n", pc); console_out ("Breakpoint at %08X\n", pc);
break; break;
} }
} }
......
This diff is collapsed.
...@@ -382,7 +382,7 @@ int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy) ...@@ -382,7 +382,7 @@ int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy)
if (minfirstline > y1) if (minfirstline > y1)
y1 = minfirstline; y1 = minfirstline;
dbl2 = dbl1 = currprefs.gfx_linedbl ? 1 : 0; dbl2 = dbl1 = currprefs.gfx_vresolution;
if (doublescan > 0 && interlace_seen <= 0) { if (doublescan > 0 && interlace_seen <= 0) {
dbl1--; dbl1--;
dbl2--; dbl2--;
...@@ -492,7 +492,7 @@ void get_custom_mouse_limits (int *pw, int *ph, int *pdx, int *pdy, int dbl) ...@@ -492,7 +492,7 @@ void get_custom_mouse_limits (int *pw, int *ph, int *pdx, int *pdy, int dbl)
dx = xshift (dx, res_shift); dx = xshift (dx, res_shift);
dbl2 = dbl1 = currprefs.gfx_linedbl ? 1 : 0; dbl2 = dbl1 = currprefs.gfx_vresolution;
if ((doublescan > 0 || interlace_seen > 0) && !dbl) { if ((doublescan > 0 || interlace_seen > 0) && !dbl) {
dbl1--; dbl1--;
dbl2--; dbl2--;
...@@ -714,7 +714,7 @@ static void pfield_do_fill_line (int start, int stop) ...@@ -714,7 +714,7 @@ static void pfield_do_fill_line (int start, int stop)
} }
} }
STATIC_INLINE void fill_line (void) STATIC_INLINE void fill_line_2 (int startpos, int len, int blank)
{ {
int shift; int shift;
int nints, nrem; int nints, nrem;
...@@ -728,24 +728,20 @@ STATIC_INLINE void fill_line (void) ...@@ -728,24 +728,20 @@ STATIC_INLINE void fill_line (void)
shift = 2;*/ shift = 2;*/
shift = gfxvidinfo.pixbytes >> 1; shift = gfxvidinfo.pixbytes >> 1;
nints = gfxvidinfo.width >> (2 - shift); nints = len >> (2 - shift);
nrem = nints & 7; nrem = nints & 7;
nints &= ~7; nints &= ~7;
start = (int *)(((uae_u8*)xlinebuffer) + (visible_left_border << shift)); start = (int *)(((uae_u8*)xlinebuffer) + (startpos << shift));
#ifdef ECS_DENISE val = blank ? 0 : colors_for_drawing.acolors[0];
val = brdblank ? 0 : colors_for_drawing.acolors[0];
#else
val = colors_for_drawing.acolors[0];
#endif
for (; nints > 0; nints -= 8, start += 8) { for (; nints > 0; nints -= 8, start += 8) {
*start = val; *start = val;
*(start+1) = val; *(start + 1) = val;
*(start+2) = val; *(start + 2) = val;
*(start+3) = val; *(start + 3) = val;
*(start+4) = val; *(start + 4) = val;
*(start+5) = val; *(start + 5) = val;
*(start+6) = val; *(start + 6) = val;
*(start+7) = val; *(start + 7) = val;
} }
switch (nrem) { switch (nrem) {
...@@ -766,6 +762,17 @@ STATIC_INLINE void fill_line (void) ...@@ -766,6 +762,17 @@ STATIC_INLINE void fill_line (void)
} }
} }
STATIC_INLINE void fill_line (void)
{
int endpos = visible_left_border + gfxvidinfo.width;
int endposh = coord_hw_to_window_x (hsyncstartpos * 2);
if (endpos < endposh) {
fill_line_2 (visible_left_border, gfxvidinfo.width, brdblank);
} else {
fill_line_2 (visible_left_border, endposh - visible_left_border, brdblank);
fill_line_2 (endposh, gfxvidinfo.width - endposh, 1);
}
}
#define SPRITE_DEBUG 0 #define SPRITE_DEBUG 0
STATIC_INLINE uae_u8 render_sprites (int pos, int dualpf, uae_u8 apixel, int aga) STATIC_INLINE uae_u8 render_sprites (int pos, int dualpf, uae_u8 apixel, int aga)
...@@ -1675,7 +1682,7 @@ static void init_aspect_maps (void) ...@@ -1675,7 +1682,7 @@ static void init_aspect_maps (void)
/* Do nothing if the gfx driver hasn't initialized the screen yet */ /* Do nothing if the gfx driver hasn't initialized the screen yet */
return; return;
linedbld = linedbl = currprefs.gfx_linedbl; linedbld = linedbl = currprefs.gfx_vresolution;
if (doublescan > 0 && interlace_seen <= 0) { if (doublescan > 0 && interlace_seen <= 0) {
linedbl = 0; linedbl = 0;
linedbld = 1; linedbld = 1;
...@@ -1690,8 +1697,8 @@ static void init_aspect_maps (void) ...@@ -1690,8 +1697,8 @@ static void init_aspect_maps (void)
amiga2aspect_line_map = xmalloc (int, (MAXVPOS + 1) * 2 + 1); amiga2aspect_line_map = xmalloc (int, (MAXVPOS + 1) * 2 + 1);
native2amiga_line_map = xmalloc (int, gfxvidinfo.height); native2amiga_line_map = xmalloc (int, gfxvidinfo.height);
maxl = (MAXVPOS + 1) * (linedbld ? 2 : 1); maxl = (MAXVPOS + 1) << linedbld;
min_ypos_for_screen = minfirstline << (linedbl ? 1 : 0); min_ypos_for_screen = minfirstline << linedbl;
max_drawn_amiga_line = -1; max_drawn_amiga_line = -1;
for (i = 0; i < maxl; i++) { for (i = 0; i < maxl; i++) {
int v = i - min_ypos_for_screen; int v = i - min_ypos_for_screen;
...@@ -1701,12 +1708,11 @@ static void init_aspect_maps (void) ...@@ -1701,12 +1708,11 @@ static void init_aspect_maps (void)
v = -1; v = -1;
amiga2aspect_line_map[i] = v; amiga2aspect_line_map[i] = v;
} }
if (linedbl) max_drawn_amiga_line >>= linedbl;
max_drawn_amiga_line >>= 1;
if (currprefs.gfx_ycenter && !currprefs.gfx_filter_autoscale) { if (currprefs.gfx_ycenter && !currprefs.gfx_filter_autoscale) {
/* @@@ verify maxvpos vs. MAXVPOS */ /* @@@ verify maxvpos vs. MAXVPOS */
extra_y_adjust = (gfxvidinfo.height - (maxvpos_nom << (linedbl ? 1 : 0))) >> 1; extra_y_adjust = (gfxvidinfo.height - (maxvpos_nom << linedbl)) >> 1;
if (extra_y_adjust < 0) if (extra_y_adjust < 0)
extra_y_adjust = 0; extra_y_adjust = 0;
} }
...@@ -1719,7 +1725,7 @@ static void init_aspect_maps (void) ...@@ -1719,7 +1725,7 @@ static void init_aspect_maps (void)
if (amiga2aspect_line_map[i] == -1) if (amiga2aspect_line_map[i] == -1)
continue; continue;
for (j = amiga2aspect_line_map[i]; j < gfxvidinfo.height && native2amiga_line_map[j] == -1; j++) for (j = amiga2aspect_line_map[i]; j < gfxvidinfo.height && native2amiga_line_map[j] == -1; j++)
native2amiga_line_map[j] = i >> (linedbl ? 1 : 0); native2amiga_line_map[j] = i >> linedbl;
} }
} }
...@@ -1902,6 +1908,7 @@ STATIC_INLINE void do_color_changes (line_draw_func worker_border, line_draw_fun ...@@ -1902,6 +1908,7 @@ STATIC_INLINE void do_color_changes (line_draw_func worker_border, line_draw_fun
int lastpos = visible_left_border; int lastpos = visible_left_border;
int endpos = visible_left_border + gfxvidinfo.width; int endpos = visible_left_border + gfxvidinfo.width;
int diff = 1 << lores_shift; int diff = 1 << lores_shift;
int endposh = coord_hw_to_window_x (hsyncstartpos * 2);
for (i = dip_for_drawing->first_color_change; i <= dip_for_drawing->last_color_change; i++) { for (i = dip_for_drawing->first_color_change; i <= dip_for_drawing->last_color_change; i++) {
int regno = curr_color_changes[i].regno; int regno = curr_color_changes[i].regno;
...@@ -1920,7 +1927,17 @@ STATIC_INLINE void do_color_changes (line_draw_func worker_border, line_draw_fun ...@@ -1920,7 +1927,17 @@ STATIC_INLINE void do_color_changes (line_draw_func worker_border, line_draw_fun
if (nextpos_in_range > lastpos) { if (nextpos_in_range > lastpos) {
if (lastpos < playfield_start) { if (lastpos < playfield_start) {
int t = nextpos_in_range <= playfield_start ? nextpos_in_range : playfield_start; int t = nextpos_in_range <= playfield_start ? nextpos_in_range : playfield_start;
if (t == endpos) {
if (lastpos < endposh)
(*worker_border) (lastpos, endposh);
// start of hsync, blank the rest of display
int blank = brdblank;
brdblank = 1;
(*worker_border) (endposh, endpos);
brdblank = blank;
} else {
(*worker_border) (lastpos, t); (*worker_border) (lastpos, t);
}
lastpos = t; lastpos = t;
} }
} }
...@@ -1932,8 +1949,18 @@ STATIC_INLINE void do_color_changes (line_draw_func worker_border, line_draw_fun ...@@ -1932,8 +1949,18 @@ STATIC_INLINE void do_color_changes (line_draw_func worker_border, line_draw_fun
} }
} }
if (nextpos_in_range > lastpos) { if (nextpos_in_range > lastpos) {
if (lastpos >= playfield_end) if (lastpos >= playfield_end) {
if (nextpos_in_range > endposh) {
(*worker_border) (lastpos, endposh);
// start of hsync, blank the rest of display
int blank = brdblank;
brdblank = 1;
(*worker_border) (endposh, nextpos_in_range);
brdblank = blank;
} else {
(*worker_border) (lastpos, nextpos_in_range); (*worker_border) (lastpos, nextpos_in_range);
}
}
lastpos = nextpos_in_range; lastpos = nextpos_in_range;
} }
if (i != dip_for_drawing->last_color_change) { if (i != dip_for_drawing->last_color_change) {
...@@ -2163,8 +2190,7 @@ static void center_image (void) ...@@ -2163,8 +2190,7 @@ static void center_image (void)
if (visible_left_border < prev_x_adjust && prev_x_adjust < min_diwstart && min_diwstart - visible_left_border <= 32) if (visible_left_border < prev_x_adjust && prev_x_adjust < min_diwstart && min_diwstart - visible_left_border <= 32)
visible_left_border = prev_x_adjust; visible_left_border = prev_x_adjust;
} }
} else { } else if ((beamcon0 & 0x80) && max_diwstop > 0) {
if ((beamcon0 & 0x80) && max_diwstop > 0) {
int w = gfxvidinfo.width; int w = gfxvidinfo.width;
if (max_diwstop - min_diwstart < w) if (max_diwstop - min_diwstart < w)
visible_left_border = (max_diwstop - min_diwstart - w) / 2 + min_diwstart; visible_left_border = (max_diwstop - min_diwstart - w) / 2 + min_diwstart;
...@@ -2173,7 +2199,6 @@ static void center_image (void) ...@@ -2173,7 +2199,6 @@ static void center_image (void)
} else { } else {
visible_left_border = max_diwlastword - gfxvidinfo.width; visible_left_border = max_diwlastword - gfxvidinfo.width;
} }
}
if (currprefs.gfx_xcenter_pos >= 0) { if (currprefs.gfx_xcenter_pos >= 0) {
int val = currprefs.gfx_xcenter_pos >> RES_MAX; int val = currprefs.gfx_xcenter_pos >> RES_MAX;
#if 0 #if 0
...@@ -2236,8 +2261,8 @@ static void center_image (void) ...@@ -2236,8 +2261,8 @@ static void center_image (void)
if (thisframe_y_adjust < minfirstline) if (thisframe_y_adjust < minfirstline)
thisframe_y_adjust = minfirstline; thisframe_y_adjust = minfirstline;
} }
thisframe_y_adjust_real = thisframe_y_adjust << (linedbl ? 1 : 0); thisframe_y_adjust_real = thisframe_y_adjust << linedbl;
tmp = (maxvpos_nom - thisframe_y_adjust) << (linedbl ? 1 : 0); tmp = (maxvpos_nom - thisframe_y_adjust) << linedbl;
if (tmp != max_ypos_thisframe) { if (tmp != max_ypos_thisframe) {
last_max_ypos = tmp; last_max_ypos = tmp;
if (last_max_ypos < 0) if (last_max_ypos < 0)
...@@ -2273,9 +2298,9 @@ static void init_drawing_frame (void) ...@@ -2273,9 +2298,9 @@ static void init_drawing_frame (void)
if ((src->width > 0 && src->height > 0) || (ar && currprefs.gfx_filter > 0)) { if ((src->width > 0 && src->height > 0) || (ar && currprefs.gfx_filter > 0)) {
int nr = (m & 2) == 0 ? 0 : 1; int nr = (m & 2) == 0 ? 0 : 1;
int nl = (m & 1) == 0 ? 0 : 1; int nl = (m & 1) == 0 ? 0 : 1;
if (changed_prefs.gfx_resolution != nr || changed_prefs.gfx_linedbl != nl) { if (changed_prefs.gfx_resolution != nr || changed_prefs.gfx_vresolution != nl) {
changed_prefs.gfx_resolution = nr; changed_prefs.gfx_resolution = nr;
changed_prefs.gfx_linedbl = nl; changed_prefs.gfx_vresolution = nl;
write_log ("RES -> %d LINE -> %d\n", nr, nl); write_log ("RES -> %d LINE -> %d\n", nr, nl);
config_changed = 1; config_changed = 1;
if (ar) { if (ar) {
...@@ -2318,8 +2343,7 @@ static void init_drawing_frame (void) ...@@ -2318,8 +2343,7 @@ static void init_drawing_frame (void)
if (thisframe_first_drawn_line > thisframe_last_drawn_line) if (thisframe_first_drawn_line > thisframe_last_drawn_line)
thisframe_last_drawn_line = thisframe_first_drawn_line; thisframe_last_drawn_line = thisframe_first_drawn_line;
maxline = linedbl ? (maxvpos_nom + 1) * 2 + 1 : (maxvpos_nom + 1) + 1; maxline = ((maxvpos_nom + 1) << linedbl) + 2;
maxline++;
#ifdef SMART_UPDATE #ifdef SMART_UPDATE
for (i = 0; i < maxline; i++) { for (i = 0; i < maxline; i++) {
switch (linestate[i]) { switch (linestate[i]) {
...@@ -2673,8 +2697,7 @@ static void lightpen_update (void) ...@@ -2673,8 +2697,7 @@ static void lightpen_update (void)
lightpen_cx = (((lightpen_x + visible_left_border) >> lores_shift) >> 1) + DISPLAY_LEFT_SHIFT - DIW_DDF_OFFSET; lightpen_cx = (((lightpen_x + visible_left_border) >> lores_shift) >> 1) + DISPLAY_LEFT_SHIFT - DIW_DDF_OFFSET;
lightpen_cy = lightpen_y; lightpen_cy = lightpen_y;
if (linedbl) lightpen_cy >>= linedbl;
lightpen_cy >>= 1;
lightpen_cy += minfirstline; lightpen_cy += minfirstline;
if (lightpen_cx < 0x18) if (lightpen_cx < 0x18)
...@@ -2845,7 +2868,7 @@ void vsync_handle_redraw (int long_frame, int lof_changed) ...@@ -2845,7 +2868,7 @@ void vsync_handle_redraw (int long_frame, int lof_changed)
interlace_seen = -1; interlace_seen = -1;
} else if (interlace_seen == -1) { } else if (interlace_seen == -1) {
interlace_seen = 0; interlace_seen = 0;
if (currprefs.gfx_scandoubler && currprefs.gfx_linedbl) if (currprefs.gfx_scandoubler && currprefs.gfx_vresolution)
notice_screen_contents_lost (); notice_screen_contents_lost ();
} }
...@@ -3015,7 +3038,7 @@ void reset_drawing (void) ...@@ -3015,7 +3038,7 @@ void reset_drawing (void)
init_aspect_maps (); init_aspect_maps ();
init_row_map(); init_row_map ();
last_redraw_point = 0; last_redraw_point = 0;
......
...@@ -94,7 +94,7 @@ static void freesample (struct drvsample *s) ...@@ -94,7 +94,7 @@ static void freesample (struct drvsample *s)
s->p = 0; s->p = 0;
} }
static void processclicks(struct drvsample *ds) static void processclicks (struct drvsample *ds)
{ {
unsigned int n = 0; unsigned int n = 0;
unsigned int nClick = 0; unsigned int nClick = 0;
...@@ -204,10 +204,9 @@ void driveclick_init (void) ...@@ -204,10 +204,9 @@ void driveclick_init (void)
drvs[i][DS_SNATCH].pos = drvs[i][DS_SNATCH].len; drvs[i][DS_SNATCH].pos = drvs[i][DS_SNATCH].len;
} }
} }
if (vv > 0) {
driveclick_reset (); driveclick_reset ();
if (vv > 0)
click_initialized = 1; click_initialized = 1;
}
if (v != 5) { click_initialized= 0; wave_initialized = 0;} if (v != 5) { click_initialized= 0; wave_initialized = 0;}
} }
...@@ -236,10 +235,9 @@ void driveclick_free (void) ...@@ -236,10 +235,9 @@ void driveclick_free (void)
drv_has_disk[i] = 0; drv_has_disk[i] = 0;
} }
memset (drvs, 0, sizeof (drvs)); memset (drvs, 0, sizeof (drvs));
xfree (clickbuffer);
clickbuffer = 0;
click_initialized = 0; click_initialized = 0;
wave_initialized = 0; wave_initialized = 0;
driveclick_reset ();
} }
static int driveclick_active (void) static int driveclick_active (void)
...@@ -406,8 +404,11 @@ void driveclick_mix (uae_s16 *sndbuffer, int size, int channelmask) ...@@ -406,8 +404,11 @@ void driveclick_mix (uae_s16 *sndbuffer, int size, int channelmask)
break; break;
case 1: case 1:
for (i = 0; i < size; i++) { for (i = 0; i < size; i++) {
uae_s16 s = clickbuffer[i];
if (channelmask & 1) if (channelmask & 1)
sndbuffer[0] = limit (((sndbuffer[0] + clickbuffer[i]) * 2) / 3); sndbuffer[0] = limit (((sndbuffer[0] + s) * 2) / 3);
else
sndbuffer[0] = sndbuffer[0] * 2 / 3;
sndbuffer++; sndbuffer++;
} }
break; break;
......
...@@ -354,7 +354,7 @@ static void REGPARAM2 expamem_bput (uaecptr addr, uae_u32 value) ...@@ -354,7 +354,7 @@ static void REGPARAM2 expamem_bput (uaecptr addr, uae_u32 value)
break; break;
case 0x4c: case 0x4c:
write_log (" Card %d (Zorro%s) had no success.\n", ecard + 1, expamem_type () == 0xc0 ? L"II" : L"III"); write_log (" Card %d (Zorro%s) had no success.\n", ecard + 1, expamem_type () == 0xc0 ? "II" : "III");
++ecard; ++ecard;
if (ecard < cardno) if (ecard < cardno)
(*card_init[ecard]) (); (*card_init[ecard]) ();
......
...@@ -467,7 +467,7 @@ int graphics_init (void) ...@@ -467,7 +467,7 @@ int graphics_init (void)
currprefs.gfx_width = 320; currprefs.gfx_width = 320;
currprefs.gfx_height = 256; currprefs.gfx_height = 256;
currprefs.gfx_lores = 1; currprefs.gfx_lores = 1;
currprefs.gfx_linedbl = 0; currprefs.gfx_vresolution = 0;
gfxvidinfo.width = currprefs.gfx_width; gfxvidinfo.width = currprefs.gfx_width;
gfxvidinfo.height = currprefs.gfx_height; gfxvidinfo.height = currprefs.gfx_height;
......
...@@ -680,7 +680,7 @@ STATIC_INLINE void render_gl_buffer (const struct gl_buffer_t *buffer, int first ...@@ -680,7 +680,7 @@ STATIC_INLINE void render_gl_buffer (const struct gl_buffer_t *buffer, int first
amiga_real_w = 724; amiga_real_w = 724;
gfx_gl_x_offset = (float) currprefs.gfx_gl_x_offset * 2; gfx_gl_x_offset = (float) currprefs.gfx_gl_x_offset * 2;
} }
if (currprefs.gfx_linedbl) { if (currprefs.gfx_vresolution) {
amiga_real_h = 568; amiga_real_h = 568;
gfx_gl_y_offset = (float) currprefs.gfx_gl_y_offset * 2; gfx_gl_y_offset = (float) currprefs.gfx_gl_y_offset * 2;
} else { } else {
...@@ -1530,7 +1530,7 @@ int check_prefs_changed_gfx (void) ...@@ -1530,7 +1530,7 @@ int check_prefs_changed_gfx (void)
|| changed_prefs.gfx_height_fs != currprefs.gfx_height_fs) { || changed_prefs.gfx_height_fs != currprefs.gfx_height_fs) {
fixup_prefs_dimensions (&changed_prefs); fixup_prefs_dimensions (&changed_prefs);
} else if (changed_prefs.gfx_lores_mode == currprefs.gfx_lores_mode } else if (changed_prefs.gfx_lores_mode == currprefs.gfx_lores_mode
&& changed_prefs.gfx_linedbl == currprefs.gfx_linedbl && changed_prefs.gfx_vresolution == currprefs.gfx_vresolution
&& changed_prefs.gfx_xcenter == currprefs.gfx_xcenter && changed_prefs.gfx_xcenter == currprefs.gfx_xcenter
&& changed_prefs.gfx_ycenter == currprefs.gfx_ycenter && changed_prefs.gfx_ycenter == currprefs.gfx_ycenter
&& changed_prefs.gfx_afullscreen == currprefs.gfx_afullscreen && changed_prefs.gfx_afullscreen == currprefs.gfx_afullscreen
...@@ -1550,7 +1550,7 @@ int check_prefs_changed_gfx (void) ...@@ -1550,7 +1550,7 @@ int check_prefs_changed_gfx (void)
currprefs.gfx_width_fs = changed_prefs.gfx_width_fs; currprefs.gfx_width_fs = changed_prefs.gfx_width_fs;
currprefs.gfx_height_fs = changed_prefs.gfx_height_fs; currprefs.gfx_height_fs = changed_prefs.gfx_height_fs;
currprefs.gfx_lores_mode = changed_prefs.gfx_lores_mode; currprefs.gfx_lores_mode = changed_prefs.gfx_lores_mode;
currprefs.gfx_linedbl = changed_prefs.gfx_linedbl; currprefs.gfx_vresolution = changed_prefs.gfx_vresolution;
currprefs.gfx_xcenter = changed_prefs.gfx_xcenter; currprefs.gfx_xcenter = changed_prefs.gfx_xcenter;
currprefs.gfx_ycenter = changed_prefs.gfx_ycenter; currprefs.gfx_ycenter = changed_prefs.gfx_ycenter;
currprefs.gfx_afullscreen = changed_prefs.gfx_afullscreen; currprefs.gfx_afullscreen = changed_prefs.gfx_afullscreen;
......
...@@ -1221,7 +1221,7 @@ int check_prefs_changed_gfx (void) ...@@ -1221,7 +1221,7 @@ int check_prefs_changed_gfx (void)
if (changed_prefs.gfx_width_win == currprefs.gfx_width_win if (changed_prefs.gfx_width_win == currprefs.gfx_width_win
&& changed_prefs.gfx_height_win == currprefs.gfx_height_win && changed_prefs.gfx_height_win == currprefs.gfx_height_win
&& changed_prefs.gfx_linedbl == currprefs.gfx_linedbl && changed_prefs.gfx_vresolution == currprefs.gfx_vresolution
&& changed_prefs.gfx_xcenter == currprefs.gfx_xcenter && changed_prefs.gfx_xcenter == currprefs.gfx_xcenter
&& changed_prefs.gfx_ycenter == currprefs.gfx_ycenter && changed_prefs.gfx_ycenter == currprefs.gfx_ycenter
&& changed_prefs.gfx_afullscreen == currprefs.gfx_afullscreen && changed_prefs.gfx_afullscreen == currprefs.gfx_afullscreen
...@@ -1231,7 +1231,7 @@ int check_prefs_changed_gfx (void) ...@@ -1231,7 +1231,7 @@ int check_prefs_changed_gfx (void)
graphics_subshutdown (); graphics_subshutdown ();
currprefs.gfx_width_win = changed_prefs.gfx_width_win; currprefs.gfx_width_win = changed_prefs.gfx_width_win;
currprefs.gfx_height_win = changed_prefs.gfx_height_win; currprefs.gfx_height_win = changed_prefs.gfx_height_win;
currprefs.gfx_linedbl = changed_prefs.gfx_linedbl; currprefs.gfx_vresolution = changed_prefs.gfx_vresolution;
currprefs.gfx_xcenter = changed_prefs.gfx_xcenter; currprefs.gfx_xcenter = changed_prefs.gfx_xcenter;
currprefs.gfx_ycenter = changed_prefs.gfx_ycenter; currprefs.gfx_ycenter = changed_prefs.gfx_ycenter;
currprefs.gfx_afullscreen = changed_prefs.gfx_afullscreen; currprefs.gfx_afullscreen = changed_prefs.gfx_afullscreen;
......
...@@ -104,15 +104,6 @@ int gui_init (void) ...@@ -104,15 +104,6 @@ int gui_init (void)
{ {
} }
int gui_open (void)
{
return -1;
}
void gui_notify_state (int state)
{
}
void gui_exit (void) void gui_exit (void)
{ {
} }
...@@ -144,41 +135,6 @@ void gui_led (int led, int on) ...@@ -144,41 +135,6 @@ void gui_led (int led, int on)
{ {
} }
void gui_hd_led (int led)
{
static int resetcounter;
int old = gui_data.hd;
if (led == 0) {
resetcounter--;
if (resetcounter > 0)
return;
}
gui_data.hd = led;
resetcounter = 6;
if (old != gui_data.hd)
gui_led (5, gui_data.hd);
}
void gui_cd_led (int led)
{
static int resetcounter;
int old = gui_data.cd;
if (led == 0) {
resetcounter--;
if (resetcounter > 0)
return;
}
gui_data.cd = led;
resetcounter = 6;
if (old != gui_data.cd)
gui_led (6, gui_data.cd);
}
void gui_display (int shortcut) void gui_display (int shortcut)
{ {
pause_sound (); pause_sound ();
......
...@@ -589,11 +589,6 @@ int gui_init (void) ...@@ -589,11 +589,6 @@ int gui_init (void)
{ {
} }
int gui_open (void)
{
return -1;
}
int gui_update (void) int gui_update (void)
{ {
return 0; return 0;
...@@ -617,41 +612,6 @@ void gui_led (int led, int on) ...@@ -617,41 +612,6 @@ void gui_led (int led, int on)
{ {
} }
void gui_hd_led (int unitnum, int led)
{
static int resetcounter;
int old = gui_data.hd;
if (led == 0) {
resetcounter--;
if (resetcounter > 0)
return;
}
gui_data.hd = led;
resetcounter = 6;
if (old != gui_data.hd)
gui_led (5, gui_data.hd);
}
void gui_cd_led (int unitnum, int led)
{
static int resetcounter;
int old = gui_data.cd;
if (led == 0) {
resetcounter--;
if (resetcounter > 0)
return;
}
gui_data.cd = led;
resetcounter = 6;
if (old != gui_data.cd)
gui_led (6, gui_data.cd);
}
void gui_filename (int num, const char *name) void gui_filename (int num, const char *name)
{ {
} }
...@@ -664,10 +624,6 @@ void gui_handle_events (void) ...@@ -664,10 +624,6 @@ void gui_handle_events (void)
{ {
} }
void gui_notify_state (int state)
{
}
void gui_display (int shortcut) void gui_display (int shortcut)
{ {
int result; int result;
......
...@@ -66,7 +66,6 @@ static void cpuspeedpanel_class_init (CpuSpeedPanelClass *class) ...@@ -66,7 +66,6 @@ static void cpuspeedpanel_class_init (CpuSpeedPanelClass *class)
static void cpuspeedpanel_init (CpuSpeedPanel *cspanel) static void cpuspeedpanel_init (CpuSpeedPanel *cspanel)
{ {
GtkWidget *table; GtkWidget *table;
/* GtkWidget *hbuttonbox, *button1, *button2; */
gtk_frame_set_label (GTK_FRAME(cspanel), "Emulation speed"); gtk_frame_set_label (GTK_FRAME(cspanel), "Emulation speed");
gtk_container_set_border_width (GTK_CONTAINER (cspanel), PANEL_BORDER_WIDTH); gtk_container_set_border_width (GTK_CONTAINER (cspanel), PANEL_BORDER_WIDTH);
......
This diff is collapsed.
...@@ -14,21 +14,39 @@ extern "C" { ...@@ -14,21 +14,39 @@ extern "C" {
#define CPUTYPEPANEL_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, cputypepanel_get_type (), CpuTypePanelClass) #define CPUTYPEPANEL_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, cputypepanel_get_type (), CpuTypePanelClass)
#define IS_CPUTYPEPANEL(obj) GTK_CHECK_TYPE (obj, cputype_panel_get_type ()) #define IS_CPUTYPEPANEL(obj) GTK_CHECK_TYPE (obj, cputype_panel_get_type ())
#define FPUTYPEPANEL(obj) GTK_CHECK_CAST (obj, fputypepanel_get_type (), FpuTypePanel)
#define FPUTYPEPANEL_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, fputypepanel_get_type (), FpuTypePanelClass)
#define IS_FPUTYPEPANEL(obj) GTK_CHECK_TYPE (obj, fputype_panel_get_type ())
typedef struct _CpuTypePanel CpuTypePanel; typedef struct _CpuTypePanel CpuTypePanel;
typedef struct _CpuTypePanelClass CpuTypePanelClass; typedef struct _CpuTypePanelClass CpuTypePanelClass;
typedef struct _FpuTypePanel FpuTypePanel;
typedef struct _FpuTypePanelClass FpuTypePanelClass;
struct _CpuTypePanel struct _CpuTypePanel
{ {
GtkFrame frame; GtkFrame frame;
GtkWidget *cputype_widget; GtkWidget *cputype_widget;
GtkWidget *addr24bit_widget; GtkWidget *addr24bit_widget;
GtkWidget *fpuenabled_widget; GtkWidget *cpu_morecompat_widget;
GtkWidget *mmu40_widget;
GtkWidget *accuracy_widget; GtkWidget *accuracy_widget;
guint cputype; guint cputype;
guint addr24bit; guint addr24bit;
guint fpuenabled; guint cpumorecompat;
guint compatible; guint mmu40;
guint cycleexact; guint cycleexact;
guint fpuenabled;
};
struct _FpuTypePanel
{
GtkFrame frame;
GtkWidget *fputype_widget;
GtkWidget *fpu_morecompat_widget;
guint fputype;
guint fpumorecompat;
}; };
struct _CpuTypePanelClass struct _CpuTypePanelClass
...@@ -38,6 +56,13 @@ struct _CpuTypePanelClass ...@@ -38,6 +56,13 @@ struct _CpuTypePanelClass
void (* cputypepanel) (CpuTypePanel *cputypepanel ); void (* cputypepanel) (CpuTypePanel *cputypepanel );
}; };
struct _FpuTypePanelClass
{
GtkFrameClass parent_class;
void (* fputypepanel) (FpuTypePanel *fputypepanel );
};
guint cputypepanel_get_type (void); guint cputypepanel_get_type (void);
GtkWidget* cputypepanel_new (void); GtkWidget* cputypepanel_new (void);
void cputypepanel_set_cpulevel (CpuTypePanel *ctpanel, guint cpulevel); void cputypepanel_set_cpulevel (CpuTypePanel *ctpanel, guint cpulevel);
...@@ -46,6 +71,11 @@ guint cputypepanel_get_cpulevel (CpuTypePanel *ctpanel); ...@@ -46,6 +71,11 @@ guint cputypepanel_get_cpulevel (CpuTypePanel *ctpanel);
guint cputypepanel_get_addr24bit (CpuTypePanel *ctpanel); guint cputypepanel_get_addr24bit (CpuTypePanel *ctpanel);
void cputypepanel_set_compatible (CpuTypePanel *ctpanel, gboolean compatible); void cputypepanel_set_compatible (CpuTypePanel *ctpanel, gboolean compatible);
void cputypepanel_set_cycleexact (CpuTypePanel *ctpanel, gboolean cycleexact); void cputypepanel_set_cycleexact (CpuTypePanel *ctpanel, gboolean cycleexact);
guint fputypepanel_get_type (void);
GtkWidget* fputypepanel_new (void);
void fputypepanel_set_fpulevel (FpuTypePanel *ftpanel, guint fpulevel);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /* __cplusplus */ #endif /* __cplusplus */
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
* Copyright 1997, 1998 Bernd Schmidt * Copyright 1997, 1998 Bernd Schmidt
* Copyright 1998 Michael Krause * Copyright 1998 Michael Krause
* Copyright 2003-2007 Richard Drummond * Copyright 2003-2007 Richard Drummond
* Copyright 2009-2010 Mustafa TUFAN
* *
* The Tk GUI doesn't work. * The Tk GUI doesn't work.
* The X Forms Library isn't available as source, and there aren't any * The X Forms Library isn't available as source, and there aren't any
...@@ -83,6 +84,7 @@ static char *new_disk_string[4]; ...@@ -83,6 +84,7 @@ static char *new_disk_string[4];
static GtkWidget *power_led; static GtkWidget *power_led;
static GtkWidget *ctpanel; static GtkWidget *ctpanel;
static GtkWidget *ftpanel;
static GtkWidget *cspanel; static GtkWidget *cspanel;
static GtkWidget *chipsettype_panel; static GtkWidget *chipsettype_panel;
static GtkWidget *chipsetspeed_panel; static GtkWidget *chipsetspeed_panel;
...@@ -92,6 +94,7 @@ static GtkWidget *memorypanel; ...@@ -92,6 +94,7 @@ static GtkWidget *memorypanel;
static GtkWidget *sound_widget[4], *sound_ch_widget[3], *sound_in_widget[3], *sound_fl_widget[5]; static GtkWidget *sound_widget[4], *sound_ch_widget[3], *sound_in_widget[3], *sound_fl_widget[5];
static GtkWidget *drvspeed_widget[5]; static GtkWidget *drvspeed_widget[5];
static GtkWidget *cpu_widget[6], *fpu_widget[4];
#ifdef JIT #ifdef JIT
static GtkWidget *jit_page; static GtkWidget *jit_page;
...@@ -216,7 +219,6 @@ static void handle_message_box_request (smp_comm_pipe *msg_pipe); ...@@ -216,7 +219,6 @@ static void handle_message_box_request (smp_comm_pipe *msg_pipe);
static GtkWidget *make_message_box (const gchar *title, const gchar *message, int modal, uae_sem_t *sem); static GtkWidget *make_message_box (const gchar *title, const gchar *message, int modal, uae_sem_t *sem);
void on_message_box_quit (GtkWidget *w, gpointer user_data); void on_message_box_quit (GtkWidget *w, gpointer user_data);
static void uae_pause (void) static void uae_pause (void)
{ {
write_comm_pipe_int (&from_gui_pipe, GUICMD_PAUSE , 1); write_comm_pipe_int (&from_gui_pipe, GUICMD_PAUSE , 1);
...@@ -249,6 +251,7 @@ static void set_mem32_widgets_state (void) ...@@ -249,6 +251,7 @@ static void set_mem32_widgets_state (void)
static void set_cpu_state (void) static void set_cpu_state (void)
{ {
/*
int i; int i;
unsigned int lvl; unsigned int lvl;
lvl = (changed_prefs.cpu_model - 68000) / 10; lvl = (changed_prefs.cpu_model - 68000) / 10;
...@@ -258,13 +261,18 @@ static void set_cpu_state (void) ...@@ -258,13 +261,18 @@ static void set_cpu_state (void)
cputypepanel_set_cpulevel (CPUTYPEPANEL (ctpanel), lvl); cputypepanel_set_cpulevel (CPUTYPEPANEL (ctpanel), lvl);
cputypepanel_set_addr24bit (CPUTYPEPANEL (ctpanel), changed_prefs.address_space_24); cputypepanel_set_addr24bit (CPUTYPEPANEL (ctpanel), changed_prefs.address_space_24);
cputypepanel_set_compatible (CPUTYPEPANEL (ctpanel), changed_prefs.cpu_compatible);
cputypepanel_set_cycleexact (CPUTYPEPANEL (ctpanel), changed_prefs.cpu_cycle_exact);
cpuspeedpanel_set_cpuspeed (CPUSPEEDPANEL (cspanel), changed_prefs.m68k_speed); cpuspeedpanel_set_cpuspeed (CPUSPEEDPANEL (cspanel), changed_prefs.m68k_speed);
cpuspeedpanel_set_cpuidle (CPUSPEEDPANEL (cspanel), changed_prefs.cpu_idle); cpuspeedpanel_set_cpuidle (CPUSPEEDPANEL (cspanel), changed_prefs.cpu_idle);
set_mem32_widgets_state (); set_mem32_widgets_state ();
*/
}
static void set_fpu_state (void)
{
#ifdef FPU
#endif
} }
static void set_chipset_state (void) static void set_chipset_state (void)
...@@ -527,6 +535,9 @@ static void set_floppy_state( void ) ...@@ -527,6 +535,9 @@ static void set_floppy_state( void )
static void update_state (void) static void update_state (void)
{ {
set_cpu_state (); set_cpu_state ();
#ifdef FPU
set_fpu_state ();
#endif
set_joy_state (); set_joy_state ();
set_sound_state (); set_sound_state ();
#ifdef JIT #ifdef JIT
...@@ -773,6 +784,14 @@ static void comp_changed (void) ...@@ -773,6 +784,14 @@ static void comp_changed (void)
} }
#endif #endif
static void cpu_changed (void)
{
}
static void fpu_changed (void)
{
}
static void on_start_clicked (void) static void on_start_clicked (void)
{ {
DEBUG_LOG ("Start button clicked.\n"); DEBUG_LOG ("Start button clicked.\n");
...@@ -1251,7 +1270,6 @@ static void on_cputype_changed (void) ...@@ -1251,7 +1270,6 @@ static void on_cputype_changed (void)
DEBUG_LOG ("called\n"); DEBUG_LOG ("called\n");
changed_prefs.cpu_model = mdl; changed_prefs.cpu_model = mdl;
changed_prefs.cpu_compatible = CPUTYPEPANEL (ctpanel)->compatible;
changed_prefs.cpu_cycle_exact = CPUTYPEPANEL (ctpanel)->cycleexact; changed_prefs.cpu_cycle_exact = CPUTYPEPANEL (ctpanel)->cycleexact;
set_mem32_widgets_state (); set_mem32_widgets_state ();
...@@ -1268,7 +1286,6 @@ static void on_addr24bit_changed (void) ...@@ -1268,7 +1286,6 @@ static void on_addr24bit_changed (void)
DEBUG_LOG ("called\n"); DEBUG_LOG ("called\n");
changed_prefs.address_space_24 = (cputypepanel_get_addr24bit (CPUTYPEPANEL (ctpanel)) != 0); changed_prefs.address_space_24 = (cputypepanel_get_addr24bit (CPUTYPEPANEL (ctpanel)) != 0);
set_mem32_widgets_state (); set_mem32_widgets_state ();
DEBUG_LOG ("address_space_24=%d\n", changed_prefs.address_space_24); DEBUG_LOG ("address_space_24=%d\n", changed_prefs.address_space_24);
...@@ -1308,13 +1325,18 @@ static void make_cpu_widgets (GtkWidget *vbox) ...@@ -1308,13 +1325,18 @@ static void make_cpu_widgets (GtkWidget *vbox)
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
gtk_widget_show (ctpanel); gtk_widget_show (ctpanel);
ftpanel = fputypepanel_new();
gtk_table_attach (GTK_TABLE (table), ftpanel, 1, 4, 3, 4,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
gtk_widget_show (ftpanel);
cspanel = cpuspeedpanel_new(); cspanel = cpuspeedpanel_new();
gtk_table_attach (GTK_TABLE (table), cspanel, 1, 4, 3, 4, gtk_table_attach (GTK_TABLE (table), cspanel, 1, 4, 5, 6,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
gtk_widget_show (cspanel); gtk_widget_show (cspanel);
gtk_signal_connect (GTK_OBJECT (ctpanel), "cputype-changed", gtk_signal_connect (GTK_OBJECT (ctpanel), "cputype-changed",
GTK_SIGNAL_FUNC (on_cputype_changed), GTK_SIGNAL_FUNC (on_cputype_changed),
NULL); NULL);
...@@ -1329,8 +1351,6 @@ static void make_cpu_widgets (GtkWidget *vbox) ...@@ -1329,8 +1351,6 @@ static void make_cpu_widgets (GtkWidget *vbox)
NULL); NULL);
} }
static void on_chipset_changed (void) static void on_chipset_changed (void)
{ {
changed_prefs.chipset_mask = CHIPSETTYPEPANEL (chipsettype_panel)->chipset_mask; changed_prefs.chipset_mask = CHIPSETTYPEPANEL (chipsettype_panel)->chipset_mask;
...@@ -1384,6 +1404,42 @@ static void make_chipset_widgets (GtkWidget *vbox) ...@@ -1384,6 +1404,42 @@ static void make_chipset_widgets (GtkWidget *vbox)
gtk_signal_connect (GTK_OBJECT (chipsetspeed_panel), "immediate-blits-changed", GTK_SIGNAL_FUNC (on_immediate_blits_changed), NULL); gtk_signal_connect (GTK_OBJECT (chipsetspeed_panel), "immediate-blits-changed", GTK_SIGNAL_FUNC (on_immediate_blits_changed), NULL);
} }
static void make_cpu_widgets2 (GtkWidget *vbox)
{
static const char *cpu_labels[] = {
"68000", "68010", "68020", "68030", "68040", "68060", NULL
}, *fpu_labels[] = {
"None", "68881", "68882", "CPU Internal", NULL
};
GtkWidget *hbox = gtk_hbox_new (FALSE, 10);
GtkWidget *frame, *newbox;
add_empty_vbox (vbox);
gtk_widget_show (hbox);
add_centered_to_vbox (vbox, hbox);
add_empty_vbox (vbox);
//cpu emulation
newbox = make_radio_group_box ("CPU", cpu_labels, cpu_widget, 0, cpu_changed);
// gtk_widget_set_sensitive (newbox, sound_available);
gtk_widget_show (newbox);
gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0);
newbox = gtk_check_button_new_with_label ("CE");
gtk_widget_show (newbox);
gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0);
//fpu mode
newbox = make_radio_group_box ("FPU", fpu_labels, fpu_widget, 0, fpu_changed);
// gtk_widget_set_sensitive (newbox, sound_available);
gtk_widget_show (newbox);
gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0);
}
static void make_sound_widgets (GtkWidget *vbox) static void make_sound_widgets (GtkWidget *vbox)
{ {
static const char *snd_em_labels[] = { static const char *snd_em_labels[] = {
...@@ -2502,14 +2558,6 @@ void gui_message (const char *format,...) ...@@ -2502,14 +2558,6 @@ void gui_message (const char *format,...)
write_log (msg); write_log (msg);
} }
void gui_notify_state (int state)
{
if (gui_available) {
write_comm_pipe_int (&to_gui_pipe, GUICMD_STATE_CHANGE, 1);
write_comm_pipe_int (&to_gui_pipe, state, 1);
}
}
/* /*
* do_message_box() * do_message_box()
* *
...@@ -2640,27 +2688,6 @@ static GtkWidget *make_message_box (const gchar *title, const gchar *message, in ...@@ -2640,27 +2688,6 @@ static GtkWidget *make_message_box (const gchar *title, const gchar *message, in
return dialog; return dialog;
} }
/*
* gui_open ()
*
* Called by the main UAE thread during start up to display the GUI.
*/
int gui_open (void)
{
int result = 0;
DEBUG_LOG( "Entered\n" );
if (!gui_available)
result = -1;
else {
/* We have the technology and the will - so tell the GUI to
* reveal itself */
write_comm_pipe_int (&to_gui_pipe, GUICMD_SHOW, 1);
}
return result;
}
int gui_init (void) int gui_init (void)
{ {
uae_thread_id tid; uae_thread_id tid;
......
...@@ -289,17 +289,6 @@ int gui_init (void) ...@@ -289,17 +289,6 @@ int gui_init (void)
static int have_rexx = 0; static int have_rexx = 0;
int gui_open (void)
{
if (!have_rexx) {
have_rexx = rexx_init ();
if (have_rexx)
atexit (rexx_exit);
}
return -1;
}
/****************************************************************************/ /****************************************************************************/
void gui_exit (void) void gui_exit (void)
...@@ -345,51 +334,6 @@ void gui_handle_events (void) ...@@ -345,51 +334,6 @@ void gui_handle_events (void)
/****************************************************************************/ /****************************************************************************/
void gui_notify_state (int state)
{
}
/****************************************************************************/
void gui_hd_led (int led)
{
static int resetcounter;
int old = gui_data.hd;
if (led == 0) {
resetcounter--;
if (resetcounter > 0)
return;
}
gui_data.hd = led;
resetcounter = 6;
if (old != gui_data.hd)
gui_led (5, gui_data.hd);
}
/****************************************************************************/
void gui_cd_led (int led)
{
static int resetcounter;
int old = gui_data.cd;
if (led == 0) {
resetcounter--;
if (resetcounter > 0)
return;
}
gui_data.cd = led;
resetcounter = 6;
if (old != gui_data.cd)
gui_led (6, gui_data.cd);
}
/****************************************************************************/
void gui_fps (int fps, int idle) void gui_fps (int fps, int idle)
{ {
gui_data.fps = fps; gui_data.fps = fps;
......
...@@ -16,15 +16,6 @@ int gui_init (void) ...@@ -16,15 +16,6 @@ int gui_init (void)
{ {
} }
int gui_open (void)
{
return -1;
}
void gui_notify_state (int state)
{
}
void gui_fps (int fps, int idle) void gui_fps (int fps, int idle)
{ {
gui_data.fps = fps; gui_data.fps = fps;
...@@ -39,14 +30,6 @@ void gui_led (int led, int on) ...@@ -39,14 +30,6 @@ void gui_led (int led, int on)
{ {
} }
void gui_hd_led (int unitnum, int led)
{
}
void gui_cd_led (int unitnum, int led)
{
}
void gui_filename (int num, const char *name) void gui_filename (int num, const char *name)
{ {
} }
......
...@@ -321,37 +321,6 @@ void gui_fps (int fps, int idle){ ...@@ -321,37 +321,6 @@ void gui_fps (int fps, int idle){
} }
void gui_flicker_led (int led, int unitnum, int status){} void gui_flicker_led (int led, int unitnum, int status){}
void gui_led (int led, int on){} void gui_led (int led, int on){}
void gui_hd_led (int led){
static int resetcounter;
int old = gui_data.hd;
if (led == 0) {
resetcounter--;
if (resetcounter > 0)
return;
}
gui_data.hd = led;
resetcounter = 6;
if (old != gui_data.hd)
gui_led (5, gui_data.hd);
}
void gui_cd_led (int led){
static int resetcounter;
int old = gui_data.cd;
if (led == 0) {
resetcounter--;
if (resetcounter > 0)
return;
}
gui_data.cd = led;
resetcounter = 6;
if (old != gui_data.cd)
gui_led (6, gui_data.cd);
}
void gui_filename (int num, const char *name){} void gui_filename (int num, const char *name){}
void gui_handle_events (void){} void gui_handle_events (void){}
......
...@@ -13,22 +13,25 @@ extern void aud1_handler (void); ...@@ -13,22 +13,25 @@ extern void aud1_handler (void);
extern void aud2_handler (void); extern void aud2_handler (void);
extern void aud3_handler (void); extern void aud3_handler (void);
extern void AUDxDAT (int nr, uae_u16 value); //extern void AUDxDAT (int nr, uae_u16 value);
//extern void AUDxDAT (int nr, uae_u16 value, uaecptr addr);
extern void AUDxVOL (int nr, uae_u16 value); extern void AUDxVOL (int nr, uae_u16 value);
extern void AUDxPER (int nr, uae_u16 value); extern void AUDxPER (int nr, uae_u16 value);
extern void AUDxLCH (int nr, uae_u16 value); extern void AUDxLCH (int nr, uae_u16 value);
extern void AUDxLCL (int nr, uae_u16 value); extern void AUDxLCL (int nr, uae_u16 value);
extern void AUDxLEN (int nr, uae_u16 value); extern void AUDxLEN (int nr, uae_u16 value);
extern uae_u16 audio_dmal (void);
extern void audio_state_machine (void);
extern uaecptr audio_getpt (int nr, int reset);
extern int init_audio (void); extern int init_audio (void);
extern void ahi_install (void); extern void ahi_install (void);
extern void audio_reset (void); extern void audio_reset (void);
extern void update_audio (void); extern void update_audio (void);
extern void schedule_audio (void);
extern void audio_evhandler (void); extern void audio_evhandler (void);
extern void audio_hsync (int); extern void audio_hsync (void);
extern void audio_update_adkmasks (void); extern void audio_update_adkmasks (void);
extern void audio_update_irq (uae_u16);
extern void update_sound (int freq, int longframe, int linetoggle); extern void update_sound (int freq, int longframe, int linetoggle);
extern void led_filter_audio (void); extern void led_filter_audio (void);
extern void set_audio (void); extern void set_audio (void);
......
...@@ -110,6 +110,7 @@ extern uae_u16 INTREQR (void); ...@@ -110,6 +110,7 @@ extern uae_u16 INTREQR (void);
extern int maxhpos, maxhpos_short; extern int maxhpos, maxhpos_short;
extern int maxvpos, maxvpos_nom; extern int maxvpos, maxvpos_nom;
extern int hsyncstartpos;
extern int minfirstline, vblank_endline, numscrlines; extern int minfirstline, vblank_endline, numscrlines;
extern int vblank_hz, fake_vblank_hz, vblank_skip, doublescan; extern int vblank_hz, fake_vblank_hz, vblank_skip, doublescan;
extern frame_time_t syncbase; extern frame_time_t syncbase;
...@@ -167,6 +168,9 @@ extern int xbluecolor_s, xbluecolor_b, xbluecolor_m; ...@@ -167,6 +168,9 @@ extern int xbluecolor_s, xbluecolor_b, xbluecolor_m;
#define RES_HIRES 1 #define RES_HIRES 1
#define RES_SUPERHIRES 2 #define RES_SUPERHIRES 2
#define RES_MAX 2 #define RES_MAX 2
#define VRES_NONDOUBLE 0
#define VRES_DOUBLE 1
#define VRES_MAX 1
/* calculate shift depending on resolution (replaced "decided_hires ? 4 : 8") */ /* calculate shift depending on resolution (replaced "decided_hires ? 4 : 8") */
#define RES_SHIFT(res) ((res) == RES_LORES ? 8 : (res) == RES_HIRES ? 4 : 2) #define RES_SHIFT(res) ((res) == RES_LORES ? 8 : (res) == RES_HIRES ? 4 : 2)
......
...@@ -21,10 +21,10 @@ extern void disk_insert (int num, const TCHAR *name); ...@@ -21,10 +21,10 @@ extern void disk_insert (int num, const TCHAR *name);
extern void disk_insert_force (int num, const TCHAR *name); extern void disk_insert_force (int num, const TCHAR *name);
extern void DISK_check_change (void); extern void DISK_check_change (void);
//extern int DISK_validate_filename (const TCHAR *fname, int leave_open, bool *wrprot, uae_u32 *crc32, struct zfile **zf); //extern int DISK_validate_filename (const TCHAR *fname, int leave_open, bool *wrprot, uae_u32 *crc32, struct zfile **zf);
extern void DISK_handler (void); extern void DISK_handler (uae_u32);
extern void DISK_update (unsigned int hpos); extern void DISK_update (unsigned int hpos);
extern void DISK_update_adkcon (unsigned int hpos, uae_u16 v); extern void DISK_update_adkcon (unsigned int hpos, uae_u16 v);
extern void DISK_hsync (unsigned int hpos); extern void DISK_hsync (void);
extern void DISK_reset (void); extern void DISK_reset (void);
extern int disk_getwriteprotect (const TCHAR *name); extern int disk_getwriteprotect (const TCHAR *name);
extern int disk_setwriteprotect (int num, const TCHAR *name, int protect); extern int disk_setwriteprotect (int num, const TCHAR *name, int protect);
...@@ -40,10 +40,14 @@ extern int disk_prevnext_name (TCHAR *img, int dir); ...@@ -40,10 +40,14 @@ extern int disk_prevnext_name (TCHAR *img, int dir);
extern void DSKLEN (uae_u16 v, unsigned int hpos); extern void DSKLEN (uae_u16 v, unsigned int hpos);
extern uae_u16 DSKBYTR (unsigned int hpos); extern uae_u16 DSKBYTR (unsigned int hpos);
extern void DSKDAT (uae_u16);
extern void DSKSYNC (unsigned int, uae_u16); extern void DSKSYNC (unsigned int, uae_u16);
extern void DSKPTL (uae_u16); extern void DSKPTL (uae_u16);
extern void DSKPTH (uae_u16); extern void DSKPTH (uae_u16);
extern void DSKDAT (uae_u16);
extern uae_u16 DSKDATR (void);
extern uae_u16 disk_dmal (void);
extern uaecptr disk_getpt (void);
extern int disk_fifostatus (void);
extern int disk_debug_logging; extern int disk_debug_logging;
extern int disk_debug_mode; extern int disk_debug_mode;
......
...@@ -80,9 +80,9 @@ enum { ...@@ -80,9 +80,9 @@ enum {
extern struct ev eventtab[ev_max]; extern struct ev eventtab[ev_max];
extern struct ev2 eventtab2[ev2_max]; extern struct ev2 eventtab2[ev2_max];
extern void event2_newevent(int, evt); extern void event2_newevent (int, evt, uae_u32);
extern void event2_newevent2(evt, uae_u32, evfunc2); extern void event2_newevent2 (evt, uae_u32, evfunc2);
extern void event2_remevent(int); extern void event2_remevent (int);
#if 0 #if 0
#ifdef JIT #ifdef JIT
......
...@@ -15,6 +15,8 @@ extern unsigned int obtainedfreq; ...@@ -15,6 +15,8 @@ extern unsigned int obtainedfreq;
/* Determine if we can produce any sound at all. This can be only a guess; /* Determine if we can produce any sound at all. This can be only a guess;
* if unsure, say yes. Any call to init_sound may change the value. */ * if unsure, say yes. Any call to init_sound may change the value. */
extern int setup_sound (void);
extern int init_sound (void); extern int init_sound (void);
extern void close_sound (void); extern void close_sound (void);
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
*/ */
extern int gui_init (void); extern int gui_init (void);
extern int gui_open (void);
extern int gui_update (void); extern int gui_update (void);
extern void gui_exit (void); extern void gui_exit (void);
extern void gui_led (int, int); extern void gui_led (int, int);
...@@ -18,12 +17,9 @@ extern void gui_changesettings (void); ...@@ -18,12 +17,9 @@ extern void gui_changesettings (void);
extern void gui_lock (void); extern void gui_lock (void);
extern void gui_unlock (void); extern void gui_unlock (void);
extern void gui_flicker_led (int, int, int); extern void gui_flicker_led (int, int, int);
extern void gui_hd_led (int, int);
extern void gui_cd_led (int, int);
extern void gui_disk_image_change (int, const TCHAR *); extern void gui_disk_image_change (int, const TCHAR *);
extern unsigned int gui_ledstate; extern unsigned int gui_ledstate;
extern void gui_display (int shortcut); extern void gui_display (int shortcut);
extern void gui_notify_state (int state);
extern bool no_gui, quit_to_gui; extern bool no_gui, quit_to_gui;
......
/* /*
* UAE - The Un*x Amiga Emulator * UAE - The Un*x Amiga Emulator
* *
* Joystick, mouse and keyboard emulation prototypes and definitions * Joystick, mouse and keyboard emulation prototypes and definitions
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#define UAEMAJOR 2 #define UAEMAJOR 2
#define UAEMINOR 2 #define UAEMINOR 2
#define UAESUBREV 0 #define UAESUBREV 1
typedef enum { KBD_LANG_US, KBD_LANG_DK, KBD_LANG_DE, KBD_LANG_SE, KBD_LANG_FR, KBD_LANG_IT, KBD_LANG_ES } KbdLang; typedef enum { KBD_LANG_US, KBD_LANG_DK, KBD_LANG_DE, KBD_LANG_SE, KBD_LANG_FR, KBD_LANG_IT, KBD_LANG_ES } KbdLang;
...@@ -191,8 +191,9 @@ struct uae_prefs { ...@@ -191,8 +191,9 @@ struct uae_prefs {
int gfx_refreshrate; int gfx_refreshrate;
int gfx_avsync, gfx_pvsync; int gfx_avsync, gfx_pvsync;
int gfx_resolution; int gfx_resolution;
int gfx_vresolution;
int gfx_lores_mode; int gfx_lores_mode;
int gfx_linedbl; int gfx_scanlines;
int gfx_afullscreen, gfx_pfullscreen; int gfx_afullscreen, gfx_pfullscreen;
int gfx_xcenter, gfx_ycenter; int gfx_xcenter, gfx_ycenter;
int gfx_xcenter_pos, gfx_ycenter_pos; int gfx_xcenter_pos, gfx_ycenter_pos;
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
#define UAEMAJOR 2 #define UAEMAJOR 2
#define UAEMINOR 2 #define UAEMINOR 2
#define UAESUBREV 0 #define UAESUBREV 1
#define UAEVERSION (256*65536L*UAEMAJOR + 65536L*UAEMINOR + UAESUBREV) #define UAEVERSION (256*65536L*UAEMAJOR + 65536L*UAEMINOR + UAESUBREV)
......
...@@ -775,6 +775,8 @@ void do_leave_program (void) ...@@ -775,6 +775,8 @@ void do_leave_program (void)
void start_program (void) void start_program (void)
{ {
//TODO: remove here!
gui_display (-1);
do_start_program (); do_start_program ();
} }
...@@ -811,7 +813,7 @@ static int real_main2 (int argc, TCHAR **argv) ...@@ -811,7 +813,7 @@ static int real_main2 (int argc, TCHAR **argv)
fixup_prefs (&currprefs); fixup_prefs (&currprefs);
} }
if (!graphics_setup ()) { if (! graphics_setup ()) {
write_log ("Graphics Setup Failed\n"); write_log ("Graphics Setup Failed\n");
exit (1); exit (1);
} }
......
/* /*
* E-UAE - The portable Amiga Emulator * E-UAE - The portable Amiga Emulator
* *
* SCSI layer back-end for AmigaOS hosts * SCSI layer back-end for AmigaOS hosts
...@@ -188,7 +188,7 @@ static int execscsicmd (struct IOContext *ioc, const uae_u8 *cmd_data, int cmd_l ...@@ -188,7 +188,7 @@ static int execscsicmd (struct IOContext *ioc, const uae_u8 *cmd_data, int cmd_l
DEBUG_LOG ("SCSIDEV: sending command: 0x%2x\n", cmd->scsi_Command[0]); DEBUG_LOG ("SCSIDEV: sending command: 0x%2x\n", cmd->scsi_Command[0]);
gui_cd_led (0, 1); gui_flicker_led (LED_CD, 0, 0);
error = DoIO ((struct IORequest *)ioreq); error = DoIO ((struct IORequest *)ioreq);
...@@ -284,7 +284,7 @@ static int execscsicmd_direct (int unitnum, uaecptr acmd) ...@@ -284,7 +284,7 @@ static int execscsicmd_direct (int unitnum, uaecptr acmd)
DEBUG_LOG ("SCSIDEV: error: %d actual %d\n", io_error, cmd->scsi_Actual); DEBUG_LOG ("SCSIDEV: error: %d actual %d\n", io_error, cmd->scsi_Actual);
gui_cd_led (1); gui_flicker_led (LED_CD, 0, 1);
put_long (acmd + 8, cmd->scsi_Actual); put_long (acmd + 8, cmd->scsi_Actual);
put_word (acmd + 18, cmd->scsi_CmdActual); put_word (acmd + 18, cmd->scsi_CmdActual);
......
...@@ -12,9 +12,9 @@ generated by GNU Autoconf 2.65. Invocation command line was ...@@ -12,9 +12,9 @@ generated by GNU Autoconf 2.65. Invocation command line was
hostname = GnoStiC-dv7 hostname = GnoStiC-dv7
uname -m = i686 uname -m = i686
uname -r = 2.6.32-22-generic uname -r = 2.6.32-23-generic
uname -s = Linux uname -s = Linux
uname -v = #36-Ubuntu SMP Thu Jun 3 22:02:19 UTC 2010 uname -v = #37-Ubuntu SMP Fri Jun 11 07:54:58 UTC 2010
/usr/bin/uname -p = unknown /usr/bin/uname -p = unknown
/bin/uname -X = unknown /bin/uname -X = unknown
...@@ -445,7 +445,7 @@ configure:4344: $? = 0 ...@@ -445,7 +445,7 @@ configure:4344: $? = 0
configure:4344: result: yes configure:4344: result: yes
configure:4350: checking for _doprnt configure:4350: checking for _doprnt
configure:4350: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5 configure:4350: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/ccRLmAmi.o: In function `main': /tmp/ccJt8Zal.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:67: undefined reference to `_doprnt' /home/gnostic/puaex/src/tools/conftest.c:67: undefined reference to `_doprnt'
collect2: ld returned 1 exit status collect2: ld returned 1 exit status
configure:4350: $? = 1 configure:4350: $? = 1
...@@ -533,7 +533,7 @@ configure:4364: $? = 0 ...@@ -533,7 +533,7 @@ configure:4364: $? = 0
configure:4364: result: yes configure:4364: result: yes
configure:4364: checking for strcmpi configure:4364: checking for strcmpi
configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5 configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/ccWAe3Gy.o: In function `main': /tmp/ccmv4giy.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `strcmpi' /home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `strcmpi'
collect2: ld returned 1 exit status collect2: ld returned 1 exit status
configure:4364: $? = 1 configure:4364: $? = 1
...@@ -613,7 +613,7 @@ configure: failed program was: ...@@ -613,7 +613,7 @@ configure: failed program was:
configure:4364: result: no configure:4364: result: no
configure:4364: checking for stricmp configure:4364: checking for stricmp
configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5 configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/ccd6el6G.o: In function `main': /tmp/cczfg0cD.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `stricmp' /home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `stricmp'
collect2: ld returned 1 exit status collect2: ld returned 1 exit status
configure:4364: $? = 1 configure:4364: $? = 1
......
/* /*
* UAE - The Un*x Amiga Emulator * UAE - The Un*x Amiga Emulator
* *
* Text-based user interface * Text-based user interface
...@@ -36,10 +36,6 @@ void gui_led (int led, int on) ...@@ -36,10 +36,6 @@ void gui_led (int led, int on)
{ {
} }
void gui_hd_led (int unitnum, int led)
{
}
void gui_filename (int num, const char *name) void gui_filename (int num, const char *name)
{ {
} }
...@@ -235,7 +231,7 @@ static void print_configuration (void) ...@@ -235,7 +231,7 @@ static void print_configuration (void)
tui_puts (tmp); tui_puts (tmp);
tui_gotoxy (OPTION_COLUMN+7, y++); tui_gotoxy (OPTION_COLUMN+7, y++);
if (currprefs.gfx_linedbl) if (currprefs.gfx_vresolution)
tui_puts ("Doubling lines, "); tui_puts ("Doubling lines, ");
/* if (currprefs.gfx_correct_aspect) /* if (currprefs.gfx_correct_aspect)
tui_puts ("Aspect corrected"); tui_puts ("Aspect corrected");
...@@ -470,11 +466,11 @@ static void VideoOptions (void) ...@@ -470,11 +466,11 @@ static void VideoOptions (void)
currprefs.gfx_ycenter = (currprefs.gfx_ycenter + 1) % 3; currprefs.gfx_ycenter = (currprefs.gfx_ycenter + 1) % 3;
break; break;
case 7: case 7:
currprefs.gfx_linedbl = !currprefs.gfx_linedbl; currprefs.gfx_vresolution = !currprefs.gfx_vresolution;
break;
case 8:
// currprefs.gfx_correct_aspect = !currprefs.gfx_correct_aspect;
break; break;
/* case 8:
currprefs.gfx_correct_aspect = !currprefs.gfx_correct_aspect;
break;*/
case 9: case 9:
currprefs.gfx_framerate++; currprefs.gfx_framerate++;
if (currprefs.gfx_framerate > 9) if (currprefs.gfx_framerate > 9)
...@@ -691,11 +687,6 @@ static int do_gui (int mode) ...@@ -691,11 +687,6 @@ static int do_gui (int mode)
return 0; return 0;
} }
int gui_open (void)
{
return do_gui (1);
}
int gui_update (void) int gui_update (void)
{ {
return 0; return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment