Skip to content

Commit

Permalink
🚀 Decompile vm_menu.c
Browse files Browse the repository at this point in the history
  • Loading branch information
lhsazevedo committed Jun 8, 2024
1 parent 924e079 commit cf3566d
Show file tree
Hide file tree
Showing 69 changed files with 5,775 additions and 3,154 deletions.
7 changes: 4 additions & 3 deletions build/lnk_matching.sub
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ input build\output\012324.obj
input build\output\012504.obj
input build\output\0129cc.obj
input build\output\012f44.obj
input build\output\_012101_data.obj
input build\output\012101_data.obj
input build\output\013ae8.obj
input build\output\014934.obj
input build\output\0149b0_sbinit.obj
Expand All @@ -203,11 +203,12 @@ input build\output\015ab8_title.obj
input build\output\016108.obj
input build\output\01614c.obj
input build\output\016bf4.obj
input build\output\016c58.obj
input build\output\016c58_prompt.obj
input build\output\016d2c.obj
input build\output\018644.obj
input build\output\018784.obj
input build\output\0193c8.obj
input build\output\0193c8_pre_data.obj
input build\output\0193c8_vm_menu.obj
input build\output\019e98.obj
input build\output\01a148.obj
input build\output\01b19c.obj
Expand Down
7 changes: 4 additions & 3 deletions build/lnk_template.sub
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ input build\output\012324.obj
input build\output\012504.obj
input build\output\0129cc.obj
input build\output\012f44.obj
input build\output\_012101_data.obj
input build\output\012101_data.obj
input build\output\013ae8.obj
input build\output\014934.obj
input build\output\0149b0_sbinit.obj
Expand All @@ -45,11 +45,12 @@ input build\output\015ab8_title.obj
input build\output\016108.obj
input build\output\01614c.obj
input build\output\016bf4.obj
input build\output\016c58.obj
input build\output\016c58_prompt.obj
input build\output\016d2c.obj
input build\output\018644.obj
input build\output\018784.obj
input build\output\0193c8.obj
input build\output\0193c8_pre_data.obj
input build\output\0193c8_vm_menu.obj
input build\output\019e98.obj
input build\output\01a148.obj
input build\output\01b19c.obj
Expand Down
14 changes: 13 additions & 1 deletion build/shc.sub
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,16 @@
-debug
-section=p=P,c=C,d=D,b=B
-fpu=single
-show=noobj,source,expansion,w=80,l=0 -comment=nonest -cpu=sh4 -define=__SHC__,SERIAL_DEBUG -division=cpu -endian=little -optimize=1 -pic=0 -macsave=0 -size -sjis -round=nearest -string=const
-show=noobj,source,expansion,w=80,l=0
-comment=nonest
-cpu=sh4
-define=__SHC__,SERIAL_DEBUG
-division=cpu
-endian=little
-optimize=1
-pic=0
-macsave=0
-size
-sjis
-round=nearest
-string=const
17 changes: 17 additions & 0 deletions build/shc_matching.sub
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-include=src
-debug
-section=p=P,c=C,d=D,b=B
-fpu=single
-show=noobj,source,expansion,w=80,l=0
-comment=nonest
-cpu=sh4
-define=__SHC__,MATCHING
-division=cpu
-endian=little
-optimize=1
-pic=0
-macsave=0
-size
-sjis
-round=nearest
-string=const
9 changes: 6 additions & 3 deletions scripts/build.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#!/bin/bash

set -e

ASMSH_FLAGS="-debug=d -cpu=sh4 -endian=little -sjis"
Expand Down Expand Up @@ -32,7 +34,7 @@ assemble src/asm/012324.src
assemble src/asm/012504.src
assemble src/asm/0129cc.src
compile src/012f44.c
assemble src/asm/_012101_data.src
assemble src/asm/012101_data.src
assemble src/asm/013ae8.src
compile src/014934.c
compile src/0149b0_sbinit.c
Expand All @@ -43,11 +45,12 @@ compile src/015ab8_title.c
compile src/016108.c
assemble src/asm/01614c.src
assemble src/asm/016bf4.src
compile src/016c58.c
compile src//016c58_prompt.c
assemble src/asm/016d2c.src
assemble src/asm/018644.src
assemble src/asm/018784.src
assemble src/asm/0193c8.src
assemble src/asm/0193c8_pre_data.src
compile src/0193c8_vm_menu.c
assemble src/asm/019e98.src
assemble src/asm/01a148.src
assemble src/asm/01b19c.src
Expand Down
13 changes: 8 additions & 5 deletions scripts/build_gdi.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
#!/bin/bash

