📄 main.c
字号:
//REDBOY BASIC FOR GBA V1.0
#include <CsAgb.h>
#include <variable.h>
#include <rb_stdio.h>
#include <timer.h>
#include <rb_math.h>
#include <rb_data.h>
#define v_max_count 128 //可注册变量最大个数
#define MTIME (u16 *)0x10C
#define MTIME_H (u16 *) 0x10E
extern void rb_command();
u8 rb_xp=0,rb_yp=0;//当前光标
u16 rb_bg=0,rb_co=RGB(30,30,30);//背景与字体颜色
u8 rb_int_count;//整型变量注册计数
u8 rb_str_count;//字符串变量注册计数
u8 rb_float_count;//浮点数计数器
u8 rb_int_dim_count;//整型变量注册计数(数组)
u8 rb_str_dim_count;//字符串变量注册计数(数组)
u8 rb_float_dim_count;//浮点数计数器(数组)
u8 rb_end;//程序退出标志
u8 rb_error;//出错标志
u8 rb_cycp;//循环体堆栈指针
int **v_int;
char **v_str;
double **v_float;//变量指针
int **v_int_dim;
char **v_str_dim;
double **v_float_dim;//数组变量指针
u8 *int_dim;
u8 *str_dim;
u8 *float_dim;//数组标量
struct tre_node *rb_int;
struct tre_node *rb_str;
struct tre_node *rb_float;//变量树
struct tre_node *rb_int_dim;
struct tre_node *rb_str_dim;
struct tre_node *rb_float_dim;//数组变量树
struct tre_node *rb_key;//关健字
struct tre_node *rb_math_key;//标准数学函数
struct tre_node *rb_str_key;//标准字符函数
u8 *rb_peek_M;//可操作内存区
struct num_dat *num_dat_sta;
struct num_dat *num_dat_end;
struct str_dat *str_dat_sta;
struct str_dat *str_dat_end;
struct num_dat *num_dat_now;
struct str_dat *str_dat_now;
struct comtree *comstart;//程序第一行
struct comtree *rb_now_line;//当前执行行
int AgbMain(void)
{
u16 i;
double test=2.345;
u16 a[15];
int *v_int_r[v_max_count];
char *v_str_r[v_max_count];
double *v_float_r[v_max_count];//变量指针
int *v_int_dim_r[v_max_count];
double *v_float_dim_r[v_max_count];//数组变量指针
u8 int_dim_dim[v_max_count];
u8 float_dim_dim[v_max_count];//数组标量
u8 rb_peeks[512];
CS_InitGBA();
CS_SetVideoMode(MODE_3 | BG2_ENABLE);
_M_SETHZK_10;
TMstart();//启动时钟
Vprint(rb_xp,rb_yp,RGB(30,30,30),"RBASIC V1.0 FOR GBA.\nPOWERD BY BPNS,2004.\nALL RIGHTS RESERVED.\n");
v_int=v_int_r;
v_str=v_str_r;
v_float=v_float_r;
v_int_dim=v_int_dim_r;
v_float_dim=v_float_dim_r;
int_dim=int_dim_dim;
float_dim=float_dim_dim;
rb_peek_M=rb_peeks;//指针定位
tree();//创建关键字及变量树
rb_int_count=0;
rb_str_count=0;
rb_float_count=0;//变量数据初始化
rb_int_dim_count=0;
rb_str_dim_count=0;
rb_float_dim_count=0;//数组数据初始化
rb_end=0;//程序退出标志
rb_error=0;//出错标志
rb_cycp=0;//循环体堆栈指针
rb_bg=0;
rb_co=RGB(30,30,30);
num_dat_sta=NULL;
str_dat_sta=NULL;
num_dat_now=NULL;
str_dat_now=NULL;
comstart=NULL;
rb_command();
//com_test();
while (TRUE) {}
return 0;
}
/* END OF FILE */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -