fgsfdsfgs / sm64-port Goto Github PK
View Code? Open in Web Editor NEWThis project forked from mkst/sm64-port
PS2, PS3, OG Xbox and DOS ports of sm64-port.
Home Page: https://discord.gg/7bcNTPK
This project forked from mkst/sm64-port
PS2, PS3, OG Xbox and DOS ports of sm64-port.
Home Page: https://discord.gg/7bcNTPK
Is there any other way than having to use Docker? It doesn't work right on Windows 7, I get some error about VT-X not wanting to work on 7. My PC does have virtualization, and it is enabled in the BIOS. Even VirtualBox works, but not Docker.
Inside Makefile change :
$(PKG) --contentid $(CONTENTID) $(BUILD_DIR)/pkg/ $@ >> /dev/null
cp $@ $(basename $@).gnpdrm.pkg
$(PACKAGE_FINALIZE) $(basename $@).gnpdrm.pkg
in
$(PKG) --contentid $(CONTENTID) $(BUILD_DIR)/pkg/ [email protected]
I've tried building PS2 version on Mac, but I couldn't.
git clone https://github.com/fgsfdsfgs/sm64-port.git -b ps2 --recursive
);baserom.us.z64
(checked hashes – they did match) into root directory of repository;make
(tried make -j2
too).Got following output:
Makefile.split:152: build/us_ps2/level_rules.mk: No such file or directory
ee-cpp -P -DVERSION_US -I . -o build/us_ps2/level_rules.mk levels/level_rules.mk
build/us_ps2/level_rules.mk: No such file or directory
make: *** [build/us_ps2/level_rules.mk] Error 1
The command to compile using the docker image returns:
"the input device is not a TTY. If you are using mintty, try prefixing the command with #'winpty'"
The game crashes when Mario picks up both Vanish cap and Metal Cap.
gfx_xbox_wapi_init: resolution 640x480
gfx_xbox_rapi_create_and_load_new_shader: could not find shader for id 09200a00
Easiest level to recreate the bug is dire dire docks.
sm64ex did it and it's great, would be nice to have also have rumble on your PS2 port
utiliza docker para compilar para ps3 pero no me resulta un archivo pkg, solamente archivo .elf, .self
Pretty much the same problem as the Playstation 2 version, until your 872b4ce fix.
DOS 60FPS build crashes instantly as soon as you enter Bob-omb Battlefield.
I just wanted to ask if you can compile the dos branch without docker.
(If it helps i am running Windows 10)
Everything "3D-drawn" (ie. the world, save slot selection, title) is cropped to approx. 480p resolution, see this photo for a better explanation of the issue:
This is on a hardmodded 1.6 [edit: with 64MB RAM] running Kernel 5838 set to NTSC and with 480p+720p enabled in the MS Dashboard. Other software supporting 720p works just fine on this system. Running sm64 in 480p by disabling 720p in MS Dash works fine.
SM64 is built like this:
> git clone -b xbox https://github.com/fgsfdsfgs/sm64-port.git
> cd sm64-port
# fetch nxdk and xgu
> git submodule update --init --recursive --progress
# 60fps patch
> git apply --verbose enhancements/60fps.patch
> cp /path/to/baserom.us.z64 .
# make sure baserom checksum is correct
> sha1sum baserom.us.z64
9bef1128717f958171a4afac3ed78ee2bb4e86ce baserom.us.z64
> make TARGET_XBOX=1 -j$(nproc)
[...]
[ CXBE ] /path/to/sm64-port/build/us_xbox/out/default.xbe
[ XISO ] sm64.iso
# ftp build/us_xbox/out/default.xbe to xbox
It doesn't matter if the 60fps patch is applied or not, the issue is also present without the patch.
The system used to build the binary is an uptodate x86_64 Arch Linux (Manjaro flavour) with Clang 11.0.1.
Do you have any idea what's wrong? If there's anything to test, try, or patches to try out please just let me know!
IGR feature and this port is perfect :) keep putting love into this port, amazing job!! Thanks
Hi, I was wondering if there is a pre-built release of this, or if there ever will be?
Hey fgfdsfgs, there's something wrong in the Makefile with the audsrv module. I had to clone and build it in the ps2 subfolder in order to compile the new version.
Greetings.
So I wanted to try and use Luigi on the Xbox port because of the recent release of the "L is Singleplayer 2401" mod and the memes but, a shader error occurred when using a wing cap.
This happens with this mod as well as the Low Poly Promo96 Mario and Luigi. Oddly enough, Metal Cap and Vanish Cap still work fine.
This was first made here:
https://www.romhacking.net/hacks/5008/
Instructions:
-open /actors/burn_smoke/model.inc.c
-on line 47, change the reference "G_IM_FMT_RGBA" to "G_IM_FMT_IA"
compiling latests build to cia results in black screen.
Hi.
Just wondering: which button on the XBOX controller is the Z-Button?
Thanks.
Font Error:
Won't boot on Actual Hardware (video):
HwVideoEditor_2020_09_23_123802.zip
As shown above, the issue's I would like to report is when building the PAL version of the SM64 PS2 ELF
The font heavily breaks; I assume the code hasn't been adapted to support the German and French script but that could be wrong
The Audio doesn't work 99% of the time, the reason I say 99% is because there are VERY brief moments like when Mario head appears at the start - the audio plays for a fraction of a second and then stops and nothing else plays - which suggests that the Audio server does function; it's just fails to play the tracks
The last issue which I wanted to report is that the PAL Build simply doesn't boot on a real PAL PS2 (FreeMCBoot), the footage for that has been linked in the zip file at the end
While running in the PSCX2 emu, the PAL ELF does throw out these errors in the Log however I don't know which error they relate to: (EE pc:001AC14C) TLB Miss, addr=0x23e [load]
(EE pc:001AC168) TLB Miss, addr=0x23e [load]
(EE pc:001AC168) TLB Miss, addr=0x0 [load]
(EE pc:001AC17C) TLB Miss, addr=0x22a [load]
(EE pc:001AC18C) TLB Miss, addr=0x4c [load]
(EE pc:001AC18C) TLB Miss, addr=0x44 [load]
(EE pc:001A94B8) TLB Miss, addr=0x48 [load]
(EE pc:001A94B8) TLB Miss, addr=0x4c [load]
(EE pc:001A94B8) TLB Miss, addr=0x50 [load]
(EE pc:001A94B8) TLB Miss, addr=0x54 [load]
(EE pc:001AC908) TLB Miss, addr=0x88 [load]
(EE pc:001AC908) TLB Miss, addr=0x98 [load]
(EE pc:001AC908) TLB Miss, addr=0xa8 [load]
(EE pc:001AC908) TLB Miss, addr=0xb8 [load]
(EE pc:001A954C) TLB Miss, addr=0x0 [load]
(EE pc:001A954C) TLB Miss, addr=0x0 [store]
(EE pc:001AC3E8) TLB Miss, addr=0x22a [store]
(EE pc:001AC14C) TLB Miss, addr=0x2f2 [load]
(EE pc:001AC168) TLB Miss, addr=0x2f2 [load]
(EE pc:001AC168) TLB Miss, addr=0x0 [load]
(EE pc:001AC17C) TLB Miss, addr=0x2de [load]
(EE pc:001AC18C) TLB Miss, addr=0x4c [load]
(EE pc:001AC18C) TLB Miss, addr=0x44 [load]
(EE pc:001A94B8) TLB Miss, addr=0x48 [load]
(EE pc:001A94B8) TLB Miss, addr=0x4c [load]
(EE pc:001A94B8) TLB Miss, addr=0x50 [load]
(EE pc:001A94B8) TLB Miss, addr=0x54 [load]
(EE pc:001AC908) TLB Miss, addr=0x88 [load]
(EE pc:001AC908) TLB Miss, addr=0x98 [load]
(EE pc:001AC908) TLB Miss, addr=0xa8 [load]
(EE pc:001AC908) TLB Miss, addr=0xb8 [load]
(EE pc:001A954C) TLB Miss, addr=0x0 [load]
(EE pc:001A954C) TLB Miss, addr=0x0 [store]
(EE pc:001AC3E8) TLB Miss, addr=0x2de [store]
(EE pc:001AC14C) TLB Miss, addr=0x3a6 [load]
(EE pc:001AC168) TLB Miss, addr=0x3a6 [load]
(EE pc:001AC168) TLB Miss, addr=0x0 [load]
(EE pc:001AC17C) TLB Miss, addr=0x392 [load]
(EE pc:001AC18C) TLB Miss, addr=0x4c [load]
(EE pc:001AC18C) TLB Miss, addr=0x44 [load]
(EE pc:001A94B8) TLB Miss, addr=0x48 [load]
(EE pc:001A94B8) TLB Miss, addr=0x4c [load]
(EE pc:001A94B8) TLB Miss, addr=0x50 [load]
(EE pc:001A94B8) TLB Miss, addr=0x54 [load]
(EE pc:001AC908) TLB Miss, addr=0x88 [load]
(EE pc:001AC908) TLB Miss, addr=0x98 [load]
(EE pc:001AC908) TLB Miss, addr=0xa8 [load]
(EE pc:001AC908) TLB Miss, addr=0xb8 [load]
(EE pc:001A954C) TLB Miss, addr=0x0 [load]
(EE pc:001A954C) TLB Miss, addr=0x0 [store]
I understand that the priority will be to get the US version working fully first but I wanted to just report on existing issues should the PAL version get more attention
I followed the four-step instructions involving the Git/Docker method, and I don't know what I do.
Can you please tell me what I should do after Git and Docker are done with the compilation?
Where/what is the end file? How do I burn it if acceptable? A million questions.
After building my Docker image, I pasted the compiling command into the terminal. I am on Windows 10. After running the command, it gives me an error, stating:
docker: Error response from daemon: create
See 'docker run --help'.
Is there anything else I need to do? Thanks!
This is not an issue. I just made this and wanted to share it, just in case someone needs it:
Here's the PSD file.
https://cdn.discordapp.com/attachments/652865848368955393/756538323522289734/SuperMario64PS2.psd
So I have been trying to build the Xbox port with my custom Mel Blanc voice pack for Mario which has worked on the PS2, PS3, and the xsm64 Xbox ports. When I build it with the custom voices, it says:
make: *** [Makefile:773: build/us_xbox/sound/samples/sfx_mario/00.aifc] Segmentation fault
make: *** Deleting file 'build/us_xbox/sound/samples/sfx_mario/00.aifc'
make: *** Waiting for unfinished jobs....
make: *** [Makefile:773: build/us_xbox/sound/samples/sfx_mario/01.aifc] Segmentation fault
make: *** Deleting file 'build/us_xbox/sound/samples/sfx_mario/01.aifc'
I don't know why this is happening as the sound pack works on other ports.
I have found a couple of issues when running the port on real PS2 hardware. These are the specs of my PS2 model:
PS2 Model: SCPH-3001
Video Output: Component, but I did see this happen on AV@NTSC as well.
Patches: None
In PCSX2 the game looks fine and runs as expected. On real hardware, however, I noticed there is a "bar" that appears to be tied somewhat to what is being drawn on-screen.
Ex:
https://youtu.be/DeYkKlVZT_k
Normally during regular gameplay, this bar isn't always present. Even when it is present it usually resides near the top of the screen. However, this bar became exaggerated when I modified gfx_ps2_init
to set the game to run at 720p. I did have to disable double buffering to mitigate an even worse graphical bug at 720p.
https://youtu.be/4AKpzemi8j4
I tested other homebrew applications running at NTSC, 480p, 720p, 1080i to make sure it wasn't my console at fault, and they worked just fine.
Using the us 60 FPS build of the game on real hardware works flawlessly, but whenever I get a star and save, the game becomes very laggy, I don´t know why. If I don´t save and I continue taking stars, the game works good. I don´t know if it´s a problem related to the 60 FPS patch. Anny suggestions?
Hello,
i started experimenting with a port to Opendingux handelds that don't have 3D acceleration like the LDK/RG-300/RS-97 and bittboy as those don't have a GPU and it gave me the idea to use your software renderer.
Those only use 16bpp (and 32bpp would be too expensive anyway) so i started to hack up gfx_soft.cpp as to directly output to a uint16_t buffer.
You can see the changes i did to my branch here (quite a mess but i'll clean it up once i can get it to work properly)
gameblabla@9062526
Unfortunately during screen fade ins and outs, this happens...
It also borks on anything that uses alpha transparency
However as soon as it is not doing those things, texturse, vertexes etc... are displayed properly.
Other than
It would be nice if the software renderer could just output directly to a 16bits buffer too so OpenDingux devices (RS-90, RS-97, LDK, RG-300, Dingoo A320 etc.. just to name a few) and others like the Bittboy or the TI Nspire CX could run this.
I made some quick modifications to make it work but could not completely fix some of the RGBA8888 -> RGB565 issues.
Hi!!
Are there any hotkeys can be applied as in the PSP port??
I mean, showing FPS, sound engine.....
Thanks!!
Hey fgsfdsfgs, sorry to bother you after less than 10 commits, but Super Mario 64 doesn't work on the real hardware.
I have tried stripping the executable (ee-strip) and compressing it (ps2-packer) but it just throws a black screen, both through wLauncher and main FMCB menu.
I don't know if its a limitation of the current port or I am doing something wrong.
PCSX2 loads it fine but controls do not work. I'm not sure if that "basic controls" commit is just a preliminar implementation and they should work or they're not implemented yet.
Great work, as always.
I've tried building PS2 version on linux, but I couldn't.
I did copy paste commands, understanding what they did,
Checked out "ps2" branch of the repository (git clone https://github.com/fgsfdsfgs/sm64-port.git -b ps2 --recursive),
Copied baserom.us.z64 (checked hashes – they did match) into root directory of repository;
Executed make (tried make -j4 too).
Got following output:mips64r5900el-ps2-elf-cpp -P -DVERSION_US -I . -o build/us_ps2/level_rules.mk levels/level_rules.mk make: mips64r5900el-ps2-elf-cpp: Command not found Makefile.split:152: build/us_ps2/level_rules.mk: No such file or directory make: *** [Makefile.split:151: build/us_ps2/level_rules.mk] Error 127
The savegames in super mario port for the ps3 don't have any icon, which means the square, triangle, cross and circle picture is displayed instead. This isn't very relevant but it'd be nice to have a proper icon for the savegames (i believe we can also make it animated? )
When trying to apply it with "git apply" I get the following errors:
error: patch failed: include/types.h:117
error: include/types.h: patch does not apply
error: patch failed: src/engine/graph_node.h:109
error: src/engine/graph_node.h: patch does not apply
error: patch failed: src/engine/surface_collision.c:7
error: src/engine/surface_collision.c: patch does not apply
error: patch failed: src/engine/surface_load.c:14
error: src/engine/surface_load.c: patch does not apply
error: patch failed: src/game/camera.c:483
error: src/game/camera.c: patch does not apply
error: patch failed: src/game/camera.h:654
error: src/game/camera.h: patch does not apply
error: patch failed: src/game/envfx_bubbles.c:35
error: src/game/envfx_bubbles.c: patch does not apply
error: patch failed: src/game/envfx_snow.c:54
error: src/game/envfx_snow.c: patch does not apply
error: patch failed: src/game/envfx_snow.h:25
error: src/game/envfx_snow.h: patch does not apply
error: patch failed: src/game/game_init.h:12
error: src/game/game_init.h: patch does not apply
error: patch failed: src/game/hud.c:57
error: src/game/hud.c: patch does not apply
error: patch failed: src/game/ingame_menu.c:111
error: src/game/ingame_menu.c: patch does not apply
error: patch failed: src/game/level_geo.c:34
error: src/game/level_geo.c: patch does not apply
error: patch failed: src/game/object_helpers.c:1549
error: src/game/object_helpers.c: patch does not apply
error: patch failed: src/game/paintings.c:189
error: src/game/paintings.c: patch does not apply
error: patch failed: src/game/rendering_graph_node.c:39
error: src/game/rendering_graph_node.c: patch does not apply
error: patch failed: src/game/screen_transition.c:16
error: src/game/screen_transition.c: patch does not apply
error: patch failed: src/menu/intro_geo.c:1
error: src/menu/intro_geo.c: patch does not apply
error: patch failed: src/pc/gfx/gfx_dxgi.cpp:34
error: src/pc/gfx/gfx_dxgi.cpp: patch does not apply
error: patch failed: src/pc/gfx/gfx_glx.c:21
error: src/pc/gfx/gfx_glx.c: patch does not apply
error: patch failed: src/pc/gfx/gfx_sdl2.c:139
error: src/pc/gfx/gfx_sdl2.c: patch does not apply
error: patch failed: src/pc/gfx/gfx_xbox_wapi.c:65
error: src/pc/gfx/gfx_xbox_wapi.c: patch does not apply
error: patch failed: src/pc/pc_main.c:82
error: src/pc/pc_main.c: patch does not apply
This started happening after updating to latest commit.
Hi following the docker example on how to compile i can do it ok for the dos version.
But if try to enable DOS_GL=dmesa to run it on my 3dfx card got this error:
docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 -ti sm64_dos make -j4 ENABLE_OPENGL_LEGACY=1 DOS_GL=dmesa
ows_mustache.o build/us_dos/src/goddard/dynlists/anim_group_1.o -lm -no-pie -Llib/allegro -lalleg -Llib/dmesa -lgl -Llib/glide3 -lglide3i
build/us_dos/src/pc/gfx/gfx_dos_api.o:gfx_dos_api.c:(.text+0x2da): undefined reference to OSMesaDestroyContext' build/us_dos/src/pc/gfx/gfx_dos_api.o:gfx_dos_api.c:(.text+0x7d2): undefined reference to
OSMesaCreateContextExt'
build/us_dos/src/pc/gfx/gfx_dos_api.o:gfx_dos_api.c:(.text+0x7fa): undefined reference to OSMesaMakeCurrent' build/us_dos/src/pc/gfx/gfx_dos_api.o:gfx_dos_api.c:(.text+0x80c): undefined reference to
OSMesaPixelStore'
collect2: error: ld returned 1 exit status
Makefile:921: recipe for target 'build/us_dos/sm64.us.f3dex2e.exe' failed
make: *** [build/us_dos/sm64.us.f3dex2e.exe] Error 1
when attempting to exit the game via ps button, the game crashes and the console restarts
everything else seems to be working fine though
Software: SM64 decompilation fork: https://github.com/DrUm78/sm64-funkey
Hardware: FunKey S device (armv7 a7)
During indoor sliding sequences (solo or against the penguin) skybox is not drawn and creates a severe graphic glitch with software renderer (the FunKey S does not have any gpu). This bug happens the same way everywhere in the game when setting "draw_sky false" in sm64config.txt, so it seems to be related to the "sky draw" function.
Steps to reproduce:
Video footage: https://drive.google.com/file/d/1V45Cr2E5a4YB7AfgNtM4lqs26_2CLkBW/view?usp=sharing
Same happens on RS-97: https://youtu.be/NqOECYL70mg?t=66
I apologize for asking here, but the discord channel won't let me comment. I even clicked on the star emoji.
Anyway, what I wanted to ask you about was if you had any plans of porting Ocarina of Time to consoles.
greetings.
the PS2 ntsc titles are played via OPL @60Hz by default but since this port is executed from an (.elf) file it forces the system's default interlaced resolution and refresh rate.
now i dunno if this port is meant to run in interlaced mode, but i really prefer the original res (320x240p) especially that i am playing my PS2 on a crt.
much appreciated if a fix is implemented for res & refresh rate.
EDIT: as a matter of fact, i tried to force progressive res through old standalone GSM, which is supposed to be 720x240 but something fishy goes on, it doesn't look correct like other 240p titles on the PS2 or even the ps1. i assume that the horizontal value is the problem. however i am not sure if the PS2 is capable of displaying 320 horizontal. tho ps1 games are supposed to be 320x240 and that the PS2 runs them in the correct horizontal value.
For example
UP0001-SM640001_00-0000000000000000 US
EP0001-SM640002_00-0000000000000000 EU
JP0001-SM640003_00-0000000000000000 JP
Can I patch the PS2 Port for analogue camera with R Stick?
I would like to ask if you are going to port Mario Kart 64 for ps2, thank you and sorry for create a issue that does not have to do with Super Mario 64
The Memory Card icon textures can be compressed to save space on the MC. You can use Milkshape for compressing it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.