Code Monkey home page Code Monkey logo

projectpsx's People

Contributors

bluestormdna avatar butler1233 avatar gaweph avatar ncmtl 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

projectpsx's Issues

Cross-thread operation not valid: Control '' accessed from a thread other than the thread it was created on.

Hello,

Your project looked interesting so I decided to try it out. These were the steps I took:

Using VS2019, I downloaded a zip file of the code base and loaded it up.

I altered all your csproj files to have

<TargetFramework>net5.0</TargetFramework>

or

<TargetFramework>net5.0-windows</TargetFramework>

for the winforms project.

I then had to alter the file

ProjectPSX\Devices\Expansion\Exp2.cs

to declare the namespace in the older fashion:

namespace ProjectPSX.Devices.Expansion {
    public class Exp2 {

I provided a copy of "SCPH1001.BIN" and ran the Winforms project, selecting a Ridge Racer .cue file. This was my result in the console window:

[MemCard] No Card found. Will try to generate a new one on save.
[CD Track Builder] Generating CD Tracks from: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA).cue
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 01).bin Size: 3683232 Number: 1 LbaStart: 150 LbaEnd: 1566 isAudio False
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 02).bin Size: 56419776 Number: 2 LbaStart: 1866 LbaEnd: 25554 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 03).bin Size: 48500592 Number: 3 LbaStart: 25854 LbaEnd: 46175 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 04).bin Size: 56567952 Number: 4 LbaStart: 46475 LbaEnd: 70226 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 05).bin Size: 57640464 Number: 5 LbaStart: 70526 LbaEnd: 94733 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 06).bin Size: 54481728 Number: 6 LbaStart: 95033 LbaEnd: 117897 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 07).bin Size: 53670288 Number: 7 LbaStart: 118197 LbaEnd: 140716 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 08).bin Size: 21523152 Number: 8 LbaStart: 141016 LbaEnd: 149867 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 09).bin Size: 13629840 Number: 9 LbaStart: 150167 LbaEnd: 155662 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 10).bin Size: 2065056 Number: 10 LbaStart: 155962 LbaEnd: 156540 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 11).bin Size: 21878304 Number: 11 LbaStart: 156840 LbaEnd: 165842 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 12).bin Size: 17449488 Number: 12 LbaStart: 166142 LbaEnd: 173261 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 13).bin Size: 26610528 Number: 13 LbaStart: 173561 LbaEnd: 184575 isAudio True
File: D:\Emulation\Roms\Playstation\Ridge Racer (USA)\Ridge Racer (USA) (Track 14).bin Size: 33059712 Number: 14 LbaStart: 184875 LbaEnd: 198631 isAudio True
Track 0 size: 3683232 lbaStart: 150 lbaEnd: 1566
Track 1 size: 56419776 lbaStart: 1866 lbaEnd: 25554
Track 2 size: 48500592 lbaStart: 25854 lbaEnd: 46175
Track 3 size: 56567952 lbaStart: 46475 lbaEnd: 70226
Track 4 size: 57640464 lbaStart: 70526 lbaEnd: 94733
Track 5 size: 54481728 lbaStart: 95033 lbaEnd: 117897
Track 6 size: 53670288 lbaStart: 118197 lbaEnd: 140716
Track 7 size: 21523152 lbaStart: 141016 lbaEnd: 149867
Track 8 size: 13629840 lbaStart: 150167 lbaEnd: 155662
Track 9 size: 2065056 lbaStart: 155962 lbaEnd: 156540
Track 10 size: 21878304 lbaStart: 156840 lbaEnd: 165842
Track 11 size: 17449488 lbaStart: 166142 lbaEnd: 173261
Track 12 size: 26610528 lbaStart: 173561 lbaEnd: 184575
Track 13 size: 33059712 lbaStart: 184875 lbaEnd: 198631
[BUS] BIOS File found. Contents Loaded.
[EXP2] PSX: POST [f]
[EXP2] PSX: POST [e]
[EXP2] PSX: POST [1]
[EXP2] PSX: POST [2]
[EXP2] PSX: POST [3]
[EXP2] PSX: POST [4]
[EXP2] PSX: POST [1]
[EXP2] PSX: POST [3]
[EXP2] PSX: POST [4]
[EXP2] PSX: POST [5]
[EXP2] PSX: POST [6]
[EXP2] PSX: POST [2]
[EXP2] PSX: POST [5]
[EXP2] PSX: POST [6]
[EXP2] PSX: POST [7]
System.InvalidOperationException: Cross-thread operation not valid: Control '' accessed from a thread other than the thread it was created on.
   at System.Windows.Forms.Control.get_Handle()
   at ProjectPSX.Devices.GPU.tick(Int32 cycles) in D:\Projects\Tests\ProjectPSX-master\ProjectPSX\Devices\GPU\GPU.cs:line 184
   at ProjectPSX.ProjectPSX.RunFrame() in D:\Projects\Tests\ProjectPSX-master\ProjectPSX\Core\ProjectPSX.cs:line 58
   at ProjectPSX.Window.EXECUTE() in D:\Projects\Tests\ProjectPSX-master\ProjectPSX.WinForms\UI\Window.cs:line 320

