Amiga.org
Operating System Specific Discussions => Other Operating Systems => Topic started by: Iggy on September 02, 2012, 01:39:55 AM
-
I've been studying the idea of using MCUs to emulate older computers or as substitutes for glue and I/O circuitry.
Right now one of my favorites is the Parallax Propeller.
http://www.parallax.com/propeller/
Its a 75-100MHz 8 core 32bit MCU.
Each core acts as a 'cog', has video generation capability, and is seperately programmable.
So far, users have programmed the Propeller to do useful things like generate VGA signals, interpret PS/2 keyboard and mouse input, and emulate a SID chip.
Currently, a group of developers is working to emulate a C64.
I'd like to work with this chip alone AND combined with older CPUs (like the 6809, 6309, 68K, and Coldfire).
This is the board I'm starting with:
http://www.mikronauts.com/morpheus/
Dual Propellers and enhanced memory.
My first project will add a 63C09E, some static RAM, an SD card reader, and a serial port to the system.
I'd like to incorporate dual SID emulation as well.
Eventual the Morphues board will support a 256x192 256 color screen mode with sprites.
It already supports much higher resolutions (although with fewer colors).
I can program the Morpheus with Parallax's own Spin under Morpheus' built in OS Largos.
So, eventually, I hope to have a system that will marry the 6309 specific NitrosOS9 operating system with some very capable MCU hardware and software.
What do you think?
-
What do you think?
The Propeller 1 chip is only a 12 MHZ chip and I have no idea when they will release the Propeller 2. They have it hooked up to a 32 Megabyte Eprom. Potatoehead has a nice driver for it but it doesn't have the resolution and it doesn't have the hues or colors that the C-64 has. I think they are going to go through a lot of hardware gymnastics to get it do come close but they don't have a disk drive for their computer and once you load basic onto that 32 MB Eprom, you are basically going to have less working memory than a Vic-20.
Parallax paid to have a more powerful board made and no one is using it for computers.
They are using an obscure language called Spin to program the propeller with. They have a new compiler for C but languages have their drawbacks.
The other problem is it doesn't really have a math package like the C-64 had. The chip needs to use Cordic to make any useful computations.
If you want to have a real Commodore 64 device, try using the Gameduino with the MSP430 Launchpad and translate it to a real chip like the Cortex M4 because ARM has done real CPU design, it has more memory and runs around 180 MHZ.
This is the Gameduino on the MSP430 Launchpad:
http://bear24rw.blogspot.com/2012/07/msp430-launchpad-gamingpack.html
It would look a lot better and be more powerful on a Cortex M4 chip from ARM.
I'm interested in doing something like this and have been watching the horizon for different products and chips and I hope to be the first to do it but it is costly and I think that users need to abandon copying the past and come out with something new and own it themselves instead of being tangled up in copyrights and patents.
-
The other question you have to ask is why I can get a development board with more memory, faster speed and an accelerometer for $16 at Mouser with a Cortex M4 compared to what you are paying at Parallax for a board. Tutorials are free on Arduino sites but you are being gouged on every wire you buy because that is what pays the employees and research where you buy your products for a 12 MHZ chip when you could be programming over 100 MHZ with 128 MB of memory..
-
ChuckT: you are wrong about the speed. its got an internal PLL that generates a multiple of the crystal frequency. The Prop is rated at 80MIPS, but faster is possible. There are many firmware blobs you can piece together to do what you want. Already theres Z80 cores implemented in 3 cogs, SID simulations in 1 cog, 3D renderers, you name it. The hardware is quite versatile, and has been used to implement fullspeed (12MHz) usb host mode, emulate the apple II (6502 and RAM were external to the prop) and the list keeps going. I guess I'm a little protective of the prop since I've got a multiboard midi computer in development that uses multiple propellers.
Also, the Cortex M4 Stellaris Launchpad is out for $5 from TI.
-
ChuckT: you are wrong about the speed. its got an internal PLL that generates a multiple of the crystal frequency. The Prop is rated at 80MIPS, but faster is possible. There are many firmware blobs you can piece together to do what you want. Already theres Z80 cores implemented in 3 cogs, SID simulations in 1 cog, 3D renderers, you name it. The hardware is quite versatile, and has been used to implement fullspeed (12MHz) usb host mode, emulate the apple II (6502 and RAM were external to the prop) and the list keeps going. I guess I'm a little protective of the prop since I've got a multiboard midi computer in development that uses multiple propellers.
Also, the Cortex M4 Stellaris Launchpad is out for $5 from TI.
The Cortex M4 Stellaris is not as powerful as the one from ST Microelectronics.
The Propeller is rated as 12 MHZ here:
http://www.adafruit.com/blog/2012/06/18/ask-an-educator-whats-the-difference-between-arduino-raspberry-pi-beagleboard-etc/
I don't need a chip that can do multiple things at once. I just need a chip to be very very fast and we can do sequential things really really fast. Cortex M4 boards have 1 Megabyte of flash and 192 Kb of Ram. Compare that to your propeller that is rated at 32 Kilobytes and some have found a way to hook up a 64K Eprom so 32K is for "general purpose use" which means they found another way to read it but the chip only sees 32K at a time so the Arm product has more memory.
I ordered two of the Cortex M4 Stellaris Launchpads but they aren't as powerful as the ones Mouser has:
http://www.st.com/internet/evalboard/product/252419.jsp
http://www.mouser.com/ProductDetail/STMicroelectronics/STM32F4DISCOVERY/?qs=sGAEpiMZZMvFPGEOwQcrY8eCSOyOXcPBXPB8snd5oaY%3d
•168Mhz STM32F407VGT6 microcontroller featuring 32-bit ARM Cortex-M4F core, 1 MB Flash, 192 KB RAM in an LQFP100 package
•On-board ST-LINK/V2 with selection mode switch to use the kit as a standalone ST-LINK/V2 (with SWD connector for programming and debugging).
•LIS302DL, ST MEMS motion sensor, 3-axis digital output accelerometer
•MP45DT02, ST MEMS audio sensor, omni-directional digital microphone
•CS43L22, audio DAC with integrated class D speaker driver
•Four user LEDs, LD3 (orange), LD4 (green), LD5 (red) and LD6 (blue)
•Two push buttons (user and reset)
•USB OTG FS with micro-AB connector
•Extension header for all LQFP100 I/Os for quick connection to prototyping board and easy probing
The propeller demo board is $60 dollars:
http://www.parallax.com/Store/Microcontrollers/PropellerAccessories/tabid/786/ProductID/340/List/0/Default.aspx?SortField=ProductName,ProductName
I have a cheaper board at $16. We're not talking about the quickstart board that doesn't have. Instead of giving you tutorials, they are making their money out of teaching you:
Propeller Education Kit - 40 pin DIP Version $99.99
http://www.parallax.com/Store/Microcontrollers/PropellerKits/tabid/144/ProductID/415/List/0/Default.aspx?SortField=ProductName,ProductName
XBee 802.15.4 Starter Kit
Price $179.99
http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/xbe/List/0/SortField/4/ProductID/717/Default.aspx
Too rich for my blood.
If you want LEDs cheap, you can go to Mouser or Digikey and buy them by the real and you can get them cheaper by buying a hundred or a thousand than buying them from these hobby sites that have to make a profit by gouging you. Why should I buy a .50 cent LED from Parallax:
http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/led/List/0/SortField/4/ProductID/173/Default.aspx
I can get cheaper LEDs through Digikey or Mouser for buying bulk. They are basically making a hefty profit off of people. I can buy 500 of these Leds for 8 cents an LED through digikey:
http://www.digikey.com/product-detail/en/SSL-LX3044YD/67-1078-ND/270876
I can get them cheaper through Ebay or Futurlec:
Imagine getting 100 for five dollars. I bought some and they work fine.
http://www.futurlec.com/ValuePacks.shtml
-
I don't know where you guys got the idea that the Prop1 runs at 12MHz.
The internal clock is multiplied from the external clock (you might want to check out Parallax's own website rather then referencing incorrect info from somewhere else).
It actually runs at 75MHz and has been overclocked on some boards from between 80 to 100MHz.
Here's one board I'm looking at right now that works at 100MHz.
http://www.mikronauts.com/propcade/
-
Nice board but they have only a small percentage of the Parallax market and that is crowded with the C1 and Xgamestation. There is no SD card on that board and what you're paying for is board space. When you get your PC boards made, the companies charge you for the size of the board. No peripherals? Can you afford the RAM to run one?
I'm happy with my development boards but I like the F4 better:
http://www.ebay.com/itm/STM32F103VET6-ARM-Cortex-M3-Board-2-4-Touch-TFT-LCD-/200609291886?pt=LH_DefaultDomain_0&hash=item2eb53ede6e#ht_5180wt_758
http://www.ebay.com/itm/STM32F103ZET6-development-board-FSMC-NAND-NOR-/120640315314?pt=BI_Electrical_Equipment_Tools&hash=item1c16b91fb2#ht_3068wt_788
It is also possible to run an iPhone LCD or Nokia LCD from these boards.
I'm happy that these have more memory and are cheaper. I think if your board was more powerful, they would have to add another Propeller which would take up more board space which would drive up the cost.
And is it possible to get a bit mapped drawing on your screen? Black and white took up to 64,000 character positions which is why it was Black and White on the Commodore 64. This is why I reject a 32K machine in favor of 1024 Flash Ram and 192 Kb of Ram. You will see it my way when the Prop II comes out.
-
Andre built the C3 and he said the Prop I can see only 32Kb of RAM and 32KB of Rom. That is pretty limiting if you can easily only change 32 KB at a time.
http://forums.parallax.com/showthread.php?126116-Propeller-C3-update&p=945311&viewfull=1#post945311
Andre said he could use ARM if he was to build a more powerful computer:
http://forums.parallax.com/showthread.php?126116-Propeller-C3-update&p=944162&viewfull=1#post944162
Mike said that the serial connection would be limited to 230KBps:
http://forums.parallax.com/showthread.php?126116-Propeller-C3-update&p=945404&viewfull=1#post945404
There is more powerful stuff out there which is why a lot of the mobile phones have ARM in them. ARM is really the true successor to the 6502 Chip.
-
I have a TI M4 MCU on order.
So I can see the ARM arguement.
Bt your missing the point.
The Propeller is very flexible and is great for emulating other devices or implenting I/O.
I intend to interface it with other processors so memory is not a problem.
With one $8.00 chip I'll have dual SIDs, VGA, and PS2 mouse and keyboard interfaces.
And have you checked out the dual Prop Morpheus?
The second CPU is used primarily for video and has an optional 512K memory board.
The designer is currently working on a memory expansion for the primary CPU.
I can do things with the Prop that would require a lot more work with another CPU.
And there's a 40 pin DIP version so I can build my own hardware without having to solder surface mount components.
This is more about what I can do on my own.
I can't build my own system with ARM.
-
You might not know this but breadboards can't go much above 50 mhz. That prop in dip format will have limitations on a breadboard or it at least should. That is why a lot of the boards are soldered.
You are also running overhead on the chip and that SID emulator belongs to someone.
You need either the st link or jtag to program Arm. My jtag to usb connector by olimex was 50 dollars. There exists a free toolchain.
I left the Parallex forums. I started there and I realized that unless you know what is involved, you can go down a lot of bunny trails. They sent me something like two or three power supplies till I got the right one. I should probably sell my Demo board from them because it isn't something I will invest my time in.
-
You might not know this but breadboards can't go much above 50 mhz. That prop in dip format will have limitations on a breadboard or it at least should. That is why a lot of the boards are soldered.
You are also running overhead on the chip and that SID emulator belongs to someone.
You need either the st link or jtag to program Arm. My jtag to usb connector by olimex was 50 dollars. There exists a free toolchain.
I left the Parallex forums. I started there and I realized that unless you know what is involved, you can go down a lot of bunny trails. They sent me something like two or three power supplies till I got the right one. I should probably sell my Demo board from them because it isn't something I will invest my time in.
Interesting opinions.
Actually, I don't do breadboards and never have.
I use 2 layer PCBs.
And, yes, those have some of the same limitations, but I know about crosstalk and how to limit the trace length of high speed circuits and haven't run into a problem while working at four times the speed you quote.
As to the SID code, the author has no problem allowing it to be used (as do many Prop developers).
You speak from a position of prejudice. I'm using both ARM and Prop based devices and I wouldn't use one where the other was better suited.
-
This is more about what I can do on my own.
I can't build my own system with ARM.
It is about what others can do on their own. My stepbrother is a systems programmer and he wants to see what I can do but he doesn't want to do it because they're expensive and it takes people a long time. AVR Freaks closed their forums to new users so they're not going to teach new people and the moderator from Basic Micro's forum basically told me there is a learning curve and you have to hit those books because it isn't going to be easy for a lot of people.
Do you want to learn electronics? Try doing this magic without one of their kits. Go buy "Electronics for Dummies" through Amazon, buy "Getting Started in Electronics" by Forrest Mimms and some of his books and buy one of those 200 in one electronic kits that Elenco or Radio Shack sells. I give you that advice because I think every customer there knows less than what their kits will teach you and being able to put together a construction set doesn't mean you know electrical physics.
I've also had to upgrade my soldering iron because what I bought the first time didn't work with surface mount components because the one I bought was too big to work on small components. I've spent three or four years learning to do stuff without having actually done a lot of stuff because people don't know what is involved in electrical engineering and it constantly comes and goes with new stuff which means it gets expensive because you're liable to spend a lot of money on things you don't really need and things which will sit in a parts box and collect dust.
I got advice from someone in the industry that if I want to build something, you want a fundamental chip that will be around 20 years or more. The latest and greatest chips come and go but they don't always have staying power. You need a fundamental chip that isn't going to be discontinued like Parallax's SX chip.
I read online at Parallax's website where I should start and I bought Parallax's "Getting Started Kit" and it came with a demo board and a thick book on their chip which had nothing to do with getting started. I had to call at least twice to get a power supply and I had to call for a CD to program the Prop with which all wasted time. I called the company to complain and they said I should start out with "What is a Microcontroller?" And their own users have documented on their own website why some people can't make the jump from using Pbasic and "What is a Microcontroller" to using the Prop. On top of that, the software that programs the Prop is buggy and has errors that Parallax hasn't managed to fix.
Parallax realized their shortcomings and came out with their Demoboard. At this point, I don't extend credit to whom credit is due. I bought their products, have issues and they're off to releasing new products and instead of teaching or writing simple or quick tutorials, they are off to make money by turning their product into some kind of classroom course when I can get free tutorials and lower priced products elsewhere.
Commodore made their computer company into an economic cult. I'm not about that. What happened when Commodore went bankrupt? Were my skills transferrable to something else in the computer industry? Not in every case. There are more products out there and Parallax isn't the only fish in the sea. Parallax isn't the only microcontroller company out there. There is:
Arm, Atmel, Microchip, Basic Micro (probabaly a rebranded pic), Ti, Xmos, Renesas and others.
When we start singing the praises of only one chip, it becomes a religion and when you only know one system, you don't know how to do other things and you aren't multi-fluent or multi disciplined.
-
ATMega328 is great for most tasks... Cheap, fast and easy to program, but I use an ARM M3 for "heavy lifting"... And recently had a play with an ARM-M4 which has a frightening amount of power for such a small cheap chip.
Never could be bothered with the propeller, it's easier just to use interrupts on an ARM or ATMega... :)
-
M4 Cheap?
Damned right.
Prop can't touch this.
https://estore.ti.com/Stellaris-LaunchPad.aspx
Ordered one a few days ago.
But I personally find ARM harder to works with (which seems to be the opposite of many of you).
So...moving ahead with the Prop.
-
I have a TI M4 MCU on order.
Did you know the Ti Stellaris chip doesn't have a PWM (Pulse Width Modulation) unit? It doesn't matter because ARM has a lot of timers but you will have to learn to do things differently.
-
Iggy,
I just joined this forum very recently, and I was pleased to find your post :)
Thank you for liking my Morpheus design! (and also finding PropCade)
I have rev.2 Morpheus PCB's now with some additional features... unfortunately my site is sadly out of date as consulting and family come first. I also had to put Largos on the back burner.
Morpheus now has a lot of graphics drivers, including 320x240 256 colors
per pixel, with sprites, signaled as 640x480 VGA, as well as VGA/SVGA/XGA with 4 colors per pixel (separate palette for each scan line)
You can program propellers now in Spin, assembly language,
C, C++, Forth, various versions of Basic and more.
Actually, my days with the Amiga inspired me to create Morpheus.
I picked up Amiga Forever today!
Maybe I should dig out my Amigas (two A1000's, one signed by Jay Miner) and an A500... but wifey might kill me if I set up any more computers & monitors... better just run Amiga Forever on PC's....
I've been studying the idea of using MCUs to emulate older computers or as substitutes for glue and I/O circuitry.
Right now one of my favorites is the Parallax Propeller.
http://www.parallax.com/propeller/
Its a 75-100MHz 8 core 32bit MCU.
Each core acts as a 'cog', has video generation capability, and is seperately programmable.
So far, users have programmed the Propeller to do useful things like generate VGA signals, interpret PS/2 keyboard and mouse input, and emulate a SID chip.
Currently, a group of developers is working to emulate a C64.
I'd like to work with this chip alone AND combined with older CPUs (like the 6809, 6309, 68K, and Coldfire).
This is the board I'm starting with:
http://www.mikronauts.com/morpheus/
Dual Propellers and enhanced memory.
My first project will add a 63C09E, some static RAM, an SD card reader, and a serial port to the system.
I'd like to incorporate dual SID emulation as well.
Eventual the Morphues board will support a 256x192 256 color screen mode with sprites.
It already supports much higher resolutions (although with fewer colors).
I can program the Morpheus with Parallax's own Spin under Morpheus' built in OS Largos.
So, eventually, I hope to have a system that will marry the 6309 specific NitrosOS9 operating system with some very capable MCU hardware and software.
What do you think?
-
There is more powerful stuff out there which is why a lot of the mobile phones have ARM in them. ARM is really the true successor to the 6502 Chip.
What makes you say that?
(btw, seems there's not Propeller with more than 20 MIPS/cog still..)