diff options
author | 2014-03-27 09:33:57 +0000 | |
---|---|---|
committer | 2014-03-27 09:33:57 +0000 | |
commit | 04c9f4b05ea76571fdae1c0e4e9e2744001d4d39 (patch) | |
tree | 95af3fce10ae1f8f3b77f2ab6a6b4229dc82bd4e /src/emu/bus/c64 | |
parent | ab3a90ca29dd65dedeb99a035b0316cc7b4daeda (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.c | 10 | ||||
-rw-r--r-- | src/emu/bus/c64/xl80.h | 2 |
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 |