136
134
0, 0, 0, 0, 0, 0,
138
#include "blizzard_template.h"
140
#include "blizzard_template.h"
142
#include "blizzard_template.h"
144
#include "blizzard_template.h"
146
#include "blizzard_template.h"
139
148
static inline void blizzard_rgb2yuv(int r, int g, int b,
140
149
int *y, int *u, int *v)
153
blizzard_fn_t fn = s->data.line_fn;
162
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
if (!s->state->listeners)
170
switch (ds_get_bits_per_pixel(s->state)) {
173
? blizzard_draw_fn_r_8[s->iformat]
174
: blizzard_draw_fn_8[s->iformat];
178
? blizzard_draw_fn_r_15[s->iformat]
179
: blizzard_draw_fn_15[s->iformat];
183
? blizzard_draw_fn_r_16[s->iformat]
184
: blizzard_draw_fn_16[s->iformat];
188
? blizzard_draw_fn_r_24[s->iformat]
189
: blizzard_draw_fn_24[s->iformat];
193
? blizzard_draw_fn_r_32[s->iformat]
194
: blizzard_draw_fn_32[s->iformat];
157
201
if (s->mx[0] > s->data.x)
942
985
ppm_save(filename, s->state->surface);
946
#include "blizzard_template.h"
948
#include "blizzard_template.h"
950
#include "blizzard_template.h"
952
#include "blizzard_template.h"
954
#include "blizzard_template.h"
956
988
void *s1d13745_init(qemu_irq gpio_int)
958
990
struct blizzard_s *s = (struct blizzard_s *) qemu_mallocz(sizeof(*s));
960
992
s->fb = qemu_malloc(0x180000);
993
/* Fill the framebuffer with white color here because the corresponding
994
* code in nseries.c is broken since the DisplayState change in QEMU.
995
* This is supposedly ok since nseries.c is the only user of blizzard.c */
996
memset(s->fb, 0xff, 0x180000);
962
998
s->state = graphic_console_init(blizzard_update_display,
963
999
blizzard_invalidate_display,
964
1000
blizzard_screen_dump, NULL, s);
966
switch (ds_get_bits_per_pixel(s->state)) {
968
s->line_fn_tab[0] = s->line_fn_tab[1] =
969
qemu_mallocz(sizeof(blizzard_fn_t) * 0x10);
972
s->line_fn_tab[0] = blizzard_draw_fn_8;
973
s->line_fn_tab[1] = blizzard_draw_fn_r_8;
976
s->line_fn_tab[0] = blizzard_draw_fn_15;
977
s->line_fn_tab[1] = blizzard_draw_fn_r_15;
980
s->line_fn_tab[0] = blizzard_draw_fn_16;
981
s->line_fn_tab[1] = blizzard_draw_fn_r_16;
984
s->line_fn_tab[0] = blizzard_draw_fn_24;
985
s->line_fn_tab[1] = blizzard_draw_fn_r_24;
988
s->line_fn_tab[0] = blizzard_draw_fn_32;
989
s->line_fn_tab[1] = blizzard_draw_fn_r_32;
992
fprintf(stderr, "%s: Bad color depth\n", __FUNCTION__);
996
1001
blizzard_reset(s);