trunk/src/mame/machine/amstrad.cpp
r250318 | r250319 | |
931 | 931 | // CPC+/GX4000 Programmable Raster Interrupt (disabled if &6800 in ASIC RAM is 0) |
932 | 932 | if ( m_asic.pri != 0 ) |
933 | 933 | { |
934 | | if ( m_asic.pri == m_asic.vpos - 1 ) |
| 934 | if ( m_asic.pri == m_asic.vpos ) |
935 | 935 | { |
936 | 936 | logerror("PRI: triggered, scanline %d\n",m_asic.pri); |
937 | 937 | m_maincpu->set_input_line(0, ASSERT_LINE); |
r250318 | r250319 | |
1030 | 1030 | /* DE became active, store the starting MA and RA signals */ |
1031 | 1031 | m_gate_array.ma = m_crtc->get_ma(); |
1032 | 1032 | m_gate_array.ra = m_crtc->get_ra(); |
| 1033 | |
1033 | 1034 | m_asic.h_start = m_gate_array.line_ticks; |
1034 | 1035 | if(m_asic.de_start == 0) |
1035 | | m_asic.vpos = 1; |
| 1036 | m_asic.vpos = 0; |
1036 | 1037 | m_asic.de_start = 1; |
| 1038 | m_gate_array.colour = m_asic.ram[0x2420] + ( m_asic.ram[0x2421] << 8 ); |
| 1039 | m_asic.hscroll = m_asic.ram[0x2804] & 0x0f; |
| 1040 | if ( m_asic.hscroll == 0 ) |
| 1041 | amstrad_plus_gate_array_get_video_data(); |
| 1042 | // if( m_asic.ram[0x2804] & 0x80 ) // draw border for first character if set (hides graphic mess when using softscroll) |
| 1043 | // *m_gate_array.draw_p = m_asic.ram[0x2420] + ( m_asic.ram[0x2421] << 8 ); |
1037 | 1044 | |
1038 | 1045 | /* Start of screen */ |
1039 | | if ( m_asic.vpos == 1 ) |
| 1046 | if ( m_asic.vpos == 0 ) |
1040 | 1047 | { |
1041 | 1048 | m_asic.split_ma_base = 0x0000; |
1042 | 1049 | m_asic.split_ma_started = 0x0000; |
r250318 | r250319 | |
1047 | 1054 | m_asic.split_ma_started = m_gate_array.ma; |
1048 | 1055 | m_asic.split_ma_base = ( m_asic.ram[0x2802] << 8 ) | m_asic.ram[0x2803]; |
1049 | 1056 | } |
1050 | | |
1051 | | m_gate_array.colour = m_asic.ram[0x2420] + ( m_asic.ram[0x2421] << 8 ); |
1052 | | m_asic.hscroll = m_asic.ram[0x2804] & 0x0f; |
1053 | | |
1054 | | if ( m_asic.hscroll == 0 ) |
1055 | | amstrad_plus_gate_array_get_video_data(); |
1056 | 1057 | } |
1057 | 1058 | |
1058 | 1059 | if ( m_gate_array.de && ! state ) |