![]() |
Jo Engine 2026.11.1
Jo Sega Saturn Engine
|
Jo Engine VDP2 definition and tools. More...
Go to the source code of this file.
Macros | |
| #define | jo_nbg2_printf(X, Y, ...) |
| NBG2 printf implementation (jo_set_nbg2_8bits_font must be called before). | |
| #define | jo_nbg3_printf(X, Y, ...) |
| NBG3 printf implementation (jo_set_nbg3_8bits_font must be called before). | |
| #define | JO_NBG1_SCROLL_TABLE_SIZE |
| 512 entries. One offset for each line because the background size is a 512x512 pixels by default. | |
| #define | JO_NBG1_VERTICAL_CELL_SCROLL_TABLE_SIZE |
| Entries of the NBG1 vertical cell scroll table: one for each column of 8 pixels on the screen (and one more when the screen is scrolled by a fraction of a column). | |
| #define | JO_NBG0_SCROLL_TABLE_SIZE |
| 512 entries. One offset for each line because the background size is a 512x512 pixels by default. | |
| #define | JO_VDP2_ADDITIVE_SPRITE_BANK |
| Color bank bits of an additive sprite (see jo_enable_additive_sprites(), jo_sprite_set_additive_palette()): the priority register 3 of the sprites (sprite type 3: bits 14 and 13 of a palette pixel). | |
Functions | |
| int | sprintf (char *str, const char *format,...) |
| sprintf prototypes | |
| void | jo_set_displayed_screens (const jo_scroll_screen scroll_screen_flags) |
| Set displayed screens. | |
| void | jo_set_default_background_color (const jo_color background_color) |
| Set default background color. | |
| void | jo_set_background_line_colors (const jo_color *const colors) |
| Set a color for each line of the back screen (visible where no scroll screen is displayed). | |
| void | jo_nbg2_print (int x, int y, char *str) |
| NBG2 Print implementation. | |
| void | jo_vdp2_set_nbg2_8bits_font (jo_img_8bits *img, char *mapping, int palette_id, bool vertical_flip, bool enabled) |
| Set 8 bits NBG2 font image. | |
| void | jo_nbg2_clear (void) |
| Clear NBG2. | |
| void | jo_nbg3_print (int x, int y, char *str) |
| NBG3 Print implementation. | |
| void | jo_vdp2_set_nbg3_8bits_font (jo_img_8bits *img, char *mapping, int palette_id, bool vertical_flip, bool enabled) |
| Set 8 bits NBG3 font image. | |
| void | jo_nbg3_clear (void) |
| Clear NBG3. | |
| void | jo_vdp2_set_nbg1_8bits_image (jo_img_8bits *img, int palette_id, bool vertical_flip) |
| Add 8 bits NBG1 image. | |
| void | jo_vdp2_set_nbg1_8bits_image_repeat (jo_img_8bits *img, int palette_id, bool vertical_flip, bool repeat) |
| Add 8 bits NBG1 image, repeated or not. | |
| void | jo_vdp2_set_nbg0_8bits_image (jo_img_8bits *img, int palette_id, bool vertical_flip, bool enabled) |
| Set 8 bits NBG0 image. | |
| void | jo_vdp2_set_nbg2_8bits_image (jo_img_8bits *img, int palette_id, bool vertical_flip, bool enabled) |
| Set 8 bits NBG2 image. | |
| void | jo_vdp2_set_nbg3_8bits_image (jo_img_8bits *img, int palette_id, bool vertical_flip, bool enabled) |
| Set 8 bits NBG3 image. | |
| void | jo_vdp2_set_nbg1_image (const jo_img *const img, short left, short top) |
| Set NBG1 bitmap image. | |
| bool | __jo_vdp2_reserve_nbg1_bitmap (void) |
| Allocate and display the NBG1 bitmap at its first use (Internal usage). | |
| void | jo_vdp2_clear_bitmap_nbg1 (const jo_color color) |
| Clear NBG1 bitmap. | |
| void | __jo_vdp2_nbg1_bitmap_fill (const int x, const int y, int width, int height, const jo_color color) |
| Fill a rectangle in the NBG1 bitmap (Internal usage). | |
| void | __jo_vdp2_nbg1_bitmap_blit (const jo_img *const img, const int src_x, const int src_y, int width, int height, const int x, const int y) |
| Copy a part of an image in the NBG1 bitmap (Internal usage). | |
| void | jo_vdp2_move_nbg1 (const int x, const int y) |
| Move NBG1 (scrolling). | |
| void | jo_vdp2_zoom_nbg1f (const float width_factor, const float height_factor) |
| Zoom NBG1 width and height independently. | |
| static __jo_force_inline void | jo_vdp2_zoom_nbg1 (const float factor) |
| Zoom NBG1. | |
| void | jo_vdp2_move_nbg0 (const int x, const int y) |
| Move NBG0 (scrolling). | |
| void | jo_vdp2_zoom_nbg0f (const float width_factor, const float height_factor) |
| Zoom NBG0 width and height independently. | |
| static __jo_force_inline void | jo_vdp2_zoom_nbg0 (const float factor) |
| Zoom NBG0. | |
| void | jo_vdp2_draw_bitmap_nbg1_line (int x0, int y0, int x1, int y1, const jo_color color) |
| Draw a NBG1 line using Bresenham's line algorithm. | |
| static __jo_force_inline void | jo_vdp2_draw_bitmap_nbg1_square (const int x, const int y, const short width, const short height, const jo_color color) |
| Draw a square on NBG1. | |
| static __jo_force_inline void | jo_vdp2_put_pixel_bitmap_nbg1 (const int x, const int y, const jo_color color) |
| Put pixel in NBG1 using color. | |
| static __jo_force_inline void | jo_vdp2_put_pixel_bitmap_nbg1_rgb (const int x, const int y, unsigned char r, unsigned char g, unsigned char b) |
| Put pixel in NBG1 using composite color. | |
| void | jo_vdp2_enable_rbg0 (void) |
| Enable 3D planes. | |
| void | jo_vdp2_set_rbg0_far_limit (const int max_zoom_out) |
| Hide the farthest part of the 3D planes (the back screen is visible instead). | |
| void | jo_vdp2_disable_rbg0 (void) |
| Disable 3D planes. | |
| void | jo_vdp2_set_rbg0_plane_a_8bits_image (jo_img_8bits *img, int palette_id, bool repeat, bool vertical_flip) |
| Setup plane A. | |
| void | jo_vdp2_set_rbg0_plane_b_8bits_image (jo_img_8bits *img, int palette_id, bool repeat, bool vertical_flip) |
| Setup plane B. | |
| void | jo_vdp2_replace_rbg0_plane_a_8bits_image (jo_img_8bits *img, bool vertical_flip) |
| Replace plane A image. | |
| void | jo_vdp2_replace_rbg0_plane_b_8bits_image (jo_img_8bits *img, bool vertical_flip) |
| Replace plane B image. | |
| void | jo_vdp2_draw_rbg0_plane_a (const bool use_scroll_format_matrix) |
| Draw plane A. | |
| void | jo_vdp2_draw_rbg0_plane_b (const bool use_scroll_format_matrix) |
| Draw plane B. | |
| void | jo_vdp2_draw_rbg0_plane_b_flat (const int x, const int y) |
| Draw plane B as a flat image, without perspective: a sky behind the plane A (sea, ground). | |
| void | jo_enable_screen_mozaic (const jo_scroll_screen screens, short x, short y) |
| Enable mozaic effect for scroll screen. | |
| void | jo_disable_all_screen_mozaic (void) |
| Disable mozaic effect for all scroll screen. | |
| int * | jo_vdp2_enable_nbg1_line_scroll (void) |
| Enable NBG1 horizontal line scroll effect. | |
| void | jo_vdp2_disable_nbg1_line_scroll (void) |
| Disable NBG1 horizontal line scroll effect. | |
| void | jo_vdp2_compute_nbg1_line_scroll (unsigned short offset) |
| Compute NBG1 horizontal line scroll effect using specific offset. | |
| int * | jo_vdp2_enable_nbg1_vertical_cell_scroll (void) |
| Enable the NBG1 vertical cell scroll: each column of 8 pixels of the screen is moved vertically by its own offset (added to the vertical scroll of the screen). | |
| void | jo_vdp2_disable_nbg1_vertical_cell_scroll (void) |
| Disable the NBG1 vertical cell scroll and free its table. | |
| int * | jo_vdp2_enable_nbg0_line_scroll (void) |
| Enable NBG0 horizontal line scroll effect. | |
| void | jo_vdp2_disable_nbg0_line_scroll (void) |
| Disable NBG0 horizontal line scroll effect. | |
| void | jo_vdp2_compute_nbg0_line_scroll (unsigned short offset) |
| Compute NBG0 horizontal line scroll effect using specific offset. | |
| void | jo_disable_all_screens_transparency (void) |
| Disable all screens transparency. | |
| void | jo_enable_screen_transparency (const jo_scroll_screen screen, const unsigned short transparency_level) |
| Enable screen transparency. | |
| void | jo_enable_additive_sprites (void) |
| The light of the additive sprites is added to the image under them (the VDP2 color calculation "add", like the glows, see jo/glow.h): a halo without edge (the sun, a flare) drawn by the VDP1. An additive sprite is a palette sprite (8 bits) drawn with jo_sprite_set_additive_palette(): its pixels have the priority register 3 of the sprites, the only one with the color calculation. Black adds nothing, the colors saturate to white. | |
| void | jo_disable_additive_sprites (void) |
| The additive sprites are opaque again (see jo_enable_additive_sprites()). | |
Variables | |
| char | __jo_sprintf_buf [JO_PRINTF_BUF_SIZE] |
| Internal sprintf buffer. | |
| bool | __jo_vdp2_nbg1_bitmap_reserved |
| The NBG1 bitmap is in the VRAM (Internal usage, see __jo_vdp2_reserve_nbg1_bitmap()). | |
Jo Engine VDP2 definition and tools.
| #define JO_NBG0_SCROLL_TABLE_SIZE |
512 entries. One offset for each line because the background size is a 512x512 pixels by default.
| #define JO_NBG1_SCROLL_TABLE_SIZE |
512 entries. One offset for each line because the background size is a 512x512 pixels by default.
| #define JO_NBG1_VERTICAL_CELL_SCROLL_TABLE_SIZE |
Entries of the NBG1 vertical cell scroll table: one for each column of 8 pixels on the screen (and one more when the screen is scrolled by a fraction of a column).
| #define jo_nbg2_printf | ( | X, | |
| Y, | |||
| ... ) |
NBG2 printf implementation (jo_set_nbg2_8bits_font must be called before).
| X | Horizontal position from top left screen corner |
| Y | Vertical position from top left screen corner |
| ... | Arguments |
| #define jo_nbg3_printf | ( | X, | |
| Y, | |||
| ... ) |
NBG3 printf implementation (jo_set_nbg3_8bits_font must be called before).
| X | Horizontal position from top left screen corner |
| Y | Vertical position from top left screen corner |
| ... | Arguments |
| #define JO_VDP2_ADDITIVE_SPRITE_BANK |
Color bank bits of an additive sprite (see jo_enable_additive_sprites(), jo_sprite_set_additive_palette()): the priority register 3 of the sprites (sprite type 3: bits 14 and 13 of a palette pixel).
| void __jo_vdp2_nbg1_bitmap_blit | ( | const jo_img *const | img, |
| const int | src_x, | ||
| const int | src_y, | ||
| int | width, | ||
| int | height, | ||
| const int | x, | ||
| const int | y ) |
Copy a part of an image in the NBG1 bitmap (Internal usage).
| img | Image |
| src_x | Horizontal position of the part in the image |
| src_y | Vertical position of the part in the image |
| width | Part width (must be inside the image) |
| height | Part height (must be inside the image) |
| x | Horizontal position in the bitmap (wrapped around JO_VDP2_WIDTH) |
| y | Vertical position in the bitmap (wrapped around JO_VDP2_HEIGHT) |
| void __jo_vdp2_nbg1_bitmap_fill | ( | const int | x, |
| const int | y, | ||
| int | width, | ||
| int | height, | ||
| const jo_color | color ) |
Fill a rectangle in the NBG1 bitmap (Internal usage).
| x | Horizontal position in the bitmap (wrapped around JO_VDP2_WIDTH) |
| y | Vertical position in the bitmap (wrapped around JO_VDP2_HEIGHT) |
| width | Rectangle width |
| height | Rectangle height |
| color | Fill color |
| bool __jo_vdp2_reserve_nbg1_bitmap | ( | void | ) |
Allocate and display the NBG1 bitmap at its first use (Internal usage).
| void jo_disable_additive_sprites | ( | void | ) |
The additive sprites are opaque again (see jo_enable_additive_sprites()).
| void jo_disable_all_screen_mozaic | ( | void | ) |
Disable mozaic effect for all scroll screen.
| void jo_disable_all_screens_transparency | ( | void | ) |
Disable all screens transparency.
| void jo_enable_additive_sprites | ( | void | ) |
The light of the additive sprites is added to the image under them (the VDP2 color calculation "add", like the glows, see jo/glow.h): a halo without edge (the sun, a flare) drawn by the VDP1. An additive sprite is a palette sprite (8 bits) drawn with jo_sprite_set_additive_palette(): its pixels have the priority register 3 of the sprites, the only one with the color calculation. Black adds nothing, the colors saturate to white.
| void jo_enable_screen_mozaic | ( | const jo_scroll_screen | screens, |
| short | x, | ||
| short | y ) |
Enable mozaic effect for scroll screen.
| screens | Scroll screens (You can pass multiple value using pipe(|). Example: JO_NBG1_SCREEN|JO_NBG2_SCREEN) |
| x | Horizontal mozaic size [1-16] |
| y | Vertical mozaic size [1-16] |
| void jo_enable_screen_transparency | ( | const jo_scroll_screen | screen, |
| const unsigned short | transparency_level ) |
Enable screen transparency.
| screen | Scroll screen |
| transparency_level | Transparency Level 0 (fully visible) to 31 (almost invisible) |
| void jo_nbg2_clear | ( | void | ) |
Clear NBG2.
| void jo_nbg2_print | ( | int | x, |
| int | y, | ||
| char * | str ) |
NBG2 Print implementation.
| x | Horizontal position from top left screen corner |
| y | Vertical position from top left screen corner |
| str | String |
| void jo_nbg3_clear | ( | void | ) |
Clear NBG3.
| void jo_nbg3_print | ( | int | x, |
| int | y, | ||
| char * | str ) |
NBG3 Print implementation.
| x | Horizontal position from top left screen corner |
| y | Vertical position from top left screen corner |
| str | String |
| void jo_set_background_line_colors | ( | const jo_color *const | colors | ) |
Set a color for each line of the back screen (visible where no scroll screen is displayed).
| colors | JO_TV_HEIGHT colors (the first one is the top of the screen) |
| void jo_set_default_background_color | ( | const jo_color | background_color | ) |
Set default background color.
| background_color | Color |
| void jo_set_displayed_screens | ( | const jo_scroll_screen | scroll_screen_flags | ) |
Set displayed screens.
| scroll_screen_flags | Scroll screens (You can pass multiple value using pipe(|). Example: JO_NBG1_SCREEN|JO_NBG2_SCREEN) |
| void jo_vdp2_clear_bitmap_nbg1 | ( | const jo_color | color | ) |
Clear NBG1 bitmap.
| color | Clear color |
| void jo_vdp2_compute_nbg0_line_scroll | ( | unsigned short | offset | ) |
Compute NBG0 horizontal line scroll effect using specific offset.
| offset | Offset in scroll table returned by jo_vdp2_enable_nbg1_line_scroll() |
| void jo_vdp2_compute_nbg1_line_scroll | ( | unsigned short | offset | ) |
Compute NBG1 horizontal line scroll effect using specific offset.
| offset | Offset in scroll table returned by jo_vdp2_enable_nbg1_line_scroll() |
| void jo_vdp2_disable_nbg0_line_scroll | ( | void | ) |
Disable NBG0 horizontal line scroll effect.
| void jo_vdp2_disable_nbg1_line_scroll | ( | void | ) |
Disable NBG1 horizontal line scroll effect.
| void jo_vdp2_disable_nbg1_vertical_cell_scroll | ( | void | ) |
Disable the NBG1 vertical cell scroll and free its table.
| void jo_vdp2_disable_rbg0 | ( | void | ) |
Disable 3D planes.
| void jo_vdp2_draw_bitmap_nbg1_line | ( | int | x0, |
| int | y0, | ||
| int | x1, | ||
| int | y1, | ||
| const jo_color | color ) |
Draw a NBG1 line using Bresenham's line algorithm.
| x0 | horizontal location of the beginning of the line |
| y0 | vertical location of the beginning of the line |
| x1 | horizontal location of the end of the line |
| y1 | vertical location of the end of the line |
| color | Color (ex: JO_COLOR_Red) |
|
static |
Draw a square on NBG1.
| x | Square horizontal location |
| y | Square vertical location |
| width | Square width |
| height | Square height |
| color | Color (ex: JO_COLOR_Red) |
| void jo_vdp2_draw_rbg0_plane_a | ( | const bool | use_scroll_format_matrix | ) |
Draw plane A.
| use_scroll_format_matrix | Convert current matrix to scroll format matrix |
| void jo_vdp2_draw_rbg0_plane_b | ( | const bool | use_scroll_format_matrix | ) |
Draw plane B.
| use_scroll_format_matrix | Convert current matrix to scroll format matrix |
| void jo_vdp2_draw_rbg0_plane_b_flat | ( | const int | x, |
| const int | y ) |
Draw plane B as a flat image, without perspective: a sky behind the plane A (sea, ground).
| x | Horizontal position in the image of the left of the screen (pixels, the image is repeated horizontally) |
| y | Vertical position in the image of the top of the screen (pixels) |
| int * jo_vdp2_enable_nbg0_line_scroll | ( | void | ) |
Enable NBG0 horizontal line scroll effect.
| int * jo_vdp2_enable_nbg1_line_scroll | ( | void | ) |
Enable NBG1 horizontal line scroll effect.
| int * jo_vdp2_enable_nbg1_vertical_cell_scroll | ( | void | ) |
Enable the NBG1 vertical cell scroll: each column of 8 pixels of the screen is moved vertically by its own offset (added to the vertical scroll of the screen).
| void jo_vdp2_enable_rbg0 | ( | void | ) |
Enable 3D planes.
| void jo_vdp2_move_nbg0 | ( | const int | x, |
| const int | y ) |
Move NBG0 (scrolling).
| x | horizontal location |
| y | vertical location |
| void jo_vdp2_move_nbg1 | ( | const int | x, |
| const int | y ) |
Move NBG1 (scrolling).
| x | horizontal location |
| y | vertical location |
|
static |
Put pixel in NBG1 using color.
| x | horizontal location |
| y | vertical location |
| color | Color (ex: JO_COLOR_Red) |
|
static |
Put pixel in NBG1 using composite color.
| x | horizontal location |
| y | vertical location |
| r | Red color component |
| g | Green color component |
| b | Blue color component |
| void jo_vdp2_replace_rbg0_plane_a_8bits_image | ( | jo_img_8bits * | img, |
| bool | vertical_flip ) |
Replace plane A image.
| img | 8 bits 255 colors max image. (Width AND height must be a multiple of 8) |
| vertical_flip | Flip image vertically |
| void jo_vdp2_replace_rbg0_plane_b_8bits_image | ( | jo_img_8bits * | img, |
| bool | vertical_flip ) |
Replace plane B image.
| img | 8 bits 255 colors max image. (Width AND height must be a multiple of 8) |
| vertical_flip | Flip image vertically |
| void jo_vdp2_set_nbg0_8bits_image | ( | jo_img_8bits * | img, |
| int | palette_id, | ||
| bool | vertical_flip, | ||
| bool | enabled ) |
Set 8 bits NBG0 image.
| img | 8 bits 255 colors max image. (Width AND height must be a multiple of 8) |
| palette_id | palette id from TGA (see also jo_palette) |
| vertical_flip | Flip image vertically |
| enabled | Display NBG0 now |
| void jo_vdp2_set_nbg1_8bits_image | ( | jo_img_8bits * | img, |
| int | palette_id, | ||
| bool | vertical_flip ) |
Add 8 bits NBG1 image.
| img | 8 bits 255 colors max image. (Width AND height must be a multiple of 8) |
| palette_id | palette id from TGA (see also jo_palette) |
| vertical_flip | Flip image vertically |
| void jo_vdp2_set_nbg1_8bits_image_repeat | ( | jo_img_8bits * | img, |
| int | palette_id, | ||
| bool | vertical_flip, | ||
| bool | repeat ) |
Add 8 bits NBG1 image, repeated or not.
| img | 8 bits 255 colors max image. (Width AND height must be a multiple of 8, 512 x 512 at most) |
| palette_id | palette id from TGA (see also jo_palette) |
| vertical_flip | Flip image vertically |
| repeat | true: the image is repeated in the 512 x 512 pixels of the screen; false: transparent out of the image (shows an empty cell of the image there: repeated when the image has no 8 x 8 transparent cell) |
| void jo_vdp2_set_nbg1_image | ( | const jo_img *const | img, |
| short | left, | ||
| short | top ) |
Set NBG1 bitmap image.
| img | Pointer to an image struct |
| left | Left location |
| top | Top location |
| void jo_vdp2_set_nbg2_8bits_font | ( | jo_img_8bits * | img, |
| char * | mapping, | ||
| int | palette_id, | ||
| bool | vertical_flip, | ||
| bool | enabled ) |
Set 8 bits NBG2 font image.
| img | 8 bits 255 colors max image. (height must be a multiple of 8). Width must be 8. |
| mapping | Image pattern : " 0123456789ABCDEFGH...". The first character must be an empty space. |
| palette_id | palette id from TGA (see also jo_palette) |
| vertical_flip | Flip image vertically |
| enabled | Display NBG2 now |
| void jo_vdp2_set_nbg2_8bits_image | ( | jo_img_8bits * | img, |
| int | palette_id, | ||
| bool | vertical_flip, | ||
| bool | enabled ) |
Set 8 bits NBG2 image.
| img | 8 bits 255 colors max image. (Width AND height must be a multiple of 8) |
| palette_id | palette id from TGA (see also jo_palette) |
| vertical_flip | Flip image vertically |
| enabled | Display NBG2 now |
| void jo_vdp2_set_nbg3_8bits_font | ( | jo_img_8bits * | img, |
| char * | mapping, | ||
| int | palette_id, | ||
| bool | vertical_flip, | ||
| bool | enabled ) |
Set 8 bits NBG3 font image.
| img | 8 bits 255 colors max image. (height must be a multiple of 8). Width must be 8 |
| mapping | Image pattern : "0123456789ABCDEFGH...". The first character must be an empty space. |
| palette_id | palette id from TGA (see also jo_palette) |
| vertical_flip | Flip image vertically |
| enabled | Display NBG2 now |
| void jo_vdp2_set_nbg3_8bits_image | ( | jo_img_8bits * | img, |
| int | palette_id, | ||
| bool | vertical_flip, | ||
| bool | enabled ) |
Set 8 bits NBG3 image.
| img | 8 bits 255 colors max image. (Width AND height must be a multiple of 8) |
| palette_id | palette id from TGA (see also jo_palette) |
| vertical_flip | Flip image vertically |
| enabled | Display NBG3 now |
| void jo_vdp2_set_rbg0_far_limit | ( | const int | max_zoom_out | ) |
Hide the farthest part of the 3D planes (the back screen is visible instead).
| max_zoom_out | Biggest reduction of the texture (0: no limit, 16: the plane stops where 16 texels are in 1 pixel) |
| void jo_vdp2_set_rbg0_plane_a_8bits_image | ( | jo_img_8bits * | img, |
| int | palette_id, | ||
| bool | repeat, | ||
| bool | vertical_flip ) |
Setup plane A.
| img | 8 bits 255 colors max image. (Width AND height must be a multiple of 8) |
| palette_id | palette id from TGA (see also jo_palette) |
| repeat | Repeat the plane infinitely. |
| vertical_flip | Flip image vertically |
| void jo_vdp2_set_rbg0_plane_b_8bits_image | ( | jo_img_8bits * | img, |
| int | palette_id, | ||
| bool | repeat, | ||
| bool | vertical_flip ) |
Setup plane B.
| img | 8 bits 255 colors max image. (Width AND height must be a multiple of 8) |
| palette_id | palette id from TGA (see also jo_palette) |
| repeat | Repeat the plane infinitely. |
| vertical_flip | Flip image vertically |
|
static |
Zoom NBG0.
| factor | Zoom factor |
| void jo_vdp2_zoom_nbg0f | ( | const float | width_factor, |
| const float | height_factor ) |
Zoom NBG0 width and height independently.
| width_factor | Width zoom factor |
| height_factor | Height zoom factor |
|
static |
Zoom NBG1.
| factor | Zoom factor |
| void jo_vdp2_zoom_nbg1f | ( | const float | width_factor, |
| const float | height_factor ) |
Zoom NBG1 width and height independently.
| width_factor | Width zoom factor |
| height_factor | Height zoom factor |
| int sprintf | ( | char * | str, |
| const char * | format, | ||
| ... ) |
sprintf prototypes
| str | String |
| format | Format string |
| ... | Arguments |
|
extern |
Internal sprintf buffer.
|
extern |
The NBG1 bitmap is in the VRAM (Internal usage, see __jo_vdp2_reserve_nbg1_bitmap()).