Propello Entertainment System (PES)
Vaati
Posts: 712
I was wondering what it would take to create a fully functional propeller powered version of the NES.· I have taken apart my NES, and since all the parts are thru hole, it is possible to breadboard this project.
So, is this possible?· I really don't want all my NES parts to just be put back together on a breadboard and work the same as they used to...·
Thanks.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Quit buying all those fixed voltage regulators, and·get an Adjustable Power Supply·for your projects!· Includes an LED testing terminal!
*-NEW-* SD Card Adapter·Now available!· Add extra memory to your next Propeller project with ease!
So, is this possible?· I really don't want all my NES parts to just be put back together on a breadboard and work the same as they used to...·
Thanks.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Quit buying all those fixed voltage regulators, and·get an Adjustable Power Supply·for your projects!· Includes an LED testing terminal!
*-NEW-* SD Card Adapter·Now available!· Add extra memory to your next Propeller project with ease!
Comments
The path of least resistance is a Hydra - and Andre's book is excellent, I highly recommend it.
All the Propeller demo boards, proto boards, spinstudio, hybrid etc can be used for gaming.
Morpheus, once I write the first gaming driver, is probably the most powerful board for gaming due to its 256 color VGA modes and dual Propellers - however it currently does not support TV out.
Basically you have a wide array of choices!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com - my site 6.250MHz custom Crystals for running Propellers at 100MHz
Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
Morpheus & Mem+ Advanced dual Propeller SBC with XMM and 256 Color VGA
Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
What I really need to know is what I would need in order to read the info from the game cartridge... I have the connector and everything, but is anyone familiar with the programming needed to use the cartridges? I would think I would end up having to use the original chips from the NES to find out...
Thanks.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Quit buying all those fixed voltage regulators, and·get an Adjustable Power Supply·for your projects!· Includes an LED testing terminal!
*-NEW-* SD Card Adapter·Now available!· Add extra memory to your next Propeller project with ease!
If you do wish to tackle it, here are some useful links:
http://en.wikipedia.org/wiki/Super_Nintendo_Entertainment_System
http://www.emulator-zone.com/doc.php/nes/
http://www.virtualnes.com/
http://www.zsnes.com/
http://www.snes9x.com/
Hope this helps,
Bill
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com - my site 6.250MHz custom Crystals for running Propellers at 100MHz
Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
Morpheus & Mem+ Advanced dual Propeller SBC with XMM and 256 Color VGA
Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
But emulating a console is a whole different story.· The biggest problem is you need to emulate the CPU and GPU exactly.· Each instruction must take the identical number of cycles, and the CPU "clock" must be precisely in sync with the display clock.
For example, the Atari 2600 ran it's CPU clock at 1.19MHz (1/3 NTSC colorburst) and had exactly 76 CPU clocks per line.· Games would time their writes to the TIA (the 2600 GPU) to they would update the sprite data just before they were displayed.
Cartridges also have edge connectors which are extensions of the CPU/GPU bus - typically more than 32 pins (the NES uses a 72 pin interface, but of course not all of those are address/data.· And some of those cartridges had intelligence - counting cycles themselves to supplement the console's CPU & GPU.· This might cause problems for a multiplexed bus.
This is not to say it can't be done.· Anything is possible given enough time, money & effort.· They managed to squeeze an Atari 2600 emulator into a Gameboy Advance (although I think the emulator was tuned for each game).· But do recognize that this is not a trivial project.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Composite NTSC sprite driver: Forum
NTSC & PAL driver templates: ObEx Forum
OnePinTVText driver: ObEx Forum
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Gadget Gangster - Share your Electronic Projects
When folks wanted to build their own Atari ST it eventually ended up as a FPGA - the CPU and custom logic was all rolled into a programmable piece of silicon because that was the only way to do it.
Those wanting their own Commodore Amiga(the Minimig) ended up with the somewhat the same solution - a 68k CPU and a FPGA recapitulating the Amiga's custom chips with enhancements.
In both cases it took a couple of years of hard work by dedicated people to achieve it.
As far as emulation goes...is there a well known/well documented product or item that a beginer could try to emulate?
Rick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Prop Forum Search (Via Google)
I am first going to just try to make a spin program to make a recognizable Rygar move across the screen when the NES controller buttons are pressed, and then I can go from there...
On second thought, maybe I could start with the catchy Rygar music...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Quit buying all those fixed voltage regulators, and·get an Adjustable Power Supply·for your projects!· Includes an LED testing terminal!
*-NEW-* SD Card Adapter·Now available!· Add extra memory to your next Propeller project with ease!
Functionally reproducting the processor is just the first step, which will let you·reproduce interactive and other non time-critical code.· But then you need to make it cycle accurate at the desired clock speed.· For example, the NES ran it's 6502 at 50% NTSC colorburst - 1.79MHz.· Say you could find a 5.369MHz crystal and run your Propeller at 85.9MHz - 48 times the clock speed of the NES.· But that only gives your PASM 6502 10 instructions to process each byte read from HUB RAM.· (The 6502 typically does 1 bus access per clock cycle.)
Sorry if I'm sounding down on this.· Emulating an NES may be possible -·the Propeller has a lot of processing power.· However, it will take a lot of effort to make it happen.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Composite NTSC sprite driver: Forum
NTSC & PAL driver templates: ObEx Forum
OnePinTVText driver: ObEx Forum
If I get any stroke of luck and find out how to make Rygar get to the castle in the sky, I will be sure to post it.
Thanks for all of your input, and I will post any questions I may have if the need arises.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Quit buying all those fixed voltage regulators, and·get an Adjustable Power Supply·for your projects!· Includes an LED testing terminal!
*-NEW-* SD Card Adapter·Now available!· Add extra memory to your next Propeller project with ease!
Yea thats a big deal, but it might be faster than trying to emulate the main cpu of a nes.
Start with studying and understanding the cartridge format, and data. Then start drawing up plans on how to enumerate that data and render it on screen.
Because in all reality, the only info you need to manipulate is IN the cartridge (ROM).
I am sure much of a NES's parts were made because of the limited technology available back in the 80's.
Yes the software would be very complicated, but starting with the ROM files is where I would start, and work my way into getting the sound to play back, then perhaps sound fx, etc...
I bet you they even have TEST ROM files that are VERY basic, and are made to test the compatibility of various emulators.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Composite NTSC sprite driver: Forum
NTSC & PAL driver templates: ObEx Forum
OnePinTVText driver: ObEx Forum
What about emulating the 8086? (My First·PC) ·The timing / etc is not so critical right? because your not working with cartridges etc? I may be way off here
Rick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
NYC Area Prop Club
Prop Forum Search (Via Google)
·
The bigger problem with x86 is the size of the address space and the complexity of the instruction set.· The former means you will need external RAM of some kind, while the later means you will probably need to use LMM.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Composite NTSC sprite driver: Forum
NTSC & PAL driver templates: ObEx Forum
OnePinTVText driver: ObEx Forum
Some of us have been working hard on emulating 6502, Z80 and 6809 on the propeller for a long time. Check ZiCog, MoCog threads and I think it was potatoheads 6502 thread in the Hydra forum.
After a lot of effort and a lot of input from many forum members (esp. Cluso) so far the best we have achieved is the Z80 on TriBlade hardware (for the external RAM) running CP/M.
Frankly, this is still slow (almost up to speed of an original Z80) and a lot of work.
No way would I consider attempting the 8086/8088. Not unless someone can come up with even more neat tricks to get it to work in the space, and at any reasonable speed.
Sad but true.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.