set -e

# ./build.sh
./scripts/build.sh
#./scripts/build_matching.sh

# cp build/tbg.bin ../tbg_root/data/1ST_READ.BIN
cp build/output/tbg.bin ../tbg_root/data/1ST_READ.BIN

# ../GDIbuilder/repo/buildgdi/bin/Release/net6.0/linux-x64/buildgdi -raw -data ../tbg_root/data/ -ip ../tbg_root/IP.BIN -output ../tbg_root/
../GDIbuilder/repo/buildgdi/bin/Release/net6.0/linux-x64/buildgdi -raw -data ../tbg_root/data/ -ip ../tbg_root/IP.BIN -output ../tbg_root/

# mv ../tbg_root/track03.bin ~/Downloads/Roms/DC/Tokyo\ Bus\ Guide\ \(Japan\)/tbg_t3.bin
mv ../tbg_root/track03.bin ~/Downloads/Roms/DC/Tokyo\ Bus\ Guide\ \(Japan\)/tbg_t3.bin

~/Downloads/flycast-x86_64.AppImage ~/Downloads/Roms/DC/Tokyo\ Bus\ Guide\ \(Japan\)/tbg.gdi
../flycast/build/flycast ~/Downloads/Roms/DC/Tokyo\ Bus\ Guide\ \(Japan\)/tbg.gdi

13 changes: 8 additions & 5 deletions scripts/build_matching.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/bin/bash

set -e

ASMSH_FLAGS="-debug=d -cpu=sh4 -endian=little -sjis"
ASMSH_FLAGS="-define=MATCHING=1 -debug=d -cpu=sh4 -endian=little -sjis"

