From 2dca1209a7a3101b6b34560bbc23eba38ba222ab Mon Sep 17 00:00:00 2001 From: Ry Date: Tue, 28 Feb 2023 17:47:34 -0800 Subject: [PATCH] bindings: Bindings for tileset routines --- gcc/bindings.c | 16 ++++++++++++++-- gcc/bindings.kts | 6 ++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/gcc/bindings.c b/gcc/bindings.c index 0c29673..213f52a 100644 --- a/gcc/bindings.c +++ b/gcc/bindings.c @@ -98,7 +98,14 @@ static inline void draw_tile_generic(void) { call(0xF0041014); } -static inline void set_tilemap(void) { +static inline void set_tilemap( + unsigned char* tilemap, + unsigned short width, + unsigned short height +) { + parameter(0, tilemap); + parameter(1, width); + parameter(2, height); call(0xF0041018); } @@ -110,8 +117,13 @@ static inline void draw_filled_rectangle_generic(void) { call(0xF0041020); } -static inline void get_tilemap(void) { +static inline struct return3 get_tilemap(void) { + struct return3 result_0; call(0xF0041024); + ret(0, result_0.return0); + ret(1, result_0.return1); + ret(2, result_0.return2); + return result_0; } // background jump table diff --git a/gcc/bindings.kts b/gcc/bindings.kts index 21c6870..ff994f5 100755 --- a/gcc/bindings.kts +++ b/gcc/bindings.kts @@ -213,12 +213,18 @@ define(0xF0041010U, "draw_font_tile_generic") { define(0xF0041014U, "draw_tile_generic") { } define(0xF0041018U, "set_tilemap") { + parameter(Byte.ref, "tilemap") + parameter(Half, "width") + parameter(Half, "height") } define(0xF004101CU, "draw_pixel_generic") { } define(0xF0041020U, "draw_filled_rectangle_generic") { } define(0xF0041024U, "get_tilemap") { + returnstruct("return0", Type("struct return3")) + returnstruct("return1", Type("struct return3")) + returnstruct("return2", Type("struct return3")) } comment("background jump table")