Any ideas how I could get this running?

EDIT: It runs if I Start Without Debugging. But it runs too slow in Debug Build and too fast in Release build.

More tests on linux

Os:
ubuntu 20.04

.Net:
Core 3.1

Error message:
Screenshot from 2020-07-06 14-50-51

Description:
Well I've made some manual commenting on Window.cs class seems to be related with Implementation of IHostWindow when its removed the program runs (of curse without any screen or window) but give no errors...

Toughts:

Maybe can be a problem with OpenTK itself due to : Failed to create context: GLXBadFBConfig
or
Render Method from IHostWindow:

public void Render(int[] vram) {
            vSyncCounter++;
            displayBuffer = vram;
        }

Compatibility with NetStandard2.0 and NetFramework

Hello,

Is there any plans to have compatibility with NetStandard2.0 to be playable on mono/net framework?

Also is it possible to have this cross platform? F.e. it is possible to use Avalonia host to be launched on Linux.

Testing CTR on Linux

Im using SCPH1001 and Crash Team Racing SCUS-94426 under Ubuntu 20.04

-this is related to DarkLotus's basic linux support's PR

*Edit: I was thinking instead of using WindowsForms in my fork of this project, runs it directly inside godot, to this I just need to know from you @BluestormDNA how the screen is rendered inside winforms, it like a sequence of images? there is a file which I can look how its done?

About CTR, it stucks on Sony Computer Presents (CTR's First Screen) I remember this happing on old versions of ePSXe and it was fully related to the Sound Plugin:

setup file    : cdrom:SYSTEM.CNF;1
TCB	00000004
EVENT	00000016
STACK	801ffff0
BOOT =	cdrom:\SCUS_944.26;1
argument =	
KERNEL SETUP!

Configuration : EvCB	0x16		TCB	0x04
boot file     : cdrom:\SCUS_944.26;1
EXEC:PC0(8007793c)  T_ADDR(80010000)  T_SIZE(0007d800)
boot address  : 8007793c 801ffff0
Execute !

                S_ADDR(801ffff0)  S_SIZE()
addr=8008c6fc
ResetGraph:jtb=8008ad38,env=8008ad80

=================================================================
	Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
used by your application.
=================================================================

=================================================================
	Native stacktrace:
=================================================================
	0x55d0cbe367f0 - /usr/bin/cli : (null)
	0x55d0cbde31a9 - /usr/bin/cli : (null)
	0x55d0cbe35a07 - /usr/bin/cli : (null)
	0x7f78200353c0 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
	0x7f781fb06859 - /lib/x86_64-linux-gnu/libc.so.6 : abort
	0x55d0cc095835 - /usr/bin/cli : (null)
	0x55d0cc0b326e - /usr/bin/cli : (null)
	0x55d0cc0b36b7 - /usr/bin/cli : monoeg_g_logv
	0x55d0cc0b3773 - /usr/bin/cli : monoeg_g_log
	0x55d0cc0a8c34 - /usr/bin/cli : (null)
	0x55d0cbfd6f7b - /usr/bin/cli : (null)
	0x55d0cbfd963c - /usr/bin/cli : (null)
	0x40b0e686 - Unknown

=================================================================
	Telemetry Dumper:
mono_coop_mutex_lock Cannot transition thread 0x7f781fade780 from STATE_BLOCKING with DO_BLOCKING

Thought I should tell you

I'm forking your emulator with intent to fortify it into a debugger/resource extractor/translation aid.

If you prefer we could cooperate instead of me just going my own way with your older source (I'm starting from when you got FF7 working). What say you?

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.