H
halkun
Guest
More for you guys. Keep in mind, like the other directories there is a "dummy file" with the same name as the directory I added as kind of a "Catch all" for any data that's recovered that doesn't fit.
From what I gather, this is where the engine expects to find these files, however they are obfuscated by the filesystem I/O on both the PC and PSX version in diffrent ways.
I like to think of this as the "FF7 Grand Unifacation Theory"
It appears that the engine can only read, at most, about 10 diffrent "pure" file formats after the obfuscation is cleared away.
ANM (Animation)
PLY (Polygon)
RSD (Resourse)
HRC (Hirearchy)
TIM (Texture-In-Memory)
SPT (sprite, I'm guessing a 2D image or animation sequence placed in 3D space, meaning the face of the picture always faces the camera)
Plus some others. I'm still collecting a list of "pure" filetypes
Other things to note....
The FF7 kernel is thread-based. Because the PSX lacks an MMU and the three segments of protected memory are hard-wired togeather, this creates a bit of a problem as you don't want one thread to overwrite another. The thread management core keeps everything running without something going spry and stomping all over another's memory segemnt. This is why there are exaustive debug comments in the FF7 PC executable. I'm sure the hisenbugs would of been horrific.
In battle I have IDed a clock thread, and a magic thread. Only one magic can shoot off at time. Magic is cached as well. I think there is cache paging, but only one way (Disk -> Ram) When a new magic is threaded that is not cached, and there is no room left in VRAM for that spell, the old spell is marked "dirty" and the vram contents overwritten. There is no preemtive threading so any new magic is paged on demand in that is not cached.
I think that make sense.
Anyway, here's the files..
Code: [Select]
I wonder where these files are "folded" into? I know /weapon/s_nova is folded into the /snova dir on the PSX
/item I bet is folded into /enemy6
Theroies?
From what I gather, this is where the engine expects to find these files, however they are obfuscated by the filesystem I/O on both the PC and PSX version in diffrent ways.
I like to think of this as the "FF7 Grand Unifacation Theory"
It appears that the engine can only read, at most, about 10 diffrent "pure" file formats after the obfuscation is cleared away.
ANM (Animation)
PLY (Polygon)
RSD (Resourse)
HRC (Hirearchy)
TIM (Texture-In-Memory)
SPT (sprite, I'm guessing a 2D image or animation sequence placed in 3D space, meaning the face of the picture always faces the camera)
Plus some others. I'm still collecting a list of "pure" filetypes
Other things to note....
The FF7 kernel is thread-based. Because the PSX lacks an MMU and the three segments of protected memory are hard-wired togeather, this creates a bit of a problem as you don't want one thread to overwrite another. The thread management core keeps everything running without something going spry and stomping all over another's memory segemnt. This is why there are exaustive debug comments in the FF7 PC executable. I'm sure the hisenbugs would of been horrific.
In battle I have IDed a clock thread, and a magic thread. Only one magic can shoot off at time. Magic is cached as well. I think there is cache paging, but only one way (Disk -> Ram) When a new magic is threaded that is not cached, and there is no room left in VRAM for that spell, the old spell is marked "dirty" and the vram contents overwritten. There is no preemtive threading so any new magic is paged on demand in that is not cached.
I think that make sense.
Anyway, here's the files..
Code: [Select]
Code:
effect/hitmarkєffect/hitmark/jo_c01.sptєffect/hitmark/jo_c02.sptєffect/hitmark/jo_c03.sptєffect/hitmark/jo_c04.sptєffect/hitmark/jo_c05.sptєffect/hitmark/jo_c06.sptєffect/hitmark/jo_c07.sptєffect/hitmark/jo_c08.spteffect/s_bariaeffect/s_baria/jo_ba.rsdeffect/s_baria/jo_mba.rsdeffect/s_baria/jo_rif.rsdіtem/kemuriіtem/kemuri/kemuriіtem/kemuri/smkball.timіtem/kemuri/kemuri.sptitem/vegetitem/veget/vegetitem/veget/yasai_1.rsditem/veget/yasai_2.rsditem/veget/yasai_3.rsditem/veget/yasai_4.rsditem/veget/yasai_5.rsditem/veget/yasai_6.rsditem/veget/yasai_7.rsditem/veget/yasai_8.rsditem/wp_baitem/wp_ba/wp_baitem/wp_ba/brhand01.rsditem/wp_ba/brhand02.rsditem/wp_ba/brhand03.rsditem/wp_ba/brhand04.rsditem/wp_ba/brhand05.rsditem/wp_ba/brhand06.rsditem/wp_ba/brhand07.rsditem/wp_ba/brhand08.rsditem/wp_ba/brhand09.rsditem/wp_ba/brhand10.rsditem/wp_ba/brhand11.rsditem/wp_ba/brhand12.rsditem/wp_ba/brhand13.rsditem/wp_ba/brhand14.rsditem/wp_ba/brhand15.rsdіtem/wp_biitem/wp_bi/wp_biitem/wp_bi/vin_gun01.rsditem/wp_bi/vin_gun02.rsditem/wp_bi/vin_gun03.rsditem/wp_bi/vin_gun04.rsditem/wp_bi/vin_gun05.rsditem/wp_bi/vin_gun06.rsditem/wp_bi/vin_gun07.rsditem/wp_bi/vin_gun08.rsditem/wp_bi/vin_gun09.rsditem/wp_bi/vin_gun10.rsditem/wp_bi/vin_gun11.rsditem/wp_bi/vin_gun12.rsditem/wp_bi/vin_gun13.rsditem/wp_cuitem/wp_cu/wp_cuitem/wp_cu/h_sword01.rsditem/wp_cu/h_sword02.rsditem/wp_cu/h_sword03.rsditem/wp_cu/h_sword04.rsditem/wp_cu/h_sword05.rsditem/wp_cu/h_sword06.rsditem/wp_cu/h_sword07.rsditem/wp_cu/h_sword08.rsditem/wp_cu/h_sword09.rsditem/wp_cu/h_sword10.rsditem/wp_cu/h_sword11.rsditem/wp_cu/h_sword12.rsditem/wp_cu/h_sword13.rsditem/wp_cu/h_sword14.rsditem/wp_cu/h_sword15.rsditem/wp_eaitem/wp_ea/wp_eaitem/wp_ea/rod01.rsditem/wp_ea/rod02.rsditem/wp_ea/rod03.rsditem/wp_ea/rod04.rsditem/wp_ea/rod05.rsditem/wp_ea/rod06.rsditem/wp_ea/rod07.rsditem/wp_ea/rod08.rsditem/wp_ea/rod09.rsditem/wp_ea/rod10.rsditem/wp_ea/rod11.rsditem/wp_keitem/wp_ke/wp_keitem/wp_ke/mega01.rsditem/wp_ke/mega02.rsditem/wp_ke/mega03.rsditem/wp_ke/mega04.rsditem/wp_ke/mega05.rsditem/wp_ke/mega06.rsditem/wp_ke/mega07.rsditem/wp_ke/mega08.rsditem/wp_ke/mega09.rsditem/wp_ke/mega10.rsditem/wp_ke/mega11.rsditem/wp_ke/mega12.rsditem/wp_ke/mega13.rsditem/wp_si/item/wp_si/wp_siitem/wp_si/weapon01.rsditem/wp_si/weapon02.rsditem/wp_si/weapon03.rsditem/wp_si/weapon04.rsditem/wp_si/weapon05.rsditem/wp_si/weapon06.rsditem/wp_si/weapon07.rsditem/wp_si/weapon08.rsditem/wp_si/weapon09.rsditem/wp_si/weapon10.rsditem/wp_si/weapon11.rsditem/wp_si/weapon12.rsditem/wp_si/weapon13.rsditem/wp_si/weapon14.rsditem/wp_yuitem/wp_yu/wp_yuitem/wp_yu/shuriken01.rsditem/wp_yu/shuriken02.rsditem/wp_yu/shuriken03.rsditem/wp_yu/shuriken04.rsditem/wp_yu/shuriken05.rsditem/wp_yu/shuriken06.rsditem/wp_yu/shuriken07.rsditem/wp_yu/shuriken08.rsditem/wp_yu/shuriken09.rsditem/wp_yu/shuriken10.rsditem/wp_yu/shuriken11.rsditem/wp_yu/shuriken12.rsditem/wp_yu/shuriken13.rsditem/wp_yu/shuriken14.rsditem/wp_yu/zeni.rsditem/yamabikoitem/yamabiko/yamabikoitem/yamabiko/echoes.timitem/yamabiko/kemuri.sptweapon/beam1weapon/beam1/beam1weapon/beam1/awa_1.timweapon/beam1/awa_1.sptweapon/beam1/hit_1.timweapon/beam1/hit_1.sptweapon/beam1/beam1.rsdweapon/beam1/beam2.rsdweapon/beam1/energy1.rsdweapon/beam1/energy2.rsdweapon/dia_uweapon/dia_u/dia_uweapon/dia_u/stage57.datweapon/dia_u/senkou2.rsdweapon/dia_u/hikari.rsdweapon/dia_u/hikari1.rsdweapon/dia_u/line.rsdweapon/dia_u/gan1.rsdweapon/dia_u/gan2.rsdweapon/dia_u/gan3.rsdweapon/dia_u/gan4.rsdweapon/dia_u/gan5.rsdweapon/dia_u/gan6.rsdweapon/dia_u/tama1.rsdweapon/dia_u/tama2.rsdweapon/dia_u/moto.rsdweapon/dia_u/hado1.rsdweapon/dia_u/hado.rsdweapon/dia_u/soto.rsdweapon/dia_u/kemu1.timweapon/dia_u/kemu1.sptweapon/dia_u/kemu2.timweapon/dia_u/kemu2.sptweapon/dia_u/baku1.timweapon/dia_u/baku1.sptweapon/dia_u/kou.timweapon/dia_u/kou.sptweapon/s_novaweapon/s_nova/s_novaweapon/s_nova/bomb_1.rsdweapon/s_nova/comet_1.rsdweapon/s_nova/corona_1.rsdweapon/s_nova/corona_2.rsdweapon/s_nova/corona_3.rsdweapon/s_nova/cosmo_1.rsdweapon/s_nova/earth_1.rsdweapon/s_nova/earth_2.rsdweapon/s_nova/exp_1.rsdweapon/s_nova/exp_2.rsdweapon/s_nova/exp_3.rsdweapon/s_nova/exp_4.rsdweapon/s_nova/flash_1.rsdweapon/s_nova/formula1.sptweapon/s_nova/formula1.timweapon/s_nova/formula2.sptweapon/s_nova/formula3.sptweapon/s_nova/formula4.sptweapon/s_nova/galaxy_1.rsdweapon/s_nova/ice_1.rsdweapon/s_nova/ice_2.rsdweapon/s_nova/ice_3.rsdweapon/s_nova/inseki_1.rsdweapon/s_nova/jupiter1.rsdweapon/s_nova/lens_1.sptweapon/s_nova/lens_1.timweapon/s_nova/line_1.rsdweapon/s_nova/mars_1.rsdweapon/s_nova/mercury1.sptweapon/s_nova/mercury1.timweapon/s_nova/mercury2.rsdweapon/s_nova/mercury2.timweapon/s_nova/name_1.sptweapon/s_nova/name_1.timweapon/s_nova/nova_1.sptweapon/s_nova/nova_1.timweapon/s_nova/nova_2.sptweapon/s_nova/nova_2.timweapon/s_nova/nova_3.rsdweapon/s_nova/pluto_1.rsdweapon/s_nova/pluto_1.timweapon/s_nova/ring_1.rsdweapon/s_nova/rock_1.rsdweapon/s_nova/rock_2.rsdweapon/s_nova/rock_3.rsdweapon/s_nova/s_ring1.rsdweapon/s_nova/saturn_1.rsdweapon/s_nova/saturn_2.rsdweapon/s_nova/sta_neb.timweapon/s_nova/stage572.timweapon/s_nova/star_1.sptweapon/s_nova/sun_1.rsdweapon/s_nova/sun_1.sptweapon/s_nova/sun_x.rsdweapon/s_nova/tendou_1.sptweapon/s_nova/tendou_1.timweapon/s_nova/tim.timweapon/s_nova/venus_1.rsdweapon/s_nova/venus_1.timweapon/weapon1weapon/weapon1/weapon1weapon/weapon1/smoke_1.timweapon/weapon1/smoke_1.sptweapon/weapon2weapon/weapon2/weapon2weapon/weapon2/ant1.timweapon/weapon3weapon/weapon3/weapon3weapon/weapon3/awa_1.timweapon/weapon3/awa_1.sptweapon/weapon3/exp_1.timweapon/weapon3/exp_1.sptweapon/weapon3/line_1.timweapon/weapon3/line_1.sptweapon/weapon3/tama_1.timweapon/weapon3/tama_1.sptweapon/weapon3/flash_1.rsdweapon/weapon3/ring_1.rsdweapon/weapon3/w_ball.rsdweapon/weapon4weapon/weapon4/weapon4weapon/weapon4/houden_1.timweapon/weapon4/houden_1.sptweapon/weapon4/smoke_1.timweapon/weapon4/smoke_1.sptweapon/weapon4/bomb_1.rsdweapon/weapon4/rock_1.rsdweapon/weapon4/rock_2.rsdweapon/weapon4/rock_3.rsd
I wonder where these files are "folded" into? I know /weapon/s_nova is folded into the /snova dir on the PSX
/item I bet is folded into /enemy6
Theroies?