slackbuilds/system/xAce/patches/xmain.c.patch

80 lines
2.3 KiB
Diff

--- src/xmain.c 2012-12-22 07:53:19.000000000 +0000
+++ src/xmain.c 2022-09-07 22:11:24.405433694 +0100
@@ -57,6 +57,8 @@
mem+0xe000
};
+int is_fast_speed = 0;
+
unsigned long tstates=0,tsmax=62500;
int memattr[8]={0,1,1,1,1,1,1,1}; /* 8K RAM Banks */
@@ -252,13 +254,28 @@
tape_attach(tape_filename);
break;
+ case XK_F10:
+ if (is_fast_speed == 1) {
+ normal_speed();
+ is_fast_speed = 0;
+ } else {
+ fast_speed();
+ is_fast_speed = 1;
+ }
+ break;
+
case XK_F11:
- printf("Enter spool file:");
- scanf("%256s", spool_filename);
- spooler_open(spool_filename);
+ if (!spooler_active()) {
+ printf("Enter spool file:");
+ scanf("%256s", spool_filename);
+ spooler_open(spool_filename);
+ } else {
+ spooler_close();
+ }
break;
case XK_F12:
+ spooler_close();
reset_ace = 1; /* will cause a reset */
memset(mem+8192, 0xff, 57344);
refresh_screen = 1;
@@ -270,13 +287,14 @@
void
main(int argc, char **argv)
{
- printf("xace: Jupiter ACE emulator v%s (by Edward Patel)\n", XACE_VERSION);
+ printf("xace: Jupiter ACE emulator v%s (by Edward Patel, with Slackware mods)\n", XACE_VERSION);
printf("Keys:\n");
printf("\tF1 - Delete Line\n");
printf("\tF3 - Attach a tape image\n");
printf("\tF4 - Inverse Video\n");
printf("\tF9 - Graphics\n");
- printf("\tF11 - Spool from a file\n");
+ printf("\tF10 - Toggle Normal/Fast Speed\n");
+ printf("\tF11 - Start/Stop Spool from a file\n");
printf("\tF12 - Reset\n");
printf("\tEsc - Break\n");
printf("\tCtrl-Q - Quit xAce\n");
@@ -568,16 +586,16 @@
XAutoRepeatOn(display),XFlush(display);
break;
case KeyPress:
- if (!spooler_active()) {
kev = (XKeyEvent *)&xev;
XLookupString(kev, key_buf, 20, &ks, NULL);
+ if (!spooler_active() || ks == XK_F10 || ks == XK_F11 || ks == XK_F12 ) {
keyboard_keypress(ks, kev->state);
}
break;
case KeyRelease:
- if (!spooler_active()) {
kev = (XKeyEvent *)&xev;
XLookupString(kev, key_buf, 20, &ks, NULL);
+ if (!spooler_active() || ks == XK_F10 || ks == XK_F11 || ks == XK_F12 ) {
keyboard_keyrelease(ks, kev->state);
}
break;