Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

CTRX 3DS: Difference between revisions

From GameBrew
No edit summary
m (Text replacement - "Category:3DS homebrew emulators" to "")
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox-3DS-Homebrews
{{Infobox 3DS Homebrews
| title = CTRX
|title=CTRX
| image = https://dlhb.gamebrew.org/3dshomebrew/CTRX.jpeg|250px
|image=Ctrx3ds2.png
| type = Console
|description=PSX emulation research/development for 3DS.
| version=v0.9-alpha
|author=machinamentum
| lastupdated = 2015/10/05
|lastupdated=2015/10/05
| licence = Mixed
|type=Console
| author = machinamentum
|version=0.9-alpha
| website = https://github.com/machinamentum/CTRX
|license=Mixed
| download = https://dlhb.gamebrew.org/3dshomebrew/CTRX-3DS.rar
|download=https://dlhb.gamebrew.org/3dshomebrews/ctrx3ds.7z
| source = https://github.com/machinamentum/CTRX
|website=https://github.com/machinamentum/CTRX
|source=https://github.com/machinamentum/CTRX
}}
}}
<youtube>HtPI920tDPA</youtube>
{{Obsolete}}


==CTRX 3DS==
CTRX 3DS is a POC PS1 emulator written from the ground up. It is built using nextvolume's PSXSDK.


Hello, About 1 month ago I began working on an experimental PS1 emulator. This is the very first release. It's still missing many core functions, but I believe it is ready to be shown as a bare-bones proof-of-concept. Included in the download is a freeware BIOS replacement; this is necessary to use the emulator as other BIOS aren't designed with CTRX's current state in mind. Also included is a freeware PS1 homebrew (boot.exe) that prints text to the screen using the GPU. It is built using nextvolume's PSXSDK and its source can be found in the attachment(s) to this post.
It is more of a research and development project and only supports some of the most basic of PS1 homebrews (HSF/ISO).  


The emulator will attempt to run any PSX EXE file found at sdmc:/3ds/CTRX/boot.exe but bear in mind, that chances are it won't run at this point in time.
==Installation==
Included in the release is a freeware BIOS replacement; this is necessary to use the emulator as other BIOS aren't designed with CTRX's current state in mind.  


CTRX is a new and free emulator. It has been written from the ground up. It is not a port. It is also free. It has no price and does not bind the user's soul to a document written in legalese. Contributions to the project (including donations) are always appreciated.
Also include's nextvolume's puzzle example from PSXSDK.


==Dynamic recompilation notes:==
==Screenshots==
https://dlhb.gamebrew.org/3dshomebrews/ctrx3ds2.png
https://dlhb.gamebrew.org/3dshomebrews/ctrx3ds3.png
 
https://dlhb.gamebrew.org/3dshomebrews/ctrx3ds4.png
https://dlhb.gamebrew.org/3dshomebrews/ctrx3ds5.png
 
==Known issues==
Ready to be shown as a bare-bones proof-of-concept however it is missing many core functions.
 
==Changelog==
'''Release 9'''
* Adds Vblank & vertical retrace events
* Add big-endian support
 
'''Release 8'''
* Drastically improved performance.
 
'''Release 7'''
* HSF/ISO file support.
* Interpreter is now using a threaded-style dispatch.
 
'''Release 6'''
* Fixes graphics bugs.
* Reduced file size.
* Improved ninjhax2 stability.
 
'''Release 5'''
* CPU interpreter optimizations.
* Emulated GPU texture caching.
* Various fixes.
 
'''Release 4'''
* Add JoyPad support.
* Fix DMA2 linked lists.
* Fix GPU texture decoding for 8-bit and 16-bit modes.
* Add GP0(0x62).
* Add firstfile & FileSeek HLE.
* Various fixes.
 
'''Release 3'''
* BIOS now loads user program from emulated CDROM directory (loads SYSTEM.CNF then loads the EXE listed under BOOT).


Hypothetically, a dynamic recompiler can be written to work on all firmwares (without a kernel exploit) by using gspwn to write the output to memory pages that are already marked as executable. MIPS is an interesting platform because the most significant byte of the current program counter controls which memory segment the code is running. All the memory segments mirror each other, however, one of the segments has the CPU cache enabled and the user code can choose which segment to run in using absolute memory jumps; this is a good starting point for determining which code is viable for dynamic recompilation in real time.
'''Release 2'''
* Added GPU commands 0x2C and 0x60.
* Added 8-bit palleted texture decoding.
* Added 16-bit direct texture decoding.
* Performs texture color correction.
* Fix BGEZ not being decoded correctly.
* Added %s, %x, and %X support to Kernel's printf.
* Speed improvement: stop waiting for hardware VBlank.


==Screenshots==
'''Release 1'''
https://dlhb.gamebrew.org/3dshomebrew/CTRXscreenshot00.png
* Added GP0(0x64, 0xE1...0xE5), buggy DMA2 handling.
https://dlhb.gamebrew.org/3dshomebrew/CTRXscreenshot01.png
* Various small fixes.
https://dlhb.gamebrew.org/3dshomebrew/CTRXscreenshot03.png
 
https://dlhb.gamebrew.org/3dshomebrew/CTRXscreenshot04.png
==External links==
* GitHub - https://github.com/machinamentum/CTRX
* GBAtemp - https://gbatemp.net/threads/ctrx-ps1-emulator.397121

Latest revision as of 05:59, 6 Mayıs 2024

CTRX
Ctrx3ds2.png
General
Authormachinamentum
TypeConsole
Version0.9-alpha
LicenseMixed
Last Updated2015/10/05
Links
Download
Website
Source

CTRX 3DS is a POC PS1 emulator written from the ground up. It is built using nextvolume's PSXSDK.

It is more of a research and development project and only supports some of the most basic of PS1 homebrews (HSF/ISO).

Installation

Included in the release is a freeware BIOS replacement; this is necessary to use the emulator as other BIOS aren't designed with CTRX's current state in mind.

Also include's nextvolume's puzzle example from PSXSDK.

Screenshots

ctrx3ds2.png ctrx3ds3.png

ctrx3ds4.png ctrx3ds5.png

Known issues

Ready to be shown as a bare-bones proof-of-concept however it is missing many core functions.

Changelog

Release 9

  • Adds Vblank & vertical retrace events
  • Add big-endian support

Release 8

  • Drastically improved performance.

Release 7

  • HSF/ISO file support.
  • Interpreter is now using a threaded-style dispatch.

Release 6

  • Fixes graphics bugs.
  • Reduced file size.
  • Improved ninjhax2 stability.

Release 5

  • CPU interpreter optimizations.
  • Emulated GPU texture caching.
  • Various fixes.

Release 4

  • Add JoyPad support.
  • Fix DMA2 linked lists.
  • Fix GPU texture decoding for 8-bit and 16-bit modes.
  • Add GP0(0x62).
  • Add firstfile & FileSeek HLE.
  • Various fixes.

Release 3

  • BIOS now loads user program from emulated CDROM directory (loads SYSTEM.CNF then loads the EXE listed under BOOT).

Release 2

  • Added GPU commands 0x2C and 0x60.
  • Added 8-bit palleted texture decoding.
  • Added 16-bit direct texture decoding.
  • Performs texture color correction.
  • Fix BGEZ not being decoded correctly.
  • Added %s, %x, and %X support to Kernel's printf.
  • Speed improvement: stop waiting for hardware VBlank.

Release 1

  • Added GP0(0x64, 0xE1...0xE5), buggy DMA2 handling.
  • Various small fixes.

External links

Advertising: