#include <p24FJ64GA002.h>
#include "types.h"
#include "table.h"
#include "librtc.h"
#include "libfontx2.h"
#include "libvideo.h"
マクロ定義 | |
#define | abs(a) (((a)>0) ? (a) : -(a)) |
#define | NTSC_SYNC LATBbits.LATB12 |
#define | NTSC_VIDEO LATBbits.LATB13 |
#define | NTSC_LINE 263 |
#define | NTSC_LINE_SYNC 13 |
#define | NTSC_LINE_SPACE_TOP 29 |
#define | NTSC_DEFAULT_FCY cpu_fcy[0] |
#define | NTSC_HORIZON_PULSE 1015 |
#define | NTSC_SERRATION_PULSE 936 |
#define | NTSC_EQUALIZING_PULSE 70 |
#define | NTSC_LEFT_SPACE 220 |
#define | NTSC_VIDEO_WIDTH 256 |
関数 | |
void | VIDEO_init (void) |
void | VIDEO_init_clock (void) |
void | __attribute__ ((interrupt, no_auto_psv, shadow)) |
void | __attribute__ ((interrupt, auto_psv)) |
void | __attribute__ ((interrupt, no_auto_psv)) |
void | VIDEO_vram_clear (unsigned int pattern) |
unsigned char | VIDEO_get_output (void) |
unsigned int | VIDEO_get_point (unsigned int x, unsigned int y) |
void | VIDEO_point (unsigned int x, unsigned int y) |
void | VIDEO_point_ (unsigned int x, unsigned int y) |
void | VIDEO_line (int x0, int y0, int x1, int y1) |
void | VIDEO_line_ (int x0, int y0, int x1, int y1) |
void | VIDEO_arc (unsigned int x, unsigned int y, unsigned int r, unsigned int start, unsigned int end) |
void | VIDEO_arc_ (unsigned int x, unsigned int y, unsigned int r, unsigned int start, unsigned int end) |
void | VIDEO_locate (unsigned int x, unsigned int y) |
void | VIDEO_putch (unsigned char c) |
void | VIDEO_putstr (const char *s) |
void | VIDEO_puthex (unsigned char a) |
void | VIDEO_putbin (unsigned char a) |
void | VIDEO_putuint (unsigned int digit, unsigned char size) |
void | VIDEO_putint (int digit, unsigned char size) |
void | VIDEO_putdouble (double digit, unsigned char size, unsigned char size2) |
void | GRAPH_init (pGRAPH_T graph, unsigned int x, unsigned int y, unsigned int width, unsigned int height) |
void | GRAPH_putdata (pGRAPH_T graph, unsigned int data) |
void | GRAPH_draw_point (pGRAPH_T graph) |
void | GRAPH_draw_line (pGRAPH_T graph) |
void | GRAPH_draw_bar (pGRAPH_T graph) |
void | METER_init (pMETER_T meter, unsigned int x, unsigned int y, unsigned char r) |
void | METER_draw (pMETER_T meter, unsigned int value) |
void | TRACK_init (pTRACK_T track, unsigned int x, unsigned int y, unsigned int width, unsigned int height) |
void | TRACK_putdata (pTRACK_T track, unsigned int x, unsigned int y) |
void | TRACK_draw_point (pTRACK_T track) |
変数 | |
VIDEO_T | video |
#define abs | ( | a | ) | (((a)>0) ? (a) : -(a)) |
libvideo.c の 33 行で定義されています。
参照元 VIDEO_line(), VIDEO_line_(), VIDEO_putdouble(), と VIDEO_putint().
#define NTSC_DEFAULT_FCY cpu_fcy[0] |
libvideo.c の 45 行で定義されています。
参照元 VIDEO_init_clock().
#define NTSC_EQUALIZING_PULSE 70 |
libvideo.c の 48 行で定義されています。
参照元 VIDEO_init_clock().
#define NTSC_HORIZON_PULSE 1015 |
libvideo.c の 46 行で定義されています。
参照元 VIDEO_init_clock().
#define NTSC_LEFT_SPACE 220 |
libvideo.c の 49 行で定義されています。
参照元 VIDEO_init_clock().
#define NTSC_LINE 263 |
libvideo.c の 40 行で定義されています。
#define NTSC_LINE_SPACE_TOP 29 |
libvideo.c の 42 行で定義されています。
#define NTSC_LINE_SYNC 13 |
libvideo.c の 41 行で定義されています。
#define NTSC_SERRATION_PULSE 936 |
libvideo.c の 47 行で定義されています。
参照元 VIDEO_init_clock().
#define NTSC_SYNC LATBbits.LATB12 |
libvideo.c の 36 行で定義されています。
#define NTSC_VIDEO LATBbits.LATB13 |
libvideo.c の 37 行で定義されています。
#define NTSC_VIDEO_WIDTH 256 |
libvideo.c の 50 行で定義されています。
参照元 VIDEO_init_clock().
void __attribute__ | ( | (interrupt, no_auto_psv, shadow) | ) |
libvideo.c の 291 行で定義されています。
参照先 NTSC_STATUS::hsync, NTSC::monitor, ntsc, NTSC_WIDTH, NTSC_STATUS::video_width, と NTSC_STATUS::vram.
void __attribute__ | ( | (interrupt, auto_psv) | ) |
libvideo.c の 416 行で定義されています。
参照先 ntsc, と NTSC::output.
void __attribute__ | ( | (interrupt, no_auto_psv) | ) |
libvideo.c の 388 行で定義されています。
参照先 NTSC_STATUS::hsync, ntsc, NTSC_WIDTH, NTSC::superimpose, NTSC_STATUS::video_width, と NTSC_STATUS::vram.
void GRAPH_draw_bar | ( | pGRAPH_T | graph | ) |
libvideo.c の 1031 行で定義されています。
参照先 GRAPH::data, GRAPH::height, GRAPH::ptr, VIDEO_line(), VIDEO_line_(), GRAPH::width, GRAPH::x, と GRAPH::y.
void GRAPH_draw_line | ( | pGRAPH_T | graph | ) |
libvideo.c の 1009 行で定義されています。
参照先 GRAPH::data, GRAPH::height, GRAPH::ptr, VIDEO_line(), VIDEO_line_(), VIDEO_point_(), GRAPH::width, GRAPH::x, と GRAPH::y.
void GRAPH_draw_point | ( | pGRAPH_T | graph | ) |
libvideo.c の 987 行で定義されています。
参照先 GRAPH::data, GRAPH::height, GRAPH::ptr, VIDEO_point(), VIDEO_point_(), GRAPH::width, GRAPH::x, と GRAPH::y.
void GRAPH_init | ( | pGRAPH_T | graph, | |
unsigned int | x, | |||
unsigned int | y, | |||
unsigned int | width, | |||
unsigned int | height | |||
) |
libvideo.c の 940 行で定義されています。
参照先 GRAPH::data, GRAPH_SIZE, GRAPH::height, NTSC_HEIGHT, NTSC_WIDTH, GRAPH::ptr, GRAPH::width, GRAPH::x, と GRAPH::y.
void GRAPH_putdata | ( | pGRAPH_T | graph, | |
unsigned int | data | |||
) |
libvideo.c の 973 行で定義されています。
参照先 GRAPH::data, GRAPH::ptr, と GRAPH::width.
void METER_draw | ( | pMETER_T | meter, | |
unsigned int | value | |||
) |
libvideo.c の 1065 行で定義されています。
参照先 METER::old, METER::r, tcos, tsin, VIDEO_line(), VIDEO_line_(), METER::x, と METER::y.
void METER_init | ( | pMETER_T | meter, | |
unsigned int | x, | |||
unsigned int | y, | |||
unsigned char | r | |||
) |
libvideo.c の 1049 行で定義されています。
参照先 METER::old, METER::r, VIDEO_arc(), METER::x, と METER::y.
void TRACK_draw_point | ( | pTRACK_T | track | ) |
libvideo.c の 1133 行で定義されています。
参照先 TRACK::data, TRACK::height, TRACK::ptr, TRACK_SIZE, VIDEO_line(), VIDEO_point(), VIDEO_point_(), TRACK::width, TRACK::x, と TRACK::y.
void TRACK_init | ( | pTRACK_T | track, | |
unsigned int | x, | |||
unsigned int | y, | |||
unsigned int | width, | |||
unsigned int | height | |||
) |
libvideo.c の 1095 行で定義されています。
参照先 TRACK::data, TRACK::height, TRACK::ptr, TRACK::width, TRACK::x, と TRACK::y.
void TRACK_putdata | ( | pTRACK_T | track, | |
unsigned int | x, | |||
unsigned int | y | |||
) |
libvideo.c の 1117 行で定義されています。
参照先 TRACK::data, TRACK::ptr, と TRACK_SIZE.
void VIDEO_arc | ( | unsigned int | x, | |
unsigned int | y, | |||
unsigned int | r, | |||
unsigned int | start, | |||
unsigned int | end | |||
) |
void VIDEO_arc_ | ( | unsigned int | x, | |
unsigned int | y, | |||
unsigned int | r, | |||
unsigned int | start, | |||
unsigned int | end | |||
) |
unsigned char VIDEO_get_output | ( | void | ) |
libvideo.c の 453 行で定義されています。
参照先 ntsc, と NTSC::output.
unsigned int VIDEO_get_point | ( | unsigned int | x, | |
unsigned int | y | |||
) |
libvideo.c の 462 行で定義されています。
参照先 ntsc, NTSC_HEIGHT, NTSC_WIDTH, と NTSC::vram.
void VIDEO_init | ( | void | ) |
libvideo.c の 116 行で定義されています。
参照先 VIDEO::cx, VIDEO::cy, NTSC_STATUS::horizon_pulse, NTSC::monitor, ntsc, VIDEO_init_clock(), と VIDEO_vram_clear().
参照元 main().
void VIDEO_init_clock | ( | void | ) |
libvideo.c の 202 行で定義されています。
参照先 cpu_fcy, NTSC_STATUS::equalizing_pulse, NTSC_STATUS::horizon_pulse, NTSC_STATUS::left_space, NTSC::monitor, ntsc, NTSC_DEFAULT_FCY, NTSC_EQUALIZING_PULSE, NTSC_HORIZON_PULSE, NTSC_LEFT_SPACE, NTSC_SERRATION_PULSE, NTSC_VIDEO_WIDTH, NTSC_WIDTH, NTSC_STATUS::serration_pulse, NTSC::superimpose, と NTSC_STATUS::video_width.
参照元 VIDEO_init().
void VIDEO_line | ( | int | x0, | |
int | y0, | |||
int | x1, | |||
int | y1 | |||
) |
libvideo.c の 533 行で定義されています。
参照先 abs, NTSC_HEIGHT, NTSC_WIDTH, と VIDEO_point().
参照元 GRAPH_draw_bar(), GRAPH_draw_line(), METER_draw(), と TRACK_draw_point().
void VIDEO_line_ | ( | int | x0, | |
int | y0, | |||
int | x1, | |||
int | y1 | |||
) |
libvideo.c の 597 行で定義されています。
参照先 abs, NTSC_HEIGHT, NTSC_WIDTH, と VIDEO_point_().
参照元 GRAPH_draw_bar(), GRAPH_draw_line(), と METER_draw().
void VIDEO_locate | ( | unsigned int | x, | |
unsigned int | y | |||
) |
libvideo.c の 734 行で定義されています。
参照先 VIDEO::cx, VIDEO::cy, FONTX2_get_ascii_width(), と NTSC_WIDTH.
参照元 main(), と SCREEN_main().
void VIDEO_point | ( | unsigned int | x, | |
unsigned int | y | |||
) | [inline] |
libvideo.c の 500 行で定義されています。
参照先 ntsc, NTSC_HEIGHT, NTSC_WIDTH, と NTSC::vram.
参照元 GRAPH_draw_point(), TRACK_draw_point(), VIDEO_arc(), と VIDEO_line().
void VIDEO_point_ | ( | unsigned int | x, | |
unsigned int | y | |||
) | [inline] |
libvideo.c の 514 行で定義されています。
参照先 ntsc, NTSC_HEIGHT, NTSC_WIDTH, と NTSC::vram.
参照元 GRAPH_draw_line(), GRAPH_draw_point(), TRACK_draw_point(), VIDEO_arc_(), と VIDEO_line_().
void VIDEO_putbin | ( | unsigned char | a | ) |
void VIDEO_putch | ( | unsigned char | c | ) |
libvideo.c の 749 行で定義されています。
参照先 VIDEO::cx, VIDEO::cy, FONTX2_get_ascii_font(), FONTX2_get_ascii_font_data(), FONTX2_get_ascii_height(), FONTX2_get_ascii_width(), FONTX2_get_ascii_width_byte(), ntsc, NTSC_HEIGHT, NTSC_WIDTH, と NTSC::vram.
参照元 VIDEO_putbin(), VIDEO_putdouble(), VIDEO_puthex(), VIDEO_putint(), VIDEO_putstr(), と VIDEO_putuint().
void VIDEO_putdouble | ( | double | digit, | |
unsigned char | size, | |||
unsigned char | size2 | |||
) |
void VIDEO_puthex | ( | unsigned char | a | ) |
void VIDEO_putint | ( | int | digit, | |
unsigned char | size | |||
) |
void VIDEO_putstr | ( | const char * | s | ) |
void VIDEO_putuint | ( | unsigned int | digit, | |
unsigned char | size | |||
) |
void VIDEO_vram_clear | ( | unsigned int | pattern | ) |
libvideo.c の 101 行で定義されています。