// license:BSD-3-Clause // copyright-holders:David Haywood /* CPUs QTY Type clock position function 1x MC68HC000FN10 u3 16/32-bit Microprocessor - main 1x u6295 u98 4-Channel Mixing ADCPM Voice Synthesis LSI - sound 1x HA17358 u101 Dual Operational Amplifier - sound 1x TDA2003 u104 Audio Amplifier - sound 1x oscillator 24.000MHz osc1 ROMs QTY Type position status 2x M27C1001 2,3 dumped 1x M27C2001 1 dumped 3x M27C4001 4,5,6 dumped RAMs QTY Type position 11x LH52B256-10PLL u16a,u17a,u27,u28,u29,u30,u39,u40,u74,u75,u76 PLDs QTY Type position status 1x ATF20V8B-15PC u37 read protected 2x A40MX04-F-PL84 u83,u86 read protected Others 1x 28x2 JAMMA edge connector 1x pushbutton (SW1) 1x trimmer (volume) (VR1) 4x 8x2 switches DIP (SW1,SW2,SW3,SW4) 1x battery 3.6V (BT1) Notes PCB silkscreened: "MADE IN TAIWAN YONSHI PCB NO-006F" */ #include "emu.h" #include "cpu/m68000/m68000.h" #include "sound/okim6295.h" #include "emupal.h" #include "screen.h" #include "speaker.h" class jungleyo_state : public driver_device { public: jungleyo_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") , m_gfxdecode(*this, "gfxdecode") { } void jungleyo(machine_config &config); protected: virtual void video_start() override; private: /* video-related */ uint32_t screen_update_jungleyo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void jungleyo_map(address_map &map); required_device m_maincpu; required_device m_gfxdecode; }; void jungleyo_state::video_start() { } uint32_t jungleyo_state::screen_update_jungleyo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { return 0; } void jungleyo_state::jungleyo_map(address_map &map) { map(0x000000, 0x03ffff).rom(); } static INPUT_PORTS_START( jungleyo ) INPUT_PORTS_END static const gfx_layout jungleyo_layout = { 8,8, RGN_FRAC(1,1), 8, { 0,1,2,3,4,5,6,7 }, { 0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8 }, { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64 }, 8*64 }; static const gfx_layout jungleyo16_layout = { 8,32, RGN_FRAC(1,1), 8, { 0,1,2,3,4,5,6,7 }, { 0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8 }, { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, 8*64, 9*64,10*64,11*64,12*64,13*64,14*64,15*64, 16*64,17*64,18*64,19*64,20*64,21*64,22*64,23*64, 24*64,25*64,26*64,27*64,28*64,29*64,30*64,31*64 }, 8*64*4 }; static GFXDECODE_START( gfx_jungleyo ) GFXDECODE_ENTRY( "reelgfx", 0, jungleyo16_layout, 0x0, 2 ) GFXDECODE_ENTRY( "gfx2", 0, jungleyo_layout, 0x0, 2 ) GFXDECODE_ENTRY( "gfx3", 0, jungleyo_layout, 0x0, 2 ) GFXDECODE_END void jungleyo_state::jungleyo(machine_config &config) { M68000(config, m_maincpu, 24_MHz_XTAL / 2); m_maincpu->set_addrmap(AS_PROGRAM, &jungleyo_state::jungleyo_map); m_maincpu->set_vblank_int("screen", FUNC(jungleyo_state::irq1_line_hold)); GFXDECODE(config, m_gfxdecode, "palette", gfx_jungleyo); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 0*8, 32*8-1); screen.set_screen_update(FUNC(jungleyo_state::screen_update_jungleyo)); screen.set_palette("palette"); PALETTE(config, "palette").set_format(palette_device::xRGB_555, 0x200); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); okim6295_device &oki(OKIM6295(config, "oki", 24_MHz_XTAL / 20, okim6295_device::PIN7_HIGH)); // clock frequency & pin 7 not verified oki.add_route(ALL_OUTPUTS, "lspeaker", 0.47); oki.add_route(ALL_OUTPUTS, "rspeaker", 0.47); } ROM_START( jungleyo ) ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 Code */ // encrypted? ROM_LOAD16_BYTE( "jungle_=record=_rom3_vi3.02.u15", 0x00001, 0x20000, CRC(7c9f431e) SHA1(fb3f90c4fe59c938f36b30c5fa3af227031e7d7a) ) ROM_LOAD16_BYTE( "jungle_=record=_rom2_vi3.02.u14", 0x00000, 0x20000, CRC(f6a71260) SHA1(8e48cbb9d701ad968540244396820359afe97c28) ) ROM_REGION( 0x040000, "oki", 0 ) /* Samples */ ROM_LOAD( "jungle_rom1.u99", 0x00000, 0x40000, CRC(05ef5b85) SHA1(ca7584646271c6adc7880eca5cf43a412340c522) ) ROM_REGION( 0x80000, "reelgfx", 0 ) ROM_LOAD( "jungle_rom4.u58", 0x000000, 0x80000, CRC(2f37da94) SHA1(6479e3bcff665316903964286d72df9822c05485) ) ROM_REGION( 0x80000, "gfx2", 0 ) ROM_LOAD( "jungle_rom5.u59", 0x000000, 0x80000, CRC(0ccd9b94) SHA1(f209c7e15967be2e43be018aca89edd0c311503e) ) ROM_REGION( 0x80000, "gfx3", 0 ) ROM_LOAD( "jungle_rom6.u60", 0x000000, 0x80000, CRC(caab8eb2) SHA1(472ca9f396d7c01a1bd03485581cfae677a3b365) ) ROM_END GAME( 1999, jungleyo, 0, jungleyo, jungleyo, jungleyo_state, empty_init, ROT0, "Yonshi", "Jungle (VI3.02)", MACHINE_NOT_WORKING )