Code Monkey home page Code Monkey logo

rpsx's People

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

Watchers

 avatar  avatar  avatar  avatar

rpsx's Issues

Missing geometry in Tony Hawk's Pro Skater

The geometry is disappearing in a way that looks like bad frustum culling.
I thought the GTE implementation was reasonable correct at this point, so this might require a bit of investigation.

One area of investigation might be delay slots on reads from GTE registers.

Input doesn't work

Input doesn't seem to work either using a controller or keyboard. I've tried on both MacOS and Windows and neither accepts any input on any game I've tried.

It does seem like SDL2 is accepting my button presses but the games don't do anything with it.

Unable to build on macOS 12.5

Version: rpsx v0.1.0 (https://github.com/KieronJ/rpsx#21337bd2)
OS: macOS Monterey 12.5 (21G72)
Hardware: MacBook Pro (13-inch, 2019)

I installed this by running the following command:
cargo install --git https://github.com/KieronJ/rpsx

It got to a certain point in the build where I got an error because cmake didn't exist on my system, so I installed it and tried the build again. Then I got the following errors:

   Compiling rpsx v0.1.0 (/Users/dannykirkham/.cargo/git/checkouts/rpsx-3d4ba052e04d3412/21337bd)
error: couldn't read src/..\shaders\shader.frag: No such file or directory (os error 2)
  --> src/frontend.rs:63:74
   |
63 | ...   let fragment_shader = shader_from_source(&std::ffi::CString::new(include_str!("..\\shaders\\shader.frag")).unwrap(), gl::FRAGMENT_S...
   |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/..\shaders\shader.vert: No such file or directory (os error 2)
  --> src/frontend.rs:64:72
   |
64 | ...   let vertex_shader = shader_from_source(&std::ffi::CString::new(include_str!("..\\shaders\\shader.vert")).unwrap(), gl::VERTEX_SHADE...
   |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: `...` range patterns are deprecated
   --> src/psx/bus.rs:146:24
    |
146 |             0x0000_0000...0x007f_ffff => {
    |                        ^^^ help: use `..=` for an inclusive range
    |
    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>

warning: unused import: `GpuCommand`
 --> src/psx/gpu.rs:7:25
  |
7 | use crate::gpu_viewer::{GpuCommand, GpuFrame, GpuPolygon};
  |                         ^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: `rpsx` (bin "rpsx") generated 2 warnings
error: could not compile `rpsx` due to 2 previous errors; 2 warnings emitted
error: failed to compile `rpsx v0.1.0 (https://github.com/KieronJ/rpsx#21337bd2)`, intermediate artifacts can be found at `/var/folders/xk/n6mt7kxs4qj9s35pmm0403rh0000gn/T/cargo-installQC7En9`

Based on the 2 errors, I believe this may be due to using the Windows path separator (backslash).

Black screen (can hear sound and see terminal output)

Version: rpsx #8af932d
OS: macOS Monterey 12.5 (21G72)
Hardware: MacBook Pro (13-inch, 2019)
GPU: Intel Iris Plus Graphics 655 1536 MB
PS1 BIOS: SCPH1001.BIN
Game: Klonoa - Door to Phantomile (Europe)

imagen

I can hear the sound and see output in the terminal which looks normal, there's just no visuals displayed as seen in the screenshot above, the screen is always black. I think this may be OS/GPU related so I have included my GPU above, I understand this may be a tricky one to solve without the same hardware/OS configuration. I might try giving it a go on Linux at some point.

Here's some of the initial terminal output if it helps:

PS-X Realtime Kernel Ver.2.5
Copyright 1993,1994 (C) Sony Computer Entertainment Inc.
KERNEL SETUP!
Configuration : EvCB    0x10            TCB     0x04
System ROM Version 2.2 12/04/95 A
Copyright 1993,1994,1995 (C) Sony Computer Entertainment Inc.
[SPU] [WARN] Read from KON register
[SPU] [WARN] Read from KON register
[SPU] [WARN] Read from KOFF register
[SPU] [WARN] Read from KOFF register
ResetCallback: _96_remove ..
[TIMER] [INFO] Setting clock source to 1 for timer #1
[CDC] CdlTest
System Controller ROM Version 97/01/10 c2

Prepare serde branch for merge

Loading and saving states appears to be working, but with significant preliminary issues that make it a painful experience to actually use.

Game ID detection is broken

Sadly, not all discs have the game ID stored in the disc's volume identifier. Meaning identification will have to walk the path table and find the executable name.

Save and load emulator state

Is it possible to save the current state of the emulator to a file, so it can be loaded later?

I can see the function load_psexe, but I'm not entirely sure what it does, or can see any counterpart save_psexe.

Memory card directory not created automatically and gives unfriendly error

Version: rpsx #8af932d
OS: macOS Monterey 12.5 (21G72)
Hardware: MacBook Pro (13-inch, 2019)

When I initially ran the emulator I had this error:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/psx/peripherals/memory_card.rs:68:36

I decided to take a look at the code and found the directory it was looking for: ./cards so I created this directory which stopped the error coming up.

If the user is expected to create this manually, a more friendly error message would be fine, or can this directory be created automatically by the emulator?

Video height is halved for 240p output

When a real CRT displays 240p content, the image will be stretched to the full height of the display as the image is displayed on every other line.

Currently we are treating 240p as actually having a height of 240 lines which affects the aspect ratio and scaling calculations.

SPU sample release broken

There are a number of games when the volume of effects don't fade out as they should.

This is most noticable with the chimes during the boot screen.
Specifically, the last chime will remain in the sustain phase until the SPU is reset when the game is initialised.

Unable to build SDL on macOS

Version: rpsx #bc5fb54
OS: macOS Ventura 13.5.2 (22G91)
Hardware: MacBook Pro (13-inch, 2019)

I ran cargo build and got some errors during the SDL part:

  running: cd "/Users/dannykirkham/Proyectos/rpsx/target/debug/build/sdl2-sys-5e292771725ef0ce/out/build" && MAKEFLAGS="-j --jobserver-fds=8,10 --jobserver-auth=8,10" "cmake" "--build" "." "--target" "install" "--config" "release"
  [  1%] Building C object CMakeFiles/SDL2main.dir/src/main/dummy/SDL_dummy_main.c.o
  [  1%] Building C object CMakeFiles/SDL2.dir/src/file/cocoa/SDL_rwopsbundlesupport.m.o
  [  1%] Building C object CMakeFiles/SDL2.dir/src/SDL_assert.c.o
  [  4%] Building C object CMakeFiles/SDL2.dir/src/SDL_log.c.o
  [  4%] Building C object CMakeFiles/SDL2.dir/src/SDL.c.o
  [  4%] Building C object CMakeFiles/SDL2.dir/src/SDL_error.c.o
  [  5%] Building C object CMakeFiles/SDL2.dir/src/SDL_hints.c.o
  [  5%] Building C object CMakeFiles/SDL2.dir/src/SDL_dataqueue.c.o
  [  6%] Linking C static library libSDL2main.a
  [  6%] Building C object CMakeFiles/SDL2.dir/src/atomic/SDL_atomic.c.o
  [  8%] Building C object CMakeFiles/SDL2.dir/src/atomic/SDL_spinlock.c.o
  [  8%] Building C object CMakeFiles/SDL2.dir/src/audio/SDL_audio.c.o
  [  8%] Built target SDL2main
  [  8%] Building C object CMakeFiles/SDL2.dir/src/audio/SDL_audiocvt.c.o
  [  9%] Building C object CMakeFiles/SDL2.dir/src/audio/SDL_audiodev.c.o
  [  9%] Building C object CMakeFiles/SDL2.dir/src/audio/SDL_audiotypecvt.c.o
  [ 10%] Building C object CMakeFiles/SDL2.dir/src/audio/SDL_mixer.c.o
  [ 11%] Building C object CMakeFiles/SDL2.dir/src/audio/SDL_wave.c.o
  [ 11%] Building C object CMakeFiles/SDL2.dir/src/cpuinfo/SDL_cpuinfo.c.o
  [ 12%] Building C object CMakeFiles/SDL2.dir/src/dynapi/SDL_dynapi.c.o

  --- stderr
  CMake Deprecation Warning at CMakeLists.txt:5 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.


  CMake Warning:
    Manually-specified variables were not used by the project:

      CMAKE_ASM_COMPILER
      CMAKE_ASM_FLAGS


  /Users/dannykirkham/.cargo/registry/src/github.com-1ecc6299db9ec823/sdl2-sys-0.35.2/SDL/src/file/cocoa/SDL_rwopsbundlesupport.m:45:20: error: mixing declarations and code is incompatible with standards before C99 [-Werror,-Wdeclaration-after-statement]
      NSFileManager* file_manager = [NSFileManager defaultManager];
                     ^
  1 error generated.
  make[2]: *** [CMakeFiles/SDL2.dir/src/file/cocoa/SDL_rwopsbundlesupport.m.o] Error 1
  make[2]: *** Waiting for unfinished jobs....
  /Users/dannykirkham/.cargo/registry/src/github.com-1ecc6299db9ec823/sdl2-sys-0.35.2/SDL/src/cpuinfo/SDL_cpuinfo.c:1086:16: warning: variable 'realptr' set but not used [-Wunused-but-set-variable]
          void **realptr = (void **) mem;
                 ^
  /Users/dannykirkham/.cargo/registry/src/github.com-1ecc6299db9ec823/sdl2-sys-0.35.2/SDL/src/cpuinfo/SDL_cpuinfo.c:1127:16: warning: variable 'realptr' set but not used [-Wunused-but-set-variable]
          void **realptr = (void **) ptr;
                 ^
  2 warnings generated.
  make[1]: *** [CMakeFiles/SDL2.dir/all] Error 2
  make: *** [all] Error 2
  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 2

  build script failed, must exit now', /Users/dannykirkham/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.50/src/lib.rs:1098:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

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.