trunk/src/mess/drivers/ie15.c
| r241510 | r241511 | |
| 387 | 387 | } |
| 388 | 388 | } |
| 389 | 389 | |
| 390 | | static ADDRESS_MAP_START(ie15_mem, AS_PROGRAM, 8, ie15_state) |
| 390 | static ADDRESS_MAP_START( ie15_mem, AS_PROGRAM, 8, ie15_state ) |
| 391 | 391 | ADDRESS_MAP_UNMAP_HIGH |
| 392 | | AM_RANGE( 0x0000, 0x0fff ) AM_ROM |
| 392 | AM_RANGE(0x0000, 0x0fff) AM_ROM |
| 393 | 393 | ADDRESS_MAP_END |
| 394 | 394 | |
| 395 | | static ADDRESS_MAP_START(ie15_io, AS_IO, 8, ie15_state) |
| 395 | static ADDRESS_MAP_START( ie15_io, AS_IO, 8, ie15_state ) |
| 396 | 396 | ADDRESS_MAP_UNMAP_HIGH |
| 397 | 397 | AM_RANGE(000, 000) AM_READ(mem_r) AM_WRITE(mem_w) // 00h W: memory request, R: memory data [6.1.2.2] |
| 398 | 398 | AM_RANGE(001, 001) AM_READ(serial_rx_ready_r) AM_WRITENOP // 01h W: memory latch [6.1.2.2] |
| r241510 | r241511 | |
| 568 | 568 | if (y >= IE15_DISP_VERT) return; |
| 569 | 569 | |
| 570 | 570 | if (!m_video.enable || (y < IE15_STATUSLINE && m_video.line25)) { |
| 571 | | copybitmap( m_tmpbmp, m_offbmp, 0, 0, 0, y, m_tmpclip ); |
| 571 | copybitmap(m_tmpbmp, m_offbmp, 0, 0, 0, y, m_tmpclip); |
| 572 | 572 | } else { |
| 573 | | draw_scanline( &m_tmpbmp.pix16(y), m_video.ptr2, y%11 ); |
| 573 | draw_scanline(&m_tmpbmp.pix16(y), m_video.ptr2, y%11); |
| 574 | 574 | } |
| 575 | 575 | } |
| 576 | 576 | |
| r241510 | r241511 | |
| 608 | 608 | |
| 609 | 609 | static MACHINE_CONFIG_START( ie15, ie15_state ) |
| 610 | 610 | /* Basic machine hardware */ |
| 611 | | MCFG_CPU_ADD("maincpu", IE15, XTAL_30_8MHz / 10) |
| 611 | MCFG_CPU_ADD("maincpu", IE15, XTAL_30_8MHz/10) |
| 612 | 612 | MCFG_CPU_PROGRAM_MAP(ie15_mem) |
| 613 | 613 | MCFG_CPU_IO_MAP(ie15_io) |
| 614 | 614 | MCFG_TIMER_DRIVER_ADD_PERIODIC("scantimer", ie15_state, scanline_callback, attotime::from_hz(50*28*11)) |
| r241510 | r241511 | |
| 617 | 617 | /* Video hardware */ |
| 618 | 618 | MCFG_SCREEN_ADD("screen", RASTER) |
| 619 | 619 | MCFG_SCREEN_UPDATE_DRIVER(ie15_state, screen_update) |
| 620 | | MCFG_SCREEN_RAW_PARAMS(XTAL_30_8MHz/2,IE15_TOTAL_HORZ,IE15_HORZ_START, |
| 621 | | IE15_HORZ_START+IE15_DISP_HORZ,IE15_TOTAL_VERT,IE15_VERT_START, |
| 620 | MCFG_SCREEN_RAW_PARAMS(XTAL_30_8MHz/2, IE15_TOTAL_HORZ, IE15_HORZ_START, |
| 621 | IE15_HORZ_START+IE15_DISP_HORZ, IE15_TOTAL_VERT, IE15_VERT_START, |
| 622 | 622 | IE15_VERT_START+IE15_DISP_VERT); |
| 623 | |
| 623 | 624 | MCFG_SCREEN_PALETTE("palette") |
| 624 | 625 | |
| 625 | 626 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", ie15) |
| 626 | 627 | MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette") |
| 627 | 628 | |
| 628 | | MCFG_DEFAULT_LAYOUT( layout_ie15 ) |
| 629 | MCFG_DEFAULT_LAYOUT(layout_ie15) |
| 629 | 630 | |
| 630 | 631 | /* Devices */ |
| 631 | 632 | MCFG_DEVICE_ADD("keyboard", IE15_KEYBOARD, 0) |
| r241510 | r241511 | |
| 636 | 637 | |
| 637 | 638 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 638 | 639 | MCFG_SOUND_ADD("beeper", BEEP, 0) |
| 639 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono",0.15) |
| 640 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) |
| 640 | 641 | MACHINE_CONFIG_END |
| 641 | 642 | |
| 642 | 643 | |
| 643 | 644 | /* ROM definition */ |
| 644 | 645 | ROM_START( ie15 ) |
| 645 | | ROM_REGION( 0x1000, "maincpu", ROMREGION_ERASE00 ) |
| 646 | ROM_REGION(0x1000, "maincpu", ROMREGION_ERASE00) |
| 646 | 647 | ROM_DEFAULT_BIOS("5chip") |
| 647 | 648 | ROM_SYSTEM_BIOS(0, "5chip", "5-chip firmware (newer)") |
| 648 | | ROMX_LOAD( "dump1.bin", 0x0000, 0x1000, CRC(14b82284) SHA1(5ac4159fbb1c3b81445605e26cd97a713ae12b5f),ROM_BIOS(1) ) |
| 649 | ROMX_LOAD("dump1.bin", 0x0000, 0x1000, CRC(14b82284) SHA1(5ac4159fbb1c3b81445605e26cd97a713ae12b5f), ROM_BIOS(1)) |
| 649 | 650 | ROM_SYSTEM_BIOS(1, "6chip", "6-chip firmware (older)") |
| 650 | | ROMX_LOAD( "dump5.bin", 0x0000, 0x1000, CRC(01f2e065) SHA1(2b72dc0594e38a528400cd25aed0c47e0c432895),ROM_BIOS(2) ) |
| 651 | ROMX_LOAD("dump5.bin", 0x0000, 0x1000, CRC(01f2e065) SHA1(2b72dc0594e38a528400cd25aed0c47e0c432895), ROM_BIOS(2)) |
| 651 | 652 | |
| 652 | | ROM_REGION( 0x1000, "video", ROMREGION_ERASE00 ) |
| 653 | ROM_REGION(0x1000, "video", ROMREGION_ERASE00) |
| 653 | 654 | |
| 654 | | ROM_REGION( 0x0800, "chargen", ROMREGION_ERASE00 ) |
| 655 | | ROM_LOAD( "chargen-15ie.bin", 0x0000, 0x0800, CRC(ed16bf6b) SHA1(6af9fb75f5375943d5c0ce9ed408e0fb4621b17e) ) |
| 655 | ROM_REGION(0x0800, "chargen", ROMREGION_ERASE00) |
| 656 | ROM_LOAD("chargen-15ie.bin", 0x0000, 0x0800, CRC(ed16bf6b) SHA1(6af9fb75f5375943d5c0ce9ed408e0fb4621b17e)) |
| 656 | 657 | ROM_END |
| 657 | 658 | |
| 658 | 659 | /* Driver */ |
| 659 | 660 | |
| 660 | | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 661 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 661 | 662 | COMP( 1980, ie15, 0, 0, ie15, ie15, driver_device, 0, "USSR", "15IE-00-013", 0) |