#include "driver.h" #include "system16.h" #include "sound/upd7759.h" UINT16 *sys16_workingram; UINT16 *sys16_workingram2; UINT16 *sys16_extraram; UINT16 *sys16_extraram2; UINT16 *sys16_extraram3; static void patch_codeX( int offset, int data, int cpu ){ int aligned_offset = offset&0xfffffe; UINT16 *mem = (UINT16 *)memory_region(REGION_CPU1+cpu); int old_word = mem[aligned_offset/2]; if( offset&1 ) data = (old_word&0xff00)|data; else data = (old_word&0x00ff)|(data<<8); mem[aligned_offset/2] = data; } void sys16_patch_code( int offset, int data ){ patch_codeX(offset,data,0); } MACHINE_RESET( sys16_onetime ){ sys16_bg1_trans=0; sys16_rowscroll_scroll=0; sys18_splittab_bg_x=0; sys18_splittab_bg_y=0; sys18_splittab_fg_x=0; sys18_splittab_fg_y=0; } static const gfx_layout charlayout = { 8,8, RGN_FRAC(1,3), 3, { RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) }, { 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, 8*8 }; GFXDECODE_START( sys16 ) GFXDECODE_ENTRY( REGION_GFX1, 0, charlayout, 0, 1024 ) GFXDECODE_END /* sound */ static void sound_cause_nmi( int chip ){ /* upd7759 callback */ cpunum_set_input_line(1, INPUT_LINE_NMI, PULSE_LINE); } struct upd7759_interface sys16_upd7759_interface = { 0, /* memory region 3 contains the sample data */ sound_cause_nmi }; int sys18_sound_info[4*2];