Code Monkey home page Code Monkey logo

sm64-port's People

Contributors

ahouts avatar bramhaag avatar fgsfdsfgs avatar jan200101 avatar matt-kempster avatar mkst avatar mountainflaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sm64-port's Issues

Can't build PlayStation 2 port on Windows 7

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.

PS3 - pkg doesn't work

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]

Unablet to build PS2 version on macOS

I've tried building PS2 version on Mac, but I couldn't.

  1. I did download latest version of PS2 SDK for macOS, extracted it, updated PATH, PS2SDK and GSKIT environment variables;
  2. Checked out "ps2" branch of the repository (git clone https://github.com/fgsfdsfgs/sm64-port.git -b ps2 --recursive);
  3. Copied baserom.us.z64 (checked hashes – they did match) into root directory of repository;
  4. Executed 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

[xbox] Crashes when wearing both Vanish Cap and Metal Cap

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.

Compiling without Docker?

I just wanted to ask if you can compile the dos branch without docker.
(If it helps i am running Windows 10)

[xbox] Cropped 3D/World in 720p

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:

sm64-clipped

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!

Pre-built release?

Hi, I was wondering if there is a pre-built release of this, or if there ever will be?

ps2-audsrv does not clone or build (PS2)

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.

Shader crash with Luigi (Xbox)

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.

2020-11-12 11-37-24_Moment

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.

Z-Button

Hi.

Just wondering: which button on the XBOX controller is the Z-Button?

Thanks.

PAL Build of PS2 SM64 has broken audio and broken font + will not boot on Actual Hardware

Font Error:
gsdx_20200923123155
gsdx_20200923123210
gsdx_20200923123301
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

Where Is the End Result?

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.

Error when compiling with Docker

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 $(pwd): "$(pwd)" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.
See 'docker run --help'.

Is there anything else I need to do? Thanks!

Segmentation fault when building with custom voices and sounds (Xbox)

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.

Graphical Issues on Real HW

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:
IMG_2370
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.

PS2 : Savegame Issue

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?

16bpp support for the software renderer

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...
vlcsnap-2020-10-25-18h04m31s606

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.

Fast Question PS3

Hi!!
Are there any hotkeys can be applied as in the PSP port??
I mean, showing FPS, sound engine.....
Thanks!!

It doesn't work on the console (PS2)

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.

Unable to build PS2 version on linux mint

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

PS3: Savegames don't have a suggestive icon

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? )

Cannot apply 60FPS patch to Xbox source.

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.

can't compile when enabling

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

[Software] Color buffer should be cleared in sequences that do not have a skybox

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:

  1. Compile it for the FunKey S (armv7 a7)
  2. Reach one of the sliding sequences or simply wait for the sequence in the attract mode
  3. Notice that the skybox is very glitchy and has this "duplication" effect
  4. Set "draw_sky false" in sm64config.txt and notice that the same occurs everywhere in the game

Video footage: https://drive.google.com/file/d/1V45Cr2E5a4YB7AfgNtM4lqs26_2CLkBW/view?usp=sharing

Same happens on RS-97: https://youtu.be/NqOECYL70mg?t=66

Cannot comment on discord

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.

game forces 50hz on PAL systems

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.

Mk64 for Ps2

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.