132
134
0, 0, 0, 0, 0, 0,
136
#include "blizzard_template.h"
138
#include "blizzard_template.h"
140
#include "blizzard_template.h"
142
#include "blizzard_template.h"
144
#include "blizzard_template.h"
146
137
static inline void blizzard_rgb2yuv(int r, int g, int b,
147
138
int *y, int *u, int *v)
161
blizzard_fn_t fn = 0;
164
/* FIXME: this is a hack - but nseries.c will use this function
165
* before correct DisplayState is initialized so we need a way to
166
* avoid drawing something when we actually have no clue about host bpp */
167
/* XXX PMM : this is no longer possible after the changes to use
168
* DisplaySurfaces -- need to check if it is still a problem...
170
if (QLIST_EMPTY(&s->state->listeners)) {
175
switch (surface_bits_per_pixel(surface)) {
178
? blizzard_draw_fn_r_8[s->iformat]
179
: blizzard_draw_fn_8[s->iformat];
183
? blizzard_draw_fn_r_15[s->iformat]
184
: blizzard_draw_fn_15[s->iformat];
188
? blizzard_draw_fn_r_16[s->iformat]
189
: blizzard_draw_fn_16[s->iformat];
193
? blizzard_draw_fn_r_24[s->iformat]
194
: blizzard_draw_fn_24[s->iformat];
198
? blizzard_draw_fn_r_32[s->iformat]
199
: blizzard_draw_fn_32[s->iformat];
152
blizzard_fn_t fn = s->data.line_fn;
206
156
if (s->mx[0] > s->data.x)
937
#include "blizzard_template.h"
939
#include "blizzard_template.h"
941
#include "blizzard_template.h"
943
#include "blizzard_template.h"
945
#include "blizzard_template.h"
985
947
static const GraphicHwOps blizzard_ops = {
986
948
.invalidate = blizzard_invalidate_display,
987
949
.gfx_update = blizzard_update_display,
990
952
void *s1d13745_init(qemu_irq gpio_int)
992
954
BlizzardState *s = (BlizzardState *) g_malloc0(sizeof(*s));
955
DisplaySurface *surface;
994
957
s->fb = g_malloc(0x180000);
995
/* Fill the framebuffer with white color here because the corresponding
996
* code in nseries.c is broken since the DisplayState change in QEMU.
997
* This is supposedly ok since nseries.c is the only user of blizzard.c */
998
memset(s->fb, 0xff, 0x180000);
1000
s->con = graphic_console_init(NULL, &blizzard_ops, s);
959
s->con = graphic_console_init(NULL, 0, &blizzard_ops, s);
960
surface = qemu_console_surface(s->con);
962
switch (surface_bits_per_pixel(surface)) {
964
s->line_fn_tab[0] = s->line_fn_tab[1] =
965
g_malloc0(sizeof(blizzard_fn_t) * 0x10);
968
s->line_fn_tab[0] = blizzard_draw_fn_8;
969
s->line_fn_tab[1] = blizzard_draw_fn_r_8;
972
s->line_fn_tab[0] = blizzard_draw_fn_15;
973
s->line_fn_tab[1] = blizzard_draw_fn_r_15;
976
s->line_fn_tab[0] = blizzard_draw_fn_16;
977
s->line_fn_tab[1] = blizzard_draw_fn_r_16;
980
s->line_fn_tab[0] = blizzard_draw_fn_24;
981
s->line_fn_tab[1] = blizzard_draw_fn_r_24;
984
s->line_fn_tab[0] = blizzard_draw_fn_32;
985
s->line_fn_tab[1] = blizzard_draw_fn_r_32;
988
fprintf(stderr, "%s: Bad color depth\n", __FUNCTION__);
1002
992
blizzard_reset(s);