trunk/src/mame/drivers/byvid.c
| r31298 | r31299 | |
| 41 | 41 | - Artwork |
| 42 | 42 | - Beeper needs to be replaced by a red LED when artwork is done. |
| 43 | 43 | - Doesn't boot (test of TMS9928 fails). |
| 44 | | - It has 2xTMS9928 but only 1 screen. The outputs need to be |
| 45 | | blended with transparency. The '9' test screen will have |
| 46 | | coloured stripes overlaid with the text names. |
| 44 | - Screen blending needs improvement |
| 47 | 45 | - No schematic found. |
| 48 | 46 | |
| 49 | 47 | |
| r31298 | r31299 | |
| 115 | 113 | TIMER_DEVICE_CALLBACK_MEMBER(u10_timer); |
| 116 | 114 | TIMER_DEVICE_CALLBACK_MEMBER(u11_timer); |
| 117 | 115 | DECLARE_WRITE8_MEMBER(granny_crtc_w); |
| 116 | UINT32 screen_update_granny(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| 118 | 117 | private: |
| 119 | 118 | UINT8 m_mpu_to_vid; |
| 120 | 119 | UINT8 m_vid_to_mpu; |
| r31298 | r31299 | |
| 742 | 741 | m_beep->set_state(0); |
| 743 | 742 | } |
| 744 | 743 | |
| 744 | UINT32 by133_state::screen_update_granny(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) |
| 745 | { |
| 746 | //bitmap.fill(0xff000000, cliprect); |
| 747 | copybitmap(bitmap, m_crtc->get_bitmap(), 0, 0, 0, 0, cliprect); |
| 748 | copybitmap_trans(bitmap, m_crtc2->get_bitmap(), 0, 0, 0, 0, cliprect, 0xff000000); |
| 749 | return 0; |
| 750 | } |
| 751 | |
| 745 | 752 | static MACHINE_CONFIG_START( babypac, by133_state ) |
| 746 | 753 | /* basic machine hardware */ |
| 747 | 754 | MCFG_CPU_ADD("maincpu", M6800, XTAL_3_579545MHz/4) // no xtal, just 2 chips |
| r31298 | r31299 | |
| 808 | 815 | MCFG_CPU_MODIFY( "videocpu" ) |
| 809 | 816 | MCFG_CPU_PROGRAM_MAP(granny_map) |
| 810 | 817 | |
| 818 | MCFG_DEVICE_REMOVE("screen") |
| 819 | |
| 811 | 820 | MCFG_DEVICE_ADD( "crtc2", TMS9928A, XTAL_10_738635MHz / 2 ) |
| 812 | 821 | MCFG_TMS9928A_VRAM_SIZE(0x4000) |
| 813 | 822 | MCFG_TMS9928A_OUT_INT_LINE_CB(DEVWRITELINE("videocpu", m6809e_device, irq_line)) |
| 814 | | MCFG_TMS9928A_SCREEN_ADD_NTSC( "screen2" ) // there is only 1 screen |
| 815 | | MCFG_SCREEN_UPDATE_DEVICE( "crtc2", tms9928a_device, screen_update ) |
| 823 | MCFG_VIDEO_SET_SCREEN("screen") |
| 824 | |
| 825 | MCFG_SCREEN_ADD( "screen", RASTER ) |
| 826 | MCFG_SCREEN_RAW_PARAMS( XTAL_10_738635MHz / 2, TMS9928A_TOTAL_HORZ, TMS9928A_HORZ_DISPLAY_START-12, TMS9928A_HORZ_DISPLAY_START + 256 + 12, \ |
| 827 | TMS9928A_TOTAL_VERT_NTSC, TMS9928A_VERT_DISPLAY_START_NTSC - 12, TMS9928A_VERT_DISPLAY_START_NTSC + 192 + 12 ) |
| 828 | MCFG_SCREEN_UPDATE_DRIVER(by133_state, screen_update_granny) |
| 816 | 829 | MACHINE_CONFIG_END |
| 817 | 830 | |
| 818 | 831 | |