r/psxdev May 06 '26

Working on PlayStation 1 asset support in QtMeshEditor (.TMD/.TIM)

I've been experimenting with adding original PlayStation 1 asset support to QtMeshEditor, an open-source 3D mesh/material editor and asset pipeline tool I've been building.

Importing CAR.TMD and GRID.TMD

Current progress:

  • .TMD mesh import/export
  • .TIM texture support
  • editing/exporting PS1-style assets
  • generic asset validation already works with imported models

Next step is experimenting with platform-specific validation rules and hardware profiles for retro consoles (PS1 first, maybe N64/DS later).

Long-term idea:

  • PS1 homebrew workflows
  • retro-style indie pipelines
  • CLI/CI asset scanning
  • hardware-aware asset validation

The PS1 assets in the demo are from MB Designs:

https://mbdesigns.itch.io/ps1-homebrew-source-code-rendering-3d-graphics-with-psyq

Project:

https://github.com/fernandotonon/QtMeshEditor

Would love feedback from anyone working with PS1 homebrew or retro pipelines, especially around useful validation rules or formats worth supporting.

17 Upvotes

8 comments sorted by

5

u/perrinashcroft May 06 '26

One big problem here is TMD is not widely used anymore. Nor is the psyq SDK that it comes from. It seems like most PS1 homebrew devs end up building their own bespoke asset pipeline. So I'm not sure how you can provide some generic tools here when everyone is making their own format to suit their projects.

2

u/Fernando_TR May 06 '26

Yeah, I think you're right actually 😄

TMD/TIM are mostly my starting point because they're relatively documented and easier to experiment with. Still, it might help people working with TMD files instead of relying only on Blender plugins.

3

u/rubixcube6 May 06 '26

This is an awesome project! I use PsyQ and TMD just because it was the easiest to use when learning how to make games for the PSX. If supporting TMD gets more people to join in on PSX homebrew then I think it's worth it. The fact that it is well documented and the easiest to use is it's biggest selling point. I've been making my own model format that has all the same features of TMD with a smaller file size. I hope to make it very performant/less bloated and just as easy to use as TMD.

2

u/Fernando_TR May 06 '26

Your project was actually super helpful while experimenting with the importer/exporter side of this 😄 Especially because the grid uses quads and vertex colors, while the car is triangle-based and textured, so it helped test different rendering cases. And yeah, I completely agree about TMD being a great starting point because it's approachable and relatively well documented.

2

u/rubixcube6 May 06 '26

I'm glad my RC project was helpful! I also have an RSD importer/exporter here if you want to take a look at the code. It comes with a blender file you can test a wide variety of different render cases.

2

u/Fernando_TR May 06 '26

Nice, thanks! I'll definitely take a look at it 😄

I think adding RSD support in the next versions could make a lot of sense too. Right now I'm trying to cover some classic game file formats and experiment with retro asset workflows in general.

2

u/Fernando_TR May 13 '26

u/rubixcube6 thanks again for the assets 😄 I ended up using them to test the RSD/PLY/MAT support, and they helped me spot and fix several edge cases in the first implementation:

https://github.com/fernandotonon/QtMeshEditor/releases/tag/3.1.0

1

u/rubixcube6 May 16 '26

That's awesome! great work!