summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/bus/c64
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2014-03-27 09:33:57 +0000
committer Curt Coder <curtcoder@mail.com>2014-03-27 09:33:57 +0000
commit04c9f4b05ea76571fdae1c0e4e9e2744001d4d39 (patch)
tree95af3fce10ae1f8f3b77f2ab6a6b4229dc82bd4e /src/emu/bus/c64
parentab3a90ca29dd65dedeb99a035b0316cc7b4daeda (diff)
mc6845: Added display enable and horizontal/vertical back porch widths to the update function. Updated some MESS drivers to make use of this. [Curt Coder]
(MESS) pet: Added the "Fat 40" PET/CBM 4032 models. Check out "No Pets Allowed" by Orb to see them and the new mc6845 functionality in action. [Curt Coder]
Diffstat (limited to 'src/emu/bus/c64')
-rw-r--r--src/emu/bus/c64/xl80.c10
-rw-r--r--src/emu/bus/c64/xl80.h2
2 files changed, 6 insertions, 6 deletions
diff --git a/src/emu/bus/c64/xl80.c b/src/emu/bus/c64/xl80.c
index fc3bd679ed8..a33504a2f1e 100644
--- a/src/emu/bus/c64/xl80.c
+++ b/src/emu/bus/c64/xl80.c
@@ -81,7 +81,7 @@ const rom_entry *c64_xl80_device::device_rom_region() const
// mc6845_interface crtc_intf
//-------------------------------------------------
-void c64_xl80_device::crtc_update_row(mc6845_device *device, bitmap_rgb32 &bitmap, const rectangle &cliprect, UINT16 ma, UINT8 ra, UINT16 y, UINT8 x_count, INT8 cursor_x, void *param)
+void c64_xl80_device::crtc_update_row(mc6845_device *device, bitmap_rgb32 &bitmap, const rectangle &cliprect, UINT16 ma, UINT8 ra, UINT16 y, UINT8 x_count, INT8 cursor_x, int de, int hbp, int vbp, void *param)
{
const pen_t *pen = m_palette->pens();
@@ -99,9 +99,9 @@ void c64_xl80_device::crtc_update_row(mc6845_device *device, bitmap_rgb32 &bitma
for (int bit = 0; bit < 8; bit++)
{
int x = (column * 8) + bit;
- int color = BIT(data, 7);
+ int color = BIT(data, 7) && de;
- bitmap.pix32(y, x) = pen[color];
+ bitmap.pix32(vbp + y, hbp + x) = pen[color];
data <<= 1;
}
@@ -111,12 +111,12 @@ void c64_xl80_device::crtc_update_row(mc6845_device *device, bitmap_rgb32 &bitma
static MC6845_UPDATE_ROW( c64_xl80_update_row )
{
c64_xl80_device *xl80 = downcast<c64_xl80_device *>(device->owner());
- xl80->crtc_update_row(device,bitmap,cliprect,ma,ra,y,x_count,cursor_x,param);
+ xl80->crtc_update_row(device,bitmap,cliprect,ma,ra,y,x_count,cursor_x,de,hbp,vbp,param);
}
static MC6845_INTERFACE( crtc_intf )
{
- false,
+ true,
0,0,0,0,
8,
NULL,
diff --git a/src/emu/bus/c64/xl80.h b/src/emu/bus/c64/xl80.h
index c65a87e288c..29ccbca7fd5 100644
--- a/src/emu/bus/c64/xl80.h
+++ b/src/emu/bus/c64/xl80.h
@@ -39,7 +39,7 @@ public:
virtual machine_config_constructor device_mconfig_additions() const;
// not really public
- void crtc_update_row(mc6845_device *device, bitmap_rgb32 &bitmap, const rectangle &cliprect, UINT16 ma, UINT8 ra, UINT16 y, UINT8 x_count, INT8 cursor_x, void *param);
+ void crtc_update_row(mc6845_device *device, bitmap_rgb32 &bitmap, const rectangle &cliprect, UINT16 ma, UINT8 ra, UINT16 y, UINT8 x_count, INT8 cursor_x, int de, int hbp, int vbp, void *param);
protected:
// device-level overrides