PiDP-8/I Software

Check-in [6351b989cf]
Log In

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fixed an operator precedence problem in the new switch combos, which caused the reboot/shutdown sequences to be ignored.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | release
Files: files | file ages | folders
SHA1: 6351b989cfa33ff1a6c507c720f228f096ab23e5
User & Date: tangent 2016-12-19 07:30:51.708
Context
2016-12-20
00:07
Updated the FORTRAN item in the previous ChangeLog.md, on finding that both problems affected FORTRAN IV, not one affecting FORTRAN II as I supposed. check-in: b8f9c278e8 user: tangent tags: release
2016-12-19
07:30
Fixed an operator precedence problem in the new switch combos, which caused the reboot/shutdown sequences to be ignored. check-in: 6351b989cf user: tangent tags: release
2016-12-18
11:06
Release v20161218 (replaces v20161217) check-in: 7a5e811420 user: tangent tags: release, v20161218
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/PDP8/pdp8_cpu.c.in.
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478

479
480
481
482
483
484

485
486
487
488
489
490
491
492
if (swAttach==1)		// Sing_Step switch is back to off again
	if ((switchstatus[2] & SS2_S_STEP)!=0)		// switch deactivated
		swAttach=0;				// reset 'avoid repeat' indicator

// 3. Scan for host poweroff command (Sing_Step + Sing_Inst + Stop)

if (pidp8i_gpio_present &&
		(switchstatus[2] & (SS2_S_STEP | SS2_S_INST | SS2_STOP)==0))
{
	printf("\r\nShutdown\r\n\r\n");
	reason = STOP_HALT;
	awfulHackFlag = 8;	// this triggers an exit command after leaving the simulator run.
	if(spawn_cmd (0, "sudo /bin/systemctl poweroff")!=SCPE_OK)
		printf("\r\n\r\npoweroff failed\r\n\r\n");
}

// 4. Scan for host reboot command (Sing_Step + Sing_Inst + Start)

if (pidp8i_gpio_present &&
		(switchstatus[2] & (SS2_S_STEP | SS2_S_INST | SS2_START)==0))
{
	printf("\r\nReboot\r\n\r\n");
	reason = STOP_HALT;
	awfulHackFlag = 8;      // this triggers an exit command after leaving the simulator run.
	if(spawn_cmd (0, "sudo /bin/systemctl reboot")!=SCPE_OK)
		printf("\r\n\r\nreboot failed\r\n\r\n");
}

#if 0
// 5. Sing_Step + Sing_Inst + Load Add


if ((switchstatus[2] & (SS2_S_STEP | SS2_S_INST | SS2_L_ADD))==0)
{
}

// 6. Sing_Step + Sing_Inst + Deposit


if ((switchstatus[2] & (SS2_S_STEP | SS2_S_INST | SS2_DEP))==0)
{
}
#endif

/* ---PiDP end---------------------------------------------------------------------------------------------- */









|











|











>
|





>
|







448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
if (swAttach==1)		// Sing_Step switch is back to off again
	if ((switchstatus[2] & SS2_S_STEP)!=0)		// switch deactivated
		swAttach=0;				// reset 'avoid repeat' indicator

// 3. Scan for host poweroff command (Sing_Step + Sing_Inst + Stop)

if (pidp8i_gpio_present &&
		((switchstatus[2] & (SS2_S_STEP | SS2_S_INST | SS2_STOP))==0))
{
	printf("\r\nShutdown\r\n\r\n");
	reason = STOP_HALT;
	awfulHackFlag = 8;	// this triggers an exit command after leaving the simulator run.
	if(spawn_cmd (0, "sudo /bin/systemctl poweroff")!=SCPE_OK)
		printf("\r\n\r\npoweroff failed\r\n\r\n");
}

// 4. Scan for host reboot command (Sing_Step + Sing_Inst + Start)

if (pidp8i_gpio_present &&
		((switchstatus[2] & (SS2_S_STEP | SS2_S_INST | SS2_START))==0))
{
	printf("\r\nReboot\r\n\r\n");
	reason = STOP_HALT;
	awfulHackFlag = 8;      // this triggers an exit command after leaving the simulator run.
	if(spawn_cmd (0, "sudo /bin/systemctl reboot")!=SCPE_OK)
		printf("\r\n\r\nreboot failed\r\n\r\n");
}

#if 0
// 5. Sing_Step + Sing_Inst + Load Add

if (pidp8i_gpio_present &&
		((switchstatus[2] & (SS2_S_STEP | SS2_S_INST | SS2_L_ADD))==0))
{
}

// 6. Sing_Step + Sing_Inst + Deposit

if (pidp8i_gpio_present &&
		((switchstatus[2] & (SS2_S_STEP | SS2_S_INST | SS2_DEP))==0))
{
}
#endif

/* ---PiDP end---------------------------------------------------------------------------------------------- */