mirror of
https://github.com/Ed94/pikuma_ps1.git
synced 2026-06-01 18:41:13 -07:00
definition prep (still exploring..)
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
// #include <stdlib.h>
|
||||
#include "duffle/dsl.h"
|
||||
#include "duffle/math.h"
|
||||
#include "duffle/gp.h"
|
||||
#include "hello_gpu.h"
|
||||
|
||||
DoubleBuffer screen_buffer;
|
||||
S16 active_screen_buffer;
|
||||
|
||||
#define ScreenRes_X 320
|
||||
#define ScreenRes_Y 240
|
||||
#define ScreenRes_CenterX (ScreenRes_X >> 1)
|
||||
#define ScreenRes_CenterY (ScreenRes_Y >> 1)
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
#ifdef INTELLISENSE_DIRECTIVES
|
||||
# pragma once
|
||||
# include "duffle/dsl.h"
|
||||
# include "duffle/math.h"
|
||||
# include "duffle/gp.h"
|
||||
#endif
|
||||
|
||||
typedef def_struct(DrawEnv_Packed) { U32 tag; U32 code[15]; };
|
||||
typedef def_struct(DrawEnv) {
|
||||
Rect_S16 clip_area;
|
||||
A2_S16 drawwing_offset;
|
||||
Rect_S16 texture_page;
|
||||
BYTE flag_dither;
|
||||
BYTE flag_draw_on_display;
|
||||
BYTE enable_auto_clear;
|
||||
RGB8 initial_bg_color;
|
||||
DrawEnv_Packed dr_env; // reserved
|
||||
};
|
||||
typedef def_struct(DisplayEnv) {
|
||||
Rect_S16 display_area;
|
||||
Rect_S16 screen;
|
||||
BYTE vinterlace;
|
||||
BYTE color24;
|
||||
BYTE pad0;
|
||||
BYTE pad1;
|
||||
};
|
||||
typedef def_farray(DrawEnv, 2);
|
||||
typedef def_farray(DisplayEnv, 2);
|
||||
typedef def_struct(DoubleBuffer) {
|
||||
A2_DrawEnv draw;
|
||||
A2_DisplayEnv display;
|
||||
};
|
||||
|
||||
#define ScreenRes_X 320
|
||||
#define ScreenRes_Y 240
|
||||
#define ScreenRes_CenterX (ScreenRes_X >> 1)
|
||||
#define ScreenRes_CenterY (ScreenRes_Y >> 1)
|
||||
|
||||
extern DoubleBuffer screen_buffer;
|
||||
extern S16 active_screen_buffer;
|
||||
@@ -1,9 +1,67 @@
|
||||
// .include "./toolchain/pcsx-redux/src/mips/common/crt0/crt0.s"
|
||||
|
||||
.include "./asmdd/dsl.s"
|
||||
.include "./asmdd/math.s"
|
||||
.include "./asmdd/io.s"
|
||||
.include "./asmdd/gp.s"
|
||||
|
||||
# DrawEnv_Packed { U32 tag; U32 code[15]; }
|
||||
.equ DrawEnv_Packed_tag, 0
|
||||
.equ DrawEnv_Packed_code, 4
|
||||
.equ sizeof_DrawEnv_Packed, 64
|
||||
# DrawEnv {
|
||||
# Rect_S16 clip_area;
|
||||
# A2_S16 drawwing_offset;
|
||||
# Rect_S16 texture_page;
|
||||
# BYTE flag_dither;
|
||||
# BYTE flag_draw_on_display;
|
||||
# BYTE enable_auto_clear;
|
||||
# RGB8 initial_bg_color;
|
||||
# // 2 bytes padding
|
||||
# DrawEnv_Packed dr_env;
|
||||
# };
|
||||
.equ DrawEnv_clip_area, 0
|
||||
.equ DrawEnv_drawwing_offset, 8
|
||||
.equ DrawEnv_texture_page, 12
|
||||
.equ DrawEnv_flag_dither, 20
|
||||
.equ DrawEnv_flag_draw_on_display, 21
|
||||
.equ DrawEnv_enable_auto_clear, 22
|
||||
.equ DrawEnv_initial_bg_color, 23
|
||||
.equ DrawEnv_dr_env, 28
|
||||
.equ sizeof_DrawEnv, 92
|
||||
# DisplayEnv {
|
||||
# Rect_S16 display_area;
|
||||
# Rect_S16 screen;
|
||||
# BYTE vinterlace;
|
||||
# BYTE color24;
|
||||
# BYTE pad0;
|
||||
# BYTE pad1;
|
||||
# };
|
||||
.equ DisplayEnv_display_area, 0
|
||||
.equ DisplayEnv_screen, 8
|
||||
.equ DisplayEnv_vinterlace, 16
|
||||
.equ DisplayEnv_color24, 17
|
||||
.equ DisplayEnv_pad0, 18
|
||||
.equ DisplayEnv_pad1, 19
|
||||
.equ sizeof_DisplayEnv, 20
|
||||
# DoubleBuffer {
|
||||
# DrawEnv draw[2];
|
||||
# DisplayEnv display[2];
|
||||
# };
|
||||
.equ DoubleBuffer_draw, 0
|
||||
.equ DoubleBuffer_draw_0, 0
|
||||
.equ DoubleBuffer_draw_1, 92 # 0 + sizeof_DrawEnv
|
||||
.equ DoubleBuffer_display, 184 # 92 * 2
|
||||
.equ DoubleBuffer_display_0, 184
|
||||
.equ DoubleBuffer_display_1, 204 # 184 + sizeof_DisplayEnv
|
||||
.equ sizeof_DoubleBuffer, 224
|
||||
# Screen Constants
|
||||
.equ ScreenRes_X, 320
|
||||
.equ ScreenRes_Y, 240
|
||||
.equ ScreenRes_CenterX, (ScreenRes_X >> 2)
|
||||
.equ ScreenRes_CenterY, (ScreenRes_Y >> 2)
|
||||
|
||||
|
||||
.global gp_screen_init
|
||||
.type gp_screen_init, @function
|
||||
gp_screen_init:
|
||||
|
||||
Reference in New Issue
Block a user