You're being inconsistent btw, Shadowlayer, first you say u wanted an all-powerful portable to emulate 32bit generation consoles, such as the Saturn, the n64 and the PSX, and then you go on to say you were thinking about a portable DC - although I m sure you ll have figured out that the DC can't emulate the n64 at a workable level.
If it can emulate it, of course it can outperform it! If you wanna turn to Dhrystone MIPS for a quick comparison, the Neo Geo had about 1 -2 MIPS at it's disposal. The SH4 has 360 MIPS. That means its about 240x more powerful, before you mention memory speeds, bus speeds, integer performance, etc. And using the CPU to generate graphics isn't like an emulator - no instructions are being converted from one set to another. I agree, 68k is pretty useless. How on earth can a CPU be FREE? Why would it have to be coded in assembly? One of the main plus points for using a SH4 chip would be that a lot of homebrew could be converted without having to recode much. Sure the video, sound and IO would have to be redone, but that's not a lot in comparison to porting to another platform.
opethfan, I would use MIPS as a measurement with caution. In reality MIPS don't show anything, because they are relative to how the instructions on each processor are perfomed, and on different processors you need different number of cycles for the same function etc. MIPS are just there to impress at first sight ;p
[offtopic]MIPs are meaningless, especially when it comes to games, find some measure of conditional performance[/offtopic] Anways, I'm not talking about emulating a CPU, only abstracting sound and video hardware which all emulators do. There'd be no point in emulating a CPU unless you wanted to make a new virtual console-console. Because most large FPGAs now come with PPC cores... What's the point of choosing SH4 if nobody familiar with SH4 is going to be writing assembly?! :lol: There's no logic to that. The SH series is very obscure, unfriendly, expensive and old.
I know that MIPS are just one way of measuring performance, hence why I said that memory and bus speeds, etc, can be an issue too. My point was that the SH4 is infinately more powerful than a Neo Geo. As Barc0de said, assembler's only used for BIOSes or drivers nowadays, as C(++) offers enough performance with a lot less effort. Hardly anythings coded in assembler anymore. PPC has a much greater infrastructure (Open Firmware, Linux, Darwin, etc.) but I don't know about the performance of these FPGAs, or anything else about them, for that matter. SHx isn't too obscure (there are 20+ million consoles that use them out there), but compared to PPC, it is. Would you say PPC is a more realistic choice than SH4?
Sorry to barge-in the conversation, but I would only use a Super-H processor if I was really concerned about power consumption. They are very good for embedded systems and portables but I think PPC is a more mature and powerful approach, hence its existence in all major current generation platforms.
But it's not infinitely more powerful if in addition to the game logic it has to be the VDP and audio DSP. Assembly would also have to be used to make libraries and do hardware bit-banging. FPGA are programmable devices capable of implementing millions of logic gates. SH isn't obscure for a few Japanese embedded applications but very few people have experience programming SH in the scheme of things. PPC would be a better choice for sure. I think IA would be an even better choice though despite all the architecture's academic shortcomings.
Apparently the main issue behind the lack of proper N64 emulation (and Divx playback) in the DC was the lack of RAM. We knew that (at the time the DC scene had peaked already) and thats why we were going to put lots of RAM into the unit: 128MBs (2x64MB chips) a lot compared to the DCs total system memory which is 26MB (16MB of main memory, 8MB of video memory, and 2MB of sound memory). But again, the whole project never passed the mindstorm phase, so while some wanted a portable DC we just couldnt get a VR2 that could fit in the system, and while there was a lot of hype around the SOC DC (even Extreme Tech did an article on that) Renesas just scrapped the whole thing and we couldnt get anything beyond the initial benchmarks, which BTW were more in line with Naomi2 that the DC. Haha, nah it was just a joke, like a more nerdy way to say the GBA has low quality 3D, but with some tricks you can do better than the 32X (althought the 32X died before programmers could code the crap out of it).
We discussed IA (namely VIA C7) but the problem is, x86 chips are always being replaced and updated, so if a chip is discontinued, we're in trouble. Still, AMD and VIA do make embedded x86 chips, so I don't think x86 is completely out of the question. In regards to the video processor, indeed using the CPU to render graphics would impact performance, but if you use any Windows OS before Vista, Mac OS 1-9 or Linux without XGL, the CPUs generating the graphics, and the video cards just spitting it out onto the screen, yet performance is barely affected. Of course a dedicated card would make things better, but comparing the positives and negatives is something that has to be done with every project. The main thing a 2D console needs is RAM. A Dreamcast had 16MB RAM, a Neo Geo 64KB. If you could give a system 128 or 256MB, it would be able to load sprites\polygons way quicker, giving you more frames of animation at a higher resolution, with better (MP3 or Ogg Vorbis) quality sound, while still being cheap (memorys cheap as dirt nowadays, the quickest advancing computer technology probably), which this should be all about, right?
What about a Dual-SH4 array (dunno if theres a dualcore already) using one as the CPU and the other as the GPU (since this is a 2D console right? or are we goin 3D too?) and a minimum of 256MB of RAM (I would rather put 512MB, dunno about you guys) two standart 3.5 inch HDD bays, ethernet and USB ports and bluetooth & WiFi modules. We could even add a old school PC joystick port for those who want to use old Quickshot controllers.
A dual core SH4 is in planning, so it could be a while until it enters production, although a dual CPU configuration could work, size and price permitting. Of course, once you start bringing in more processors, coding gets harder, plus why not just use a real 2D card? 256MB\512MB of RAM could be feasable, if the price allows it. If the system used a CD for data, the more the merrier (for less loading times), if flash memory is used, less might be acceptable, as long as it doesn't impact performance. Personally, I'd perfer a system with 0 moving parts, small and therefor harder to break. Hard drives are large and easy to die. Wifi for online play and bluetooth for controllers would be ideal though.
An outdated CPU is the least of your worries if you don't know what a FPGA is. Who is going to actually put this all together? Now there's talk of dual SH4? This is getting more and more ridiculous. 2D consoles don't even have "GPU", VDP don't run code, they run a giant fixed state machine which is implemented in old fashioned logic. You guys need to do some homework besides CPU specs if you're serious about making a console.
Hey man, no need to start ruining fun. We all learn as we go, and experience is the best teacher. Plus, how do all these little shitty start ups get stuff built? It's possible, as long as there are dedicated people behind a project. For now, we're simply debating what the best hardware for this kinda system would be. Whether or not any of it would ever come to fruition is another story.
Dude you first talk about price, then you want a system with no moving parts? SSDs are too expensive right now, using them would double the price of the console. And optical storage is the most fragile part of most consoles, just look at how many PS2 end in the can cuz the DVD get broken. What we could do is just slap two IDE ports there so if you want you can stick an optical drive, a HDD, a SSD or just a IDE-to-CF adapter to use flash cards of any type. About the dual SH4, theres still no dualcore so a dual array is the only way to go for now. But if a dualcore version gets released after the console, we could make a portable with it:nod:
USB, my friend, is your friend. You want a game? Put it on a flash drive and go. Want lots of games? USB hard drives!
Is too expensive when compared to HDDs, and sooner than latter SSDs will be cheaper than flash drives too...
The 2nd cpu was one of the decisions that kept the saturn in relative obscurity. Some of the simpler games don't use it at all, because it's insanely complex to write code that takes advantage of it. They could have dropped half the chips(*) out of the saturn if they wanted to make a good 2d system. Dreamcast is a beter contender in terms of performance and it's ability to run games off cd's without a mod chip. (*) the chips they added on in a panic at the end to try to make it compete with the PlayStation, which it didn't. Compilers aren't written in assembly, they generate it. Writing optimised code in assembly just takes too long. You can easily write assembly that is slower than the equivalent C/C++ because the compilers optimiser can think quicker and more reliably than you. RISC processors were designed for high level languages, lots of registers and instructions that a compiler would use. While CISC processors were designed for writing in assembly. I wouldn't pick an x86 for this reason, although a conroe-l running in 64bit mode wouldn't be too bad. 49 dollars in 1000's at launch is a bit expensive though, maybe it will drop. It would literally laugh it's head off at any of the processors you've been thinking of using though. opencores.org has a mips-i at ~20-30mhz on an fpga. Although thats not really fast enough to just bolt a framebuffer onto. Personally I'd opt for cloning a PlayStation chipset on a FPGA and making it portable & run off SD cards. If you want to have fun and learn then that would be a great little project, though a PSP would be cheaper to buy. smf
The problem with the Saturn is that both processors couldnt access the memory at the same time.... I already said that it was going to have IDE, USB and Ethernet ports... An external HDD? well either that or a USB case...