You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

231 lines
4.4 KiB

#include "main.h"
#include "tim/game_res.h"
GsSprite sprite_game[2][12];
void load_sprite()
{
int i=0;
int j=0;
GsImageFromTim(&game_image,game_res);
GsUploadImage(&game_image);
for(j=0;j<2;j++)
{
for(i=0;i<12 ;i++){
GsSpriteFromImage(&sprite_game[j][i], &game_image, 1);
sprite_game[j][i].w = 16; sprite_game[j][i].h = 16;sprite_game[j][i].u =16*i; sprite_game[j][i].v = (16*j)+64;
}
}
}
void title()
{
int test_off=0;
int title_end=1;
int cursor_pos_down_wait=0;
int in_game_mode=0;
int in_game_mode_max=5;
int count_wait=0;
int i=0;
int j=0;
unsigned char temp[1];
while(title_end) {
if(display_is_old)
{
DoubleBuffering();
ClearScreen();
GsSortCls(0,0,0);
print_set_font_status(1,1);
print_set_font_color(0xFF,0xFF,0xFF);
print_str(30,20,14,"SYSTEM573 UTIL");
print_str(30,40,11,"INPUT CHECK");
print_str(30,50,18,"INPUT TIMING CHECK");
print_str(30,60,11,"FLASH CHECK");
print_str(30,70,9,"SIO CHECK");
print_str(30,80,8,"Util RTC");
print_str(30,90,4,"DUMP");
print_str(30,200,28,"SERVICE BUTTON : ITEM SELECT");
print_str(30,210,19,"TEST BUTTON : OK");
switch(in_game_mode){
case 0:
print_set_font_color(0xFF,0x00,0x00);
print_str(30,40,11,"INPUT CHECK");
print_set_font_color(0xFF,0xFF,0xFF);
break;
case 1:
print_set_font_color(0xFF,0x00,0x00);
print_str(30,50,18,"INPUT TIMING CHECK");
print_set_font_color(0xFF,0xFF,0xFF);
break;
case 2:
print_set_font_color(0xFF,0x00,0x00);
print_str(30,60,11,"FLASH CHECK");
print_set_font_color(0xFF,0xFF,0xFF);
break;
case 3:
print_set_font_color(0xFF,0x00,0x00);
print_str(30,70,9,"SIO CHECK");
print_set_font_color(0xFF,0xFF,0xFF);
break;
case 4:
print_set_font_color(0xFF,0x00,0x00);
print_str(30,80,8,"Util RTC");
print_set_font_color(0xFF,0xFF,0xFF);
break;
case 5:
print_set_font_color(0xFF,0x00,0x00);
print_str(30,90,8,"DUMP");
print_set_font_color(0xFF,0xFF,0xFF);
break;
}
if(pad_read(PAD_SERVICE)==PAD_ON){
if(cursor_pos_down_wait==0)
{
if(in_game_mode!=in_game_mode_max){
in_game_mode++;
}else{
in_game_mode=0;
}
}
cursor_pos_down_wait++;
if(cursor_pos_down_wait==10)
{
cursor_pos_down_wait=0;
}
}else{
cursor_pos_down_wait=0;
}
if(pad_read(PAD_TEST)!=PAD_ON){
test_off=1;
}
if(pad_read(PAD_TEST)==PAD_ON&&test_off==1){
if(count_wait==0){
count_wait=0;
switch(in_game_mode){
case 0:
game_mode=1;
title_end=0;
break;
case 1:
game_mode=2;
title_end=0;
break;
case 2:
game_mode=7;
title_end=0;
break;
case 3:
game_mode=8;
title_end=0;
break;
case 4:
game_mode=3;
title_end=0;
break;
case 5:
game_mode=9;
title_end=0;
break;
}
}
count_wait++;
}else{
count_wait=0;
}
GsDrawList();
while(GsIsDrawing());
display_is_old=0;
}
}
}
int main() {
int i=0;
int j=0;
init_standard_psx_mode();
int v1 = 10, v2;
int* p = &v1;
game_mode=0;
load_font();
load_sprite();
while(1){
/*DoubleBuffering();
ClearScreen();
GsSortCls(128,128,128);
GsPrintFont(100,300,"test");
__asm {
mov ebx, p ; アドレスを EBX にロード
mov eax, [ebx] ; EAX に *p をロード
mov v2, eax ; EAX の値を v2 にストア
mov [ebx], 100 ; 100 を *p にストア
}
for(j=0;j<6 ;j++){
for(i=0;i<16 ;i++){
sprite_font[i+(j*16)].x=(i*5)+10;
sprite_font[i+(j*16)].y=(8*j)+10;
GsSortSprite(&sprite_font[i+(j*16)]);
}
}
for(j=0;j<2 ;j++){
for(i=0;i<12 ;i++){
sprite_game[j][i].x=(i*16)+100;
sprite_game[j][i].y=(j*16)+10;
GsSortSprite(&sprite_game[j][i]);
}
}
GsDrawList();
while(GsIsDrawing());
display_is_old=0;*/
switch(game_mode)
{
case 0:
title();
break;
case 1:
input_check_1();
break;
case 2:
input_check_2();
break;
case 3:
util_nvram();
break;
case 4:
set_time();
break;
case 5:
set_start();
break;
case 6:
set_battery();
break;
case 7:
flash_check();
break;
case 8:
sio_check();
break;
case 9:
dump();
break;
default:
title();
break;
}
}
}