VOGONS


First post, by 0101000000110101

User metadata
Rank Newbie
Rank
Newbie

Hello everyone! I have been a huge enthusiast of the Playstation 1 for as long as I can remember, I grew up with it and have always been fascinated by its jittery, pixely 3D graphics capabilities.

R3000.png
Filename
R3000.png
File size
37.56 KiB
Views
1904 views
File license
Fair use/fair dealing exception

So with this, I would like to find an IA-32 PC that is nearest in performance if not equal to the 33.33Mhz MIPS R3000 that the Playstation 1 used, for 3D graphics creation and game development. I would like to use an actual MIPS R3000, but those systems are incredibly difficult to find, and I doubt the animation software I use is compatible with it.

My research suggests that even the 286 is a bit faster than the R3000 by transistor count, but the 286 has the clock speed disadvantage and 16-bit processing limitations.

With that, I'm thinking that a 25Mhz 386 may be nearest to the R3000 33.33Mhz? I question looking into the SX variants, which has a 16-bit data bus, which in reduced performance may be closer to the CPU I'm trying to match.

I would like your guy's input on this, tell me what you think would match this CPU, and if you have the resources, perhaps benchmark an R3000.

Sources:

https://en.wikipedia.org/wiki/R3000

http://www.cpu-world.com/CPUs/R3000/

The end goal is to influence my purchasing decisions on an IA-32 PC that is most like a PS1.

What would even be more amazing is if I freaking studied all the right programming languages and computer engineering, I could attempt to modify a PS1 and install DOS on one.

1995 Gateway 2000 P5-120
Intel Pentium P5 120Mhz
16MB EDO RAM
1MB Trident 3D capable GPU
250GB Western Digital IDE drive
OS(s): Windows 98/Windows 2000 SP1

Reply 1 of 13, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

I don't think any x86 system is going to be much like the PS1. Even with similar CPU performance levels, the instruction set and operational characteristics of the CPU will be quite different, and the graphics engine is entirely different.

Why don't you write some real PS1 stuff using both emulation and mastered disks for real Playstation hardware?

All hail the Great Capacitor Brand Finder

Reply 2 of 13, by jade_angel

User metadata
Rank Member
Rank
Member

Comparing performance here is tricky. I found some benchmarks here: https://www.linux-mips.org/archives/riscy/199 … 6/msg00038.html

Relevant points - a 40MHz MIPS R3000 gets 18.1 MFLOPS, while a 66MHz 486DX2 only gets 3.1 MFLOPS. So, the MIPS is downright Pentium-class for floating-point code. For integer code, the MIPS R3000/40 manages a score of 22.6 in SPECINT89, while the 486DX2/66 gets 34.0. A 33MHz R3000 will be a little slower than this, of course. The R3000 doesn't have any cache, but it supports cache on the motherboard with various configurations possible - this test used an SGI IRIS 4D/20.

So, a perfect comparison is hard, but it's fair to say the R3000 will run rings around a 386, even at 40MHz. A fast 486 will be a lot faster in integer code, but a lot slower in floating-point stuff. 3D stresses floating-point quite a bit more, though. So, your best equivalent is probably a Pentium or so. A Pentium/200 is about 2.5x as fast as a 40MHz R3000 for floating-point code, so, by extrapolation, a Pentium/90 ought to be pretty close - but the Pentium will be a lot faster for integer code. Memory bandwidth will probably be a win for the Pentium. You could go with a 486DX4 or a 5x86/133, which would be faster for integer code but almost certainly slower for floating point code.

You'll probably never get DOS running on anything with an actual R3000 in it without coding your own workalike. Some kind of UNIX is what they generally run - Linux is an option here, or NetBSD.

If you actually want a MIPS box to work on, see if you can find an SGI Indigo2. Earlier ones like the IRIS 4D/20 are more PS1-like, but also much harder to find, harder to get software for, harder to get peripherals for, etc. Go with an Indigo2, since it can use PS/2 keyboards and mice, EISA network cards, standardish SCSI hard disks, etc.

