View unanswered posts | View active topics It is currently Fri Jul 03, 2020 3:45 pm



Reply to topic  [ 23 posts ]  Go to page 1, 2  Next
 Pentium III Game Console 

When I complete this project, would you attempt to make it too?
Yes 0%  0%  [ 0 ]
Maybe 100%  100%  [ 2 ]
No 0%  0%  [ 0 ]
Total votes : 2

 Pentium III Game Console 
Author Message
User avatar

Joined: Thu Oct 08, 2015 11:57 pm
Posts: 56
Several years ago I always had the idea of making a game console. I have made numerous designs, each one better than the last. The platform kept evolving, starting from discrete logic gates, to the z80, to the 68K, then I took a look at the IMX.6 processor, then considered AVR, then PIC. Then, about 8 months ago, I received and old HP laptop to take apart and mess around with. I pull out the old Pentium III and thought: "Maybe I can use this for my game console...". I decided that it would be my best option. Hey, I had to use for something, right? So ever since then it's just been collecting parts, asking questions, refining designs, writing code, and all that fun stuff. But I am by no means close to finished. Here are the specs I am aiming for:

800 MHZ Pentium III Mobile CPU (The same as in the original Xbox, but at a higher frequency and twice the cache space)

Custom designed GPU on an XC7A200T Artix 7 FPGA

Custom designed North Bridge on an XC2C512 Coolrunner-II CPLD

256 MB DDR2 RAM (Or 128 MB if only 16 bit words are used. That should still be more than enough)

64 MB DDR2 Video RAM (Again, a lot more than I need)

ATSAMV71Q21 ARM microcontroller for the South Bridge / DSP

