#define UAEMAJOR 5
#define UAEMINOR 3
-#define UAESUBREV 0
+#define UAESUBREV 1
#define MAX_AMIGADISPLAYS 4
}
if (prtbufbytes < PRTBUFSIZE) {
prtbuf[prtbufbytes++] = val;
+
+#ifdef RETROPLATFORM
+ if (rp_isprinter() &&
+ !currprefs.parallel_postscript_emulation &&
+ currprefs.parallel_matrix_emulation < PARALLEL_MATRIX_EPSON &&
+ (rp_isprinteropen() || prtbufbytes >= MIN_PRTBYTES)) {
+
+ flushprtbuf();
+ }
+#endif
} else {
flushprtbuf ();
*prtbuf = val;
int hres, vres;
float hmult = 1, vmult = 1;
struct MultiDisplay *disp;
- bool keepaspect = (sm->dwScreenMode & RP_SCREENMODE_SCALING_SUBPIXEL) && !(sm->dwScreenMode & RP_SCREENMODE_SCALING_STRETCH);
+ bool keepaspect = !(sm->dwScreenMode & RP_SCREENMODE_SCALING_STRETCH);
bool stretch = (sm->dwScreenMode & RP_SCREENMODE_SCALING_STRETCH) != 0;
bool forcesize = smm == RP_SCREENMODE_SCALE_TARGET && sm->lTargetWidth > 0 && sm->lTargetHeight > 0;
bool integerscale = !(sm->dwScreenMode & RP_SCREENMODE_SCALING_SUBPIXEL) && !(sm->dwScreenMode & RP_SCREENMODE_SCALING_STRETCH) && smm >= RP_SCREENMODE_SCALE_TARGET;
if (keepaspect) {
p->gf[0].gfx_filter_aspect = -1;
+ p->gf[0].gfx_filter_keep_autoscale_aspect = 1;
p->gf[0].gfx_filter_keep_aspect = 1;
} else {
p->gf[0].gfx_filter_aspect = 0;
+ p->gf[0].gfx_filter_keep_autoscale_aspect = 0;
p->gf[0].gfx_filter_keep_aspect = 0;
}
RPSendMessagex(RP_IPC_TO_HOST_DEVICEOPEN, unit, 0, NULL, 0, &guestinfo, NULL);
rp_printeropen = 1;
}
- RPSendMessagex(RP_IPC_TO_HOST_DEVICEWRITEBYTES, unit, 0, b, len, &guestinfo, NULL);
+ if (len == 1)
+ RPSendMessagex(RP_IPC_TO_HOST_DEVICEWRITEBYTE, unit, (LPARAM)*b & 0xFF, 0, 0, &guestinfo, NULL);
+ else
+ RPSendMessagex(RP_IPC_TO_HOST_DEVICEWRITEBYTES, unit, 0, b, len, &guestinfo, NULL);
}
void rp_test(void)
hdc = CreateCompatibleDC(NULL);
if (hdc) {
- int y = getdpiforwindow(parent);
if (isfullscreen() <= 0) {
+ int y = getdpiforwindow(parent);
statusline_fontsize = -MulDiv(statusline_fontsize, y, 72);
}
statusline_fontsize = statusline_fontsize * statusline_get_multiplier(monid) / 100;
#define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100)
#define GETBDD(x) ((x) % 100)
-#define WINUAEPUBLICBETA 0
+#define WINUAEPUBLICBETA 1
#define LANG_DLL 1
#define LANG_DLL_FULL_VERSION_MATCH 0
#if WINUAEPUBLICBETA
-#define WINUAEBETA _T("")
+#define WINUAEBETA _T("1")
#else
#define WINUAEBETA _T("")
#endif
-#define WINUAEDATE MAKEBD(2024, 6, 1)
+#define WINUAEDATE MAKEBD(2024, 9, 15)
//#define WINUAEEXTRA _T("AmiKit Preview")
//#define WINUAEEXTRA _T("Amiga Forever Edition")
}
if (scalemode == AUTOSCALE_INTEGER || ok == false) {
getmanualpos(monid, &cx, &cy, &cw, &ch);
+ crealh = ch;
set_custom_limits(cw, ch, cx, cy, true);
store_custom_limits(cw, ch, cx, cy);
scl = true;
//write_log (_T("%dx%d %dx%d %dx%d\n"), currprefs.gfx_xcenter_pos, currprefs.gfx_ycenter_pos, cx, cy, cw, ch);
+ crealh = ch;
cv = 1;
} else if (scalemode == AUTOSCALE_CENTER) {
}
for (;;) {
- HANDLE IPChandle;
- IPChandle = geteventhandleIPC (globalipc);
- if (globalipc && IPChandle != INVALID_HANDLE_VALUE) {
- MsgWaitForMultipleObjects (1, &IPChandle, FALSE, INFINITE, QS_ALLINPUT);
- while (checkIPC (globalipc, &workprefs));
- if (quit_program == -UAE_QUIT)
- break;
- } else {
- WaitMessage ();
+ if (!PeekMessage(&msg, NULL, 0, 0, 0)) {
+ HANDLE IPChandle;
+ IPChandle = geteventhandleIPC(globalipc);
+ if (globalipc && IPChandle != INVALID_HANDLE_VALUE) {
+ MsgWaitForMultipleObjects(1, &IPChandle, FALSE, INFINITE, QS_ALLINPUT);
+ while (checkIPC(globalipc, &workprefs));
+ if (quit_program == -UAE_QUIT)
+ break;
+ } else {
+ WaitMessage();
+ }
}
- dialogmousemove (dhwnd);
+ dialogmousemove(dhwnd);
while ((v = PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))) {
if (dialogreturn >= 0)