Shop OBEX P1 Docs P2 Docs Learn Events
PNut/Spin2 Latest Version (v47 - Cooperative multitasking added to Spin2, up to 32 tasks) - Page 21 — Parallax Forums

PNut/Spin2 Latest Version (v47 - Cooperative multitasking added to Spin2, up to 32 tasks)

1181921232470

Comments

  • @VonSzarvas
    @JonnyMac
    @cgracey
    @Wuerfel_21

    I ran the link again was able to download but this happened:
    See attached
    583 x 262 - 40K
  • JonnyMacJonnyMac Posts: 9,155
    edited 2020-07-27 19:52
    Here's an opportunity to translate PNut from x386 Assembly to generic C and compile with a modern tool set. Keeping the C generic may allow it to be compiled for Windows, Linux, Mac, and even the P2 by using FastSpin.
  • Can we bring Chip to the dark side. :)
  • JonnyMacJonnyMac Posts: 9,155
    edited 2020-07-27 20:50
    I'd be okay with Python, too -- my goal is code that will run on any platform so that Parallax doesn't have to keep defending itself (and missing out on possible customers) for being Windows-centric.
  • JonnyMac wrote: »
    I'd be okay with Python, too -- my goal is a cross-platform tool that will run on any platform.

    +1
  • Spin2 would also work if generic enough to pass through spin2cpp unharmed
  • RaymanRayman Posts: 14,738
    Wow!
    MS Edge won't even let me download the v34u zip file...

    Think this is new...
    1488 x 401 - 45K
  • I initially got that with Chrome, too.
  • RaymanRayman Posts: 14,738
    I checked it out with this website:
    https://www.virustotal.com/

    Looks like 30 of 72 virus checkers don't like the .exe file because part of it is encrypted.
    Apparently, some viruses encrypt themselves to avoid detection...

    Maybe that .exe packer looks like encryption? Was that used on this file?
  • David BetzDavid Betz Posts: 14,516
    edited 2020-07-27 21:52
    JonnyMac wrote: »
    Here's an opportunity to translate PNut from x386 Assembly to generic C and compile with a modern tool set. Keeping the C generic may allow it to be compiled for Windows, Linux, Mac, and even the P2 by using FastSpin.
    I though Chip was translating his x86 assembly Spin2 compiler to Spin2.

  • Dave HeinDave Hein Posts: 6,347
    edited 2020-07-27 22:41
    Spin2, C or any other HLL would have to be compiled into assembly, so writing in assembly shouldn't be the problem. However, I suspect that Chip is using some assembly tricks that compilers normally don't use, but may be common in malware. If he could figure out what the assembly trick is, maybe he could avoid using it. It may be something he added recently. If one version works, but the next one fails then it must be something he added in the failed version.

    BTW, how do you compile Spin2 to run on an x86?
  • spin2->spi2cpp->C->modify C->throw at GCC ?

    Mike
  • The fact that the signed version still triggers generic detection is... ughhh.

    Is it still using the executable compression? The AVs really hate it when you "generate" code at runtime (one thing many of them do is de- and re-compile the code they scan and then run it for a bit to see what it does - this obviously doesn't work properly if the code pages are writable)
  • cgraceycgracey Posts: 14,206
    I don't generate any code at run time. I have all variable data declared in its own segment.

    The thing is, this used to work. I think using that packer program raised a flag that won't go down now.
  • cgraceycgracey Posts: 14,206
    edited 2020-07-27 23:00
    David Betz wrote: »
    JonnyMac wrote: »
    Here's an opportunity to translate PNut from x386 Assembly to generic C and compile with a modern tool set. Keeping the C generic may allow it to be compiled for Windows, Linux, Mac, and even the P2 by using FastSpin.
    I though Chip was translating his x86 assembly Spin2 compiler to Spin2.

    I started to, but have been working on the Windows tools lately. I've almost got some really nice graphical debugging stuff working.
  • cgracey wrote: »
    I don't generate any code at run time. I have all variable data declared in its own segment.

    The thing is, this used to work. I think using that packer program raised a flag that won't go down now.

    Your code doesn't, but the packer "generates" your code from the compressed data
  • cgracey wrote: »
    David Betz wrote: »
    JonnyMac wrote: »
    Here's an opportunity to translate PNut from x386 Assembly to generic C and compile with a modern tool set. Keeping the C generic may allow it to be compiled for Windows, Linux, Mac, and even the P2 by using FastSpin.
    I though Chip was translating his x86 assembly Spin2 compiler to Spin2.

    I started to, but have been working on the Windows tools lately. I've almost got some really nice graphical debugging stuff working.
    Do you expect to get back to it eventually or have you abandoned the idea?

  • cgraceycgracey Posts: 14,206
    David Betz wrote: »
    cgracey wrote: »
    David Betz wrote: »
    JonnyMac wrote: »
    Here's an opportunity to translate PNut from x386 Assembly to generic C and compile with a modern tool set. Keeping the C generic may allow it to be compiled for Windows, Linux, Mac, and even the P2 by using FastSpin.
    I though Chip was translating his x86 assembly Spin2 compiler to Spin2.

    I started to, but have been working on the Windows tools lately. I've almost got some really nice graphical debugging stuff working.
    Do you expect to get back to it eventually or have you abandoned the idea?

    I don't know. I like the idea, but I don't know how practical it is to get people to dedicate monitors, keyboards, and mice to our chip. If the OS world becomes increasingly constrained by freedom-killing problems, like inability to deliver software easily, it might become very compelling. I figure our computers these days are massive blobs of spyware, first, that also allow us limited use for our own purposes, but that is getting narrowed. Freedom has been evaporating for a long time and, for me, the whole computing thing has been robbed of its early promise. I can't even reliably share my Windows app, anymore, which I never saw coming. Maybe someday Microsoft will take it up ten notches in a short span of time and then I'll focus purely on self-hosting.
  • evanhevanh Posts: 16,022
    edited 2020-07-28 05:15
    cgracey wrote: »
    If the OS world becomes increasingly constrained by freedom-killing problems, like inability to deliver software easily, it might become very compelling. I figure our computers these days are massive blobs of spyware, first, that also allow us limited use for our own purposes, but that is getting narrowed.
    Internet Explorer becoming unremovable was one of the big reasons I stopped using Windoze. I vaguely entertained getting Win7 when M$ was forced to revert IE back to being a removable program again.

    I note Edge has also become unremovable just last month.

  • So to take this back around.

    Do not pack the PNut exe, and do sign it?
    Does this then keep the anti virus from triggering?
  • cgracey wrote: »
    David Betz wrote: »
    cgracey wrote: »
    David Betz wrote: »
    JonnyMac wrote: »
    Here's an opportunity to translate PNut from x386 Assembly to generic C and compile with a modern tool set. Keeping the C generic may allow it to be compiled for Windows, Linux, Mac, and even the P2 by using FastSpin.
    I though Chip was translating his x86 assembly Spin2 compiler to Spin2.

    I started to, but have been working on the Windows tools lately. I've almost got some really nice graphical debugging stuff working.
    Do you expect to get back to it eventually or have you abandoned the idea?

    I don't know. I like the idea, but I don't know how practical it is to get people to dedicate monitors, keyboards, and mice to our chip. If the OS world becomes increasingly constrained by freedom-killing problems, like inability to deliver software easily, it might become very compelling. I figure our computers these days are massive blobs of spyware, first, that also allow us limited use for our own purposes, but that is getting narrowed. Freedom has been evaporating for a long time and, for me, the whole computing thing has been robbed of its early promise. I can't even reliably share my Windows app, anymore, which I never saw coming. Maybe someday Microsoft will take it up ten notches in a short span of time and then I'll focus purely on self-hosting.

    Why wait?

    Is SPIN2 truly constrained to the Propeller chips?

    If spin2cpp can handle SPIN2, or if necessary can be extended to, then people could choose between on-chip or off-board compiling. Another alternative is to use a P2 emulator (I seem to recall something like that being discussed at one time) for off-board compilation.
    Those of us who prefer not to use Windows would appreciate the effort being made earlier, and you might find that something compiled by a Windows friendly compiler would be less likely to be flagged as malware by the anti-virus community.

    That seems like a win-win to me.

    Also, the longer you wait, the more work will have potentially been wasted when you decide to make the change.

    Given how cheap keyboards, mice, and monitors are these days, I think there would be plenty of people who would like a dedicated setup. Their 'massive blobs of spyware' could then be used solely for viewing the documentation. The other alternative is a relatively cheap KVM switch.

    I see the SPIN2 compiler written in SPIN2 to be less about pure self-hosting, and more about the provision of choice.

  • cgraceycgracey Posts: 14,206
    evanh wrote: »
    cgracey wrote: »
    If the OS world becomes increasingly constrained by freedom-killing problems, like inability to deliver software easily, it might become very compelling. I figure our computers these days are massive blobs of spyware, first, that also allow us limited use for our own purposes, but that is getting narrowed.
    Internet Explorer becoming unremovable was one of the big reasons I stopped using Windoze. I vaguely entertained getting Win7 when M$ was forced to revert IE back to being a removable program again.

    I note Edge has also become unremovable just last month.

    On my Android phone, I can't remove Facebook, of all things.
  • cgraceycgracey Posts: 14,206
    whicker wrote: »
    So to take this back around.

    Do not pack the PNut exe, and do sign it?
    Does this then keep the anti virus from triggering?

    We will see.
  • cgraceycgracey Posts: 14,206
    AJL wrote: »
    cgracey wrote: »
    David Betz wrote: »
    cgracey wrote: »
    David Betz wrote: »
    JonnyMac wrote: »
    Here's an opportunity to translate PNut from x386 Assembly to generic C and compile with a modern tool set. Keeping the C generic may allow it to be compiled for Windows, Linux, Mac, and even the P2 by using FastSpin.
    I though Chip was translating his x86 assembly Spin2 compiler to Spin2.

    I started to, but have been working on the Windows tools lately. I've almost got some really nice graphical debugging stuff working.
    Do you expect to get back to it eventually or have you abandoned the idea?

    I don't know. I like the idea, but I don't know how practical it is to get people to dedicate monitors, keyboards, and mice to our chip. If the OS world becomes increasingly constrained by freedom-killing problems, like inability to deliver software easily, it might become very compelling. I figure our computers these days are massive blobs of spyware, first, that also allow us limited use for our own purposes, but that is getting narrowed. Freedom has been evaporating for a long time and, for me, the whole computing thing has been robbed of its early promise. I can't even reliably share my Windows app, anymore, which I never saw coming. Maybe someday Microsoft will take it up ten notches in a short span of time and then I'll focus purely on self-hosting.

    Why wait?

    Is SPIN2 truly constrained to the Propeller chips?

    If spin2cpp can handle SPIN2, or if necessary can be extended to, then people could choose between on-chip or off-board compiling. Another alternative is to use a P2 emulator (I seem to recall something like that being discussed at one time) for off-board compilation.
    Those of us who prefer not to use Windows would appreciate the effort being made earlier, and you might find that something compiled by a Windows friendly compiler would be less likely to be flagged as malware by the anti-virus community.

    That seems like a win-win to me.

    Also, the longer you wait, the more work will have potentially been wasted when you decide to make the change.

    Given how cheap keyboards, mice, and monitors are these days, I think there would be plenty of people who would like a dedicated setup. Their 'massive blobs of spyware' could then be used solely for viewing the documentation. The other alternative is a relatively cheap KVM switch.

    I see the SPIN2 compiler written in SPIN2 to be less about pure self-hosting, and more about the provision of choice.

    All my work feels like concept development more than final implementation. I can retarget any time. It's just easiest to keep working this way, for now.

    I know monitors and keyboards are cheap, but desk space is not. And field portability is important. I think we will always need tools that run on portable big-OS devices, because that is what people need the option of using.

    There are a few things we've talked about within Parallax, like how come there is no USB class for turning your laptop/PC/phone (USB host) into a terminal display with pointer and keyboard controls (for the USB device)? I mean, it could be sandboxed and made harmless to the host machine. It would be a nice, generic means of system interfacing, providing display, input, file storage, and internet access. I think the reason this does not exist is because it gets people around the big, branded OS monstrosities that the vendors don't want you bypassing. It cuts them out of the spyware opportunity. I guess the closest we can get, which is even superior in some ways, is a web-page serving system that gets to use your host machine as its display, keyboard, etc. We've been talking about that, too, but we need to learn how to approach that goal.
  • cgracey wrote: »
    I think the reason this does not exist is because it gets people around the big, branded OS monstrosities that the vendors don't want you bypassing. It cuts them out of the spyware opportunity.

    LOL. You are probably on the right track. Devices now seem primarily intended to be used only to consume from controlled providers, which generates even more income, not to be able to produce and distribute. For the average Joe's they don't care because they only consume but for actual developers this is becoming a limitation. It will be very interesting when Apple moves from x86 to ARM to see how things end up with real (former?) personal computers too. Thankfully Linux still exists.
  • YanomaniYanomani Posts: 1,524
    edited 2020-07-28 06:40
    evanh wrote: »

    Internet Explorer becoming unremovable was one of the big reasons I stopped using Windoze. I vaguely entertained getting Win7 when M$ was forced to revert IE back to being a removable program again.

    I note Edge has also become unremovable just last month.

    It's even worse (or insiduous) than that: at least on W 7 and W 8.1' Windows Update, before allowing it to install, I'd clicked the blueish "further information"-link (MS knowledge base article KB4567409):

    Under "Installation information", it's clearly stated the following: "To keep your browser secure and up to date, you are asked to accept automatic updates. By clicking Accept and get started you enable Microsoft Edge to update automatically so that you can always have the latest improvements. These updates are independent of your Windows update settings.".

    I.O.W.: you must swallow a living "Ferocactus echidne"(https://en.wikipedia.org/wiki/Ferocactus_echidne), thorns included, without cutting, chewing, nor complaining!

    21th Century justice, maybe... :lol:
  • jmgjmg Posts: 15,175
    rogloh wrote: »
    .. It will be very interesting when Apple moves from x86 to ARM to see how things end up with real (former?) personal computers too. Thankfully Linux still exists.

    Apple has already changed cores once, so this change will be largely invisible to users.
    Apple will have tuned whatever core they use, to emulate other cores with little effort.

  • jmgjmg Posts: 15,175
    cgracey wrote: »
    I know monitors and keyboards are cheap, but desk space is not. And field portability is important. I think we will always need tools that run on portable big-OS devices, because that is what people need the option of using.

    There are a few things we've talked about within Parallax, like how come there is no USB class for turning your laptop/PC/phone (USB host) into a terminal display with pointer and keyboard controls (for the USB device)? I mean, it could be sandboxed and made harmless to the host machine. It would be a nice, generic means of system interfacing, providing display, input, file storage, and internet access....l.

    If you want to avoid the big-OS syndrome, and get an agile user display, things like this Wio-Terminal exist, for a quite well priced $29.00
    That could manage P2 debug support on 2 pins.

    https://www.seeedstudio.com/Wio-Terminal-p-4509.html $29, 320x240 terminal



  • The point was that by doing this they will pretty much then control the entire system then including the CPUs. It will likely be far more difficult to develop/distribute any software that is built outside the sanctioned ecosystem. Right now you can still run Linux or Windows on a Mac using generically available x86 tools and do with them what you wish etc because it still mostly looks like a PC underneath. This may go away. If M$ follows this trend, then the typical PC will become a different more tightly controlled beast.
Sign In or Register to comment.