assemble() {
local src_file="$1"
Expand All @@ -15,7 +17,7 @@ compile() {
local base_name=$(basename "$src_file" .c)
local obj_file="build\\output\\$base_name.obj"

wine "$SHC_BIN/shc.exe" $(echo "$src_file" | tr / '\\') -object="$obj_file" -sub=build/shc.sub
wine "$SHC_BIN/shc.exe" $(echo "$src_file" | tr / '\\') -object="$obj_file" -sub=build/shc_matching.sub
}

rm -rf build/output
Expand All @@ -31,7 +33,7 @@ assemble src/asm/012324.src
assemble src/asm/012504.src
assemble src/asm/0129cc.src
assemble src/asm/decompiled/012f44.src
assemble src/asm/_012101_data.src
assemble src/asm/012101_data.src
assemble src/asm/013ae8.src
compile src/014934.c
compile src/0149b0_sbinit.c
Expand All @@ -42,11 +44,12 @@ assemble src/asm/decompiled/015ab8_title.src
compile src/016108.c
assemble src/asm/01614c.src
assemble src/asm/016bf4.src
assemble src/asm/decompiled/016c58.src
assemble src/asm/decompiled/016c58_prompt.src
assemble src/asm/016d2c.src
assemble src/asm/018644.src
assemble src/asm/018784.src
assemble src/asm/0193c8.src
assemble src/asm/0193c8_pre_data.src
assemble src/asm/decompiled/0193c8_vm_menu.src
assemble src/asm/019e98.src
assemble src/asm/01a148.src
assemble src/asm/01b19c.src
Expand Down
55 changes: 49 additions & 6 deletions scripts/run_tests.docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,23 +55,66 @@ $sh4objtest "tests/0100bc_sound/010c2c_FUN.php" "build/output/0100bc_sound_c.obj
$sh4objtest "tests/0100bc_sound/010cd6_snd.php" "build/output/0100bc_sound_src.obj"
$sh4objtest "tests/0100bc_sound/010cd6_snd.php" "build/output/0100bc_sound_c.obj"

# 015ab8_title
# # 015ab8_title
assemble src/asm/decompiled/015ab8_title.src
$sh4objtest "tests/015ab8_title.php" "build/output/015ab8_title_src.obj"
compile src/015ab8_title.c
$sh4objtest "tests/015ab8_title.php" "build/output/015ab8_title_c.obj"

# 0193c8
assemble src/asm/decompiled/0193c8_vm_menu.src
compile src/0193c8_vm_menu.c

$sh4objtest "tests/0193c8_vm_menu/198a0_VmMenuTask.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/198a0_VmMenuTask.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19852_drawVmuWarning.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19852_drawVmuWarning.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/193c8_TaskWaitForVmsReady.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/193c8_TaskWaitForVmsReady.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/1940e_VmMenuMountVms.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/1940e_VmMenuMountVms.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/1946a_TaskUnmountVms.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/1946a_TaskUnmountVms.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/194de_VmMenuUnmountVms.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/194de_VmMenuUnmountVms.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19504_VmMenuFreeAndClear.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19504_VmMenuFreeAndClear.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19550_fetchVmusStatus.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19550_fetchVmusStatus.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19e44_VmMenuSwitchFromTask.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19e44_VmMenuSwitchFromTask.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/1967c_VmMenuUpdateVmuStatus.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/1967c_VmMenuUpdateVmuStatus.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19730_saveFileExists.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19730_saveFileExists.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19788_initCursorLerp.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19788_initCursorLerp.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/197c0_drawVmMenu.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/197c0_drawVmMenu.php" "build/output/0193c8_vm_menu_c.obj"

# 0207d4
assemble src/asm/decompiled/0207d4.src
$sh4objtest "tests/0207d4.php" "build/output/0207d4_src.obj"
compile src/0207d4.c
$sh4objtest "tests/0207d4.php" "build/output/0207d4_c.obj"

# 016c58
assemble src/asm/decompiled/016c58.src
$sh4objtest "tests/016c58.php" "build/output/016c58_src.obj"
compile src/016c58.c
$sh4objtest "tests/016c58.php" "build/output/016c58_c.obj"
# 016c58_prompt
assemble src/asm/decompiled/016c58_prompt.src
$sh4objtest "tests/016c58.php" "build/output/016c58_prompt_src.obj"
compile src/016c58_prompt.c
$sh4objtest "tests/016c58.php" "build/output/016c58_prompt_c.obj"

# 012f44
assemble src/asm/decompiled/012f44.src
Expand Down
57 changes: 50 additions & 7 deletions scripts/run_tests.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
set -e

sh4objtest=sh4objtest
sh4objtest=~/.config/composer/vendor/bin/sh4objtest

ASMSH_FLAGS="-define=UNIT_TESTING=1 -debug=d -cpu=sh4 -endian=little -sjis"

Expand Down Expand Up @@ -55,23 +55,66 @@ $sh4objtest "tests/0100bc_sound/010c2c_FUN.php" "build/output/0100bc_sound_c.obj
$sh4objtest "tests/0100bc_sound/010cd6_snd.php" "build/output/0100bc_sound_src.obj"
$sh4objtest "tests/0100bc_sound/010cd6_snd.php" "build/output/0100bc_sound_c.obj"

# 015ab8_title
# # 015ab8_title
assemble src/asm/decompiled/015ab8_title.src
$sh4objtest "tests/015ab8_title.php" "build/output/015ab8_title_src.obj"
compile src/015ab8_title.c
$sh4objtest "tests/015ab8_title.php" "build/output/015ab8_title_c.obj"

# 0193c8
assemble src/asm/decompiled/0193c8_vm_menu.src
compile src/0193c8_vm_menu.c

$sh4objtest "tests/0193c8_vm_menu/198a0_VmMenuTask.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/198a0_VmMenuTask.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19852_drawVmuWarning.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19852_drawVmuWarning.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/193c8_TaskWaitForVmsReady.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/193c8_TaskWaitForVmsReady.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/1940e_VmMenuMountVms.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/1940e_VmMenuMountVms.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/1946a_TaskUnmountVms.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/1946a_TaskUnmountVms.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/194de_VmMenuUnmountVms.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/194de_VmMenuUnmountVms.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19504_VmMenuFreeAndClear.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19504_VmMenuFreeAndClear.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19550_fetchVmusStatus.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19550_fetchVmusStatus.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19e44_VmMenuSwitchFromTask.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19e44_VmMenuSwitchFromTask.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/1967c_VmMenuUpdateVmuStatus.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/1967c_VmMenuUpdateVmuStatus.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19730_saveFileExists.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19730_saveFileExists.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/19788_initCursorLerp.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/19788_initCursorLerp.php" "build/output/0193c8_vm_menu_c.obj"

$sh4objtest "tests/0193c8_vm_menu/197c0_drawVmMenu.php" "build/output/0193c8_vm_menu_src.obj"
$sh4objtest "tests/0193c8_vm_menu/197c0_drawVmMenu.php" "build/output/0193c8_vm_menu_c.obj"

# 0207d4
assemble src/asm/decompiled/0207d4.src
$sh4objtest "tests/0207d4.php" "build/output/0207d4_src.obj"
compile src/0207d4.c
$sh4objtest "tests/0207d4.php" "build/output/0207d4_c.obj"

# 016c58
assemble src/asm/decompiled/016c58.src
$sh4objtest "tests/016c58.php" "build/output/016c58_src.obj"
compile src/016c58.c
$sh4objtest "tests/016c58.php" "build/output/016c58_c.obj"
# 016c58_prompt
assemble src/asm/decompiled/016c58_prompt.src
$sh4objtest "tests/016c58.php" "build/output/016c58_prompt_src.obj"
compile src/016c58_prompt.c
$sh4objtest "tests/016c58.php" "build/output/016c58_prompt_c.obj"

# 012f44
assemble src/asm/decompiled/012f44.src
Expand Down
5 changes: 5 additions & 0 deletions src/011120_asset_queues.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,11 @@ int init_8c03bf18[10] = {
};


/* =========
* Functions
=========
*/

/* Matched :) */
void nop_8c011120() {
/* Empty body */
Expand Down
4 changes: 2 additions & 2 deletions src/012f44.c
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ extern void* var_8c1ba344;
extern void* var_8c225fb0;
extern void* var_8c1ba3c4;
extern void* var_8c1bc454;
extern void* var_8c1ba34c;
extern void* var_selectedVm_8c1ba34c;
extern BusState var_busState_8c1bb9d0;

extern void* var_8c1bbddc;
Expand Down Expand Up @@ -730,7 +730,7 @@ void njUserInit_8c0134ec() {
var_8c225fb0 = (void *) -1;
var_8c1ba3c4 = (void *) -1;
var_8c1bc454 = (void *) -1;
var_8c1ba34c = (void *) -1;
var_selectedVm_8c1ba34c = (void *) -1;

var_8c1bb8c4 = 0;
var_8c1bb8d8 = 100;
Expand Down
2 changes: 1 addition & 1 deletion src/014b8c_backup.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ void BupUnmount_8c014c46(Sint32 drive)
}
}

static void ClearInfo_8c014c8a(Sint32 drive)
void ClearInfo_8c014c8a(Sint32 drive)
{
BACKUPINFO* info;

Expand Down
7 changes: 4 additions & 3 deletions src/014b8c_backup.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,15 @@ typedef struct {

void BupInit(void);
void BupExit(void);
const BACKUPINFO* BupGetInfo(Sint32 drive);
const BACKUPINFO* BupGetInfo_8c014bba(Sint32 drive);
const char* BupGetErrorString(Sint32 err);
const char* BupGetOperationString(Sint32 op);
Sint32 BupLoad(Sint32 drive, const char* fname, void* buf);
Sint32 BupSave(Sint32 drive, const char* fname, void* buf, Sint32 nblock);
Sint32 BupDelete(Sint32 drive, const char* fname);
void BupMount(Sint32 drive);
void BupUnmount(Sint32 drive);
void BupMount_8c014c00(Sint32 drive);
void BupUnmount_8c014c46(Sint32 drive);
void ClearInfo_8c014c8a(Sint32 drive);

#ifdef __cplusplus
}
Expand Down
Loading

0 comments on commit cf3566d

Please sign in to comment.