mirror of
https://github.com/holub/mame
synced 2025-06-03 03:16:30 +03:00
(MESS) New working system:
Bandai Super Vision 8000 [ranger_lennier, and Charles McDonald, Wilbert Pol, Robbbert]
This commit is contained in:
parent
81418e5be2
commit
7067e8c171
@ -1421,6 +1421,114 @@ const UINT8 mc6847_friend_device::ntsc_square_fontdata8x12[] =
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// s68047_fontdata8x12
|
||||
//-------------------------------------------------
|
||||
|
||||
const UINT8 mc6847_friend_device::s68047_fontdata8x12[] =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x2A, 0x2A, 0x2C, 0x20, 0x1E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x22, 0x3E, 0x22, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x22, 0x22, 0x3C, 0x22, 0x22, 0x3C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, 0x20, 0x20, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x22, 0x22, 0x22, 0x22, 0x22, 0x3C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x20, 0x20, 0x3C, 0x20, 0x20, 0x3E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x20, 0x20, 0x3C, 0x20, 0x20, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, 0x20, 0x26, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x3E, 0x22, 0x22, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x24, 0x28, 0x30, 0x28, 0x24, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x36, 0x2A, 0x2A, 0x22, 0x22, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x32, 0x32, 0x2A, 0x26, 0x26, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x22, 0x22, 0x3C, 0x20, 0x20, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x22, 0x2A, 0x24, 0x1A, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x22, 0x22, 0x3C, 0x28, 0x24, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, 0x1C, 0x02, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x14, 0x14, 0x08, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x2A, 0x2A, 0x2A, 0x14, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x14, 0x08, 0x14, 0x22, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x14, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x02, 0x04, 0x08, 0x10, 0x20, 0x3E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x02, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x3E, 0x10, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x14, 0x14, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x14, 0x14, 0x3E, 0x14, 0x3E, 0x14, 0x14, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x1E, 0x28, 0x1C, 0x0A, 0x3C, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x32, 0x32, 0x04, 0x08, 0x10, 0x26, 0x26, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x28, 0x28, 0x10, 0x2A, 0x24, 0x1A, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x04, 0x08, 0x10, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x08, 0x04, 0x04, 0x04, 0x08, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x2A, 0x1C, 0x2A, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x26, 0x2A, 0x32, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x18, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x02, 0x1C, 0x20, 0x20, 0x3E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x02, 0x04, 0x0C, 0x02, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x04, 0x0C, 0x14, 0x24, 0x3E, 0x04, 0x04, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x20, 0x3C, 0x02, 0x02, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x0E, 0x10, 0x20, 0x3C, 0x22, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x02, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x1C, 0x22, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x1E, 0x02, 0x04, 0x38, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x08, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x06, 0x08, 0x10, 0x20, 0x10, 0x08, 0x06, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x30, 0x08, 0x04, 0x02, 0x04, 0x08, 0x30, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x02, 0x04, 0x08, 0x00, 0x08, 0x00, 0x00,
|
||||
|
||||
// No lower case, copy/paste of first 32 characters
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x2A, 0x2A, 0x2C, 0x20, 0x1E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x22, 0x3E, 0x22, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x22, 0x22, 0x3C, 0x22, 0x22, 0x3C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, 0x20, 0x20, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x22, 0x22, 0x22, 0x22, 0x22, 0x3C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x20, 0x20, 0x3C, 0x20, 0x20, 0x3E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x20, 0x20, 0x3C, 0x20, 0x20, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, 0x20, 0x26, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x3E, 0x22, 0x22, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x24, 0x28, 0x30, 0x28, 0x24, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x36, 0x2A, 0x2A, 0x22, 0x22, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x32, 0x32, 0x2A, 0x26, 0x26, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x22, 0x22, 0x3C, 0x20, 0x20, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x22, 0x2A, 0x24, 0x1A, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x22, 0x22, 0x3C, 0x28, 0x24, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, 0x1C, 0x02, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x14, 0x14, 0x08, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x2A, 0x2A, 0x2A, 0x14, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x14, 0x08, 0x14, 0x22, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x22, 0x22, 0x14, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3E, 0x02, 0x04, 0x08, 0x10, 0x20, 0x3E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x02, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1C, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1C, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x3E, 0x10, 0x08, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// semigraphics4_fontdata8x12
|
||||
//-------------------------------------------------
|
||||
@ -1674,6 +1782,7 @@ const device_type MC6847Y_NTSC = &device_creator<mc6847y_ntsc_device>;
|
||||
const device_type MC6847Y_PAL = &device_creator<mc6847y_pal_device>;
|
||||
const device_type MC6847T1_NTSC = &device_creator<mc6847t1_ntsc_device>;
|
||||
const device_type MC6847T1_PAL = &device_creator<mc6847t1_pal_device>;
|
||||
const device_type S68047 = &device_creator<s68047_device>;
|
||||
|
||||
|
||||
|
||||
@ -1740,3 +1849,52 @@ mc6847t1_pal_device::mc6847t1_pal_device(const machine_config &mconfig, const ch
|
||||
: mc6847_base_device(mconfig, MC6847T1_PAL, "MC6847T1_PAL", tag, owner, clock, pal_round_fontdata8x12, 313.0, "mc6847t1_pal", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// s68047_device
|
||||
//-------------------------------------------------
|
||||
|
||||
s68047_device::s68047_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: mc6847_base_device(mconfig, S68047, "S68047", tag, owner, clock, s68047_fontdata8x12, 262.0, "s68047", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
//
|
||||
// In the Bandai Super Vision 8000 there is a video setting
|
||||
// bit which causes black to be displayed as blue when css=1.
|
||||
//
|
||||
// This is probably done through circuitry outside the s68047,
|
||||
// but lacking schematics we don't know how it is hooked up
|
||||
// exactly.
|
||||
//
|
||||
// See https://www.youtube.com/watch?v=QCo24GLyff4
|
||||
//
|
||||
void s68047_device::hack_black_becomes_blue(bool flag)
|
||||
{
|
||||
set_custom_palette( flag ? s_s68047_hack_palette : NULL );
|
||||
}
|
||||
|
||||
const UINT32 s68047_device::s_s68047_hack_palette[16] =
|
||||
{
|
||||
MAKE_RGB(0x07, 0xff, 0x00), /* GREEN */
|
||||
MAKE_RGB(0xff, 0xff, 0x00), /* YELLOW */
|
||||
MAKE_RGB(0x3b, 0x08, 0xff), /* BLUE */
|
||||
MAKE_RGB(0xcc, 0x00, 0x3b), /* RED */
|
||||
MAKE_RGB(0xff, 0xff, 0xff), /* BUFF */
|
||||
MAKE_RGB(0x07, 0xe3, 0x99), /* CYAN */
|
||||
MAKE_RGB(0xff, 0x1c, 0xff), /* MAGENTA */
|
||||
MAKE_RGB(0xff, 0x81, 0x00), /* ORANGE */
|
||||
|
||||
MAKE_RGB(0x00, 0x00, 0x00), /* BLACK */
|
||||
MAKE_RGB(0x07, 0xff, 0x00), /* GREEN */
|
||||
MAKE_RGB(0x3b, 0x08, 0xff), /* BLUE */
|
||||
MAKE_RGB(0xff, 0xff, 0xff), /* BUFF */
|
||||
|
||||
MAKE_RGB(0x00, 0x7c, 0x00), /* ALPHANUMERIC DARK GREEN */
|
||||
MAKE_RGB(0x07, 0xff, 0x00), /* ALPHANUMERIC BRIGHT GREEN */
|
||||
MAKE_RGB(0x91, 0x00, 0x00), /* ALPHANUMERIC DARK ORANGE */
|
||||
MAKE_RGB(0xff, 0x81, 0x00) /* ALPHANUMERIC BRIGHT ORANGE */
|
||||
};
|
||||
|
||||
|
@ -113,6 +113,7 @@ protected:
|
||||
static const UINT8 ntsc_square_fontdata8x12[];
|
||||
static const UINT8 semigraphics4_fontdata8x12[];
|
||||
static const UINT8 semigraphics6_fontdata8x12[];
|
||||
static const UINT8 s68047_fontdata8x12[];
|
||||
|
||||
// pixel definitions
|
||||
typedef UINT32 pixel_t;
|
||||
@ -519,6 +520,14 @@ protected:
|
||||
virtual void record_body_scanline(UINT16 physical_scanline, UINT16 scanline);
|
||||
virtual void record_partial_body_scanline(UINT16 physical_scanline, UINT16 logical_scanline, INT32 start_clock, INT32 end_clock);
|
||||
|
||||
void set_custom_palette(const pixel_t *custom_palette)
|
||||
{
|
||||
if ( m_palette != m_bw_palette )
|
||||
{
|
||||
m_palette = custom_palette ? custom_palette : s_palette;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
struct video_scanline
|
||||
{
|
||||
@ -634,6 +643,17 @@ public:
|
||||
mc6847t1_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
};
|
||||
|
||||
class s68047_device : public mc6847_base_device
|
||||
{
|
||||
public:
|
||||
s68047_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
void hack_black_becomes_blue(bool flag);
|
||||
|
||||
private:
|
||||
static const UINT32 s_s68047_hack_palette[16];
|
||||
};
|
||||
|
||||
|
||||
extern const device_type MC6847_NTSC;
|
||||
extern const device_type MC6847_PAL;
|
||||
@ -641,5 +661,6 @@ extern const device_type MC6847Y_NTSC;
|
||||
extern const device_type MC6847Y_PAL;
|
||||
extern const device_type MC6847T1_NTSC;
|
||||
extern const device_type MC6847T1_PAL;
|
||||
extern const device_type S68047;
|
||||
|
||||
#endif /* __MC6847__ */
|
||||
|
@ -1,9 +1,9 @@
|
||||
// license:BSD
|
||||
// copyright-holders:Wilbert Pol
|
||||
// copyright-holders:Wilbert Pol, Robbbert
|
||||
/***************************************************************************
|
||||
|
||||
Bandai Super Vision 8000 (TV Jack 8000)
|
||||
driver by Wilbert Pol, ranger_lennier, and Charles McDonald
|
||||
driver by Wilbert Pol, Robbbert, ranger_lennier, and Charles McDonald
|
||||
|
||||
2014/01/07 Skeleton driver.
|
||||
|
||||
@ -18,13 +18,9 @@ Looking at the code of the cartridges it seems there is:
|
||||
- 3KB of video RAM
|
||||
|
||||
TODO:
|
||||
- Figure out configuration of S68047P pins through 8910 port A
|
||||
- Figure out input ports, left and right might be swapped
|
||||
- Check configuration of S68047P pins through 8910 port A against
|
||||
schematics
|
||||
- Verify clock
|
||||
- Figure out IRQ source
|
||||
|
||||
KNOWN ISSUES:
|
||||
- pacpac and submar wait for an irq, where is that coming from? vblank?
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
@ -72,7 +68,7 @@ private:
|
||||
virtual void machine_reset();
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mc6847_base_device> m_s68047p;
|
||||
required_device<s68047_device> m_s68047p;
|
||||
required_shared_ptr<const UINT8> m_videoram;
|
||||
required_ioport m_io_row0;
|
||||
required_ioport m_io_row1;
|
||||
@ -175,6 +171,14 @@ void sv8000_state::machine_start()
|
||||
m_inv = 0;
|
||||
|
||||
save_item(NAME(m_column));
|
||||
save_item(NAME(m_ag));
|
||||
save_item(NAME(m_gm2));
|
||||
save_item(NAME(m_gm1));
|
||||
save_item(NAME(m_gm0));
|
||||
save_item(NAME(m_as));
|
||||
save_item(NAME(m_css));
|
||||
save_item(NAME(m_intext));
|
||||
save_item(NAME(m_inv));
|
||||
}
|
||||
|
||||
|
||||
@ -215,14 +219,14 @@ DEVICE_IMAGE_LOAD_MEMBER( sv8000_state, cart )
|
||||
|
||||
READ8_MEMBER( sv8000_state::i8255_porta_r )
|
||||
{
|
||||
logerror("i8255_porta_r\n");
|
||||
//logerror("i8255_porta_r\n");
|
||||
return m_io_joy->read();
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER( sv8000_state::i8255_porta_w )
|
||||
{
|
||||
logerror("i8255_porta_w: %02X\n", data);
|
||||
//logerror("i8255_porta_w: %02X\n", data);
|
||||
}
|
||||
|
||||
|
||||
@ -230,7 +234,7 @@ READ8_MEMBER( sv8000_state::i8255_portb_r )
|
||||
{
|
||||
UINT8 data = 0xff;
|
||||
|
||||
logerror("i8255_portb_r\n");
|
||||
//logerror("i8255_portb_r\n");
|
||||
|
||||
if ( ! ( m_column & 0x01 ) )
|
||||
{
|
||||
@ -250,20 +254,20 @@ READ8_MEMBER( sv8000_state::i8255_portb_r )
|
||||
|
||||
WRITE8_MEMBER( sv8000_state::i8255_portb_w )
|
||||
{
|
||||
logerror("i8255_portb_w: %02X\n", data);
|
||||
//logerror("i8255_portb_w: %02X\n", data);
|
||||
}
|
||||
|
||||
|
||||
READ8_MEMBER( sv8000_state::i8255_portc_r )
|
||||
{
|
||||
logerror("i8255_portc_r\n");
|
||||
//logerror("i8255_portc_r\n");
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER( sv8000_state::i8255_portc_w )
|
||||
{
|
||||
logerror("i8255_portc_w: %02X\n", data);
|
||||
//logerror("i8255_portc_w: %02X\n", data);
|
||||
m_column = data;
|
||||
}
|
||||
|
||||
@ -283,7 +287,7 @@ READ8_MEMBER( sv8000_state::ay_port_a_r )
|
||||
{
|
||||
UINT8 data = 0xFF;
|
||||
|
||||
logerror("ay_port_a_r\n");
|
||||
//logerror("ay_port_a_r\n");
|
||||
return data;
|
||||
}
|
||||
|
||||
@ -292,7 +296,7 @@ READ8_MEMBER( sv8000_state::ay_port_b_r )
|
||||
{
|
||||
UINT8 data = 0xff;
|
||||
|
||||
logerror("ay_port_b_r\n");
|
||||
//logerror("ay_port_b_r\n");
|
||||
return data;
|
||||
}
|
||||
|
||||
@ -308,14 +312,15 @@ READ8_MEMBER( sv8000_state::ay_port_b_r )
|
||||
//
|
||||
// othello:
|
||||
// 0x02 00000010 normal text screen
|
||||
// 0x58 01011000 graphics 3KB in 6KB mode?
|
||||
//
|
||||
// gunprof:
|
||||
// 0x00 00000000 text
|
||||
// 0x38 00111000 graphics 3KB mode 1-101
|
||||
// 0x38 00111000 graphics 3KB mode
|
||||
//
|
||||
// pacpac:
|
||||
// 0x00 00000000 text
|
||||
// 0x5A 01011010 graphics 3KB in 6KB mode? 1-111
|
||||
// 0x5A 01011010 graphics 3KB in 6KB mode?
|
||||
//
|
||||
// submar:
|
||||
// 0x00 00000000 text
|
||||
@ -326,26 +331,28 @@ READ8_MEMBER( sv8000_state::ay_port_b_r )
|
||||
//
|
||||
WRITE8_MEMBER( sv8000_state::ay_port_a_w )
|
||||
{
|
||||
printf("ay_porta_w: %02X\n", data);
|
||||
logerror("ay_port_a_w: %02X\n", data);
|
||||
//logerror("ay_port_a_w: %02X\n", data);
|
||||
|
||||
// Lacking schematics, these are all wild guesses
|
||||
// Having bit 1 set makes black display as blue??
|
||||
m_ag = BIT(data, 4);
|
||||
m_gm2 = BIT(data, 6);
|
||||
m_gm1 = BIT(data, 3);
|
||||
m_gm0 = BIT(data, 3);
|
||||
m_css = m_ag;
|
||||
|
||||
m_s68047p->ag_w( m_ag ? ASSERT_LINE : CLEAR_LINE );
|
||||
m_s68047p->gm2_w( m_gm2 ? ASSERT_LINE : CLEAR_LINE );
|
||||
m_s68047p->gm1_w( m_gm1 ? ASSERT_LINE : CLEAR_LINE );
|
||||
m_s68047p->gm0_w( m_gm0 ? ASSERT_LINE : CLEAR_LINE );
|
||||
m_s68047p->css_w( m_css ? ASSERT_LINE : CLEAR_LINE );
|
||||
m_s68047p->hack_black_becomes_blue( BIT(data, 1) );
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER( sv8000_state::ay_port_b_w )
|
||||
{
|
||||
printf("ay_portb_w: %02X\n", data);
|
||||
logerror("ay_port_b_w: %02X\n", data);
|
||||
//logerror("ay_port_b_w: %02X\n", data);
|
||||
}
|
||||
|
||||
|
||||
@ -421,7 +428,7 @@ static MACHINE_CONFIG_START( sv8000, sv8000_state )
|
||||
|
||||
/* video hardware */
|
||||
// S68047P - Unknown whether the internal or an external character rom is used
|
||||
MCFG_MC6847_ADD("s68047p", MC6847_NTSC, XTAL_10_738635MHz/3, sv8000_mc6847_interface ) // Clock not verified
|
||||
MCFG_MC6847_ADD("s68047p", S68047, XTAL_10_738635MHz/3, sv8000_mc6847_interface ) // Clock not verified
|
||||
MCFG_SCREEN_MC6847_NTSC_ADD("screen", "s68047p")
|
||||
|
||||
/* sound hardware */
|
||||
@ -449,5 +456,5 @@ ROM_END
|
||||
/* Driver */
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
|
||||
COMP( 1979, sv8000, 0, 0, sv8000, sv8000, driver_device, 0, "Bandai", "Super Vision 8000 (TV Jack 8000)", GAME_IS_SKELETON )
|
||||
COMP( 1979, sv8000, 0, 0, sv8000, sv8000, driver_device, 0, "Bandai", "Super Vision 8000 (TV Jack 8000)", 0 )
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user