mirror of
https://github.com/libretro/xmil-libretro.git
synced 2025-02-20 00:01:35 +00:00
fix...
This commit is contained in:
parent
a0b7ae4434
commit
5971dd6cec
6
io/fdc.c
6
io/fdc.c
@ -20,6 +20,7 @@ void nvitem_fdcbusy(UINT id) {
|
||||
TRACEOUT(("dma ready!"));
|
||||
dmac_sendready(TRUE);
|
||||
}
|
||||
(void)id;
|
||||
}
|
||||
|
||||
static void setbusy(UINT clock) {
|
||||
@ -235,8 +236,9 @@ void IOOUTCALL fdc_o(UINT port, REG8 value) {
|
||||
fdc.s.stat = type2flash();
|
||||
}
|
||||
fdc.s.bufdir = FDCDIR_NONE;
|
||||
// マリオは コマンド発行後にbusyを見張る
|
||||
// 逆にソーサリアンとかは busyだとエラーになる…
|
||||
// リストアコマンドにおいて
|
||||
// マリオは コマンド発行後にbusyを見張る
|
||||
// 逆にソーサリアンとかは busyだとエラーになる…
|
||||
// 条件は何?
|
||||
setbusy(20);
|
||||
switch(cmd) {
|
||||
|
200
io/ppi.c
200
io/ppi.c
@ -6,69 +6,58 @@
|
||||
|
||||
// ---- 8255 PPI<50>`
|
||||
|
||||
void IOOUTCALL ppi_o(UINT port, REG8 value) {
|
||||
static REG8 getportb(void) {
|
||||
|
||||
UINT8 bak_c;
|
||||
UINT8 bit;
|
||||
REG8 ret;
|
||||
UINT v;
|
||||
|
||||
ret = cmt_test(); // | cmt_read(); // THUNDER BALL
|
||||
|
||||
v = pccore_getraster(NULL);
|
||||
if (v < crtc.s.CRT_YL) {
|
||||
ret |= 0x80; // 1:DISP
|
||||
}
|
||||
if (subcpu.IBF) {
|
||||
subcpu.IBF = 0;
|
||||
ret |= 0x40; // 1:SUB-CPU BUSY
|
||||
}
|
||||
if (subcpu.OBF) {
|
||||
ret |= 0x20; // 1:SUB-CPU Data empty
|
||||
}
|
||||
if (memio.ram) {
|
||||
ret |= 0x10; // 1:RAM
|
||||
}
|
||||
#if 1
|
||||
if (!(v < crtc.e.vs)) {
|
||||
ret |= 0x04; // V-SYNC
|
||||
}
|
||||
#else // ラプラステスト…VYSNCが長すぎるらしい
|
||||
if (v_cnt == crtc.e.vs) {
|
||||
ret |= 0x04;
|
||||
}
|
||||
#endif
|
||||
return(ret);
|
||||
}
|
||||
|
||||
static void setportc(REG8 dat) {
|
||||
|
||||
REG8 oldc;
|
||||
UINT8 xl;
|
||||
|
||||
oldc = ppi.portc;
|
||||
if (crtc.s.TXT_XL == 40) {
|
||||
ppi.PORT_C |= 0x40;
|
||||
oldc |= 0x40;
|
||||
}
|
||||
else {
|
||||
ppi.PORT_C &= ~0x40;
|
||||
oldc &= ~0x40;
|
||||
}
|
||||
bak_c = ppi.PORT_C;
|
||||
ppi.portc = dat;
|
||||
|
||||
switch(port & 0x0f) {
|
||||
case 0:
|
||||
if (!(ppi.MODE & 0x10)) {
|
||||
ppi.PORT_A = value;
|
||||
}
|
||||
return;
|
||||
|
||||
case 1:
|
||||
if (!(ppi.MODE & 0x02)) {
|
||||
ppi.PORT_B = value;
|
||||
}
|
||||
return;
|
||||
|
||||
case 2:
|
||||
if (!(ppi.MODE & 0x01)) {
|
||||
ppi.PORT_C &= 0xf0;
|
||||
ppi.PORT_C |= (value & 0x0f);
|
||||
}
|
||||
if (!(ppi.MODE & 0x08)) {
|
||||
ppi.PORT_C &= 0x0f;
|
||||
ppi.PORT_C |= (value & 0xf0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (value & 0x80) {
|
||||
ppi.MODE = value;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
bit = (UINT8)(1 << ((value >> 1) & 7));
|
||||
if (value & 0x01) {
|
||||
ppi.PORT_C |= bit;
|
||||
}
|
||||
else {
|
||||
ppi.PORT_C &= ~bit;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
// cmt_write(ppi.PORT_C & 1);
|
||||
if ((bak_c & 0x20) && (!(ppi.PORT_C & 0x20))) {
|
||||
// cmt_write((REG8)(dat & 1));
|
||||
if ((oldc & 0x20) && (!(dat & 0x20))) {
|
||||
iocore.s.mode = 1;
|
||||
}
|
||||
xl = ((ppi.PORT_C & 0x40)?40:80);
|
||||
xl = ((dat & 0x40)?40:80);
|
||||
if (crtc.s.TXT_XL != xl) {
|
||||
crtc.s.TXT_XL = (UINT8)xl;
|
||||
// crtc.s.GRP_XL = xl << 3;
|
||||
@ -77,53 +66,72 @@ void IOOUTCALL ppi_o(UINT port, REG8 value) {
|
||||
}
|
||||
}
|
||||
|
||||
REG8 IOINPCALL ppi_i(UINT port) {
|
||||
|
||||
UINT v;
|
||||
// ----
|
||||
|
||||
ppi.PORT_B = cmt_test(); // | cmt_read(); // THUNDER BALL
|
||||
void IOOUTCALL ppi_o(UINT port, REG8 value) {
|
||||
|
||||
REG8 bit;
|
||||
|
||||
v = pccore_getraster(NULL);
|
||||
if (v < crtc.s.CRT_YL) {
|
||||
ppi.PORT_B |= 0x80; // 1:DISP
|
||||
}
|
||||
if (subcpu.IBF) {
|
||||
subcpu.IBF = 0;
|
||||
ppi.PORT_B |= 0x40; // 1:SUB-CPU BUSY
|
||||
}
|
||||
if (subcpu.OBF) {
|
||||
ppi.PORT_B |= 0x20; // 1:SUB-CPU Data empty
|
||||
}
|
||||
if (memio.ram) {
|
||||
ppi.PORT_B |= 0x10; // 1:RAM
|
||||
}
|
||||
#if 1
|
||||
if (!(v < crtc.e.vs)) {
|
||||
ppi.PORT_B |= 0x04; // V-SYNC
|
||||
}
|
||||
#else // ラプラステスト…VYSNCが長すぎるらしい
|
||||
if (v_cnt == crtc.e.vs) {
|
||||
ppi.PORT_B |= 0x04;
|
||||
}
|
||||
#endif
|
||||
if (crtc.s.TXT_XL == 40) {
|
||||
ppi.PORT_C |= 0x40;
|
||||
}
|
||||
else {
|
||||
ppi.PORT_C &= ~0x40;
|
||||
}
|
||||
switch(port & 0x0f) {
|
||||
case 0:
|
||||
return(ppi.PORT_A);
|
||||
ppi.porta = value;
|
||||
return;
|
||||
|
||||
case 1:
|
||||
return(ppi.PORT_B);
|
||||
ppi.portb = value;
|
||||
return;
|
||||
|
||||
case 2:
|
||||
return(ppi.PORT_C);
|
||||
setportc(value);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
return(ppi.MODE);
|
||||
if (value & 0x80) {
|
||||
ppi.mode = value;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
bit = 1 << ((value >> 1) & 7);
|
||||
if (value & 0x01) {
|
||||
setportc((REG8)(ppi.portc | bit));
|
||||
}
|
||||
else {
|
||||
setportc((REG8)(ppi.portc & (~bit)));
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
REG8 IOINPCALL ppi_i(UINT port) {
|
||||
|
||||
switch(port & 0x0f) {
|
||||
case 0:
|
||||
// if (!(ppi.mode & 0x10)) {
|
||||
// return(ppi.porta);
|
||||
// }
|
||||
return(ppi.porta);
|
||||
|
||||
case 1:
|
||||
if (!(ppi.mode & 0x02)) {
|
||||
return(ppi.portb);
|
||||
}
|
||||
return(getportb());
|
||||
|
||||
case 2:
|
||||
#if 1
|
||||
if (crtc.s.TXT_XL == 40) {
|
||||
ppi.portc |= 0x40;
|
||||
}
|
||||
else {
|
||||
ppi.portc &= ~0x40;
|
||||
}
|
||||
#endif
|
||||
return(ppi.portc);
|
||||
|
||||
case 3:
|
||||
return(ppi.mode);
|
||||
}
|
||||
return(0xff);
|
||||
}
|
||||
@ -133,16 +141,16 @@ REG8 IOINPCALL ppi_i(UINT port) {
|
||||
|
||||
void ppi_initialize(void) {
|
||||
|
||||
ppi.PORT_A = 0x00;
|
||||
ppi.PORT_B = 0xff;
|
||||
ppi.PORT_C = 0xff;
|
||||
ppi.MODE = 0;
|
||||
ppi.porta = 0x00;
|
||||
ppi.portb = 0xff;
|
||||
ppi.portc = 0xff;
|
||||
ppi.mode = 0x9b;
|
||||
}
|
||||
|
||||
void ppi_reset(void) {
|
||||
|
||||
ppi.MODE = 0;
|
||||
ppi.PORT_A = 0;
|
||||
ppi.PORT_C |= 0x40;
|
||||
ppi.porta = 0x00;
|
||||
ppi.portc |= 0x40;
|
||||
ppi.mode = 0x82;
|
||||
}
|
||||
|
||||
|
8
io/ppi.h
8
io/ppi.h
@ -1,9 +1,9 @@
|
||||
|
||||
typedef struct {
|
||||
UINT8 PORT_A;
|
||||
UINT8 PORT_B;
|
||||
UINT8 PORT_C;
|
||||
UINT8 MODE;
|
||||
UINT8 porta;
|
||||
UINT8 portb;
|
||||
UINT8 portc;
|
||||
UINT8 mode;
|
||||
} PPI;
|
||||
|
||||
|
||||
|
@ -331,7 +331,6 @@ static const INITBL iniitem[] = {
|
||||
{"SkpFrame", INITYPE_UINT8, &xmiloscfg.DRAW_SKIP, 0},
|
||||
|
||||
{"IPL_TYPE", INIMAX_UINT8, &xmilcfg.ROM_TYPE, 3},
|
||||
{"cpu_8MHz", INITYPE_BOOL, &xmilcfg.CPU8MHz, 0},
|
||||
{"Resolute", INITYPE_HEX8, &xmilcfg.DIP_SW, 0},
|
||||
|
||||
{"DispSync", INITYPE_BOOL, &xmilcfg.DISPSYNC, 0},
|
||||
|
@ -122,13 +122,6 @@ void menu_setmouse(UINT8 value) {
|
||||
_CheckMenuItem(GetMenu(IDM_DEVICE), IDM_MOUSE, MFCHECK(value));
|
||||
}
|
||||
|
||||
void menu_setcpuspeed(UINT8 value) {
|
||||
|
||||
value &= 1;
|
||||
xmilcfg.CPU8MHz = value;
|
||||
_CheckMenuItem(_GetMenu(IDM_DEVICE), IDM_8MHZ, MFCHECK(value));
|
||||
}
|
||||
|
||||
void menu_setmotorflg(UINT8 value) {
|
||||
|
||||
value &= 1;
|
||||
|
@ -10,7 +10,6 @@ void menu_setframe(UINT8 value);
|
||||
void menu_setkey(UINT8 value);
|
||||
void menu_setsound(UINT8 value);
|
||||
void menu_setmouse(UINT8 value);
|
||||
void menu_setcpuspeed(UINT8 value);
|
||||
void menu_setmotorflg(UINT8 value);
|
||||
void menu_setdispclk(UINT8 value);
|
||||
void menu_setskipline(UINT8 value);
|
||||
|
@ -66,8 +66,7 @@ enum {
|
||||
IDM_FMBOARD = MAKE_MENUID(IDM_DEVICE, 5),
|
||||
IDM_JOYSTICK = MAKE_MENUID(IDM_DEVICE, 6),
|
||||
IDM_MOUSE = MAKE_MENUID(IDM_DEVICE, 7),
|
||||
IDM_8MHZ = MAKE_MENUID(IDM_DEVICE, 8),
|
||||
IDM_SEEKSND = MAKE_MENUID(IDM_DEVICE, 10),
|
||||
IDM_SEEKSND = MAKE_MENUID(IDM_DEVICE, 9),
|
||||
|
||||
IDM_BMPSAVE = MAKE_MENUID(IDM_OTHER, 1),
|
||||
IDM_OPMLOG = MAKE_MENUID(IDM_OTHER, 2),
|
||||
|
@ -25,7 +25,7 @@ static struct {
|
||||
void sysmng_workclockreset(void) {
|
||||
|
||||
workclock.tick = GETTICK();
|
||||
workclock.clock = h_cnt + h_cntbase; // CPU_CLOCK;
|
||||
workclock.clock = CPU_CLOCK;
|
||||
workclock.draws = drawtime; // drawcount;
|
||||
}
|
||||
|
||||
@ -40,8 +40,8 @@ BOOL sysmng_workclockrenewal(void) {
|
||||
workclock.tick += tick;
|
||||
workclock.fps = ((drawtime - workclock.draws) * 10000) / tick;
|
||||
workclock.draws = drawtime;
|
||||
workclock.khz = (h_cnt + h_cntbase - workclock.clock) / tick;
|
||||
workclock.clock = h_cnt + h_cntbase;
|
||||
workclock.khz = (CPU_CLOCK - workclock.clock) / tick;
|
||||
workclock.clock = CPU_CLOCK;
|
||||
return(TRUE);
|
||||
}
|
||||
|
||||
@ -52,14 +52,14 @@ void sysmng_updatecaption(BYTE flag) {
|
||||
|
||||
if (flag & 1) {
|
||||
strtitle[0] = '\0';
|
||||
if (fdd_diskready(0)) {
|
||||
if (fddfile_diskready(0)) {
|
||||
milstr_ncat(strtitle, " FDD0:", sizeof(strtitle));
|
||||
milstr_ncat(strtitle, file_getname((char *)fdd_diskname(0)),
|
||||
milstr_ncat(strtitle, file_getname(fddfile_diskname(0)),
|
||||
sizeof(strtitle));
|
||||
}
|
||||
if (fdd_diskready(1)) {
|
||||
if (fddfile_diskready(1)) {
|
||||
milstr_ncat(strtitle, " FDD1:", sizeof(strtitle));
|
||||
milstr_ncat(strtitle, file_getname((char *)fdd_diskname(1)),
|
||||
milstr_ncat(strtitle, file_getname(fddfile_diskname(1)),
|
||||
sizeof(strtitle));
|
||||
}
|
||||
}
|
||||
|
@ -314,11 +314,6 @@ static void HandleMenuChoice(long wParam) {
|
||||
update = SYS_UPDATECFG;
|
||||
break;
|
||||
|
||||
case IDM_8MHZ:
|
||||
menu_setcpuspeed(xmilcfg.CPU8MHz ^ 1);
|
||||
update = SYS_UPDATECFG;
|
||||
break;
|
||||
|
||||
case IDM_SEEKSND:
|
||||
menu_setmotorflg(xmilcfg.MOTOR ^ 1);
|
||||
update = SYS_UPDATECFG;
|
||||
@ -614,7 +609,6 @@ int main(int argc, char *argv[]) {
|
||||
menu_setkey(0);
|
||||
menu_setsound(xmilcfg.SOUND_SW);
|
||||
menu_setmouse(xmilcfg.MOUSE_SW);
|
||||
menu_setcpuspeed(xmilcfg.CPU8MHz);
|
||||
menu_setmotorflg(xmilcfg.MOTOR);
|
||||
menu_setdispclk(xmiloscfg.DISPCLK);
|
||||
menu_setbtnmode(xmilcfg.BTN_MODE);
|
||||
|
BIN
macos9/xmil.proj
BIN
macos9/xmil.proj
Binary file not shown.
@ -100,15 +100,14 @@ data 'MENU' (138) {
|
||||
};
|
||||
|
||||
data 'MENU' (139) {
|
||||
$"008B 0000 0000 0000 0000 FFFF FDAF 0644" /* .‹........ÿÿý¯.D */
|
||||
$"008B 0000 0000 0000 0000 FFFF FEAF 0644" /* .‹........ÿÿş¯.D */
|
||||
$"6576 6963 6508 4B65 7962 6F61 7264 0000" /* evice.Keyboard.. */
|
||||
$"0000 084A 6F79 4B65 792D 3100 0000 0008" /* ...JoyKey-1..... */
|
||||
$"4A6F 794B 6579 2D32 0000 0000 012D 0000" /* JoyKey-2.....-.. */
|
||||
$"0000 0846 4D20 426F 6172 6400 0000 0008" /* ...FM Board..... */
|
||||
$"4A6F 7973 7469 636B 0000 0000 054D 6F75" /* Joystick.....Mou */
|
||||
$"7365 0000 0000 0438 4D48 7A00 0000 0001" /* se.....8MHz..... */
|
||||
$"2D00 0000 0009 5365 656B 536F 756E 6400" /* -....ÆSeekSound. */
|
||||
$"0000 0000" /* .... */
|
||||
$"7365 0000 0000 012D 0000 0000 0953 6565" /* se.....-....ÆSee */
|
||||
$"6B53 6F75 6E64 0000 0000 00" /* kSound..... */
|
||||
};
|
||||
|
||||
data 'MENU' (140) {
|
||||
@ -119,7 +118,7 @@ data 'MENU' (140) {
|
||||
$"6D65 2044 6973 7000 0000 000B 4A6F 7920" /* me Disp.....Joy */
|
||||
$"5265 7665 7273 6500 0000 0009 4A6F 7920" /* Reverse....ÆJoy */
|
||||
$"5261 7069 6400 0000 0008 5A38 3020 5361" /* Rapid.....Z80 Sa */
|
||||
$"7665 0000 0000 0100 0000 0000 00" /* ve........... */
|
||||
$"7665 0000 0000 00" /* ve..... */
|
||||
};
|
||||
|
||||
data 'BNDL' (128) {
|
||||
|
120
pccore.c
120
pccore.c
@ -40,9 +40,7 @@ const OEMCHAR xmilversion[] = OEMTEXT(XMILVER_CORE);
|
||||
BYTE *RAM0w;
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
IPL-ROM LOAD
|
||||
***********************************************************************/
|
||||
// ----
|
||||
|
||||
static void ipl_load(void) {
|
||||
|
||||
@ -66,67 +64,7 @@ static void ipl_load(void) {
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
初期化
|
||||
***********************************************************************/
|
||||
|
||||
static BRESULT reset_x1(BYTE ROM_TYPE, BYTE SOUND_SW, BYTE DIP_SW) {
|
||||
|
||||
pccore.baseclock = 2000000;
|
||||
pccore.multiple = 2;
|
||||
pccore.realclock = pccore.baseclock * pccore.multiple;
|
||||
|
||||
pccore.ROM_TYPE = ROM_TYPE;
|
||||
pccore.SOUND_SW = SOUND_SW;
|
||||
pccore.DIP_SW = DIP_SW;
|
||||
|
||||
// スクリーンモードの変更...
|
||||
if (pccore.ROM_TYPE >= 3) {
|
||||
if (scrnmng_setcolormode(TRUE) != SUCCESS) {
|
||||
pccore.ROM_TYPE = 2;
|
||||
}
|
||||
}
|
||||
else {
|
||||
scrnmng_setcolormode(FALSE);
|
||||
}
|
||||
sound_changeclock();
|
||||
|
||||
ipl_load();
|
||||
|
||||
Z80_RESET();
|
||||
iocore_reset();
|
||||
|
||||
RAM0r = mBIOS;
|
||||
RAM0w = mMAIN;
|
||||
sysmng_cpureset();
|
||||
|
||||
calendar_initialize();
|
||||
|
||||
cgrom_reset();
|
||||
cmt_reset();
|
||||
crtc_reset();
|
||||
ctc_reset();
|
||||
dmac_reset();
|
||||
fdc_reset();
|
||||
memio_reset();
|
||||
pcg_reset();
|
||||
ppi_reset();
|
||||
sio_reset();
|
||||
sndboard_reset();
|
||||
subcpu_reset();
|
||||
vramio_reset();
|
||||
|
||||
pal_reset();
|
||||
makescrn_reset();
|
||||
timing_reset();
|
||||
return(SUCCESS);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
実行/終了
|
||||
***********************************************************************/
|
||||
// ----
|
||||
|
||||
void pccore_initialize(void) {
|
||||
|
||||
@ -161,14 +99,61 @@ void pccore_reset(void) {
|
||||
}
|
||||
sound_reset();
|
||||
|
||||
|
||||
pccore.baseclock = 2000000;
|
||||
pccore.multiple = 2;
|
||||
pccore.realclock = pccore.baseclock * pccore.multiple;
|
||||
|
||||
pccore.ROM_TYPE = xmilcfg.ROM_TYPE;
|
||||
pccore.SOUND_SW = xmilcfg.SOUND_SW;
|
||||
pccore.DIP_SW = xmilcfg.DIP_SW;
|
||||
|
||||
// スクリーンモードの変更...
|
||||
if (pccore.ROM_TYPE >= 3) {
|
||||
if (scrnmng_setcolormode(TRUE) != SUCCESS) {
|
||||
pccore.ROM_TYPE = 2;
|
||||
}
|
||||
}
|
||||
else {
|
||||
scrnmng_setcolormode(FALSE);
|
||||
}
|
||||
|
||||
sound_changeclock();
|
||||
sysmng_cpureset();
|
||||
|
||||
Z80_RESET();
|
||||
nevent_allreset();
|
||||
ievent_reset();
|
||||
reset_x1(xmilcfg.ROM_TYPE, xmilcfg.SOUND_SW, xmilcfg.DIP_SW);
|
||||
iocore_reset();
|
||||
|
||||
ipl_load();
|
||||
|
||||
RAM0r = mBIOS;
|
||||
RAM0w = mMAIN;
|
||||
|
||||
cgrom_reset();
|
||||
cmt_reset();
|
||||
crtc_reset();
|
||||
ctc_reset();
|
||||
dmac_reset();
|
||||
fdc_reset();
|
||||
memio_reset();
|
||||
pcg_reset();
|
||||
ppi_reset();
|
||||
sio_reset();
|
||||
sndboard_reset();
|
||||
subcpu_reset();
|
||||
vramio_reset();
|
||||
|
||||
calendar_initialize();
|
||||
pal_reset();
|
||||
makescrn_reset();
|
||||
timing_reset();
|
||||
|
||||
soundmng_play();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ----
|
||||
|
||||
// #define IPTRACE (1 << 14)
|
||||
@ -248,13 +233,14 @@ void nvitem_vdisp(UINT id) {
|
||||
if (xmilcfg.DISPSYNC & 1) {
|
||||
scrnupdate();
|
||||
}
|
||||
nevent_set(NEVENT_FRAMES, (corestat.tl - corestat.vl) * 250,
|
||||
nevent_set(id, (corestat.tl - corestat.vl) * 250,
|
||||
nvitem_vsync, NEVENT_RELATIVE);
|
||||
}
|
||||
|
||||
void nvitem_vsync(UINT id) {
|
||||
|
||||
corestat.vsync = 2;
|
||||
(void)id;
|
||||
}
|
||||
|
||||
|
||||
|
7
pccore.h
7
pccore.h
@ -1,7 +1,7 @@
|
||||
|
||||
typedef struct {
|
||||
UINT8 ROM_TYPE;
|
||||
UINT8 CPU8MHz;
|
||||
UINT8 __CPU8MHz;
|
||||
UINT8 DIP_SW;
|
||||
|
||||
UINT8 DISPSYNC;
|
||||
@ -39,6 +39,10 @@ typedef struct {
|
||||
UINT8 soundrenewal;
|
||||
} CORESTAT;
|
||||
|
||||
enum {
|
||||
RASTER_CLOCK = 250
|
||||
};
|
||||
|
||||
enum {
|
||||
DIPSW_RESOLUTE = 0x01,
|
||||
DIPSW_BOOTMEDIA = 0x04
|
||||
@ -64,7 +68,6 @@ extern BYTE mBANK[16][0x8000];
|
||||
#endif
|
||||
|
||||
|
||||
void nvitem_raster(UINT id);
|
||||
UINT pccore_getraster(UINT *h);
|
||||
void nvitem_vdisp(UINT id);
|
||||
void nvitem_vsync(UINT id);
|
||||
|
@ -193,7 +193,6 @@ static const INITBL iniitem[] = {
|
||||
{"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH},
|
||||
|
||||
{"IPL_TYPE", INIMAX_UINT8, &xmilcfg.ROM_TYPE, 3},
|
||||
{"cpu_8MHz", INITYPE_BOOL, &xmilcfg.CPU8MHz, 0},
|
||||
{"Resolute", INITYPE_HEX8, &xmilcfg.DIP_SW, 0},
|
||||
|
||||
{"DispSync", INITYPE_BOOL, &xmilcfg.DISPSYNC, 0},
|
||||
|
@ -264,13 +264,6 @@ void menu_setmouse(UINT8 value) {
|
||||
CheckMenuItem(GetMenu(hWndMain), IDM_MOUSE, MFCHECK(value));
|
||||
}
|
||||
|
||||
void menu_setcpuspeed(UINT8 value) {
|
||||
|
||||
value &= 1;
|
||||
xmilcfg.CPU8MHz = value;
|
||||
CheckMenuItem(GetMenu(hWndMain), IDM_8MHZ, MFCHECK(value));
|
||||
}
|
||||
|
||||
void menu_setmotorflg(UINT8 value) {
|
||||
|
||||
value &= 1;
|
||||
|
@ -18,7 +18,6 @@ void menu_setkey(UINT8 value);
|
||||
void menu_setsound(UINT8 value);
|
||||
void menu_setjoystick(UINT8 value);
|
||||
void menu_setmouse(UINT8 value);
|
||||
void menu_setcpuspeed(UINT8 value);
|
||||
void menu_setmotorflg(UINT8 value);
|
||||
void menu_opmlog(UINT8 value);
|
||||
void menu_setdispclk(UINT8 value);
|
||||
|
@ -66,23 +66,22 @@
|
||||
#define IDM_FMBOARD 40036
|
||||
#define IDM_JOYSTICK 40037
|
||||
#define IDM_MOUSE 40038
|
||||
#define IDM_8MHZ 40039
|
||||
#define IDM_SEEKSND 40040
|
||||
#define IDM_BMPSAVE 40041
|
||||
#define IDM_OPMLOG 40042
|
||||
#define IDM_DISPCLOCK 40043
|
||||
#define IDM_DISPFRAME 40044
|
||||
#define IDM_JOYX 40045
|
||||
#define IDM_RAPID 40046
|
||||
#define IDM_Z80SAVE 40047
|
||||
#define IDM_ABOUT 40048
|
||||
#define IDM_SEEKSND 40039
|
||||
#define IDM_BMPSAVE 40040
|
||||
#define IDM_OPMLOG 40041
|
||||
#define IDM_DISPCLOCK 40042
|
||||
#define IDM_DISPFRAME 40043
|
||||
#define IDM_JOYX 40044
|
||||
#define IDM_RAPID 40045
|
||||
#define IDM_Z80SAVE 40046
|
||||
#define IDM_ABOUT 40047
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 107
|
||||
#define _APS_NEXT_COMMAND_VALUE 40049
|
||||
#define _APS_NEXT_COMMAND_VALUE 40048
|
||||
#define _APS_NEXT_CONTROL_VALUE 1011
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
|
@ -339,11 +339,6 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
|
||||
updateflag = SYS_UPDATECFG;
|
||||
break;
|
||||
|
||||
case IDM_8MHZ:
|
||||
menu_setcpuspeed(xmilcfg.CPU8MHz ^ 1);
|
||||
updateflag = SYS_UPDATECFG;
|
||||
break;
|
||||
|
||||
case IDM_SEEKSND:
|
||||
menu_setmotorflg(xmilcfg.MOTOR ^ 1);
|
||||
updateflag = SYS_UPDATECFG;
|
||||
@ -730,7 +725,6 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst,
|
||||
menu_setsound(xmilcfg.SOUND_SW);
|
||||
menu_setjoystick(xmiloscfg.JOYSTICK);
|
||||
menu_setmouse(xmilcfg.MOUSE_SW);
|
||||
menu_setcpuspeed(xmilcfg.CPU8MHz);
|
||||
menu_setmotorflg(xmilcfg.MOTOR);
|
||||
menu_setdispclk(xmiloscfg.DISPCLK);
|
||||
menu_setbtnmode(xmilcfg.BTN_MODE);
|
||||
|
@ -126,7 +126,6 @@ BEGIN
|
||||
MENUITEM "&FM Board", IDM_FMBOARD
|
||||
MENUITEM "&Joystick", IDM_JOYSTICK
|
||||
MENUITEM "&MOUSE", IDM_MOUSE
|
||||
MENUITEM "&8MHz", IDM_8MHZ
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "SeekSound", IDM_SEEKSND
|
||||
END
|
||||
|
@ -191,7 +191,6 @@ static const INITBL iniitem[] = {
|
||||
{"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH},
|
||||
|
||||
{"IPL_TYPE", INIMAX_UINT8, &xmilcfg.ROM_TYPE, 3},
|
||||
{"cpu_8MHz", INITYPE_BOOL, &xmilcfg.CPU8MHz, 0},
|
||||
{"Resolute", INITYPE_HEX8, &xmilcfg.DIP_SW, 0},
|
||||
|
||||
{"DispSync", INITYPE_BOOL, &xmilcfg.DISPSYNC, 0},
|
||||
|
@ -145,13 +145,6 @@ void menu_setmouse(UINT8 value) {
|
||||
CheckMenuItem(GetMenu(hWndMain), IDM_MOUSE, MFCHECK(value));
|
||||
}
|
||||
|
||||
void menu_setcpuspeed(UINT8 value) {
|
||||
|
||||
value &= 1;
|
||||
xmilcfg.CPU8MHz = value;
|
||||
CheckMenuItem(GetMenu(hWndMain), IDM_8MHZ, MFCHECK(value));
|
||||
}
|
||||
|
||||
void menu_setmotorflg(UINT8 value) {
|
||||
|
||||
value &= 1;
|
||||
|
@ -12,7 +12,6 @@ void menu_setkey(UINT8 value);
|
||||
void menu_setsound(UINT8 value);
|
||||
void menu_setjoystick(UINT8 value);
|
||||
void menu_setmouse(UINT8 value);
|
||||
void menu_setcpuspeed(UINT8 value);
|
||||
void menu_setmotorflg(UINT8 value);
|
||||
void menu_opmlog(UINT8 value);
|
||||
void menu_setdispclk(UINT8 value);
|
||||
|
@ -57,23 +57,22 @@
|
||||
#define IDM_FMBOARD 40036
|
||||
#define IDM_JOYSTICK 40037
|
||||
#define IDM_MOUSE 40038
|
||||
#define IDM_8MHZ 40039
|
||||
#define IDM_SEEKSND 40040
|
||||
#define IDM_BMPSAVE 40041
|
||||
#define IDM_OPMLOG 40042
|
||||
#define IDM_DISPCLOCK 40043
|
||||
#define IDM_DISPFRAME 40044
|
||||
#define IDM_JOYX 40045
|
||||
#define IDM_RAPID 40046
|
||||
#define IDM_Z80SAVE 40047
|
||||
#define IDM_ABOUT 40048
|
||||
#define IDM_SEEKSND 40039
|
||||
#define IDM_BMPSAVE 40040
|
||||
#define IDM_OPMLOG 40041
|
||||
#define IDM_DISPCLOCK 40042
|
||||
#define IDM_DISPFRAME 40043
|
||||
#define IDM_JOYX 40044
|
||||
#define IDM_RAPID 40045
|
||||
#define IDM_Z80SAVE 40046
|
||||
#define IDM_ABOUT 40047
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 107
|
||||
#define _APS_NEXT_COMMAND_VALUE 40049
|
||||
#define _APS_NEXT_COMMAND_VALUE 40048
|
||||
#define _APS_NEXT_CONTROL_VALUE 1015
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
|
@ -281,11 +281,6 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
|
||||
updateflag = SYS_UPDATECFG;
|
||||
break;
|
||||
|
||||
case IDM_8MHZ:
|
||||
menu_setcpuspeed(xmilcfg.CPU8MHz ^ 1);
|
||||
updateflag = SYS_UPDATECFG;
|
||||
break;
|
||||
|
||||
case IDM_SEEKSND:
|
||||
menu_setmotorflg(xmilcfg.MOTOR ^ 1);
|
||||
updateflag = SYS_UPDATECFG;
|
||||
@ -644,7 +639,6 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst,
|
||||
menu_setsound(xmilcfg.SOUND_SW);
|
||||
menu_setjoystick(xmiloscfg.JOYSTICK);
|
||||
menu_setmouse(xmilcfg.MOUSE_SW);
|
||||
menu_setcpuspeed(xmilcfg.CPU8MHz);
|
||||
menu_setmotorflg(xmilcfg.MOTOR);
|
||||
menu_setdispclk(xmiloscfg.DISPCLK);
|
||||
menu_setbtnmode(xmilcfg.BTN_MODE);
|
||||
|
@ -126,7 +126,6 @@ BEGIN
|
||||
MENUITEM "&FM Board", IDM_FMBOARD
|
||||
MENUITEM "&Joystick", IDM_JOYSTICK
|
||||
MENUITEM "&MOUSE", IDM_MOUSE
|
||||
MENUITEM "&8MHz", IDM_8MHZ
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "SeekSound", IDM_SEEKSND
|
||||
END
|
||||
|
Loading…
x
Reference in New Issue
Block a user