imported winuaesrc0990b13.zip

This commit is contained in:
Toni Wilen 2004-07-24 13:59:47 +03:00
parent df2792a80b
commit 51e0d95994
22 changed files with 347 additions and 214 deletions

View File

@ -16,6 +16,7 @@
#include "config.h"
#include "options.h"
#include "uae.h"
#include "memory.h"
#include "events.h"
#include "savestate.h"
@ -941,6 +942,7 @@ void AKIKO_hsync_handler (void)
gui_cd_led (1);
cdrom_run_read ();
framecounter = 1000000 / (74 * 75 * cdrom_speed);
framecounter = 1000000 / (74 * 75 * cdrom_speed);
cdrom_status1 |= CDSTATUS_FRAME;
}
akiko_internal ();
@ -995,7 +997,7 @@ static void *akiko_thread (void *null)
sector_buffer_sector_2 = tmp3;
}
uae_sem_post (&akiko_sem);
Sleep (10);
sleep_millis (10);
}
akiko_thread_running = -1;
return 0;

View File

@ -53,7 +53,7 @@ uae_u32 blit_masktable[BLITTER_MAX_WORDS];
static uae_u16 blit_trashtable[BLITTER_MAX_WORDS];
enum blitter_states bltstate;
static int blit_cyclecounter, blit_maxcyclecounter, blit_slowdown, blit_cycles_total;
static int blit_cyclecounter, blit_maxcyclecounter, blit_slowdown;
static int blit_linecyclecounter, blit_misscyclecounter;
#ifdef CPUEMU_6
@ -897,7 +897,6 @@ void do_blitter (int hpos)
blit_firstline_cycles = blit_first_cycle + blit_diag[1] * blt_info.hblitsize * CYCLE_UNIT;
cycles = blt_info.vblitsize * blt_info.hblitsize;
}
blit_cycles_total = cycles;
#ifdef BLITTER_DEBUG
blitter_dontdo = 0;
@ -998,33 +997,24 @@ int blitnasty (void)
void blitter_slowdown (int ddfstrt, int ddfstop, int totalcycles, int freecycles)
{
static int oddfstrt, oddfstop, ototal, ofree;
static int cycles_used;
int slow;
static int slow;
if (ddfstrt != oddfstrt || ddfstop != oddfstop || totalcycles != ototal || ofree != freecycles) {
int linecycles = ddfstop - ddfstrt;
cycles_used = 0;
if (linecycles > blit_cycles_total)
linecycles = blit_cycles_total;
if (linecycles < 0)
linecycles = 0;
if (totalcycles == 0)
return;
cycles_used = linecycles * (totalcycles - freecycles) / totalcycles;
int linecycles = ((ddfstop - ddfstrt + totalcycles - 1) / totalcycles) * totalcycles;
int freelinecycles = ((ddfstop - ddfstrt + totalcycles - 1) / totalcycles) * freecycles;
int dmacycles = (linecycles * blit_dmacount) / blit_diag[1];
oddfstrt = ddfstrt;
oddfstop = ddfstop;
ototal = totalcycles;
ofree = freecycles;
slow = 0;
if (dmacycles > freelinecycles)
slow = dmacycles - freelinecycles;
}
if (blit_slowdown < 0 || blitline || totalcycles == 0)
return;
slow = cycles_used * blit_dmacount / blit_diag[1];
slow = slow * 6 / 10;
if (slow <= 0)
if (blit_slowdown <= 0 || blitline)
return;
blit_slowdown += slow;
blit_misscyclecounter += slow;
blit_cycles_total -= maxhpos;
}
uae_u8 *restore_blitter (uae_u8 *src)

View File

@ -2289,6 +2289,7 @@ static int bip_super (struct uae_prefs *p, int config, int compa, int romcheck)
p->cachesize = 8192;
p->dfxtype[0] = 1;
p->dfxtype[1] = 1;
p->floppy_speed = 0;
p->cpu_idle = 150;
p->scsi = 1;
p->socket_emu = 1;

View File

@ -31,6 +31,7 @@
#include "savestate.h"
#include "autoconf.h"
#include "akiko.h"
#include "inputdevice.h"
static int debugger_active;
static uaecptr skipaddr_start, skipaddr_end;
@ -1482,6 +1483,7 @@ void debug (void)
if (lasthist == firsthist) {
if (++firsthist == MAX_HIST) firsthist = 0;
}
inputdevice_unacquire ();
pause_sound ();
do_skip = 0;
skipaddr_start = 0xffffffff;
@ -1513,6 +1515,7 @@ void debug (void)
debugging = 1;
}
resume_sound ();
inputdevice_acquire ();
}
int notinrom (void)

35
disk.c
View File

