Updated Commodore LCD colors, based on recent pictures from one of the prototypes. [smf]

Fixed Commodore LCD real time clock reading, it relies on the RTC chip being able to ground PORT A while it is set to an output. Which is documented in the 6522 datasheet as being possible. It's NMOS, so it has weak pull ups and doesn't drive it's output hard. However due to a bug in the prototype ROM code, it currently has the date and month swapped round. [smf]
This commit is contained in:
smf- 2022-05-19 19:16:12 +01:00
parent 0c258c9d70
commit 46a01470e6
2 changed files with 7 additions and 11 deletions

View File

@ -559,15 +559,11 @@ void via6522_device::device_timer(emu_timer &timer, device_timer_id id, int para
uint8_t via6522_device::input_pa()
{
uint8_t pa = m_in_a & ~m_ddr_a;
/// TODO: REMOVE THIS
if (m_ddr_a != 0xff && !m_in_a_handler.isnull())
pa &= m_in_a_handler();
pa |= m_out_a & m_ddr_a;
return pa;
// HACK: port a in the real 6522 does not mask off the output pins, but you can't trust handlers.
if (!m_in_a_handler.isnull())
return (m_in_a & ~m_ddr_a & m_in_a_handler()) | (m_out_a & m_ddr_a);
else
return (m_out_a | ~m_ddr_a) & m_in_a;
}
void via6522_device::output_pa()

View File

@ -91,8 +91,8 @@ public:
void clcd_palette(palette_device &palette) const
{
palette.set_pen_color(0, rgb_t(36,72,36));
palette.set_pen_color(1, rgb_t(2,4,2));
palette.set_pen_color(0, rgb_t(124, 149, 143));
palette.set_pen_color(1, rgb_t(54,64,65));
}
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)