- added stubs for the SB16 gameport

This commit is contained in:
Volker Ruppert 2003-02-24 18:35:48 +00:00
parent 86f5aeb877
commit 14ca0d2550
2 changed files with 36 additions and 2 deletions

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: sb16.cc,v 1.30 2002-11-19 05:47:45 bdenney Exp $
// $Id: sb16.cc,v 1.31 2003-02-24 18:35:46 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -248,6 +248,14 @@ void bx_sb16_c::init(void)
write_handler, addr, "SB16", 7);
}
// Allocate the SB16 gameport IO address range 0x200..0x207
for (addr=0x200; addr<0x208; addr++) {
DEV_register_ioread_handler(this, read_handler, addr, "SB16", 7);
DEV_register_iowrite_handler(this, write_handler, addr, "SB16", 7);
}
BX_SB16_THIS gameport = 0xf0;
writelog(BOTHLOG(3),
"driver initialised, IRQ %d, IO %03x/%03x/%03x, DMA %d/%d",
BX_SB16_IRQ, BX_SB16_IO, BX_SB16_IOMPU, BX_SB16_IOADLIB,
@ -3054,6 +3062,18 @@ Bit32u bx_sb16_c::read(Bit32u address, unsigned io_len)
// 3x3: *Emulator* Port
case BX_SB16_IOMPU + 0x03:
return emul_read();
// gameport
case 0x0200:
case 0x0201:
case 0x0202:
case 0x0203:
case 0x0204:
case 0x0205:
case 0x0206:
case 0x0207:
BX_INFO(("read: joystick not present yet"));
return BX_SB16_THIS gameport;
}
// If we get here, the port wasn't valid
@ -3188,6 +3208,19 @@ void bx_sb16_c::write(Bit32u address, Bit32u value, unsigned io_len)
case BX_SB16_IOMPU + 0x03:
emul_write(value);
return;
// gameport
case 0x0200:
case 0x0201:
case 0x0202:
case 0x0203:
case 0x0204:
case 0x0205:
case 0x0206:
case 0x0207:
BX_INFO(("write: joystick not present yet"));
BX_SB16_THIS gameport |= 0x0f;
break;
}
// if we arrive here, the port is unsupported

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: sb16.h,v 1.11 2002-11-13 18:39:41 vruppert Exp $
// $Id: sb16.h,v 1.12 2003-02-24 18:35:48 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -208,6 +208,7 @@ private:
int currentirq;
int currentdma8;
int currentdma16;
Bit8u gameport;
// the MPU 401 relevant variables
struct bx_sb16_mpu_struct {