ibmpcjr: fix pcjr and pcjx

This commit is contained in:
cracyc 2020-11-22 18:16:49 -06:00
parent 58c8cba9b3
commit 5ed91a1857
3 changed files with 9 additions and 2 deletions

View File

@ -580,8 +580,8 @@ void pcjr_state::ibmpcjr_io(address_map &map)
void pcjr_state::ibmpcjx_map(address_map &map)
{
map.unmap_value_high();
map(0x80000, 0xb7fff).rom().region("kanji", 0);
map(0x80000, 0x9ffff).ram().share("vram"); // TODO: remove this part of vram hack
map(0x80000, 0xb7fff).rom().region("kanji", 0);
map(0xb8000, 0xbffff).m("pcvideo_pcjr:vram", FUNC(address_map_bank_device::amap8));
map(0xd0000, 0xdffff).r(m_cart1, FUNC(generic_slot_device::read_rom));
map(0xe0000, 0xfffff).rom().region("bios", 0);

8
src/mame/video/pc_t1t.cpp Normal file → Executable file
View File

@ -149,7 +149,7 @@ void pcvideo_pcjr_device::device_add_mconfig(machine_config &config)
m_mc6845->set_show_border_area(false);
m_mc6845->set_char_width(8);
m_mc6845->set_update_row_callback(FUNC(pcvideo_pcjr_device::crtc_update_row));
m_mc6845->out_de_callback().set(FUNC(pc_t1t_device::t1000_de_changed));
m_mc6845->out_de_callback().set(FUNC(pcvideo_pcjr_device::de_changed));
m_mc6845->out_vsync_callback().set(FUNC(pcvideo_pcjr_device::pcjr_vsync_changed));
ADDRESS_MAP_BANK(config, m_vram).set_map(&pc_t1t_device::vram_map).set_options(ENDIANNESS_LITTLE, 8, 18, 0x4000);
@ -988,6 +988,12 @@ uint8_t pc_t1t_device::read(offs_t offset)
}
WRITE_LINE_MEMBER( pc_t1t_device::t1000_de_changed )
{
m_display_enable = state ? 0 : 1;
}
WRITE_LINE_MEMBER( pcvideo_pcjr_device::de_changed )
{
m_display_enable = state ? 1 : 0;
}

1
src/mame/video/pc_t1t.h Normal file → Executable file
View File

@ -127,6 +127,7 @@ public:
void write(offs_t offset, uint8_t data);
DECLARE_WRITE_LINE_MEMBER( de_changed );
MC6845_UPDATE_ROW( pcjx_text_update_row );
MC6845_UPDATE_ROW( pcjr_gfx_2bpp_high_update_row );