📄 starwars.c
字号:
/***************************************************************************
machine\starwars.c
STARWARS MACHINE FILE
This file is Copyright 1997, Steve Baines.
Modified by Frank Palazzolo for sound support
Release 2.0 (6 August 1997)
See drivers\starwars.c for notes
***************************************************************************/
#include "driver.h"
#include "cpuintrf.h"
#include "swmathbx.h"
#include "vidhrdw/avgdvg.h"
/* control select values for ADC_R */
#define kPitch 0
#define kYaw 1
#define kThrust 2
static unsigned char control_num = kPitch;
#if 0
/********************************************************/
int input_bank_0_r(int offset)
{
int x;
x=input_port_0_r(0); /* Read memory mapped port 1 */
x=x&0xdf; /* Clear out bit 5 (SPARE 1) */
#if(MACHDEBUG==1)
printf("(%x)input_bank_0_r (returning %xh)\n", cpu_getpc(), x);
#endif
return x;
}
#endif
/********************************************************/
int starwars_input_bank_1_r(int offset)
{
int x;
x=input_port_1_r(0); /* Read memory mapped port 2 */
#if 0
x=x&0x34; /* Clear out bit 3 (SPARE 2), and 0 and 1 (UNUSED) */
/* MATH_RUN (bit 7) set to 0 */
x=x|(0x40); /* Set bit 6 to 1 (VGHALT) */
#endif
/* Kludge to enable Starwars Mathbox Self-test */
/* The mathbox looks like it's running, from this address... :) */
if (cpu_getpc() == 0xf978)
x|=0x80;
/* Kludge to enable Empire Mathbox Self-test */
/* The mathbox looks like it's running, from this address... :) */
if (cpu_getpc() == 0xf655)
x|=0x80;
if (avgdvg_done())
x|=0x40;
else
x&=~0x40;
return x;
}
/*********************************************************/
/********************************************************/
int starwars_control_r (int offset)
{
if (control_num == kPitch)
return readinputport (4);
else if (control_num == kYaw)
return readinputport (5);
/* default to unused thrust */
else return 0;
}
void starwars_control_w (int offset, int data)
{
control_num = offset;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -