Previous 199869 Revisions Next

r30931 Tuesday 10th June, 2014 at 23:02:25 UTC by hap
small cleanup
[src/mess/drivers]gb.c
[src/mess/includes]gb.h
[src/mess/machine]gb.c

trunk/src/mess/drivers/gb.c
r30930r30931
738738
739739
740740static MACHINE_CONFIG_START( gameboy, gb_state )
741
741742   /* basic machine hardware */
742   MCFG_CPU_ADD("maincpu", LR35902, 4194304)           /* 4.194304 MHz */
743   MCFG_CPU_ADD("maincpu", LR35902, XTAL_4_194304Mhz)
743744   MCFG_CPU_PROGRAM_MAP(gameboy_map)
744745   MCFG_LR35902_TIMER_CB( WRITE8( gb_state, gb_timer_callback ) )
745746   MCFG_LR35902_HALT_BUG
746747
747   MCFG_MACHINE_START_OVERRIDE(gb_state, gb )
748   MCFG_MACHINE_RESET_OVERRIDE(gb_state, gb )
749
748   /* video hardware */
750749   MCFG_SCREEN_ADD("screen", LCD)
751750   MCFG_SCREEN_REFRESH_RATE(DMG_FRAMES_PER_SECOND)
752751   MCFG_SCREEN_VBLANK_TIME(0)
r30930r30931
762761   MCFG_PALETTE_ADD("palette", 4)
763762   MCFG_PALETTE_INIT_OWNER(gb_state,gb)
764763
765   MCFG_GB_LCD_DMG_ADD( "lcd" )
764   MCFG_GB_LCD_DMG_ADD("lcd")
766765
767766   /* sound hardware */
768767   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
r30930r30931
778777MACHINE_CONFIG_END
779778
780779static MACHINE_CONFIG_DERIVED( supergb, gameboy )
781   MCFG_CPU_REPLACE("maincpu", LR35902, 4295454)   /* 4.295454 MHz */
780
781   /* basic machine hardware */
782   MCFG_CPU_REPLACE("maincpu", LR35902, 4295454) /* 4.295454 MHz */
782783   MCFG_CPU_PROGRAM_MAP(sgb_map)
783784
784785   MCFG_CPU_MODIFY("maincpu")
785786   MCFG_LR35902_TIMER_CB( WRITE8( gb_state, gb_timer_callback ) )
786787   MCFG_LR35902_HALT_BUG
787788
788   MCFG_MACHINE_START_OVERRIDE(gb_state, sgb )
789   MCFG_MACHINE_RESET_OVERRIDE(gb_state, sgb )
789   MCFG_MACHINE_START_OVERRIDE(gb_state, sgb)
790   MCFG_MACHINE_RESET_OVERRIDE(gb_state, sgb)
790791
791   MCFG_DEFAULT_LAYOUT(layout_horizont)    /* runs on a TV, not an LCD */
792   /* video hardware */
793   MCFG_DEFAULT_LAYOUT(layout_horizont) /* runs on a TV, not an LCD */
792794
793795   MCFG_SCREEN_MODIFY("screen")
794796   MCFG_SCREEN_SIZE(32*8, 28*8)
r30930r30931
799801   MCFG_PALETTE_INIT_OWNER(gb_state,sgb)
800802
801803   MCFG_DEVICE_REMOVE("lcd")
802   MCFG_GB_LCD_SGB_ADD( "lcd" )
804   MCFG_GB_LCD_SGB_ADD("lcd")
803805MACHINE_CONFIG_END
804806
805807static MACHINE_CONFIG_DERIVED( gbpocket, gameboy )
808
809   /* basic machine hardware */
806810   MCFG_CPU_MODIFY("maincpu")
807811   MCFG_LR35902_TIMER_CB( WRITE8( gb_state, gb_timer_callback ) )
808812   MCFG_LR35902_HALT_BUG
r30930r30931
810814   MCFG_MACHINE_START_OVERRIDE(gb_state, gbpocket)
811815   MCFG_MACHINE_RESET_OVERRIDE(gb_state, gbpocket)
812816
817   /* video hardware */
813818   MCFG_PALETTE_MODIFY("palette")
814819   MCFG_PALETTE_INIT_OWNER(gb_state,gbp)
815820
816821   MCFG_DEVICE_REMOVE("lcd")
817   MCFG_GB_LCD_MGB_ADD( "lcd" )
822   MCFG_GB_LCD_MGB_ADD("lcd")
818823MACHINE_CONFIG_END
819824
820825static MACHINE_CONFIG_DERIVED( gbcolor, gameboy )
826
827   /* basic machine hardware */
821828   MCFG_CPU_MODIFY("maincpu")
822829   MCFG_CPU_PROGRAM_MAP( gbc_map)
823830   MCFG_LR35902_TIMER_CB( WRITE8( gb_state, gb_timer_callback ) )
r30930r30931
825832   MCFG_MACHINE_START_OVERRIDE(gb_state,gbc)
826833   MCFG_MACHINE_RESET_OVERRIDE(gb_state,gbc)
827834
835   /* video hardware */
828836   MCFG_PALETTE_MODIFY("palette")
829837   MCFG_PALETTE_ENTRIES(32768)
830838   MCFG_PALETTE_INIT_OWNER(gb_state,gbc)
831839
832840   MCFG_DEVICE_REMOVE("lcd")
833   MCFG_GB_LCD_CGB_ADD( "lcd" )
841   MCFG_GB_LCD_CGB_ADD("lcd")
834842
835843   /* internal ram */
836844   MCFG_RAM_ADD(RAM_TAG)
r30930r30931
843851MACHINE_CONFIG_END
844852
845853static MACHINE_CONFIG_START( megaduck, megaduck_state )
854
846855   /* basic machine hardware */
847   MCFG_CPU_ADD("maincpu", LR35902, 4194304)           /* 4.194304 MHz */
856   MCFG_CPU_ADD("maincpu", LR35902, 4194304) /* 4.194304 MHz */
848857   MCFG_CPU_PROGRAM_MAP( megaduck_map)
849858   MCFG_LR35902_TIMER_CB( WRITE8( gb_state, gb_timer_callback ) )
850859   MCFG_LR35902_HALT_BUG
851860   MCFG_LR35902_RESET_VALUES(megaduck_cpu_regs)
852861
862   /* video hardware */
853863   MCFG_SCREEN_ADD("screen", LCD)
854864   MCFG_SCREEN_REFRESH_RATE(DMG_FRAMES_PER_SECOND)
855865   MCFG_SCREEN_VBLANK_TIME(0)
856866   MCFG_SCREEN_PALETTE("palette")
857867
858   MCFG_MACHINE_START_OVERRIDE(megaduck_state, megaduck )
859   MCFG_MACHINE_RESET_OVERRIDE(megaduck_state, megaduck )
868   MCFG_MACHINE_START_OVERRIDE(megaduck_state, megaduck)
869   MCFG_MACHINE_RESET_OVERRIDE(megaduck_state, megaduck)
860870
861871   MCFG_SCREEN_UPDATE_DEVICE("lcd", gb_lcd_device, screen_update)
862872   MCFG_SCREEN_SIZE(20*8, 18*8)
r30930r30931
868878   MCFG_PALETTE_ADD("palette", 4)
869879   MCFG_PALETTE_INIT_OWNER(megaduck_state,megaduck)
870880
871   MCFG_GB_LCD_DMG_ADD( "lcd" )
881   MCFG_GB_LCD_DMG_ADD("lcd")
872882
883   /* sound hardware */
873884   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
874885   MCFG_SOUND_ADD("custom", GAMEBOY, 0)
875886   MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
876887   MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)
877888
889   /* cartslot */
878890   MCFG_MEGADUCK_CARTRIDGE_ADD("duckslot", megaduck_cart, NULL)
879891   MCFG_SOFTWARE_LIST_ADD("cart_list", "megaduck")
880892MACHINE_CONFIG_END
r30930r30931
907919
908920ROM_START( gbcolor )
909921   ROM_REGION( 0x800, "maincpu", 0 )
910   ROM_LOAD( "gbc_boot.1", 0x0000, 0x0100, CRC(779ea374) SHA1(e4b40c9fd593a97a1618cfb2696f290cf9596a62) ) /* Bootstrap code part 1 */
922   ROM_LOAD( "gbc_boot.1", 0x0000, 0x0100, CRC(779ea374) SHA1(e4b40c9fd593a97a1618cfb2696f290cf9596a62) ) /* Bootstrap code part 1 */
911923   ROM_LOAD( "gbc_boot.2", 0x0100, 0x0700, CRC(f741807d) SHA1(f943b1e0b640cf1d371e1d8f0ada69af03ebb396) ) /* Bootstrap code part 2 */
912924ROM_END
913925
trunk/src/mess/machine/gb.c
r30930r30931
164164}
165165
166166
167MACHINE_START_MEMBER(gb_state,gb)
167void gb_state::machine_start()
168168{
169169   /* Allocate the serial timer, and disable it */
170170   m_gb_serial_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gb_state::gb_serial_timer_proc),this));
r30930r30931
212212   }
213213}
214214
215MACHINE_RESET_MEMBER(gb_state,gb)
215void gb_state::machine_reset()
216216{
217217   gb_init();
218218
trunk/src/mess/includes/gb.h
r30930r30931
9393   DECLARE_READ8_MEMBER(gb_io_r);
9494   DECLARE_WRITE8_MEMBER(gbc_io2_w);
9595   DECLARE_READ8_MEMBER(gbc_io2_r);
96   DECLARE_MACHINE_START(gb);
97   DECLARE_MACHINE_RESET(gb);
9896   DECLARE_PALETTE_INIT(gb);
9997   DECLARE_MACHINE_START(sgb);
10098   DECLARE_MACHINE_RESET(sgb);
r30930r30931
136134   void save_gb_base();
137135   void save_gbc_only();
138136   void save_sgb_only();
137
138   virtual void machine_start();
139   virtual void machine_reset();
139140};
140141
141142

Previous 199869 Revisions Next


© 1997-2024 The MAME Team