100 MHZ FSB clock (Don't really have a choice on this)

1GB flash for core OS and libraries

SD card reader for Game saves and other things

Modified Laptop CD drive

10/100 base-T Ethernet

Wi-Fi (maybe)

Bluetooth for the controllers

Two USB ports (also for controllers)


Below is an image of what I have collected so far.
Image

Now, about my knowledge background. I know an exceptional amount of info about high speed circuitry, I can code in Java, assembly, and am learning C/C++. I am also making a 68K homebrew computer as a way to pass the time when I'm bored, and will make a computer based off of the 68060 in the near future. I have made an interpreter based computer using the Arduino Uno, when I get to repairing it I may post about it here.

I have come here because I have seen how supportive this community is, and I wish to seek guidance from someone more experienced than me. But before I bombard everyone with questions, are there any suggestions or tips you guys have for me? I already know that transmission lines have to be over a ground plane, and that they have to be the same length depending on how long they are supposed to be. I know about line termination and that I have to bypass the power supply using capacitors. I know that the programming is going to be a b***h to me. So other than those things, is there anything else I need to know? Also, even though I'm still in high school, I understand computer terminology very well. So don't be afraid to use big words with me :D .

Some things I do need help with are the following:

    How in the world do I use the AGTL+ bus? Is there a PDF file out there that will help me? I'm talking about timings and the interface, not the electrical aspects of it.

    Is the FPGA I picked out for the GPU good enough? Or do I need more juice?

    Lastly, how so I get a GPU company to help me on this? Because I have a Savage IX GPU sitting around, and I'd rather use THAT than make my own. But S3 just loves giving me the silent treatment.

I am also writing an emulator in Java before hand so I know how to put this thing together. As of now I don't have any problems with it (except for the DSP), but if any others crop up I'll ask here. One more thing, a link to an ongoing Instructable I am making can be found here: http://www.instructables.com/id/Home-Made-Pentium-III-Game-Console/


Fri Oct 09, 2015 12:45 am
Profile

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1418
Hello and welcome! Good idea to test out your ideas in an emulator first off.

Your ideas are very ambitious. My favourite quote for this is Thomson's Rule for First-Time Telescope Makers: "It is faster to make a four-inch mirror then a six-inch mirror than to make a six-inch mirror"

If you haven't already completed a simple low-speed homebrew computer design, I'd strongly recommend you do that first. Some of the things you think you know and some of the things you don't realise you don't know will get sorted out in the process. And it always feels good to finish something - far better than to get half-way in something that's ten times more involved.

Good luck!
Ed


Fri Oct 09, 2015 8:16 am
Profile
User avatar

Joined: Tue Jan 15, 2013 5:43 am
Posts: 183
FloppidyDingo wrote:
are there any suggestions or tips you guys have for me?
Listen to Ed. (He'd have the very same advice for an older person, BTW -- and it's as constructive and honestly supportive as any you'll find.)

You're obviously quite articulate and ambitious, FloppidyDingo, and it's nice to have you with us -- welcome! BTW this forum covers all sorts of subjects. Could you also tell us a bit about the interpreter based computer using the Arduino Uno, please? -- maybe just a short summary of what it does and the issues you faced.

cheers,
Jeff

_________________
http://LaughtonElectronics.com


Fri Oct 09, 2015 2:54 pm
Profile WWW
User avatar

Joined: Thu Oct 08, 2015 11:57 pm
Posts: 56
BigEd wrote:
Hello and welcome! Good idea to test out your ideas in an emulator first off.

Your ideas are very ambitious. My favourite quote for this is Thomson's Rule for First-Time Telescope Makers: "It is faster to make a four-inch mirror then a six-inch mirror than to make a six-inch mirror"

If you haven't already completed a simple low-speed homebrew computer design, I'd strongly recommend you do that first. Some of the things you think you know and some of the things you don't realise you don't know will get sorted out in the process. And it always feels good to finish something - far better than to get half-way in something that's ten times more involved.

Good luck!
Ed


The thing is, I'll probably finish my Homebrew computer before I can even afford all of the parts for the game console. In fact, I might be able to squeeze in TWO computers! And I love the telescope quote, because of how true it is. Don't worry, I'm taking baby steps. I know this is going to be a challenge, and taking it head on without practice won't work.

Dr Jefyll wrote:
Could you also tell us a bit about the interpreter based computer using the Arduino Uno, please? -- maybe just a short summary of what it does and the issues you faced.


It's not anything groundbreaking. It has 500 Bytes of RAM (using the SRAM on the chip), ran at 12MHZ (since I didn't have any 16MHZ crystals at the time, but now I have too many :lol: ), and the only IO was a bitmap display, a joystick, and some sort of UART port. It also used an SD card as storage. Attached are some pictures of it. What broke was that the CPU socket got worn out and stopped working correctly. This is because I forgot to put in an In System Programming feature for my motherboard, so every time I need to update the firmware, I need to remove the chip. Also, The temperature sensor doesn't work as it should, and the cable connecting to the display has a wire that will come lose every so often. I'm just going to redesign the thing and make it better, and maybe even give it some actual I2C SRAM or something. I'll post the firmware code if I can dig it up. It's somewhere in my computer, I just have to find it. And yes, I did use cardboard for the case. Don't judge me, I made this thing three years ago. Now I know better. The most I managed to get it do was say "Hello World!" The rest of the time was just firmware updates.


Attachments:
0126151622-00.jpg
0126151622-00.jpg [ 202.91 KiB | Viewed 10440 times ]
0126151621-00.jpg
0126151621-00.jpg [ 187.8 KiB | Viewed 10440 times ]
Sat Oct 10, 2015 6:17 am
Profile

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1418
And you built a case! That's great!


Sat Oct 10, 2015 1:34 pm
Profile
User avatar

Joined: Thu Oct 08, 2015 11:57 pm
Posts: 56
BigEd wrote:
And you built a case! That's great!

Thanks! Although I am going to make a metal or plastic case for it, just so I can take the thing apart without worrying about ripping something.


Sat Oct 10, 2015 5:59 pm
Profile
User avatar

Joined: Tue Jan 15, 2013 5:43 am
Posts: 183
Quote:
I am going to make a metal or plastic case for it
Heck, I kind of liked the cardboard. I've done stuff like that. Sometimes quick 'n' dirty fills the bill just fine.

Quote:
the only IO was a bitmap display, a joystick, and some sort of UART port. It also used an SD card as storage.
And a temperature sensor. Sounds pretty respectable to me. But I don't understand the "interpreter" comment, or the relation between the motherboard you mention and the Arduino.

-- Jeff

_________________
http://LaughtonElectronics.com


Sat Oct 10, 2015 6:31 pm
Profile WWW
User avatar

Joined: Thu Oct 08, 2015 11:57 pm
Posts: 56
Dr Jefyll wrote:
But I don't understand the "interpreter" comment, or the relation between the motherboard you mention and the Arduino.


Oops, sorry! I should've clarified that a bit. It's interpreter based because it reads a character from the RAM, and then executes code that corresponds to that character. I'd love to have it execute raw assembly, but the ATMEGA328 chip is not able to execute external code. And what I do is I program the chip on the UNO board with the Arduino platform, and then remove the chip and place it into my own board. I actually figured out how to program the chip without removing it from the board, I just need to make a minor change.


Sat Oct 10, 2015 7:55 pm
Profile
User avatar

Joined: Thu Oct 08, 2015 11:57 pm
Posts: 56
So I'm working on the CD drive part of my emulator, and I'm going to be making my own file system to use on the CDs. But I don't know if I'll just be able to burn a custom ISO to a CD without any issues. If I do burn my own ISO, will it look exactly the same on the CD when compared to the ISO file? Or do I have to use a real file system in order to burn it? And then will the CD drive in my game console be able to read the disk?


Sat Oct 10, 2015 8:48 pm
Profile
User avatar

Joined: Tue Jan 15, 2013 5:43 am
Posts: 183
FloppidyDingo wrote:
I'm going to be making my own file system to use on the CDs
Is this really necessary? (I don't know the answer to your question, BTW)
BigEd wrote:
it always feels good to finish something - far better than to get half-way in something that's ten times more involved.

_________________
http://LaughtonElectronics.com


Sun Oct 11, 2015 3:23 pm
Profile WWW
User avatar

Joined: Thu Oct 08, 2015 11:57 pm
Posts: 56
Dr Jefyll wrote:
FloppidyDingo wrote:
I'm going to be making my own file system to use on the CDs
Is this really necessary? (I don't know the answer to your question, BTW)
BigEd wrote:
it always feels good to finish something - far better than to get half-way in something that's ten times more involved.


Yes, it is. I find it much easier to make my own standards than to learn someone else's. Especially when that standard has a bunch of features that I have no use for. But Ed is right, I should really finish something else first. I'll start a new topic about my 68K computer, and put this one on the back burner.


Sun Oct 11, 2015 8:37 pm
Profile
User avatar

Joined: Tue Jan 15, 2013 5:43 am
Posts: 183
If it makes you feel any better, you're not the only one with back burner angst! :P

I'll be glad to hear more about the 68K computer.

_________________
http://LaughtonElectronics.com


Sun Oct 11, 2015 9:04 pm
Profile WWW

Joined: Tue Dec 31, 2013 2:01 am
Posts: 109
Location: Sacramento, CA, United States
Dr Jefyll wrote:
If it makes you feel any better, you're not the only one with back burner angst! :P

Ugh ... Amen, brother!

Mike B.


Mon Oct 12, 2015 4:29 am
Profile
User avatar

Joined: Thu Oct 08, 2015 11:57 pm
Posts: 56
Hello everyone! Just a quick update about this project. I'm doing some design changes once again to make this a bit easier on me. First: I'm going to drop the RAM to DDR 1. And then to drop the price and increase simplicity, I'm going to replace the FPGAs with smaller and cheaper CPLDs, and ones that aren't BGA. The DSP will only support WAV audio, and I'll leave the audio codecs to the processor. I'm also going to replace the fan with a faster one that is PWM controlled, so that way I don't cook anything. So after I finish my 68K computer (which it's almost done), I'm going to be making a mock game console using the Pentium Pro, so that way I get used to the AGTL+ bus and hardware design at lower frequencies. Once I get THAT working and playing a few games, then I'm ready to continue this project full steam ahead. But for now, this will be something that I'll work on when I'm bored. Let me hear your thoughts, and I'll be back with another update (either here or my 68K computer thread) real soon!


Mon Oct 26, 2015 11:55 pm
Profile
User avatar

Joined: Thu Oct 08, 2015 11:57 pm
Posts: 56
FloppidyDingo wrote:
Hello everyone! Just a quick update about this project. I'm doing some design changes once again to make this a bit easier on me. First: I'm going to drop the RAM to DDR 1. And then to drop the price and increase simplicity, I'm going to replace the FPGAs with smaller and cheaper CPLDs, and ones that aren't BGA. The DSP will only support WAV audio, and I'll leave the audio codecs to the processor. I'm also going to replace the fan with a faster one that is PWM controlled, so that way I don't cook anything. So after I finish my 68K computer (which it's almost done), I'm going to be making a mock game console using the Pentium Pro, so that way I get used to the AGTL+ bus and hardware design at lower frequencies. Once I get THAT working and playing a few games, then I'm ready to continue this project full steam ahead. But for now, this will be something that I'll work on when I'm bored. Let me hear your thoughts, and I'll be back with another update (either here or my 68K computer thread) real soon!


Hello again! It's almost time to start making this project. The design has changed yet again, and hopefully for the last time. I realized with the IO and resource requirements, CPLDs are waaaaaay out of reach. And so is non-BGA packaging. But I still managed to simplify the design by completely removing a chip from the system, and putting it's function into the other. So the Northbridge is now a NB/GPU combo. This gives the advantage of also using less RAM chips, and making a shared system memory between the GPU and the rest of the console. This will not only remove the requirement of passing data through 2 busses (now I can write directly to the VRAM), this will also give a use for the overkill of 256MB of RAM that will be available. Still, it's much more than I need. I'm also going to add a test feature, but only if I'm sure it will work. I was thinking, instead of blowing $500 and several months of my time to a Pentium Pro test system, I could add a second clock signal that can be selected with a jumper wire that will run the entire console at 20 MHz instead of 100. That way, I know if something goes wrong, it's the hardware and not the PCB. Then when a section is complete, I kick the system to full speed to see if any errors occur. The only problem with that is the Pentium III data sheet says that the CPU may operate incorrectly with a clock input of anything other than 100 MHz. I don't see how underclocking could cause issues, so I ask you guys. Will this low speed feature cause issues in itself, or am I good to go?

TLDR version: I made a final design, want to downclock from 100 MHz to 20 MHz for a test run. Can I do that?

Also, where can I get my hands on some 1T SRAM for cheap?


Tue Dec 01, 2015 12:31 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 23 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software