@ -162,6 +162,7 @@ typedef struct {
int idbit;
unsigned long drive_id; /* drive id to be reported */
char newname[256]; /* storage space for new filename during eject delay */
uae_u32 crc32;
#ifdef FDI2RAW
FDI *fdi;
#endif
@ -543,6 +544,8 @@ static void reset_drive(int i)
drv->motoroff = 1;
disabled &= ~(1 << i);
gui_data.drive_disabled[i] = 0;
gui_data.df[i][0] = 0;
gui_data.crc32[i] = 0;
if (currprefs.dfxtype[i] < 0) {
disabled |= 1 << i;
gui_data.drive_disabled[i] = 1;
@ -573,10 +576,13 @@ static void update_drive_gui (int num)
if (drv->state == gui_data.drive_motor[num]
&& drv->cyl == gui_data.drive_track[num]
&& side == gui_data.drive_side
&& drv->crc32 == gui_data.crc32[num]
&& ((writing && gui_data.drive_writing[num])
|| (!writing && !gui_data.drive_writing[num]))) {
return;
}
strcpy (gui_data.df[num], currprefs.df[num]);
gui_data.crc32[num] = drv->crc32;
gui_data.drive_motor[num] = drv->state;
gui_data.drive_track[num] = drv->cyl;
gui_data.drive_side = side;
@ -590,8 +596,10 @@ static void update_drive_gui (int num)
static void drive_fill_bigbuf (drive * drv,int);
struct zfile *DISK_validate_filename (const char *fname, int leave_open, int *wrprot)
struct zfile *DISK_validate_filename (const char *fname, int leave_open, int *wrprot, uae_u32 *crc32)
{
if (crc32)
*crc32 = 0;
if (leave_open) {
struct zfile *f = zfile_fopen (fname, "r+b");
if (f) {
@ -602,11 +610,19 @@ struct zfile *DISK_validate_filename (const char *fname, int leave_open, int *wr
*wrprot = 1;
f = zfile_fopen (fname, "rb");
}
if (f && crc32)
*crc32 = zfile_crc32 (f);
return f;
} else {
if (zfile_exists (fname)) {
if (wrprot)
*wrprot = 0;
if (crc32) {
struct zfile *f = zfile_fopen (fname, "rb");
if (f)
*crc32 = zfile_crc32 (f);
zfile_fclose (f);
}
return (void*)1;
} else {
if (wrprot)
@ -695,7 +711,7 @@ char *DISK_get_saveimagepath (const char *name)
static struct zfile *getwritefile (const char *name, int *wrprot)
{
return DISK_validate_filename (DISK_get_saveimagepath (name), 1, wrprot);
return DISK_validate_filename (DISK_get_saveimagepath (name), 1, wrprot, NULL);
}
static int iswritefileempty (const char *name)
@ -750,7 +766,7 @@ static int diskfile_iswriteprotect (const char *fname, int *needwritefile, drive
*needwritefile = 0;
*drvtype = DRV_35_DD;
zf1 = DISK_validate_filename (fname, 1, &wrprot1);
zf1 = DISK_validate_filename (fname, 1, &wrprot1, NULL);
if (!zf1) return 1;
if (zfile_iscompressed (zf1)) {
wrprot1 = 1;
@ -791,14 +807,14 @@ static int drive_insert (drive * drv, struct uae_prefs *p, int dnum, const char
int num_tracks;
drive_image_free (drv);
drv->diskfile = DISK_validate_filename (fname, 1, &drv->wrprot);
drv->diskfile = DISK_validate_filename (fname, 1, &drv->wrprot, &drv->crc32);
drv->ddhd = 1;
drv->num_secs = 0;
drv->hard_num_cyls = p->dfxtype[dnum] == DRV_525_SD ? 40 : 80;
drv->tracktiming[0] = 0;
drv->useturbo = 0;
drv->indexoffset = 0;
if (!drv->motoroff) {
drv->dskready_time = DSKREADY_TIME;
drv->dskready_down_time = 0;
@ -1509,6 +1525,7 @@ static void drive_eject (drive * drv)
drv->dskready = 0;
drv->dskready_time = 0;
drv->dskready_down_time = 0;
drv->crc32 = 0;
drive_settype_id(drv); /* Back to 35 DD */
#ifdef DISK_DEBUG
write_dlog ("eject drive %d\n", drv - &floppy[0]);
@ -1651,7 +1668,7 @@ int disk_setwriteprotect (int num, const char *name, int protect)
drive_type drvtype;
oldprotect = diskfile_iswriteprotect (name, &needwritefile, &drvtype);
zf1 = DISK_validate_filename (name, 1, &wrprot1);
zf1 = DISK_validate_filename (name, 1, &wrprot1, NULL);
if (!zf1) return 0;
if (zfile_iscompressed (zf1)) wrprot1 = 1;
zf2 = getwritefile (name, &wrprot2);
@ -1681,6 +1698,7 @@ void disk_eject (int num)
drive_eject (floppy + num);
*currprefs.df[num] = *changed_prefs.df[num] = 0;
floppy[num].newname[0] = 0;
update_drive_gui (num);
}
void DISK_history_add (const char *name, int idx)
@ -1780,6 +1798,8 @@ void DISK_check_change (void)
#ifdef DISK_DEBUG
write_dlog ("delayed insert, drive %d, image '%s'\n", i, drv->newname);
#endif
update_drive_gui (i);
}
}
}
@ -2700,7 +2720,8 @@ uae_u8 *restore_disk(int num,uae_u8 *src)
strncpy(changed_prefs.df[num],src,255);
src+=strlen(src)+1;
drive_insert (floppy + num, &currprefs, num, changed_prefs.df[num]);
if (drive_empty (floppy + num)) drv->dskchange = 1;
if (drive_empty (floppy + num))
drv->dskchange = 1;
return src;
}

View File

@ -3067,7 +3067,7 @@ action_rename_object (Unit *unit, dpacket packet)
return;
}
if (-1 == rename (a1->nname, a2->nname)) {
if (-1 == my_rename (a1->nname, a2->nname)) {
int ret = -1;
/* maybe we have open file handles that caused failure? */
write_log ("rename '%s' -> '%s' failed, trying relocking..\n", a1->nname, a2->nname);
@ -3080,7 +3080,7 @@ action_rename_object (Unit *unit, dpacket packet)
}
}
/* try again... */
ret = rename (a1->nname, a2->nname);
ret = my_rename (a1->nname, a2->nname);
for (k1 = unit->keys; k1; k1 = knext) {
knext = k1->next;
if (k1->aino == a1 && k1->fd >= 0) {

32
fsdb.c
View File

@ -31,6 +31,13 @@
* Offset 518, 81 bytes, comment
*/
#define TRACING_ENABLED 0
#if TRACING_ENABLED
#define TRACE(x) do { write_log x; } while(0)
#else
#define TRACE(x)
#endif
char *nname_begin (char *nname)
{
char *p = strrchr (nname, FSDB_DIR_SEPARATOR);
@ -96,7 +103,7 @@ static void fsdb_fixup (FILE *f, char *buf, int size, a_inode *base)
free (nname);
return;
}
write_log ("uaefsdb '%s' deleted\n", nname);
TRACE (("uaefsdb '%s' deleted\n", nname));
/* someone deleted this file/dir outside of emulation.. */
buf[0] = 0;
free (nname);
@ -150,7 +157,8 @@ static a_inode *aino_from_buf (a_inode *base, char *buf, long off)
aino->has_dbentry = 1;
aino->dirty = 0;
aino->db_offset = off;
write_log("aino=%d a='%s' n='%s' c='%s' mode=%d dir=%d\n",off,aino->aname,aino->nname,aino->comment,aino->amigaos_mode,aino->dir);
TRACE (("aino=%d a='%s' n='%s' c='%s' mode=%d dir=%d\n",
off, aino->aname, aino->nname, aino->comment, aino->amigaos_mode, aino->dir));
return aino;
}
@ -245,7 +253,7 @@ static void write_aino (FILE *f, a_inode *aino)
aino->db_offset = ftell (f);
fwrite (buf, 1, sizeof buf, f);
aino->has_dbentry = aino->needs_dbentry;
write_log ("%d '%s' '%s' written\n", aino->db_offset, aino->aname, aino->nname);
TRACE (("%d '%s' '%s' written\n", aino->db_offset, aino->aname, aino->nname));
}
/* Write back the db file for a directory. */
@ -259,6 +267,7 @@ void fsdb_dir_writeback (a_inode *dir)
uae_u8 *tmpbuf;
int size, i;
TRACE (("fsdb writeback %s\n", dir->aname));
/* First pass: clear dirty bits where unnecessary, and see if any work
* needs to be done. */
for (aino = dir->child; aino; aino = aino->sibling) {
@ -280,20 +289,27 @@ void fsdb_dir_writeback (a_inode *dir)
}
if (! entries_needed) {
kill_fsdb (dir);
TRACE (("fsdb removed\n"));
return;
}
if (! changes_needed)
if (! changes_needed) {
TRACE (("not modified\n"));
return;
}
f = get_fsdb (dir, "r+b");
if (f == 0) {
if (currprefs.filesys_no_uaefsdb)
if (currprefs.filesys_no_uaefsdb) {
TRACE (("disabled\n"));
return;
}
f = get_fsdb (dir, "w+b");
if (f == 0)
if (f == 0) {
TRACE (("failed\n"));
/* This shouldn't happen... */
return;
}
}
fseek (f, 0, SEEK_END);
size = ftell (f);
@ -303,7 +319,7 @@ void fsdb_dir_writeback (a_inode *dir)
tmpbuf = malloc (size);
fread (tmpbuf, 1, size, f);
}
write_log ("**** updating '%s'\n", dir->aname);
TRACE (("**** updating '%s' %d\n", dir->aname, size));
for (aino = dir->child; aino; aino = aino->sibling) {
if (! aino->dirty)
@ -327,7 +343,7 @@ void fsdb_dir_writeback (a_inode *dir)
}
write_aino (f, aino);
}
write_log ("end\n");
TRACE (("end\n"));
fclose (f);
free (tmpbuf);
}

View File

@ -138,13 +138,6 @@ static uae_u64 cmd_write (struct hardfiledata *hfd, uaecptr dataptr, uae_u64 off
gui_hd_led (1);
hf_log2 ("cmd_write: %p %04.4x-%08.8x %08.8x\n", dataptr, (uae_u32)(offset >> 32), (uae_u32)offset, (uae_u32)len);
if (offset + len >= hfd->size) {
write_log ("read access out of bounds %08.8X-%08.8X + %08.8X-%08.8X >= %08.8X-%08.8X\n",
(uae_u32)(offset >> 32),(uae_u32)offset,(uae_u32)(len >> 32),(uae_u32)len,
(uae_u32)((offset + len) >> 32),(uae_u32)(offset+len));
for (i = 0; i < len; i++)
put_byte (dataptr + i, 0);
}
while (len > 0) {
int got2;
for (i = 0; i < hfd->blocksize; i++)
@ -489,7 +482,7 @@ static void getchs (struct hardfiledata *hfd, int *cyl, int *cylsec, int *head,
static void outofbounds (int cmd, uae_u64 offset, uae_u64 len, uae_u64 max)
{
write_log ("cmd %d: out of bounds, %08.8X-%08.8X + %08.8X-%08.8X >= %08.8X-%08.8X\n", cmd,
write_log ("cmd %d: out of bounds, %08.8X-%08.8X + %08.8X-%08.8X > %08.8X-%08.8X\n", cmd,
(uae_u32)(offset >> 32),(uae_u32)offset,(uae_u32)(len >> 32),(uae_u32)len,
(uae_u32)(max >> 32),(uae_u32)max);
}

View File

@ -16,7 +16,7 @@ extern void disk_eject (int num);
extern int disk_empty (int num);
extern void disk_insert (int num, const char *name);
extern void DISK_check_change (void);
extern struct zfile *DISK_validate_filename (const char *, int, int *);
extern struct zfile *DISK_validate_filename (const char *, int, int *, uae_u32 *);
extern void DISK_handler (void);
extern void DISK_update (int hpos);
extern void DISK_reset (void);

View File

@ -121,6 +121,7 @@ extern int my_readdir (void*, char*);
extern int my_rmdir (const char*);
extern int my_mkdir (const char*);
extern int my_unlink (const char*);
extern int my_rename (const char*, const char*);
extern void *my_open (const char*, int);
extern void my_close (void*);

View File

@ -34,6 +34,8 @@ struct gui_info
uae_u8 hd; /* harddrive */
uae_u8 cd; /* CD */
int fps, idle;
char df[4][256]; /* inserted image */
uae_u32 crc32[4]; /* crc32 of image */
};
#define NUM_LEDS (1 + 1 + 1 + 1 + 1 + 4)

View File

@ -909,7 +909,7 @@ static uae_u16 handle_joystick_potgor (uae_u16 potgor)
if (mouse_port[i]) {
/* mouse has pull-up resistors in button lines */
if (!(potgo_value & p5dir))
potgor |= p5dir;
potgor |= p5dat;
if (!(potgo_value & p9dir))
potgor |= p9dat;
}
@ -918,7 +918,7 @@ static uae_u16 handle_joystick_potgor (uae_u16 potgor)
* forces input-lines to zero
*/
if (!(potgo_value & p5dir))
potgor &= ~p5dir;
potgor &= ~p5dat;
if (!(potgo_value & p9dir))
potgor &= ~p9dat;
}
@ -932,15 +932,15 @@ static uae_u16 handle_joystick_potgor (uae_u16 potgor)
/* P5 output and 1 -> shift register is kept reset (Blue button) */
if ((potgo_value & p5dir) && (potgo_value & p5dat))
cd32_shifter[i] = 8;
/* shift at zero == return one, >1 = return button states */
/* shift at 1 == return one, >1 = return button states */
if (cd32_shifter[i] == 0)
potgor &= ~p9dat; /* shift at one == return zero */
potgor &= ~p9dat; /* shift at zero == return zero */
if (cd32_shifter[i] >= 2 && (joybutton[i] & ((1 << JOYBUTTON_CD32_PLAY) << (cd32_shifter[i] - 2))))
potgor &= ~p9dat;
//write_log ("%d:%04.4X %08.8X\n", cd32_shifter[i], potgor, m68k_getpc());
} else {
if (getbuttonstate (i, JOYBUTTON_3))
potgor &= ~p5dir;
potgor &= ~p5dat;
if (getbuttonstate (i, JOYBUTTON_2))
potgor &= ~p9dat;
}
@ -1245,7 +1245,7 @@ void handle_input_event (int nr, int state, int max, int autofire)
if (nr <= 0) return;
ie = &events[nr];
// write_log("'%s' %d %d\n", ie->name, state, max);
//write_log("'%s' %d %d\n", ie->name, state, max);
if (autofire) {
if (state)
queue_input_event (nr, state, max, currprefs.input_autofire_framecnt, 1);

View File

@ -1102,7 +1102,8 @@ static int movec_illg (int regno)
}
if (currprefs.cpu_level == 2 || currprefs.cpu_level == 3) { /* 68020 */
if (regno == 3) return 1; /* 68040 only */
if (regno2 < 4)
/* 4 is >=68040, but 0x804 is in 68020 */
if (regno2 < 4 || regno == 0x804)
return 0;
return 1;
}

View File

@ -316,11 +316,13 @@ static void initialize_windowsmouse (void)
did->name = my_strdup (i ? "Mousehack mouse" : "Windows mouse");
did->sortname = my_strdup (i ? "Windowsmouse2" : "Windowsmouse1");
did->buttons = GetSystemMetrics (SM_CMOUSEBUTTONS);
if (did->buttons < 3)
did->buttons = 3;
if (did->buttons > 5)
did->buttons = 5; /* no non-direcinput support for >5 buttons */
if (did->buttons > 3 && !os_winnt)
did->buttons = 3; /* Windows 98/ME support max 3 non-DI buttons */
did->axles = GetSystemMetrics (SM_MOUSEWHEELPRESENT) ? 3 : 2;
did->axles = 3;
did->axistype[0] = 1;
did->axissort[0] = 0;
did->axisname[0] = my_strdup ("X-Axis");
@ -1156,8 +1158,11 @@ static int init_kb (void)
keyboardlayoutid = GetKeyboardLayout(0);
keyboardlangid = LOWORD(keyboardlayoutid);
keyboard_german = 0;
if (keyboardlangid == MAKELANGID (LANG_GERMAN, SUBLANG_GERMAN))
keyboard_german = 1;
if (keyboardlangid == 0x0407) keyboard_german = 1; //German Standard
if (keyboardlangid == 0x0807) keyboard_german = 1; //German Switzerland
if (keyboardlangid == 0x0c07) keyboard_german = 1; //German Austria
if (keyboardlangid == 0x1007) keyboard_german = 1; //German Louxembourg
if (keyboardlangid == 0x1407) keyboard_german = 1; //German Lichtenstein
return 1;
}
@ -1261,8 +1266,6 @@ static int keyhack (int scancode,int pressed, int num)
//available
//so here need to change qulifier state and restore it when key
//is release
if (!keyboard_german)
return scancode;
if (scancode == DIK_BACKSLASH) // The # key
{
if (di_keycodes[num][DIK_LSHIFT] || di_keycodes[num][DIK_RSHIFT] || apostrophstate)

View File

@ -1011,10 +1011,6 @@ HRESULT DirectDraw_CreateOverlaySurface( int width, int height, int bits)
ddrval = IDirectDraw7_CreateSurface ( DirectDrawState.directdraw.dd, &ddsd, &DirectDrawState.overlay.surface, NULL);
if( ddrval == DD_OK )
{
#if 0
ddrval = IDirectDrawSurface7_QueryInterface( DirectDrawState.overlay.surface,
&IID_IDirectDrawSurface7,(LPVOID *)&DirectDrawState.overlay.surface );
#endif
DirectDrawState.isoverlay = 1;
}
else

View File

@ -198,14 +198,39 @@ int my_mkdir (const char *name)
return CreateDirectory (name, NULL) == 0 ? -1 : 0;
}
int my_rmdir (const char *name)
static int recycle (const char *name)
{
return RemoveDirectory (name) == 0 ? -1 : 0;
SHFILEOPSTRUCT fos;
/* name must be terminated by \0\0 */
char *p = xcalloc (strlen (name) + 2, 1);
int v;
strcpy (p, name);
memset (&fos, 0, sizeof (fos));
fos.wFunc = FO_DELETE;
fos.pFrom = p;
fos.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NORECURSION | FOF_SILENT;
v = SHFileOperation (&fos);
xfree (p);
return v ? -1 : 0;
}
int my_rmdir (const char *name)
{
return recycle (name);
//return RemoveDirectory (name) == 0 ? -1 : 0;
}
/* "move to Recycle Bin" (if enabled) -version of DeleteFile() */
int my_unlink (const char *name)
{
return DeleteFile (name) == 0 ? -1 : 0;
return recycle (name);
//return DeleteFile (name) == 0 ? -1 : 0;
}
int my_rename (const char *oldname, const char *newname)
{
return MoveFile (oldname, newname) == 0 ? -1 : 0;
}
struct my_opendirs {
@ -332,12 +357,11 @@ int my_truncate (const char *name, long int len)
if (SetEndOfFile (hFile) == TRUE)
result = 0;
} else {
write_log ("SetFilePointer() failure for %s to posn %d\n", name, len);
write_log ("truncate: SetFilePointer() failure for %s to posn %d\n", name, len);
}
CloseHandle( hFile );
} else {
write_log ("CreateFile() failed to open %s\n", name);
write_log ("truncate: CreateFile() failed to open %s\n", name);
}
return result;
}

