|
libc8
CHIP-8 utility library
|
#include "../common.h"#include "../graphics.h"#include "exception.h"#include <SDL2/SDL.h>#include <SDL2/SDL_audio.h>#include <SDL2/SDL_mixer.h>#include <stdint.h>Macros | |
| #define | C8_RGB_R(i) ((i >> 12) & 0xFF) |
| #define | C8_RGB_G(i) ((i >> 8) & 0xFF) |
| #define | C8_RGB_B(i) (i & 0xFF) |
| #define | C8_AUDIO_CHANNEL 1 |
| #define | C8_AUDIO_SAMPLE_RATE 44100 |
| #define | C8_AUDIO_WAVE_FREQ 440 |
| #define | C8_AUDIO_WAVE_LENGTH C8_AUDIO_SAMPLE_RATE / C8_AUDIO_WAVE_FREQ |
Functions | |
| void | c8_sound_play (void) |
| Stop sound. | |
| void | c8_sound_stop (void) |
| Play sound. | |
| void | c8_deinit_graphics (void) |
| Deinitialize the graphics library. | |
| uint8_t | c8_init_graphics (void) |
| Initialize the graphics library. | |
| void | c8_render (C8_Display *display, int *colors) |
| Render graphics. | |
| int | c8_tick (int *key) |
| Process keypresses and delay based on clockspeed. | |
SDL2 graphics implementation. When SDL2 is defined, overrides weak graphics utility function definitions in graphics.c.
| #define C8_AUDIO_CHANNEL 1 |
| #define C8_AUDIO_SAMPLE_RATE 44100 |
| #define C8_AUDIO_WAVE_FREQ 440 |
| #define C8_AUDIO_WAVE_LENGTH C8_AUDIO_SAMPLE_RATE / C8_AUDIO_WAVE_FREQ |
| #define C8_RGB_B | ( | i | ) | (i & 0xFF) |
| #define C8_RGB_G | ( | i | ) | ((i >> 8) & 0xFF) |
| #define C8_RGB_R | ( | i | ) | ((i >> 12) & 0xFF) |
| void c8_deinit_graphics | ( | void | ) |
Deinitialize the graphics library.
Deinitialize graphics system.
| uint8_t c8_init_graphics | ( | void | ) |
Initialize the graphics library.
Initialize graphics system.
| void c8_render | ( | C8_Display * | display, |
| int * | colors | ||
| ) |
Render graphics.
Render the given display to the SDL2 window.
| display | C8_Display to render |
| colors | colors to render |
| void c8_sound_play | ( | void | ) |
Stop sound.
This function is weak and is overridden by internal/graphics_sdl.c by default. This can also be overridden by the user when compiling without SDL2 support.
| void c8_sound_stop | ( | void | ) |
Play sound.
This function is weak and is overridden by internal/graphics_sdl.c by default. This can also be overridden by the user when compiling without SDL2 support.
| int c8_tick | ( | int * | key | ) |
Process keypresses and delay based on clockspeed.
Grab current keypresses and delay execution to match clockspeed.
If a relevant key is pressed or released (see keyMap in this file), this function will update key accordingly.
| key | pointer to int arr of keys |