Main Box: Macbook Pro M2 Max
Alas, I'm down to emulation.

Reply 3 of 13, by xjas

User metadata
Rank l33t
Rank
l33t

The PS1's strength wasn't its integer or floating point power, it was its graphics co-processor & specialized instruction set. You might find a 486 with a 3D card is closer to what you're thinking.

twitch.tv/oldskooljay - playing the obscure, forgotten & weird - most Tuesdays & Thursdays @ 6:30 PM PDT. Bonus streams elsewhen!

Reply 4 of 13, by amadeus777999

User metadata
Rank Oldbie
Rank
Oldbie

It depends on what you want to do. Are you speaking performance in raw terms of the processor itself or how
it performs as a total - like its "embedded" performance in the "PSX" system regarding "primitves" output?

Also, your post sounds pretty theoretical to me...
"What would even be more amazing is if I freaking studied all the right programming languages and computer engineering".
This indicates that you're off to something exotic even though you're most likely not even well versed at the basics.

Reply 5 of 13, by jade_angel

User metadata
Rank Member
Rank
Member
xjas wrote:

The PS1's strength wasn't its integer or floating point power, it was its graphics co-processor & specialized instruction set. You might find a 486 with a 3D card is closer to what you're thinking.

This is another very good point.

What is it about the PS1 you want to replicate, exactly? If you're aiming at building a game with some of the same constraints as you would have had in that era, you could just as easily get pretty much any Socket 5 or Socket 7 board with a decent-for-the-time 3D card, like a TNT or a Rage 128. If you want to play with something that's not your average PC, target an SGI or a Sun, maybe.

Main Box: Macbook Pro M2 Max
Alas, I'm down to emulation.

Reply 7 of 13, by shiva2004

User metadata
Rank Member
Rank
Member

First and to answer your question, if you want a PC with more or less the same perfomance in 3D games than a PSX you can use a fast 486 or a slow pentium with DOS, a little faster if you want to run windows.
If you want to imitate the PSX capabilities with more modern hardware you can restrict yourself to about 300,000 poligons per second, with no more than 10k-12k per frame at a resolution of 320x240; you also have to disable texture filtering and mipmapping, ideally you'll have to disable also z-buffer and perspective correction, but I don't know if this is even possible in modern cards. Then scale this mess to the desired resolution and add scanlines (darken one line of every two 25% to 33%), you'll obtain a look very very similar to that of the PSX.

With that out of the way, and to be blunt, it seems to me that you don't have the slightest idea of what you're talking about: first, the R3000 is only a (very) small part of what makes the PSX special, most of it comes from the custom graphic and sound processors, you need a much faster CPU in a PC to "compensate" that; second, you can't compare different processors with different architectures and purposes based on transistor count and/or clock speed, and third you can never, ever, put DOS in a PSX, it's a completely different and incompatible architecture compared to a PC.

Reply 8 of 13, by 0101000000110101

User metadata
Rank Newbie
Rank
Newbie

Allow me to share context as to what I'm doing.

Currently I'm constructing a temporary solution.

Once I obtain the long wished Net Yaroze, I will begin developing various games and software for the platform.

Again, what I am doing is temporarily solving my personal need to overall come close enough to a PS1 for making 3D graphics and animations for fun. Just a system that is close enough to what I'm trying to get.

Obviously there is way more to the PS1 then just the CPU alone. I'm staring with CPU comparison so I can find a system to work with, then decide on the GPU and so on. I'm painfully aware that PCs are almost nothing like the PS1 in architecture and nature. Just a system that performs overall similarly, if not a balance of all the pros and cons.

And yes, some of the ideas I had mentioned are very theoretical, I never expect to successfully modify a motherboard to that extent.

1995 Gateway 2000 P5-120
Intel Pentium P5 120Mhz
16MB EDO RAM
1MB Trident 3D capable GPU
250GB Western Digital IDE drive
OS(s): Windows 98/Windows 2000 SP1

Reply 9 of 13, by lolo799