View File

@ -32,11 +32,24 @@
/* Our Win32 implementation of this function */
void gettimeofday( struct timeval *tv, void *blah )
{
#if 1
struct timeb time;
ftime( &time );
ftime (&time);
tv->tv_sec = time.time;
tv->tv_usec = time.millitm * 1000;
#else
SYSTEMTIME st;
FILETIME ft;
uae_u64 v, sec;
GetSystemTime (&st);
SystemTimeToFileTime (&st, &ft);
v = (ft.dwHighDateTime << 32) | ft.dwLowDateTime;
v /= 10;
sec = v / 1000000;
tv->tv_usec = (unsigned long)(v - (sec * 1000000));
tv->tv_sec = (unsigned long)(sec - 11644463600);
#endif
}
/* convert time_t to/from AmigaDOS time */

View File

@ -45,20 +45,20 @@ BEGIN
COMBOBOX IDC_ROMFILE2,89,31,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "...",IDC_ROMCHOOSER2,280,30,10,15
RTEXT "Cartridge ROM File:",IDC_FLASHTEXT2,8,93,75,10
COMBOBOX IDC_CARTFILE,89,90,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "...",IDC_CARTCHOOSER,280,90,10,15
GROUPBOX "Misc settings:",-1,5,76,290,57
RTEXT "Flash RAM File:",IDC_FLASHTEXT,8,112,75,10
EDITTEXT IDC_FLASHFILE,89,110,185,15,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_FLASHCHOOSER,280,110,10,15
CONTROL "MAPROM emulation [] Creates BlizKick-compatible memory area.",
IDC_MAPROM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,95,54,
82,10
CONTROL "ShapeShifter support [] Patches Kickstart ROM for ShapeShifter compatibility.",
IDC_KICKSHIFTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
187,54,80,10
GROUPBOX "Misc settings:",-1,5,76,290,57
RTEXT "Cartridge ROM File:",IDC_FLASHTEXT2,8,93,75,10
COMBOBOX IDC_CARTFILE,89,90,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "...",IDC_CARTCHOOSER,280,90,10,15
RTEXT "Flash RAM File:",IDC_FLASHTEXT,8,112,75,10
EDITTEXT IDC_FLASHFILE,89,110,185,15,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_FLASHCHOOSER,280,110,10,15
END
IDD_DISPLAY DIALOGEX 0, 0, 300, 194
@ -82,16 +82,17 @@ BEGIN
GROUPBOX "Settings",IDC_SETTINGSTEXT,12,77,199,73
CONTROL "Full Screen",IDC_AFULLSCREEN,"Button",BS_AUTOCHECKBOX |
BS_LEFT | WS_TABSTOP,35,89,90,10
CONTROL "Correct aspect ratio",IDC_ASPECT,"Button",
BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,35,106,90,10
CONTROL "Full Screen RTG",IDC_PFULLSCREEN,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,131,89,70,10,0,
HIDC_PFULLSCREEN
CONTROL "Correct aspect ratio",IDC_ASPECT,"Button",
BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,35,106,90,10
CONTROL "Lo-res",IDC_LORES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
131,106,70,10,0,HIDC_LORES
LTEXT "Refresh:",IDC_REFRESHTEXT,18,129,28,8
CONTROL "Slider1",IDC_FRAMERATE,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,46,124,75,20
EDITTEXT IDC_RATETEXT,126,128,77,12,ES_CENTER | ES_READONLY
GROUPBOX "Centering",IDC_STATIC,221,0,61,67
CONTROL "Horizontal",IDC_XCENTER,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,229,16,45,10
@ -111,7 +112,6 @@ BEGIN
TBS_TOP | NOT WS_VISIBLE | WS_TABSTOP,97,161,101,20
PUSHBUTTON "Detect pixel format",IDC_TEST16BIT,210,161,73,14,0,0,
HIDC_TEST16BIT
EDITTEXT IDC_RATETEXT,126,128,77,12,ES_CENTER | ES_READONLY
END
IDD_MEMORY DIALOGEX 0, 0, 300, 175
@ -165,6 +165,9 @@ BEGIN
CONTROL "More compatible [] Emulate 68000's prefetch registers. More compatible but slower.",
IDC_COMPATIBLE,"Button",BS_AUTOCHECKBOX | BS_LEFT |
WS_GROUP | WS_TABSTOP,10,130,70,10
CONTROL "JIT [] Enable Just-In-Time CPU emulator. Increases the speed of CPU emulation 10-100x. Requires 68020 or 68040 CPU.",
IDC_JITENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,
145,64,10
GROUPBOX "CPU Emulation Speed:",IDC_STATIC,90,5,205,86
CONTROL "Fastest possible, but maintain chipset timing",
IDC_CS_HOST,"Button",BS_AUTORADIOBUTTON | BS_LEFT |
@ -206,9 +209,6 @@ BEGIN
WS_TABSTOP,230,142,45,10
CONTROL "After Picasso96",IDC_TRUST2,"Button",BS_AUTORADIOBUTTON |
WS_TABSTOP,230,155,64,10
CONTROL "JIT [] Enable Just-In-Time CPU emulator. Increases the speed of CPU emulation 10-100x. Requires 68020 or 68040 CPU.",
IDC_JITENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,
145,64,10
END
IDD_FLOPPY DIALOGEX 0, 0, 300, 230
@ -291,11 +291,11 @@ BEGIN
PUSHBUTTON "Add &Directory...",IDC_NEW_FS,5,196,60,15
PUSHBUTTON "Add &Hardfile...",IDC_NEW_HF,70,196,60,15
PUSHBUTTON "Add Ha&rddrive...",IDC_NEW_HD,135,196,60,15
PUSHBUTTON "Remove",IDC_REMOVE,135,218,60,15
PUSHBUTTON "&Properties",IDC_EDIT,200,218,60,15
CONTROL "Add PC Drives at Startup",IDC_MAPDRIVES,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,5,216,105,10,0,
HIDC_MAPDRIVES
PUSHBUTTON "Remove",IDC_REMOVE,135,218,60,15
PUSHBUTTON "&Properties",IDC_EDIT,200,218,60,15
CONTROL "Disable UAEFSDB-support",IDC_NOUAEFSDB,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,5,229,115,10
END
@ -316,6 +316,14 @@ BEGIN
WS_TABSTOP,13,69,42,10
CONTROL "Enabled, 100% accurate",IDC_SOUND3,"Button",
BS_AUTORADIOBUTTON | WS_TABSTOP,13,81,93,10
GROUPBOX "Volume",IDC_STATIC,131,30,164,31
CONTROL "",IDC_SOUNDVOLUME,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_TOP | WS_TABSTOP,137,38,105,20
EDITTEXT IDC_SOUNDVOLUME2,247,41,40,12,ES_CENTER | ES_READONLY
GROUPBOX "Sound buffer size",IDC_STATIC,132,67,164,31
CONTROL "Slider1",IDC_SOUNDBUFFERRAM,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,138,75,106,19
EDITTEXT IDC_SOUNDBUFFERMEM,248,78,40,12,ES_CENTER | ES_READONLY
GROUPBOX "Settings",IDC_SOUNDINTERPOLATION2,6,101,290,60
RTEXT "Frequency:",IDC_SOUNDFREQTXT,34,110,37,8,SS_CENTERIMAGE
COMBOBOX IDC_SOUNDFREQ,36,119,67,75,CBS_DROPDOWN | WS_VSCROLL |
@ -332,28 +340,6 @@ BEGIN
SS_CENTERIMAGE
COMBOBOX IDC_SOUNDINTERPOLATION,116,144,67,75,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
GROUPBOX "Disk Drive Sound Emulation",IDC_STATIC,6,164,290,46
COMBOBOX IDC_SOUNDDRIVE,237,174,46,75,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SOUNDDRIVESELECT,18,192,265,75,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
CONTROL "",IDC_SOUNDDRIVEVOLUME,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,14,172,107,19
GROUPBOX "Sound buffer size",IDC_STATIC,132,67,164,31
CONTROL "Slider1",IDC_SOUNDBUFFERRAM,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,138,75,106,19
GROUPBOX "Sound driver lag compensation",IDC_STATIC,6,211,290,31
CONTROL "Slider1",IDC_SOUNDADJUST,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,14,221,107,19
PUSHBUTTON "Calibrate",IDC_SOUNDCALIBRATE,183,223,40,14
GROUPBOX "Volume",IDC_STATIC,131,30,164,31
CONTROL "",IDC_SOUNDVOLUME,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_TOP | WS_TABSTOP,137,38,105,20
EDITTEXT IDC_SOUNDBUFFERMEM,248,78,40,12,ES_CENTER | ES_READONLY
EDITTEXT IDC_SOUNDADJUSTNUM,124,224,40,12,ES_CENTER | ES_READONLY
EDITTEXT IDC_SOUNDVOLUME2,247,41,40,12,ES_CENTER | ES_READONLY
EDITTEXT IDC_SOUNDDRIVEVOLUME2,124,178,40,12,ES_CENTER |
ES_READONLY
RTEXT "Stereo separation:",IDC_SOUNDSTEREOSEPTXT,196,110,58,8,
SS_CENTERIMAGE
COMBOBOX IDC_SOUNDSTEREOSEP,197,119,67,75,CBS_DROPDOWNLIST |
@ -362,6 +348,20 @@ BEGIN
8,SS_CENTERIMAGE
COMBOBOX IDC_SOUNDSTEREOMIX,197,144,67,75,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
GROUPBOX "Disk Drive Sound Emulation",IDC_STATIC,6,164,290,46
CONTROL "",IDC_SOUNDDRIVEVOLUME,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,14,172,107,19
EDITTEXT IDC_SOUNDDRIVEVOLUME2,124,178,40,12,ES_CENTER |
ES_READONLY
COMBOBOX IDC_SOUNDDRIVE,237,174,46,75,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SOUNDDRIVESELECT,18,192,265,75,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
GROUPBOX "Sound driver lag compensation",IDC_STATIC,6,211,290,31
CONTROL "Slider1",IDC_SOUNDADJUST,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,14,221,107,19
EDITTEXT IDC_SOUNDADJUSTNUM,124,224,40,12,ES_CENTER | ES_READONLY
PUSHBUTTON "Calibrate",IDC_SOUNDCALIBRATE,183,223,40,14
END
IDD_LOADSAVE DIALOGEX 0, 0, 302, 241
@ -371,14 +371,22 @@ BEGIN
CONTROL "",IDC_CONFIGTREE,"SysTreeView32",TVS_HASLINES |
TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_BORDER |
WS_TABSTOP,6,3,289,153,WS_EX_CLIENTEDGE
RTEXT "Description:",IDC_STATIC,4,183,37,15,SS_CENTERIMAGE
EDITTEXT IDC_EDITDESCRIPTION,44,183,150,13,ES_AUTOHSCROLL,0,
HIDC_EDITDESCRIPTION
EDITTEXT IDC_EDITPATH,199,161,49,15,ES_AUTOHSCROLL | WS_DISABLED,
0,HIDC_EDITPATH
RTEXT "Name:",IDC_STATIC,0,161,40,15,SS_CENTERIMAGE
EDITTEXT IDC_EDITNAME,44,162,150,13,ES_AUTOHSCROLL,0,
HIDC_EDITNAME
RTEXT "Description:",IDC_STATIC,4,183,37,15,SS_CENTERIMAGE
EDITTEXT IDC_EDITDESCRIPTION,44,183,150,13,ES_AUTOHSCROLL,0,
HIDC_EDITDESCRIPTION
RTEXT "Link:",IDC_STATIC,0,204,40,15,SS_CENTERIMAGE
COMBOBOX IDC_CONFIGLINK,44,205,97,150,CBS_DROPDOWN |
CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
CONTROL "Ignore link",IDC_CONFIGNOLINK,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,146,206,48,10
EDITTEXT IDC_EDITPATH,199,161,49,15,ES_AUTOHSCROLL | WS_DISABLED,
0,HIDC_EDITPATH
CONTROL "Autoload",IDC_CONFIGAUTO,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,253,163,42,10
GROUPBOX "Extra info",IDC_STATIC,199,179,96,38,BS_LEFT
PUSHBUTTON "View",IDC_VIEWINFO,210,195,35,15
PUSHBUTTON "Set",IDC_SETINFO,250,195,35,15
PUSHBUTTON "Load",IDC_QUICKLOAD,5,225,40,15
@ -386,14 +394,6 @@ BEGIN
PUSHBUTTON "Load From...",IDC_LOAD,125,225,45,15
PUSHBUTTON "Save As...",IDC_SAVE,175,225,40,15
PUSHBUTTON "Delete",IDC_DELETE,255,225,40,15
CONTROL "Autoload",IDC_CONFIGAUTO,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,253,163,42,10
COMBOBOX IDC_CONFIGLINK,44,205,97,150,CBS_DROPDOWN |
CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
RTEXT "Link:",IDC_STATIC,0,204,40,15,SS_CENTERIMAGE
GROUPBOX "Extra info",IDC_STATIC,199,179,96,38,BS_LEFT
CONTROL "Ignore link",IDC_CONFIGNOLINK,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,146,206,48,10
END
IDD_PORTS DIALOGEX 0, 0, 300, 194
@ -515,6 +515,8 @@ BEGIN
WS_TABSTOP,29,51,115,10
CONTROL "UAEscsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,29,66,117,10
CONTROL "Don't show Taskbar button",IDC_NOTASKBARBUTTON,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,29,80,117,10
CONTROL "BSDsocket.library emulation",IDC_SOCKETS,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,159,21,120,10
CONTROL "Use CTRL-F11 to quit",IDC_CTRLF11,"Button",
@ -523,6 +525,8 @@ BEGIN
BS_AUTOCHECKBOX | WS_TABSTOP,159,51,120,10
CONTROL "Use ASPI SCSI layer",IDC_ASPI,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,159,66,115,10
CONTROL "Syncronize clock",IDC_CLOCKSYNC,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,159,80,115,10
GROUPBOX "Keyboard LEDs:",IDC_STATIC,7,99,85,73
COMBOBOX IDC_KBLED1,22,112,56,65,CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP
@ -549,10 +553,6 @@ BEGIN
182,83,10,SS_CENTERIMAGE | WS_TABSTOP
COMBOBOX IDC_STATE_BUFFERSIZE,248,180,38,65,CBS_DROPDOWN |
WS_VSCROLL | WS_TABSTOP
CONTROL "Don't show Taskbar button",IDC_NOTASKBARBUTTON,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,29,80,117,10
CONTROL "Syncronize clock",IDC_CLOCKSYNC,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,159,80,115,10
END
IDD_HARDFILE DIALOGEX 0, 0, 299, 180
@ -568,27 +568,27 @@ BEGIN
RTEXT "FileSys:",IDC_HARDFILE_FILESYS_TEXT,16,36,26,10
EDITTEXT IDC_PATH_FILESYS,44,34,221,15,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_FILESYS_SELECTOR,271,34,11,15
CONTROL "Read/Write",IDC_RW,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,110,57,50,10
RTEXT "Device:",IDC_HARDFILE_DEVICE_TEXT,16,58,25,10
EDITTEXT IDC_HARDFILE_DEVICE,44,54,40,15,ES_AUTOHSCROLL
RTEXT "BootPri:",IDC_HARDFILE_BOOTPRI_TEXT,11,80,30,8
EDITTEXT IDC_HARDFILE_BOOTPRI,44,75,40,15
CONTROL "Read/Write",IDC_RW,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,110,57,50,10
PUSHBUTTON "Enable RDB-mode",IDC_HDF_RDB,192,55,92,14
RTEXT "Surfaces:",IDC_SURFACES_TEXT,112,79,30,10
EDITTEXT IDC_HEADS,147,75,35,15,ES_NUMBER
RTEXT "Reserved:",IDC_RESERVED_TEXT,197,79,35,10
EDITTEXT IDC_RESERVED,237,75,35,15,ES_NUMBER
RTEXT "BootPri:",IDC_HARDFILE_BOOTPRI_TEXT,11,80,30,8
EDITTEXT IDC_HARDFILE_BOOTPRI,44,75,40,15
RTEXT "Sectors:",IDC_SECTORS_TEXT,112,101,30,10
EDITTEXT IDC_SECTORS,147,96,35,15,ES_NUMBER
RTEXT "Block-Size:",IDC_BLOCKSIZE_TEXT,197,101,35,10
EDITTEXT IDC_BLOCKSIZE,237,96,35,15,ES_NUMBER
GROUPBOX "New Hard File",IDC_STATIC,10,120,280,35
PUSHBUTTON "Enable RDB-mode",IDC_HDF_RDB,192,55,92,14
PUSHBUTTON "Create",IDC_CREATEHF,40,135,85,14
EDITTEXT IDC_HFSIZE,141,135,61,15,ES_NUMBER
LTEXT "MB",IDC_RESERVED_TEXT2,214,138,39,9,NOT WS_GROUP
PUSHBUTTON "OK",IDOK,102,161,50,14
PUSHBUTTON "Cancel",IDCANCEL,158,161,50,14
PUSHBUTTON "Create",IDC_CREATEHF,40,135,85,14
END
IDD_FILESYS DIALOGEX 15, 25, 299, 111
@ -762,28 +762,28 @@ BEGIN
RTEXT "Horizontal Size",-1,25,44,57,10,SS_CENTERIMAGE
CONTROL "Slider1",IDC_FILTERHZ,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_TOP | WS_TABSTOP,89,37,158,19
EDITTEXT IDC_FILTERHZV,248,40,34,12,ES_CENTER | ES_READONLY
RTEXT "Vertical Size",-1,26,64,57,10,SS_CENTERIMAGE
CONTROL "Slider1",IDC_FILTERVZ,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_TOP | WS_TABSTOP,89,57,157,19
EDITTEXT IDC_FILTERVZV,248,59,34,12,ES_CENTER | ES_READONLY
RTEXT "Horizontal Position",-1,26,84,57,10,SS_CENTERIMAGE
CONTROL "Slider1",IDC_FILTERHO,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_TOP | WS_TABSTOP,89,77,157,19
EDITTEXT IDC_FILTERHOV,248,79,34,12,ES_CENTER | ES_READONLY
RTEXT "Vertical Position",-1,26,103,57,10,SS_CENTERIMAGE
CONTROL "Slider1",IDC_FILTERVO,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_TOP | WS_TABSTOP,89,97,157,19
EDITTEXT IDC_FILTERVOV,248,101,34,12,ES_CENTER | ES_READONLY
RTEXT "Scanlines",-1,27,133,57,10,SS_CENTERIMAGE
CONTROL "Slider1",IDC_FILTERSL,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_TOP | WS_TABSTOP,89,126,157,19
EDITTEXT IDC_FILTERSLV,248,128,34,12,ES_CENTER | ES_READONLY
COMBOBOX IDC_FILTERSLR,56,146,27,150,CBS_DROPDOWNLIST |
CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
CONTROL "Slider1",IDC_FILTERSL2,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,89,146,157,19
EDITTEXT IDC_FILTERSL2V,248,151,34,12,ES_CENTER | ES_READONLY
EDITTEXT IDC_FILTERSLV,248,128,34,12,ES_CENTER | ES_READONLY
EDITTEXT IDC_FILTERVOV,248,101,34,12,ES_CENTER | ES_READONLY
EDITTEXT IDC_FILTERHOV,248,79,34,12,ES_CENTER | ES_READONLY
EDITTEXT IDC_FILTERVZV,248,59,34,12,ES_CENTER | ES_READONLY
EDITTEXT IDC_FILTERHZV,248,40,34,12,ES_CENTER | ES_READONLY
GROUPBOX "Presets",-1,0,176,296,36
COMBOBOX IDC_FILTERPRESETS,8,190,119,150,CBS_DROPDOWN | CBS_SORT |
CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
@ -887,6 +887,10 @@ BEGIN
SS_CENTERIMAGE
EDITTEXT IDC_PATHS_SAVESTATE,14,114,261,15,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_PATHS_SAVESTATES,281,114,11,15
LTEXT "Video path:",IDC_PATHS_AVIOUTPUTL,14,132,260,8,
SS_CENTERIMAGE
EDITTEXT IDC_PATHS_AVIOUTPUT,14,144,261,15,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_PATHS_AVIOUTPUTS,282,144,11,15
LTEXT "Saveimage path:",IDC_PATHS_SAVEIMAGEL,14,163,260,8,
SS_CENTERIMAGE
EDITTEXT IDC_PATHS_SAVEIMAGE,14,175,261,15,ES_AUTOHSCROLL
@ -894,10 +898,6 @@ BEGIN
PUSHBUTTON "Reset to defaults",IDC_PATHS_DEFAULT,13,199,73,14
PUSHBUTTON "Rescan ROMs",IDC_ROM_RESCAN,97,199,73,14
PUSHBUTTON "Clear registry",IDC_RESETREGISTRY,219,199,73,14
LTEXT "Video path:",IDC_PATHS_AVIOUTPUTL,14,132,260,8,
SS_CENTERIMAGE
EDITTEXT IDC_PATHS_AVIOUTPUT,14,144,261,15,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_PATHS_AVIOUTPUTS,282,144,11,15
END
IDD_QUICKSTART DIALOGEX 0, 0, 300, 242
@ -912,8 +912,18 @@ BEGIN
RTEXT "Configuration:",IDC_STATIC,5,33,56,10,SS_CENTERIMAGE
COMBOBOX IDC_QUICKSTART_CONFIGURATION,65,31,225,50,
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Compatibility vs required CPU power ",
IDC_QUICKSTART_COMPA,3,56,294,33
RTEXT "Best compatibility",IDC_STATIC,13,70,67,10,
SS_CENTERIMAGE
CONTROL "",IDC_QUICKSTART_COMPATIBILITY,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,88,65,115,21
RTEXT "Low compatibility",IDC_STATIC,215,70,63,10,
SS_CENTERIMAGE
GROUPBOX "Host configuration",IDC_QUICKSTART_HOST,3,91,294,33
RTEXT "Configuration:",IDC_STATIC,5,105,55,10,SS_CENTERIMAGE
COMBOBOX IDC_QUICKSTART_HOSTCONFIG,65,103,225,50,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
GROUPBOX "Disk Drives",IDC_QUICKSTART_DF,3,126,294,84
LTEXT "Disk Drive DF0:",IDC_STATIC,10,138,56,10,SS_CENTERIMAGE
PUSHBUTTON "Select Disk Image",IDC_DF0QQ,77,135,98,15
@ -924,30 +934,20 @@ BEGIN
PUSHBUTTON "Eject",IDC_EJECT0Q,260,136,30,15
COMBOBOX IDC_DF0TEXTQ,9,154,282,75,CBS_DROPDOWN | CBS_AUTOHSCROLL |
WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_DF1TEXTQ,9,190,282,75,CBS_DROPDOWN | CBS_AUTOHSCROLL |
WS_VSCROLL | WS_TABSTOP
CONTROL "",IDC_DF1WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE |
WS_TABSTOP,245,173,10,15
PUSHBUTTON "Eject",IDC_EJECT1Q,260,172,30,15
CONTROL "Start in Quickstart-mode",IDC_QUICKSTARTMODE,"Button",
BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,199,222,94,10
COMBOBOX IDC_QUICKSTART_HOSTCONFIG,65,103,225,50,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
GROUPBOX "Host configuration",IDC_QUICKSTART_HOST,3,91,294,33
RTEXT "Configuration:",IDC_STATIC,5,105,55,10,SS_CENTERIMAGE
LTEXT "Disk Drive DF1:",IDC_STATIC,10,176,56,10,SS_CENTERIMAGE
PUSHBUTTON "Select Disk Image",IDC_DF1QQ,77,172,98,15
RTEXT "Write Protected",IDC_STATIC,180,175,58,10,
SS_CENTERIMAGE
CONTROL "",IDC_QUICKSTART_COMPATIBILITY,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,88,65,115,21
RTEXT "Low compatibility",IDC_STATIC,215,70,63,10,
SS_CENTERIMAGE
GROUPBOX "Compatibility vs required CPU power ",
IDC_QUICKSTART_COMPA,3,56,294,33
GROUPBOX "Mode",IDC_STATIC,190,211,107,27,BS_LEFT
CONTROL "",IDC_DF1WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE |
WS_TABSTOP,245,173,10,15
PUSHBUTTON "Eject",IDC_EJECT1Q,260,172,30,15
COMBOBOX IDC_DF1TEXTQ,9,190,282,75,CBS_DROPDOWN | CBS_AUTOHSCROLL |
WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Set Configuration",IDC_QUICKSTART_SETCONFIG,9,219,72,15,
NOT WS_VISIBLE
GROUPBOX "Mode",IDC_STATIC,190,211,107,27,BS_LEFT
CONTROL "Start in Quickstart-mode",IDC_QUICKSTARTMODE,"Button",
BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,199,222,94,10
END
@ -1390,7 +1390,7 @@ END
STRINGTABLE
BEGIN
IDS_QS_MODELS "Amiga 500 (Amiga 2000)\nAmiga 500+\nAmiga 600\nAmiga 1000\nAmiga 1200\nCD32\nCDTV (CDROM emulation not yet working)\nExpanded UAE example configuration"
IDS_QS_MODELS "Amiga 500 / Amiga 2000\nAmiga 500+\nAmiga 600\nAmiga 1000\nAmiga 1200\nCD32\nCDTV (CDROM emulation not yet working)\nExpanded UAE example configuration"
IDS_QS_MODEL_A500 "KS 1.3, OCS Agnus, 0.5M Chip + 0.5M Slow (most common)\nThis configuration is capable of running most games and demos ever produced for the first Amiga line. Only few exceptions need different configuration. Oldest Amiga games tend to be incompatible with this configuration.\nKS 1.3, ECS Agnus, 0.5M Chip + 0.5M Slow\nLater hardware revision of Amiga 500. Nearly 100% compatible with previous configuration.\nKS 1.3, ECS Agnus, 1.0M Chip\nFew newer games and demos require this configuration.\nKS 1.3, OCS Agnus, 0.5M Chip\nVery old (~1987 and older) games and demos may require this configuration.\nKS 1.2, OCS Agnus, 0.5M Chip\nThe first Amiga 500 produced had this configuration. Some very old programs only work correctly with this configuration. NOTE: This configuration cannot boot the Amiga OS installed on an emulated HD.\nKS 1.2, OCS Agnus, 0.5M Chip + 0.5M Slow\nThis configuration adds expansion memory to the first Amiga 500 ever produced. Try this if your game do not work with newer configurations but works with the previous one. It could add some features to the game and faster game loading. NOTE: This configuration cannot boot the Amiga OS installed on an emulated HD."
IDS_QS_MODEL_A500P "Basic non-expanded configuration\nA500+ is basically an Amiga 500 with ECS Agnus, 1MB of Chip RAM and Kickstart 2.0 ROM. Many Amiga 500 games and demos won't work properly on an Amiga 500+.\n2M Chip RAM expanded configuration\n\n4M Fast RAM expanded configuration\n"
IDS_QS_MODEL_A600 "Basic non-expanded configuration\nA600 is basically smaller Amiga 500+ with updated Kickstart 2.0 ROM.\n2M Chip RAM expanded configuration\n\n4M Fast RAM expanded configuration\n"

