2021-04-08 00:32:18 +00:00
|
|
|
#include <stdio.h>
|
2021-04-08 00:42:30 +00:00
|
|
|
#include <stdlib.h>
|
2021-04-08 00:32:18 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
Copyright (c) 2021 Devine Lu Linvega
|
2021-04-10 16:32:14 +00:00
|
|
|
Copyright (c) 2021 Andrew Alderwick
|
2021-04-08 00:32:18 +00:00
|
|
|
|
|
|
|
Permission to use, copy, modify, and distribute this software for any
|
|
|
|
purpose with or without fee is hereby granted, provided that the above
|
|
|
|
copyright notice and this permission notice appear in all copies.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
|
|
WITH REGARD TO THIS SOFTWARE.
|
|
|
|
*/
|
|
|
|
|
|
|
|
typedef unsigned char Uint8;
|
|
|
|
typedef unsigned short Uint16;
|
|
|
|
typedef unsigned int Uint32;
|
|
|
|
|
|
|
|
typedef struct Ppu {
|
2021-05-19 16:13:41 +00:00
|
|
|
Uint8 *bg, *fg;
|
2021-04-08 17:06:17 +00:00
|
|
|
Uint16 hor, ver, pad, width, height;
|
2021-04-08 00:32:18 +00:00
|
|
|
Uint32 *output, colors[4];
|
|
|
|
} Ppu;
|
|
|
|
|
2021-04-08 16:59:45 +00:00
|
|
|
int initppu(Ppu *p, Uint8 hor, Uint8 ver, Uint8 pad);
|
2021-04-21 03:38:15 +00:00
|
|
|
void putcolors(Ppu *p, Uint8 *addr);
|
2021-04-09 15:02:55 +00:00
|
|
|
void putpixel(Ppu *p, Uint8 *layer, Uint16 x, Uint16 y, Uint8 color);
|
2021-04-29 17:10:07 +00:00
|
|
|
void puticn(Ppu *p, Uint8 *layer, Uint16 x, Uint16 y, Uint8 *sprite, Uint8 color, Uint8 flipx, Uint8 flipy);
|
|
|
|
void putchr(Ppu *p, Uint8 *layer, Uint16 x, Uint16 y, Uint8 *sprite, Uint8 color, Uint8 flipx, Uint8 flipy);
|
2021-04-22 18:04:06 +00:00
|
|
|
void drawppu(Ppu *p);
|
|
|
|
void drawdebugger(Ppu *p, Uint8 *stack, Uint8 ptr);
|