Shop OBEX P1 Docs P2 Docs Learn Events
Confessions — Parallax Forums

Confessions

Ahle2Ahle2 Posts: 1,179
edited 2013-03-09 14:52 in Propeller 2
* Confession 1
I have secretly been sneaking around in the P2 threads.

* Confession 2
I own a DE2-115 board.

* Confession 3
I have something in the works.
«13

Comments

  • ctwardellctwardell Posts: 1,716
    edited 2013-01-04 13:38
    Ahle2 wrote: »
    * Confession 1
    I have secretly been sneaking around in the P2 threads.

    * Confession 2
    I own a DE2-115 board.

    * Confession 3
    I have something in the works.

    MegaSID 2013???

    I'm starting to suffer from FPGA envy.

    Must stay away from digikey.com, must stay away from digikey.com.....
  • mindrobotsmindrobots Posts: 6,506
    edited 2013-01-04 13:42
    Nothing like a good confession (or three) to stir the waters!!! :0)
  • Bill HenningBill Henning Posts: 6,445
    edited 2013-01-04 14:09
    Ummm...

    1) one DE0-Nano was not enough :)

    2) got me some Raspberry Pi too :)

    3) I am working on some P2 hardware and software...
  • David BetzDavid Betz Posts: 14,516
    edited 2013-01-04 14:11
    I guess it's no secret that I'm working on PropGCC for P2.

    I have a DE0-Nano that I bought a long time ago and finally have a good use for.

    I have a DE2-115 that Parallax was nice enough to send me. It is running my blinking LED demo. :-)
  • SapiehaSapieha Posts: 2,964
    edited 2013-01-04 15:17
    Hi

    Have only NANO.
    Not so much money to DE2-115

    David Betz wrote: »
    I guess it's no secret that I'm working on PropGCC for P2.

    I have a DE0-Nano that I bought a long time ago and finally have a good use for.

    I have a DE2-115 that Parallax was nice enough to send me. It is running my blinking LED demo. :-)
  • mindrobotsmindrobots Posts: 6,506
    edited 2013-01-04 15:25
    Confessions:

    I'm not sure what I'm doing with the P1 so I'm emulating being unsure on the P2!!

    This is fun stuff!!
  • potatoheadpotatohead Posts: 10,261
    edited 2013-01-05 02:22
    @Alhe2: Sweeeet!

    @All: Yeah, fun stuff.

    I've been finishing up the "Using the Monitor Guide" Just about done. Wanted that really complete, easy and out of the way. Kind of a nice warm up for me. Besides that, I've been learning instructions and am eagerly awaiting the adapter boards that complete a few of the pin circuits... There are a few things in my blog that I really didn't think warranted discussion threads you might be interested in.

    Following the goings on so far with great interest! Once the doc I'm working on is done tomorrow, I will launch into the C tools David has up and running. Kind of itching to try those out on the more roomy P2.

    The way we've started out on these boards was good for me. I don't often use serial and that's been good to do.
  • Heater.Heater. Posts: 21,230
    edited 2013-01-05 03:27
    Confessions?

    Oh dear. The end of time, Christmas and the New Year all came and went. I still have a holiday until Monday. Despite all of that I have totally failed to write a line of code or fire up a soldering iron even once. No project progress at all.

    I have an excuse only for part of that time, being deep in the Finnish forest with hardly a working internet connection and no equipment around.

    I seem to have spent the past few days aimlessly watching science videos on YouTube.

    Chemistry: http://www.periodicvideos.com/

    Maths: http://www.numberphile.com/

    Physics: http://www.sixtysymbols.com/

    Perhaps I have been deeply disturbed by finding out the the sacred number Pi is actually the wrong fundamental value to use when dealing with circles:

    Pi is wrong: http://tauday.com/

    How will I ever get back to normality?
  • David BetzDavid Betz Posts: 14,516
    edited 2013-01-05 05:51
    Heater. wrote: »
    Confessions?

    Oh dear. The end of time, Christmas and the New Year all came and went. I still have a holiday until Monday. Despite all of that I have totally failed to write a line of code or fire up a soldering iron even once. No project progress at all.

    I have an excuse only for part of that time, being deep in the Finnish forest with hardly a working internet connection and no equipment around.

    I seem to have spent the past few days aimlessly watching science videos on YouTube.

    Chemistry: http://www.periodicvideos.com/

    Maths: http://www.numberphile.com/

    Physics: http://www.sixtysymbols.com/

    Perhaps I have been deeply disturbed by finding out the the sacred number Pi is actually the wrong fundamental value to use when dealing with circles:

    Pi is wrong: http://tauday.com/

    How will I ever get back to normality?
    That was probably a better way to spend your holiday break than my filling it almost entirely with PropGCC work. :-(
  • Invent-O-DocInvent-O-Doc Posts: 768
    edited 2013-01-05 08:59
    Good for you guys. I'm waiting for it to come out. No FPGA for me.
  • ctwardellctwardell Posts: 1,716
    edited 2013-01-05 09:13
    Good for you guys. I'm waiting for it to come out. No FPGA for me.

    Those dark sunglasses must be keeping you from seeing shiny objects...

    I've decided to lay out a few work goals over the next couple of weeks and if I meet them I'll allow myself the quilty pleasure of a DE2-115.

    C.W.
  • User NameUser Name Posts: 1,451
    edited 2013-01-06 13:02
    Heater. wrote: »

    Uncle Tungsten looks like a must-read.
  • RossHRossH Posts: 5,477
    edited 2013-01-06 18:49
    Okay, confession time :)

    I was also originally going to wait for the P2 to come out, since I didn't believe in was worth investing time and money porting software to a chip that still (AFAIK) has no official release date or documentation.

    However, a kind and generous soul has just bought me a DE0_NANO ... so now I guess now will just have to port Catalina to the P2

    Ross.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-01-06 18:54
    RossH wrote: »
    Okay, confession time :)

    I was also originally going to wait for the P2 to come out, since I didn't believe in was worth investing time and money porting software to a chip that still (AFAIK) has no official release date or documentation.

    However, a kind and generous soul has just bought me a DE0_NANO ... so now I guess now will just have to port Catalina to the P2

    Ross.
    Hi Ross,

    That's great news! I'm glad you have a way to run P2 code and are planning on porting Catalina. I think you'll find that you can get Catalina working very quickly because the P2 supports almost every P1 instruction. The only problem I ran into is that some of the opcodes are different in P2. In particular, JMPRET and its cousins have a different opcode for some reason. Once I got past that, I was able to run the standard PropGCC compiled code as long as I used a P2 assembler to assemble the compiler's output. Almost all of my time was spent extending GAS to support the zillions of new P2 instructions.

    Good luck and I look forward to Catalina being available for the P2! Welcome to the fun!

    David
  • RossHRossH Posts: 5,477
    edited 2013-01-06 19:11
    David Betz wrote: »
    Hi Ross,

    That's great news! I'm glad you have a way to run P2 code and are planning on porting Catalina. I think you'll find that you can get Catalina working very quickly because the P2 supports almost every P1 instruction. The only problem I ran into is that some of the opcodes are different in P2. In particular, JMPRET and its cousins have a different opcode for some reason. Once I got past that, I was able to run the standard PropGCC compiled code as long as I used a P2 assembler to assemble the compiler's output. Almost all of my time was spent extending GAS to support the zillions of new P2 instructions.

    Good luck and I look forward to Catalina being available for the P2! Welcome to the fun!

    David

    Thanks David,

    My job is actually much easier than yours. A port of Catalina should essentially be available as soon as there is a version of Spin available - I'm hoping to use Roy Eltham's open source Spin compiler when it supports the P2, but if someone else gets there first I'll use that instead.

    But I plan to use the NANO to investigate possible performance improvements in the code generator and kernel.

    Ross.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-01-06 19:24
    RossH wrote: »
    Thanks David,

    My job is actually much easier than yours. A port of Catalina should essentially be available as soon as there is a version of Spin available - I'm hoping to use Roy Eltham's open source Spin compiler when it supports the P2, but if someone else gets there first I'll use that instead.

    But I plan to use the NANO to investigate possible performance improvements in the code generator and kernel.

    Ross.
    I suppose you may not want to do this but you could use the version of GAS that I included in my prop2gcc zip file to assemble the output of Catalina. If you give it the -p2 option it will assemble P2 code.

    It will be interesting to see what you come up with for code generation strategies for P2. I haven't done anything with that yet. In fact, Eric Smith will probably do all of the PropGCC code generator changes for P2. I'm just working on the assembler and runtime support at the moment.
  • RossHRossH Posts: 5,477
    edited 2013-01-06 19:42
    David Betz wrote: »
    I suppose you may not want to do this but you could use the version of GAS that I included in my prop2gcc zip file to assemble the output of Catalina. If you give it the -p2 option it will assemble P2 code.
    Thanks for the offer, but much of the Catalina runtime support stuff is in Spin, so it is much easier for me to just stick with using a Spin compiler - that way, 99% of the hard work is done for me by others :)
    David Betz wrote: »
    It will be interesting to see what you come up with for code generation strategies for P2. I haven't done anything with that yet. In fact, Eric Smith will probably do all of the PropGCC code generator changes for P2. I'm just working on the assembler and runtime support at the moment.
    I had a few ideas early on, but the P2 has moved on a long way since I last looked at it, so my original ideas may no longer be relevant.

    Like you, I expect my first P2 release will be a "naive" port - i.e. get something simple but fully functional working first, and then add the code generator/kernel optimizations to later releases.

    Ross.
  • Cluso99Cluso99 Posts: 18,069
    edited 2013-01-06 22:27
    Ross: Welcome to the "experiment" ;)

    It was so simple to get the DE0-Nano running. I didn't even install the FPGA dev software, just the downloader. Once the FPGA is programmed, this is it. Just power down. Now every power up starts the P2 emulation and communicate via the expansion I/O to a propplug (check you mail tomorrow).

    I am working on the spin interpreter (my faster version) atm. But to confess, I have not done much over the holidays as too busy with family. I also have taken ownership of the P2 Instruction Summary in the docs thread.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-01-07 04:37
    RossH wrote: »
    Thanks for the offer, but much of the Catalina runtime support stuff is in Spin, so it is much easier for me to just stick with using a Spin compiler - that way, 99% of the hard work is done for me by others :)
    It will be interesting to see what Chip does with Spin for the P2. I'm assuming it will be more than a straight port of the P1 version.
  • RossHRossH Posts: 5,477
    edited 2013-01-07 14:54
    David Betz wrote: »
    It will be interesting to see what Chip does with Spin for the P2. I'm assuming it will be more than a straight port of the P1 version.

    I've been assuming the same, but I'm not aware of any "official" information on this, other than an announcement some time ago that there would indeed be a version of Spin available for the P2.

    Does anyone have any more info?

    Ross.
  • Cluso99Cluso99 Posts: 18,069
    edited 2013-01-07 15:38
    IMHO I think Chip is way too busy to think about it atm. I am just preparing my faster version so that there is a starting point using a faster method. My method was soft so it didnt really catch on. But since in the P2 it has to be soft it is a great starting point. I worked out how to place the decoding vectors into the clut but in fact this is probably a waste because it will be more efficient to have the stacks in the clut and keep the vectors in hub. Most spin bytecodes have a push and pop instruction (and sometimes more) whereas there is only 1 vector per instruction decode. And the stack instructions also have inc/dec saving instructions too.
  • Bill HenningBill Henning Posts: 6,445
    edited 2013-01-07 15:38
    Only thing I heard for sure was adding support for the larger hub. Due to increased clock speed, RDBYTEC and pointers it should be MUCH faster.

    I also expect support for the new features (more I/O, I/O configuration, video configuration etc).
    RossH wrote: »
    I've been assuming the same, but I'm not aware of any "official" information on this, other than an announcement some time ago that there would indeed be a version of Spin available for the P2.

    Does anyone have any more info?

    Ross.
  • cgraceycgracey Posts: 14,206
    edited 2013-01-07 20:14
    For Spin in the Prop2, I plan to use the CLUT as the Spin stack, removing the need to declare a stack in VAR space. This will simplify launching Spin programs. No more declaring stacks and passing their addresses. It will be way faster, too.
  • Cluso99Cluso99 Posts: 18,069
    edited 2013-01-07 22:36
    cgracey wrote: »
    For Spin in the Prop2, I plan to use the CLUT as the Spin stack, removing the need to declare a stack in VAR space. This will simplify launching Spin programs. No more declaring stacks and passing their addresses. It will be way faster, too.
    Agreed. This will be a significant speed improvement. And will save a lot of user frustration when they did't allow enough stack space.

    Do you think that initially a restriction to using the lower 64KB hub space might be acceptable?
  • SeairthSeairth Posts: 2,474
    edited 2013-01-08 05:00
    Cluso99 wrote: »
    Agreed. This will be a significant speed improvement. And will save a lot of user frustration when they did't allow enough stack space.

    Do you think that initially a restriction to using the lower 64KB hub space might be acceptable?

    I've created another thread for spin-related questions.
  • BaggersBaggers Posts: 3,019
    edited 2013-01-08 09:02
    I too am waiting FPGAless excitedly, until the real thing becomes available :D
  • RossHRossH Posts: 5,477
    edited 2013-01-09 02:55
    Baggers wrote: »
    I too am waiting FPGAless excitedly, until the real thing becomes available :D

    Yes, I also was quite prepared to sit back and wait for the "real thing" to arrive. I expect we may see that happen sometime around the middle of the year.

    However, a very kind and generous forum member (msrobots - thanks again!) has donated a DE0-NANO to the Catalina cause, and I now have it set up and executing (PASM only at this stage). It won't take long to get the various Catalina loaders and kernels working on the Prop 2 - but it may take a while before all the really useful objects we currently have available for the Prop 1 are ported to the Prop 2. We don't even have Spin yet, although I'm sure Chip won't take long to whip up a version when he puts his mind to it. I believe Cluso is also working on a version. I wonder who will get there first! :smile:

    Ross.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-01-09 04:39
    RossH wrote: »
    It won't take long to get the various Catalina loaders and kernels working on the Prop 2 - but it may take a while before all the really useful objects we currently have available for the Prop 1 are ported to the Prop 2.
    You're right about that. It didn't take long to get PropGCC code running on the P2. The main task was modifying GAS to understand the new P2 instructions and I guess you won't have to do that if you wait for Roy's Spin/PASM compiler. I also had to write a new loader because the one that was originally in PNut.exe would only load 2K of code. I suspect Chip has improved it since though. As you say, the remaining work is getting any P1-specific driver code ported over to the P2. I did that last night with the SD driver from PropGCC. I haven't even tried to get the XMM modes working on P2 mainly because I don't have a board that has external memory that is hooked up to the P2. Once I get a SPI flash chip or SRAM hooked up the XMM modes should be pretty easy too.

    All of this is mainly due to the fact that the P2 includes most of the P1 instruction set as a subset. In the case of PropGCC, the code generator doesn't emit any non-P2 instructions. A few opcodes have changed like JMPRET but mostly P1 code will compile for the P2. This makes it easy to do a quick port. However, making full use of the new P2 features will require additional thought and work. I haven't started that phase yet.
  • BaggersBaggers Posts: 3,019
    edited 2013-01-09 07:01
    You guys are having so much fun :D
    <crosses fingers>So not jealous!
  • Cluso99Cluso99 Posts: 18,069
    edited 2013-01-09 16:05
    RossH wrote: »
    Yes, I also was quite prepared to sit back and wait for the "real thing" to arrive. I expect we may see that happen sometime around the middle of the year.

    However, a very kind and generous forum member (msrobots - thanks again!) has donated a DE0-NANO to the Catalina cause, and I now have it set up and executing (PASM only at this stage). It won't take long to get the various Catalina loaders and kernels working on the Prop 2 - but it may take a while before all the really useful objects we currently have available for the Prop 1 are ported to the Prop 2. We don't even have Spin yet, although I'm sure Chip won't take long to whip up a version when he puts his mind to it. I believe Cluso is also working on a version. I wonder who will get there first! :smile:

    Ross.
    Ross: You should have said it was impossible if you needed it faster ;)
Sign In or Register to comment.