![]() |
Forum Index : Microcontroller and PC projects : uMite Project: Propeller Mini Computer
Page 1 of 5 ![]() ![]() |
|||||
Author | Message | ||||
Oldbitcollector![]() Senior Member ![]() Joined: 16/05/2014 Location: United StatesPosts: 172 |
I'm a Parallax Propeller guy who discovered the Micromite in a single line mention by someone on Slashdot a couple months ago. It seemed a perfect fit for a project I've already been working on. I've mentioned this project on and off in some of my posts as I was getting up to speed with the Micromite. After a month+ of work, I reached a decent stability level with the project and thought I'd post some actual detail. Propeller/Micromite Mini Computer: By combining the Propeller with the Micromite, I've been able to create a very capable little computer much like the Maximite, but with some interesting differences. Here's the breakdown: 1) The Propeller handles VGA output, Keyboard Input, Audio Output, and MicroSD. 2) The Micromite handles BASIC, on-board editor, & user accessible I/O, Wii connector, etc. Think of the Propeller as the I2C I/O chip for the Micromite. With this setup, I've been able to LOAD/SAVE BASIC programs using Xmodem between the Propeller's SD card and the Micromite. I've been able to compile & run Propeller Spin files. (Using the Micromite as the editor, and the compiler on the Propeller.) Because the Propeller is able to boot compiled binaries from SD on demand, we are able to change the video/audio modes upon demand. Currently we have three different video modes. (A forth is in the works) and a single audio mode. This ability to create and change modes on the fly is part of what separates this project from the Maximite. In addition we can boot other binaries, leaving the Micromite at idle until we reset and the control binaries are restarted. These two chips compliment each other very nicely. Since I know at least a couple people here have played with the Propeller, I thought I'd post up what I think might be the most elaborate project using Micromite. Details on the project can be found here . My Propeller/Micromite mini-computer project. |
||||
psergiu![]() Regular Member ![]() Joined: 09/02/2013 Location: United StatesPosts: 83 |
Nice :) Most likely it was me :) Time to change my /. signature to point to Geoff's Micro/Maximite pages. |
||||
Oldbitcollector![]() Senior Member ![]() Joined: 16/05/2014 Location: United StatesPosts: 172 |
@psergiu I'm in your debt. This little Micromite chip is amazing. My Propeller/Micromite mini-computer project. |
||||
Oldbitcollector![]() Senior Member ![]() Joined: 16/05/2014 Location: United StatesPosts: 172 |
This is primarily directed toward my fellow Propeller junkies, but I thought this might be a good addition to this post. Here are two demonstration videos of my Micromite/Propeller project in action. Part 1: https://www.youtube.com/watch?feature=player_embedded&v=NjTw PDpFRcM Part 2: https://www.youtube.com/watch?feature=player_embedded&v=D86a N0vdgQ0 My Propeller/Micromite mini-computer project. |
||||
psergiu![]() Regular Member ![]() Joined: 09/02/2013 Location: United StatesPosts: 83 |
Fixed links: https://www.youtube.com/watch?v=NjTwPDpFRcM https://www.youtube.com/watch?v=D86aN0vdgQ0 Nice device ! |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3282 |
That is excellent. I like the way the propeller and Micromite functionality are merged, as demonstrated when loading a program from the SD card. That Star Trek program will be fun to play with when you have it finished - retro nostalgia. Geoff Geoff Graham - http://geoffg.net |
||||
bigmik![]() Guru ![]() Joined: 20/06/2011 Location: AustraliaPosts: 2949 |
Oldbit, I love those clips.. I love the way you are `almost' invisibly driving 2 computers as the same time.. I cant begin to understand exactly how you are doing a lot of what you did. (maybe if I googled propeller I would understand it a bit more). It reminds me of the old days, before internet, and 300 baud modems and using our pc (TRS-80) to talk to a main frame and having to give commands to the main frame and local ones on my PC. For example to download a file etc. Can you provide a little more information, maybe in text, about what is actually happening in the screens. It sort of looked like the uMite was using commands to save and load to the propellers storage. Well done in any event. Brings back the `good old days' to me. Regards, Mick Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<< |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9588 |
Very impressive stuff, and very nice videos. Please do keep us all updated on your progress - well done!!!! ![]() Smoke makes things work. When the smoke gets out, it stops! |
||||
Oldbitcollector![]() Senior Member ![]() Joined: 16/05/2014 Location: United StatesPosts: 172 |
I've been working on an improved sprite mode for this project this afternoon. Here a quick demo I knocked up tossing a couple sprites around the screen, controlled by the Micromite. I suspect if I converted the bounce section down to a function, I could probably make the code even tighter. :) Here's some video of it in action: https://www.youtube.com/watch?v=HGq3xOxtKNw Here's the Micromite code that is controlling the demo: [code] i2c OPEN 400,100 rem -- SPRITE BOUNCE DEMO -- Sprite 1,20,16,16,0 Sprite 2,21,32,32,0 text 6,9,5,"PROPELLERPOWERED" : text 10,12,4,"MICROMITE" sprdirx = 1 : sprdiry = 1 : x = 10 : y = 3 sprdrx = 1 : sprdry = 1 : xx = 13 : yy = 3 bounce: if sprdirx = 1 then x=x+2 if sprdirx = 0 then x=x-1 if sprdiry = 1 then y=y+1 if sprdiry = 0 then y=y-1 if x > 239 then sprdirx = 0 if y > 239 then sprdiry = 0 if x < 15 then sprdirx = 1 if y < 15 then sprdiry = 1 if sprdrx = 1 then xx=xx+1 if sprdrx = 0 then xx=xx-1 if sprdry = 1 then yy=yy+2 if sprdry = 0 then yy=yy-1 if xx > 239 then sprdrx = 0 if yy > 239 then sprdry = 0 if xx < 15 then sprdrx = 1 if yy < 15 then sprdry = 1 movespr x,y,xx,yy goto bounce sub Sprite sprite,graphic,x,y,mirror i2c WRITE &h42,0,7,1,202,sprite,graphic,x,y,mirror end sub sub MoveSpr ax,ay,bx,by,cx,cy,dx,dy,ex,ey,fx,fy,gx,gy,hx,hy i2c write &h42,0,18,1,210,ax,ay,bx,by,cx,cy,dx,dy,ex,ey,fx,fy,gx,gy,hx ,hy end sub sub text textx,texty,color,text$ for x = 1 to len(text$) char = asc(mid$(text$,x,1)) i2c write &h42,0,6,1,200,textx+x,texty,color,char next x end sub [/code] My Propeller/Micromite mini-computer project. |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9588 |
WOW! ![]() ![]() ![]() You(and your fellow developers of that project), really need to get together with Geoff. "MaxiMite 3 (powered by Propeller)" perhaps? I like the concept, that you can use MMBASIC subs and commands, to control the advanced graphics of the Propeller - awesome, and so simple to code(so it would seem, anyway). Keep up the good work, and I am always interested in any new videos of your project, so keep them coming! Smoke makes things work. When the smoke gets out, it stops! |
||||
MicroBlocks![]() Guru ![]() Joined: 12/05/2012 Location: ThailandPosts: 2209 |
I understand the great advantage when combined with programming the propellor from the editor. It is quit a feat to have pulled that off. Myself i am not that interested in propellor chips, mainly because then i have to learn yet another one. If you only need nice graphics then there are other options. Like an FT800 chip, they are cheap, small and pretty powerful. https://www.youtube.com/watch?v=eAJSSxKjTx0 It is also used in the gameduino(2) https://www.youtube.com/watch?v=4XJUz4-fpb0 Microblocks. Build with logic. |
||||
Oldbitcollector![]() Senior Member ![]() Joined: 16/05/2014 Location: United StatesPosts: 172 |
The FT800 chip is pretty slick. It's basically, what I've created with the Propeller. The difference is that instead of HDMI, VGA, instead of touchscreen, Keyboard, audio and the addition of an SD interface. Thanks for sharing that! When I'm finished with this software, anyone with knowledge of a Micromite will be able to program sprites/tiles on the screen without knowledge of the Propeller or it's Spin language. Interestingly, I'm actually finding it easier to re-create some of my demos using this system in less BASIC than was required to create the spin equivalent. This tells me I'm on the right track. :) My Propeller/Micromite mini-computer project. |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2932 |
Nice work ![]() A couple of questions: Where are you defining the sprite contents? Is this in the 'Propellor code'? Can the MicroMite Editor be displayed on thew vga monitor too? OR is it just what you i2c to the Propellor that appears on the vga monitor? What resolution/colour modes are available with this excellent set up? Keep up the good work (please do more videos if possible showing any new progress - they are great to see!) WW |
||||
Oldbitcollector![]() Senior Member ![]() Joined: 16/05/2014 Location: United StatesPosts: 172 |
Currently, we are defining the sprite contents in Spin/Propeller code. However this issue is next on our list to tackle. One of our project contributors is looking at the idea of an outside editor that will create proper sprite/tile files which can be placed on the SD card and then loaded from the BASIC into the Propeller. It's challenge that we'll be solving very soon and next on my list. The MicroMite editor is displayed on the VGA monitor using the default 80x30 text mode which is VT100 compatible. The current modes we are working on are: * 80x30 VT100 text mode, 8 color * 40x50 re-definable text / 99x75 plot capable - 64/256 color modes - 400x300 * 128x96, 64/256 color mode - 6 sprites * 256x192, 16 (out of 64) colors, 8 sprites (considering adding 8 more), 256 tiles. My Propeller/Micromite mini-computer project. |
||||
Oldbitcollector![]() Senior Member ![]() Joined: 16/05/2014 Location: United StatesPosts: 172 |
... a few hours of coding later... Both the sprite contents and the tile/character contents are now text files which can be edited in the Micromite Editor. An on-board sprite/tile editor is now in the works. My Propeller/Micromite mini-computer project. |
||||
Oldbitcollector![]() Senior Member ![]() Joined: 16/05/2014 Location: United StatesPosts: 172 |
Another Quick Video Update on this project. https://www.youtube.com/watch?v=F1Wqchi3XJU My Propeller/Micromite mini-computer project. |
||||
plasma Guru ![]() Joined: 08/04/2012 Location: GermanyPosts: 437 |
its really cool and open a wide world for some great tools . Unfortunately i have not much time to do something but please make some cool demos , i like it. btw : are the propeller chip powerfull enough to play mp3 ? |
||||
Oldbitcollector![]() Senior Member ![]() Joined: 16/05/2014 Location: United StatesPosts: 172 |
I'll be doing another demo video soon. We've got an on-system sprite editor in the works. Unfortunately, The Propeller isn't capable of the math required to decode an MP3 on the fly. I will playback .WAV files, but that's as close as it gets. There was a post on here recently about a nice stereo MP3 module that should interface to the Micromite nicely. I'm considering it for a project myself. Jeff My Propeller/Micromite mini-computer project. |
||||
Oldbitcollector![]() Senior Member ![]() Joined: 16/05/2014 Location: United StatesPosts: 172 |
Another video update from our project... This time I demo a new Sprite Editor that we have in the works, at the same time showing that I'll probably never work for EA Games. :) https://www.youtube.com/watch?v=B3bkAyQPyRU My Propeller/Micromite mini-computer project. |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2932 |
WOW - Loved your MMBasic FIFA 15 demo in the video ![]() Out of interest what are your target PCB dimensions? Excellent progress . . . . WW |
||||
Page 1 of 5 ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |