#include "sound/custom.h" #include "streams.h" /* machine/odyssey2.c */ extern int odyssey2_framestart; extern int odyssey2_videobank; DRIVER_INIT( odyssey2 ); MACHINE_RESET( odyssey2 ); #define P1_BANK_LO_BIT (0x01) #define P1_BANK_HI_BIT (0x02) #define P1_KEYBOARD_SCAN_ENABLE (0x04) /* active low */ #define P1_VDC_ENABLE (0x08) /* active low */ #define P1_EXT_RAM_ENABLE (0x10) /* active low */ #define P1_VDC_COPY_MODE_ENABLE (0x40) #define P2_KEYBOARD_SELECT_MASK (0x07) /* select row to scan */ #define VDC_CONTROL_REG_STROBE_XY (0x02) #define COLLISION_SPRITE_0 (0x01) #define COLLISION_SPRITE_1 (0x02) #define COLLISION_SPRITE_2 (0x04) #define COLLISION_SPRITE_3 (0x08) #define COLLISION_VERTICAL_GRID (0x10) #define COLLISION_HORIZ_GRID_DOTS (0x20) #define COLLISION_EXTERNAL_UNUSED (0x40) #define COLLISION_CHARACTERS (0x80) #define COLLISION_SPRITE_0_IND (1) #define COLLISION_SPRITE_1_IND (2) #define COLLISION_SPRITE_2_IND (3) #define COLLISION_SPRITE_3_IND (4) #define COLLISION_VERTICAL_GRID_IND (5) #define COLLISION_HORIZ_GRID_DOTS_IND (6) #define COLLISION_EXTERNAL_UNUSED_IND (7) #define COLLISION_CHARACTERS_IND (8) /* video/odyssey2.c */ extern int odyssey2_vh_hpos; extern UINT8 odyssey2_colors[]; VIDEO_START( odyssey2 ); VIDEO_UPDATE( odyssey2 ); PALETTE_INIT( odyssey2 ); void odyssey2_vh_write(int data); void odyssey2_vh_update(int data); READ8_HANDLER ( odyssey2_t1_r ); INTERRUPT_GEN( odyssey2_line ); READ8_HANDLER ( odyssey2_video_r ); WRITE8_HANDLER ( odyssey2_video_w ); /* audio/odyssey2.c */ extern sound_stream *odyssey2_sh_channel; extern struct CustomSound_interface odyssey2_sound_interface; void *odyssey2_sh_start(int clock, const struct CustomSound_interface *config); void odyssey2_sh_update( void *param,stream_sample_t **inputs, stream_sample_t **_buffer,int length ); /* i/o ports */ READ8_HANDLER ( odyssey2_bus_r ); WRITE8_HANDLER ( odyssey2_bus_w ); READ8_HANDLER( odyssey2_getp1 ); WRITE8_HANDLER ( odyssey2_putp1 ); READ8_HANDLER( odyssey2_getp2 ); WRITE8_HANDLER ( odyssey2_putp2 ); READ8_HANDLER( odyssey2_getbus ); WRITE8_HANDLER ( odyssey2_putbus ); DEVICE_LOAD( odyssey2_cart ); int odyssey2_cart_verify(const UINT8 *cartdata, size_t size);