View File

@ -581,6 +581,7 @@ static long FAR PASCAL AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
{
case WM_SIZE:
{
write_log ("WM_SIZE %d %d\n", wParam, minimized);
if (isfullscreen ()) {
v = minimized;
switch (wParam)
@ -605,6 +606,7 @@ static long FAR PASCAL AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
}
case WM_ACTIVATE:
write_log ("WM_ACTIVE %d %d %d\n", HIWORD (wParam), LOWORD (wParam), minimized);
if (!isfullscreen ()) {
minimized = HIWORD (wParam);
if (LOWORD (wParam) != WA_INACTIVE) {
@ -615,14 +617,14 @@ static long FAR PASCAL AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
winuae_inactive (hWnd, minimized);
}
return 0;
} else if (LOWORD (wParam) == WA_INACTIVE) {
minimized = 1;
if (isfullscreen ())
} else {
if (LOWORD (wParam) == WA_INACTIVE) {
minimized = HIWORD (wParam);
winuae_inactive (hWnd, minimized);
if (ignorenextactivateapp > 0)
ignorenextactivateapp--;
} else if (!minimized && LOWORD (wParam) != WA_INACTIVE) {
winuae_active (hWnd, minimized);
} else {
if (!minimized)
winuae_active (hWnd, minimized);
}
if (ignorenextactivateapp > 0)
ignorenextactivateapp--;
return 0;
@ -630,15 +632,15 @@ static long FAR PASCAL AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
break;
case WM_ACTIVATEAPP:
write_log ("WM_ACTIVATEAPP %d %d\n", wParam, minimized);
if (!wParam) {
if (gui_active && isfullscreen())
exit_gui (0);
setmouseactive (0);
} else {
if (minimized) {
if (minimized)
minimized = 0;
winuae_active (hWnd, minimized);
}
winuae_active (hWnd, minimized);
if (!ignorenextactivateapp && isfullscreen () && is3dmode ()) {
WIN32GFX_DisplayChangeRequested ();
ignorenextactivateapp = 3;
@ -681,13 +683,22 @@ static long FAR PASCAL AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
setmousebuttonstate (dinput_winmouse(), 1, 1);
return 0;
case WM_MBUTTONUP:
if (dinput_winmouse () >= 0)
setmousebuttonstate (dinput_winmouse(), 2, 0);
if (!currprefs.win32_middle_mouse) {
if (dinput_winmouse () >= 0)
setmousebuttonstate (dinput_winmouse(), 2, 0);
}
return 0;
case WM_MBUTTONDOWN:
case WM_MBUTTONDBLCLK:
if (dinput_winmouse () >= 0)
setmousebuttonstate (dinput_winmouse(), 2, 1);
if (currprefs.win32_middle_mouse) {
if (isfullscreen ())
minimizewindow ();
if (mouseactive)
setmouseactive(0);
} else {
if (dinput_winmouse () >= 0)
setmousebuttonstate (dinput_winmouse(), 2, 1);
}
return 0;
case WM_XBUTTONUP:
if (dinput_winmouse () >= 0) {
@ -743,7 +754,7 @@ static long FAR PASCAL AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
return 0;
case WM_WINDOWPOSCHANGED:
GetWindowRect( hWnd, &amigawin_rect);
GetWindowRect (hWnd, &amigawin_rect);
break;
case WM_MOUSEMOVE:
@ -838,7 +849,40 @@ static long FAR PASCAL AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
handle_rawinput (lParam);
break;
case WM_USER + 1: /* Systray icon */
case WM_NOTIFY:
{
LPNMHDR nm = (LPNMHDR)lParam;
if (nm->hwndFrom == hStatusWnd) {
switch (nm->code)
{
/* status bar clicks */
case NM_CLICK:
case NM_RCLICK:
{
LPNMMOUSE lpnm = (LPNMMOUSE) lParam;
int num = lpnm->dwItemSpec;
if (num >= 6 && num <= 9) {
num -= 6;
if (nm->code == NM_RCLICK) {
disk_eject (num);
} else {
DiskSelection (hWnd, IDC_DF0 + num, 0, &changed_prefs, 0);
disk_insert (num, changed_prefs.df[num]);
}
} else if (num == 3) {
if (nm->code == NM_CLICK)
gui_display (-1);
else
uae_reset (0);
}
return TRUE;
}
}
}
}
break;
case WM_USER + 1: /* Systray icon */
switch (lParam)
{
case WM_LBUTTONDOWN:
@ -946,6 +990,7 @@ static long FAR PASCAL MainWindowProc (HWND hWnd, UINT message, WPARAM wParam, L
case 0xff: // WM_INPUT
case WM_USER + 1:
case WM_COMMAND:
case WM_NOTIFY:
return AmigaWindowProc (hWnd, message, wParam, lParam);
case WM_DISPLAYCHANGE:

View File

@ -21,7 +21,7 @@ extern int manual_painting_needed;
extern int manual_palette_refresh_needed;
extern int mouseactive, focus;
#define WINUAEBETA 1
#define WINUAEBETASTR " Beta 12"
#define WINUAEBETASTR " Beta 13"
extern void my_kbd_handler (int, int, int);
extern void clearallkeys(void);

View File

@ -889,9 +889,9 @@ static void close_hwnds( void )
#endif
setmouseactive (0);
if (hMainWnd)
systray(hMainWnd, TRUE);
systray (hMainWnd, TRUE);
if (hStatusWnd) {
ShowWindow( hStatusWnd, SW_HIDE );
ShowWindow (hStatusWnd, SW_HIDE);
DestroyWindow (hStatusWnd);
}
if (hAmigaWnd) {
@ -1617,7 +1617,10 @@ static void createstatuswindow (void)
int num_parts = 10;
double scaleX, scaleY;
hStatusWnd = CreateStatusWindow (WS_CHILD | WS_VISIBLE, "", hMainWnd, 1);
hStatusWnd = CreateWindowEx(
0, STATUSCLASSNAME, (LPCTSTR) NULL, SBT_TOOLTIPS | WS_CHILD | WS_VISIBLE,
0, 0, 0, 0, hMainWnd, (HMENU) 1, hInst, NULL);
if (!hStatusWnd)
return;

View File

@ -2670,6 +2670,8 @@ static BOOL CALLBACK QuickstartDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPAR
pages[QUICKSTART_ID] = hDlg;
currentpage = QUICKSTART_ID;
enable_for_quickstart (hDlg);
strcpy (df0, workprefs.df[0]);
strcpy (df1, workprefs.df[1]);
doinit = 1;
break;
case WM_NULL:
@ -2780,7 +2782,7 @@ static BOOL CALLBACK QuickstartDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPAR
recursive--;
break;
}
if (recursive == 0) {
if (recursive == 0 && quickstart) {
recursive++;
if (strcmp (workprefs.df[0], df0) || workprefs.dfxtype[0] != dfxtype[0]) {
strcpy (df0, workprefs.df[0]);
@ -5439,7 +5441,7 @@ static void addfloppytype (HWND hDlg, int n)
chk = disk_getwriteprotect (workprefs.df[n]) && state == TRUE ? BST_CHECKED : 0;
if (f_wp >= 0)
CheckDlgButton(hDlg, f_wp, chk);
chk = state && DISK_validate_filename (workprefs.df[n], 0, 0) ? TRUE : FALSE;
chk = state && DISK_validate_filename (workprefs.df[n], 0, NULL, NULL) ? TRUE : FALSE;
if (f_wp >= 0)
EnableWindow(GetDlgItem(hDlg, f_wp), chk);
@ -5887,7 +5889,7 @@ static void updatejoyport (HWND hDlg)
if (joy1previous < 0)
joy1previous = 1;
for (i = 0; i < 2; i++) {
int total = 0;
int total = 1;
int idx = i == 0 ? joy0previous : joy1previous;
int id1 = i == 0 ? IDC_PORT0_JOYS : IDC_PORT1_JOYS;
int id2 = i == 0 ? IDC_PORT0_JOYSC : IDC_PORT1_JOYSC;
@ -7868,43 +7870,60 @@ void gui_led (int led, int on)
{
WORD type;
static char drive_text[NUM_LEDS * 16];
char *ptr;
int pos = -1;
static char dfx[4][300];
char *ptr, *tt, *p;
int pos = -1, j;
indicator_leds (led, on);
if( hStatusWnd )
{
if (on)
type = SBT_POPOUT;
if (!hStatusWnd)
return;
if (on)
type = SBT_POPOUT;
else
type = 0;
tt = NULL;
if (led >= 1 && led <= 4) {
pos = 5 + (led - 1);
ptr = drive_text + pos * 16;
if (gui_data.drive_disabled[led - 1])
strcpy (ptr, "");
else
type = 0;
if (led >= 1 && led <= 4) {
pos = 5 + (led - 1);
ptr = drive_text + pos * 16;
if (gui_data.drive_disabled[led - 1])
strcpy (ptr, "");
else
sprintf (ptr , "%02d", gui_data.drive_track[led - 1]);
} else if (led == 0) {
pos = 2;
ptr = strcpy (drive_text + pos * 16, "Power");
} else if (led == 5) {
pos = 3;
ptr = strcpy (drive_text + pos * 16, "HD");
} else if (led == 6) {
pos = 4;
ptr = strcpy (drive_text + pos * 16, "CD");
} else if (led == 7) {
pos = 1;
ptr = drive_text + pos * 16;
sprintf(ptr, "FPS: %.1f", (double)((gui_data.fps + 5) / 10.0));
} else if (led == 8) {
pos = 0;
ptr = drive_text + pos * 16;
sprintf(ptr, "CPU: %.0f%%", (double)((gui_data.idle) / 10.0));
sprintf (ptr , "%02d .", gui_data.drive_track[led - 1]);
p = gui_data.df[led - 1];
j = strlen (p) - 1;
if (j < 0)
j = 0;
while (j > 0) {
if (p[j - 1] == '\\' || p[j - 1] == '/')
break;
j--;
}
if (pos >= 0)
PostMessage (hStatusWnd, SB_SETTEXT, (WPARAM) ((pos + 1) | type), (LPARAM) ptr);
tt = dfx[led - 1];
tt[0] = 0;
if (strlen (p + j) > 0)
sprintf (tt, "%s (CRC=%08.8X)", p + j, gui_data.crc32[led - 1]);
} else if (led == 0) {
pos = 2;
ptr = strcpy (drive_text + pos * 16, "Power");
} else if (led == 5) {
pos = 3;
ptr = strcpy (drive_text + pos * 16, "HD");
} else if (led == 6) {
pos = 4;
ptr = strcpy (drive_text + pos * 16, "CD");
} else if (led == 7) {
pos = 1;
ptr = drive_text + pos * 16;
sprintf(ptr, "FPS: %.1f", (double)((gui_data.fps + 5) / 10.0));
} else if (led == 8) {
pos = 0;
ptr = drive_text + pos * 16;
sprintf(ptr, "CPU: %.0f%%", (double)((gui_data.idle) / 10.0));
}
if (pos >= 0) {
PostMessage (hStatusWnd, SB_SETTEXT, (WPARAM) ((pos + 1) | type), (LPARAM) ptr);
if (tt != NULL)
PostMessage (hStatusWnd, SB_SETTIPTEXT, (WPARAM) (pos + 1), (LPARAM) tt);
}
}