User metadata
Rank Oldbie
Rank
Oldbie

You could get a regular PS1 with an expansion port and an Action Replay (with its ISA interface card) or another cheat cartridge like the Xploder and a parallel cable, then use one of the many solutions out there to upload code using those, like the Caetla firmware or one of the upload tools dedicated to each cartridge.
You could use a chipped PS1 with a copy of the cracked Yaroze boot disc and the Sharklink cable, as finding is Yaroze is easy but expensive.

You can also get the full (or parts of) the professional PS1 devkit if you look in the right direction, like Yahoo auctions: http://auctions.search.yahoo.co.jp/search?p=dtl-h
The assemblergames forum is also a good starting point.

PCMCIA Sound, Storage & Graphics

Reply 10 of 13, by Azarien

User metadata
Rank Oldbie
Rank
Oldbie
shiva2004 wrote:

If you want to imitate the PSX capabilities with more modern hardware you can restrict yourself to about 300,000 poligons per second, with no more than 10k-12k per frame at a resolution of 320x240; you also have to disable texture filtering and mipmapping, ideally you'll have to disable also z-buffer and perspective correction, but I don't know if this is even possible in modern cards.

"Everything" is possible on modern cards, because they are much more flexible than 3d accelerators from the 90's or early 2000's.

All those glitchy-crappy-blocky 3d rendering techniques of the old times are possible to do on modern hardware.

Reply 11 of 13, by 0101000000110101

User metadata
Rank Newbie
Rank
Newbie

I can use a somewhat newer GPU, but at the very least I would like the system to have been made around the same time as the PS1. I'm not trying to perform emulation, rather, a system similar at heart and performance.

Thank you all very much for your input, you're welcome to still add stuff. I'm going to head for a 486 system of some sort, otherwise, a 66Mhz Pentium 1, since those systems range in the "on average" performance similarity. Feel free to recommend a PCI graphics card. 😀

1995 Gateway 2000 P5-120
Intel Pentium P5 120Mhz
16MB EDO RAM
1MB Trident 3D capable GPU
250GB Western Digital IDE drive
OS(s): Windows 98/Windows 2000 SP1

Reply 12 of 13, by amadeus777999

User metadata
Rank Oldbie
Rank
Oldbie

A P66 is more interesting than a 486 since it's "nichy" and may yield better performance in certain areas especially when you're able to write good assembly code for it(see Agner Fog's tutorial on it https://www.gamedev.net/articles/programming/ … imizations-r211 ) BUT this is of less impact if you want to use the system like a "playstation" since rasterization is mostly "externalized" onto the "gfx system". Albeit you will get some speedup for some of the transformations if you hand-code their "guts"(see for example Michael Abrash's Blackbook "Floating Point For Real-Time 3-D"/Ch.63/p.1165).
A nice test card might be a Riva128.

'Take everything I have said with a huge grain of salt though!

Do you have any math/programming background or are you seeing this as a learning "project"? Might be biting off way more than you can chew here.

Reply 13 of 13, by dieymir

User metadata
Rank Newbie
Rank
Newbie

Maybe you didn't know this, but there is a company that manufactured MIPS R3000 and also (briefly) x86 processors: IDT. Here is a list of processor manufactured by this company:

http://www.chipdb.org/cat-idt-261.htm

The IDT WinChip is a Pentium-like processor whose design was inspired by RISC processor ideas.

https://en.wikipedia.org/wiki/WinChip

From the Wikipedia:

The design of the WinChip was quite different from other processors of the time. Instead of a large gate count and die area, IDT, using its experience from the RISC processor market, created a small and electrically efficient processor similar to the 80486

A 240Mhz Winchip C6 can directly replace a 90Mhz Pentium processor. It's a PnP replacement, same core voltage, 60Mhz bus and WinChip interprets the Pentium 1.5 multiplier as 4 (4x60=240). You have also 180, 200 and 225 (3x75) Mhz parts available.

MIPS and x86 processors have very little in common but with the WinChip processor you will have a small link between them.