commit d87f2d06dd06d876e31000f937aadbb9ff9326b5
parent b4bac86de9542e7a766bb651aecbb4cf4d98cb1f
Author: Léo Villeveygoux <l@vgx.fr>
Date: Wed, 8 Apr 2020 00:32:46 +0200
Remove unused stuff, rename send_draw() to frame()
Diffstat:
4 files changed, 12 insertions(+), 27 deletions(-)
diff --git a/chip8.c b/chip8.c
@@ -164,7 +164,7 @@ static void step(){
for(int i=0 ; i<256 ; i++)
SCREEN[i] = 0;
clear_screen();
- send_draw();
+ frame();
return;
case 0x00EE: /* return from a subroutine */
if(!SP)
@@ -419,7 +419,7 @@ int main(int argc, char **argv){
step();
if(!(i%(FREQ/60))){
- send_draw();
+ frame();
if(DT)
DT--;
if(ST)
diff --git a/media-raylib.c b/media-raylib.c
@@ -108,7 +108,7 @@ unsigned short wait_input(unsigned short input){
int new_input;
while((new_input = get_input(input)) == input)
- send_draw();
+ frame();
return new_input;
}
@@ -125,7 +125,7 @@ void draw(int x, int y, int value){
value ? FG_COLOR : BG_COLOR);
}
-void send_draw(void){
+void frame(void){
update_audio();
EndDrawing();
diff --git a/media-sdl.c b/media-sdl.c
@@ -13,6 +13,7 @@
#define WINDOW_NAME "CHIP-8 emulator"
#define NUM_PIXELS (SCREEN_WIDTH*SCREEN_HEIGHT)
+#define SCREEN_RECT ((SDL_Rect){.x=0,.y=0,.w=SCREEN_WIDTH,.h=SCREEN_HEIGHT})
#define SOUND_DEV_FREQ 48000
#define SOUND_SAMPLES 1024
@@ -24,13 +25,9 @@ unsigned char *pixels;
SDL_Window *window;
SDL_Renderer *renderer;
SDL_Texture *texture;
-SDL_Rect rect = {.x=0,.y=0,.w=SCREEN_WIDTH,.h=SCREEN_HEIGHT};
/* sound state*/
int buzzer_state = 0;
-long sample_num = 0;
-
-unsigned clock;
/*
┌───┬───┬───┬───┐
@@ -54,6 +51,7 @@ SDL_Keycode keys[16] = {
};
static void buzzer_callback(void* userdata, Uint8* stream, int len){
+ static long sample_num = 0;
(void) userdata;
for(int i=0 ; i<len ; i++){
if(buzzer_state == 0)
@@ -99,8 +97,6 @@ int m_init(int argc, char **argv){
SDL_PauseAudio(0);
- clock = SDL_GetTicks();
-
return 0;
}
@@ -165,14 +161,14 @@ void draw(int x, int y, int value){
}
}
-void send_draw(void){
+void frame(void){
void *texture_pixels;
int pitch; /* we don't actually use this, yolo */
- SDL_LockTexture(texture, &rect, &texture_pixels, &pitch);
+ SDL_LockTexture(texture, &SCREEN_RECT, &texture_pixels, &pitch);
memcpy(texture_pixels, pixels, NUM_PIXELS);
SDL_UnlockTexture(texture);
- SDL_RenderCopy(renderer, texture, &rect, &rect);
+ SDL_RenderCopy(renderer, texture, &SCREEN_RECT, &SCREEN_RECT);
SDL_RenderPresent(renderer);
SDL_RenderClear(renderer);
}
@@ -180,14 +176,3 @@ void send_draw(void){
void set_buzzer_state(int state){
buzzer_state = state;
}
-
-void wait_tick(void){
- /* TODO: tunable frequency */
- unsigned new_clock = SDL_GetTicks();
-
- if(new_clock == clock){
- SDL_Delay(1);
- }
-
- clock = SDL_GetTicks();
-}
diff --git a/media.h b/media.h
@@ -10,9 +10,9 @@ unsigned short wait_input(unsigned short input);
void clear_screen(void);
void draw(int x, int y, int value);
-void send_draw(void);
-void set_buzzer_state(int state);
-void wait_tick(void);
+void frame(void);
+
+void set_buzzer_state(int state);
#endif /* C8_MEDIA_H */