2 * QEMU Motorola 680x0 Macintosh Video Card Emulation
3 * Copyright (c) 2012-2018 Laurent Vivier
5 * some parts from QEMU G364 framebuffer Emulator.
6 * Copyright (c) 2007-2011 Herve Poussineau
8 * This work is licensed under the terms of the GNU GPL, version 2 or later.
9 * See the COPYING file in the top-level directory.
16 #include "qemu/osdep.h"
17 #include "exec/memory.h"
18 #include "ui/console.h"
20 typedef struct MacfbState
{
21 MemoryRegion mem_vram
;
22 MemoryRegion mem_ctrl
;
26 uint32_t vram_bit_mask
;
27 uint32_t palette_current
;
28 uint8_t color_palette
[256 * 3];
29 uint32_t width
, height
; /* in pixels */
33 #define TYPE_MACFB "sysbus-macfb"
35 OBJECT_CHECK(MacfbSysBusState, (obj), TYPE_MACFB)
43 #define MACFB_NUBUS_DEVICE_CLASS(class) \
44 OBJECT_CLASS_CHECK(MacfbNubusDeviceClass, (class), TYPE_NUBUS_MACFB)
45 #define MACFB_NUBUS_GET_CLASS(obj) \
46 OBJECT_GET_CLASS(MacfbNubusDeviceClass, (obj), TYPE_NUBUS_MACFB)
48 typedef struct MacfbNubusDeviceClass
{
49 DeviceClass parent_class
;
51 DeviceRealize parent_realize
;
52 } MacfbNubusDeviceClass
;
54 #define TYPE_NUBUS_MACFB "nubus-macfb"
55 #define NUBUS_MACFB(obj) \
56 OBJECT_CHECK(MacfbNubusState, (obj), TYPE_NUBUS_MACFB)