コード例 #1
0
ファイル: europc.c プロジェクト: BirchJD/xmame-0.103-RPi
/*
  250..253 write only 00 be 00 10

  252 write 0 b0000 memory activ
  252 write 0x10 b8000 memory activ

  jim 04: 0:4.77 0x40:7.16
  pio 63: 11,19 4.77 51,59 7.16

  63 bit 6,7 clock select
  254 bit 6,7 clock select
  250 bit 0: mouse on
	  bit 1: joystick on
  254..257 r/w memory ? JIM asic? ram behaviour

*/
extern WRITE8_HANDLER ( europc_jim_w )
{
	switch (offset) {
	case 2:
		if (!(data&0x80)) {
			switch (data) {
			case 0x1f:
			case 0x0b: europc_jim.mode=AGA_MONO; break;
			case 0xe: /*80 columns? */
			case 0xd: /*40 columns? */
			case 0x18:
			case 0x1a: europc_jim.mode=AGA_COLOR; break;
			default: europc_jim.mode=AGA_OFF; break;
			}
		}
/*		mode= data&0x10?AGA_COLOR:AGA_MONO; */
/*		mode= data&0x10?AGA_COLOR:AGA_OFF; */
		pc_aga_set_mode(europc_jim.mode);
		if (data&0x80) europc_jim.state=0;
		break;
	case 4:
		switch(data&0xc0) {
		case 0x00: cpunum_set_clockscale(0, 1.0/2);break;
		case 0x40: cpunum_set_clockscale(0, 3.0/4);break;
		default: cpunum_set_clockscale(0, 1);break;
		}
		break;
	case 0xa:
		europc_rtc_w(0, data);
		return;
	}
	logerror("jim write %.2x %.2x\n",offset,data);
	europc_jim.data[offset]=data;
}
コード例 #2
0
ファイル: primo.c プロジェクト: broftkd/historic-mess
void primo_common_machine_init (void)
{
	if (readinputport(6))
		primo_port_FD = 0x00;
	primo_update_memory();
	cpunum_set_clockscale(0, readinputport(5) ? 1.5 : 1.0);
}
コード例 #3
0
static void pc_turbo_callback(int param)
{
	struct pc_turbo_info *ti;
	int val;
	
	ti = (struct pc_turbo_info *) param;
	val = readinputport(ti->port) & ti->mask;

	if (val != ti->cur_val)
	{
		ti->cur_val = val;
		cpunum_set_clockscale(ti->cpunum, val ? ti->on_speed : ti->off_speed);
	}
}