summaryrefslogtreecommitdiff
path: root/stateview.c
diff options
context:
space:
mode:
Diffstat (limited to 'stateview.c')
-rw-r--r--stateview.c61
1 files changed, 56 insertions, 5 deletions
diff --git a/stateview.c b/stateview.c
index 10120e9..ee34407 100644
--- a/stateview.c
+++ b/stateview.c
@@ -1,3 +1,8 @@
+/*
+ Copyright 2013 Michael Pavone
+ This file is part of BlastEm.
+ BlastEm is free software distributed under the terms of the GNU General Public License version 3 or greater. See COPYING for full license text.
+*/
#include <stdlib.h>
#include <stdio.h>
#include "vdp.h"
@@ -7,12 +12,48 @@
//not used, but referenced by the renderer since it handles input
io_port gamepad_1;
io_port gamepad_2;
+uint8_t reset = 1;
+uint8_t busreq = 0;
uint16_t read_dma_value(uint32_t address)
{
return 0;
}
+void ym_data_write(ym2612_context * context, uint8_t value)
+{
+}
+
+void ym_address_write_part1(ym2612_context * context, uint8_t address)
+{
+}
+
+void ym_address_write_part2(ym2612_context * context, uint8_t address)
+{
+}
+
+void handle_keydown(int keycode)
+{
+}
+
+void handle_keyup(int keycode)
+{
+}
+
+void handle_joydown(int joystick, int button)
+{
+}
+
+void handle_joyup(int joystick, int button)
+{
+}
+
+void handle_joy_dpad(int joystick, int dpadnum, uint8_t value)
+{
+}
+
+tern_node * config;
+
int main(int argc, char ** argv)
{
if (argc < 2) {
@@ -24,23 +65,33 @@ int main(int argc, char ** argv)
fprintf(stderr, "Failed to open %s\n", argv[1]);
exit(1);
}
- int width = 320;
- int height = 240;
+ config = load_config(argv[0]);
+ int width = -1;
+ int height = -1;
if (argc > 2) {
width = atoi(argv[2]);
if (argc > 3) {
height = atoi(argv[3]);
- } else {
- height = (width/320) * 240;
}
}
+ int def_width = 0;
+ char *config_width = tern_find_ptr(config, "videowidth");
+ if (config_width) {
+ def_width = atoi(config_width);
+ }
+ if (!def_width) {
+ def_width = 640;
+ }
+ width = width < 320 ? def_width : width;
+ height = height < 240 ? (width/320) * 240 : height;
+
vdp_context context;
+ render_init(width, height, "GST State Viewer", 60, 0);
init_vdp_context(&context);
vdp_load_gst(&context, state_file);
vdp_run_to_vblank(&context);
vdp_print_sprite_table(&context);
printf("Display %s\n", (context.regs[REG_MODE_2] & DISPLAY_ENABLE) ? "enabled" : "disabled");
- render_init(width, height);
render_context(&context);
render_wait_quit(&context);
return 0;