Wish List
rjo__
Posts: 2,114
Please feel free to join in with your own wishes or to comment on mine.
I really respect and appreciate the efforts to make the Prop2 multi-lingual. It will be a better world.
At the same time, I'll likely be spending my efforts on PASM2 and Spin2. I hate touching
my Windows machine, mostly I think because if I use my Windows machine the way I use my Mac, I'll be picking
up viruses that I don't know anything about and I'm more comfortable at my desk. So, 99% of my time is on my Mac. I have been using
TextWrangler to write Prop2 code on the Mac, because it preserves the line encoding (sort of).
I then save it to my Windows machine and walk down the hall and run it keeps me fit.
Is there any way to tell PNUT to run code from my Mac?
I'm thinking not.
What we are really going to need is a Windows(or cross-platform) editor that has keyword highlighting, right-click help, auto-indentation, function lists, and collapsible subroutines.
Other than that, I'm good.
I really respect and appreciate the efforts to make the Prop2 multi-lingual. It will be a better world.
At the same time, I'll likely be spending my efforts on PASM2 and Spin2. I hate touching
my Windows machine, mostly I think because if I use my Windows machine the way I use my Mac, I'll be picking
up viruses that I don't know anything about and I'm more comfortable at my desk. So, 99% of my time is on my Mac. I have been using
TextWrangler to write Prop2 code on the Mac, because it preserves the line encoding (sort of).
I then save it to my Windows machine and walk down the hall and run it keeps me fit.
Is there any way to tell PNUT to run code from my Mac?
I'm thinking not.
What we are really going to need is a Windows(or cross-platform) editor that has keyword highlighting, right-click help, auto-indentation, function lists, and collapsible subroutines.
Other than that, I'm good.
Comments
Until then, you could use a virtual machine. Run Pnut.exe right on the Mac as a Windows program using Parallels or VMWare, etc...
Would you be willing to dedicate a monitor and keyboard for a stand-alone Prop2-based Prop2 development system?
I know some people think this idea is superfluous, and I can understand why, but I think it could be incredibly snappy and responsive. I'm imagining compile, download, and execute in under 1 second, with instantaneous debug views updating upon execution.
Whenever we have to wait around for anything, we're prone to all sorts of distractions, and we need to spool-up again when we're able to test our latest changes. I think even a several-second delay is pretty costly, in terms of progression. Sub-second updates wouldn't give our minds time to wander.
These days, I'm having to wait 50 minutes for an FPGA compile. This severely limits the number of turns I can do in a day.
I saw there is an 8086 emulator that is an MIT licensed C program for the Raspberry Pi. Maybe as an interim we could retarget the P2 and run pnut under the 8086 emulation???
I am all for a P2 standalone dev system
We'd have to simulate Windows, too, right? It might be a lot more practical to just rewrite it into PASM.
I made a start on re-doing my display driver, using the new update too, so will post it once I get it back to where it was.
Btw is there a new instruction for MOVS and MOVD?
They're now called SETS and SETD, along with SETI and SETX. There are INCD and INCDS instructions, too, to add $200 or $201 to an instruction.
Yes, it would last forever, safely outside the reach of the octopus.
Here's a picture of a experiment I have been playing with.
It is very much a work in progress.
I call it "InPASM" and it's basically a editor/assembler for the P2 that runs on a P2.
The editor is only 50% complete at this stage, but the concept looks doable.
Is this the sort of thing you guys are looking for?
When it's a bit more complete maybe I will post the code and we can make it a "open source forum" project?
Thoughts?
Cheers
Brian
Looks good!
Now imagine how stable something like that would be, particularly if it targeted a 2nd Prop2. Having a 2nd Prop2 means that the code only runs on it, not on the host Prop2, so the development platform could be rock-solid.
Why not go text based and talk to it over a serial line?
One could imagine having an editor and Spin compiler together with a simple OS running on the Prop II, using SD card storage or whatever, that are text based. Then any PC/OS combination that supports a terminal program could be used to program the Prop. That includes terminals running in web browsers talking to the Prop via a server. Things like Chrome books and even just the Google Chrome browser on a PC can access serial ports directly.
That does not preclude attaching a monitor to the Prop if one wants to see some graphics action. Or perhaps a keyboard as well and going totally independent of a PC.
Making such a self hosting environment dependent on an attached monitor and keyboard seems like a mistake. It takes us back to the days of the PC BIOS and MSDOS apps that you can't use without a screen and keyboard. Yuk.
Clusso,
Sadly 8086Tiny only emulates original 16 bit mode x86 code. I guess it might be "upgraded" one day but for now we would be stuck in a world of segment registers and all the other ugliness that came with 8086 and MSDOS. Nooooo...
Would you be willing to post or pm the pnut source so we can get started?
I wrote an emulator for the ICL mini using 486 (I specifically targeted the fast 486 instructions) assembler back in the 90's, so it probably won't take long to recall the instruction set. Perhaps initially it might be easy to just write a translator to convert '86 instructions to P2 instructions - I did that for 68705 to Z8 many moons ago.
Brian, that looks awesome that's me not having to write an editor now!
Cheers,
Jim.
Ah, yes, thanks Chip I must have missed that one!
WELLLLL of course I would. My current Windows system also hosts my CNC machine, I hate to touch it.
Brian…
That's IT if you add a couple of wrinkles. If I hover over one of the keywords or right click on it, I want to go directly to a definition and example snippet.
In the dream list, I would also like dynamic "help" to link to seminal discussions in the forum… the links could be added by volunteers.
For example, qsincos would link directly to a definition and example snippet, but would also have links
to Chip's first Cordic discussion video as well as example programs posted in the forum.
WINE(which is not an emulator)…This morning before I was thinking clearly, I decided to try Wine… now I'm thinking not. First you have to install XQuartz… no problem. Then you have to install GIT, which seems like a perfect rabbit hole
to my eye. Maybe after lunch.
I am planning to get a couple of Bill's new Prop1 RoboPi boards http://forums.parallax.com/showthread.php/153275-Propeller-add-on-for-Raspberry-Pi-RoboPi..-the-most-advanced-robot-controller-for-Pi… it would be neat if the prop-robo-pi could be pre-configured to program my Prop2-Nano.
The idea of taking a day to install everything is a real barrier.
People could use whatever they want to view and write code. I really would get as much out of the serial line as I would on chip dev system with keyboard mouse and would probably 3D print up some nice, portable thing.
On serial, connect a couple of lines, and it integrates into a PC perfectly, copy paste, windows open, etc...
Once that is settled, make whatever cool editor debug application makes the best sense.
Add a -gui operation to the on chip Pnut so that it's output becomes appropriate for either environment. Separating these two means having a little more overhead, but it yields a lot of flexibility. And "-gui" is just shorthand for however it would get specified as there would not be an OS like a bigger computer would have.
The default package would end up looking a lot like Prop Tool, with terminal built right in. However, people could write other tools and or expand the system for specific purposes.
P2 chips could also build code for P1 after a time as well.
@Brian: Nice editor!
I would like on-chip PASM/SPIN
There is plenty of space for it in the SPI boot flash.
Re/ 50 minute FPGA compiles... time for a new machine, *beside* your current one, so you can test it with plenty of faster compiles
Ray,
Tiny8086 looks very interesting, especially now that he released an un-obfuscated version.
Evan,
I still use PNut on Wine on my main Ubuntu box - works great.
Brian,
WOW!!!!! Extremely cool, can't wait for it.
Heater,
Keyboard+display OR ANSII serial would be best. That way, the keyboard+display could just be an ANSII terminal running on the prop.
cursor position + F1 is normally help, and that would work great. Help files could also be in the flash.
It's pretty easy to install on Ubunty, that's how I run PNut for P2 experiments
Thank you re/ RoboPi
Should I start offering pre-configured SD cards for RoboPi?
Pre-loaded with SimpleIDE, serial console disabled, xrdp, RoboPi docs, libs, demos?
I was considering doing this before, but I was not sure if people would be willing to pay for it.
I'll move this part of the discussion to my RoboPi thread so we don't clutter this one.
This is a great idea and already on my wish list. Would it be possible to do P1 development on it as we'll?
I already have a monitor mouse and keyboard dedicated to P1 development so all I need to do is add a KVM switch.
Absolutely offer a pre-loaded version. It would be great service.
Honestly, the only reason I haven't tried SimpleIDE on my PI is the pain of getting it set-up.
I have three Pi's with cameras, and after fiddling around with python over serial, kind of shelved it:)
Good to see you have the communications figured out.
Thank you.
Rich
https://dl.dropboxusercontent.com/u/81267937/SimpleIDE-0-9-46.armv6l.raspberrypi-linux.tar.bz2
What is the road block?
I read that the install for SimpleIDE takes about 8 hours. No?
Rich
No.
Install takes seconds. Download the package. Unpack it. Run the setup script. Done.
Building the the thing involves a lot of installation of dependent packages before you start. and the actual compilation of propgcc takes from 12 to 20 hours depending on what you are using for file system storage. I fond an attached hard drive is best.
Build instructions for the Pi are here if anyone wants to do it: http://a.linuxsecured.net/building-propgcc-for-the-raspberry-pi/
Otherwise that is why I posted the ready made package.
Partial recompiles can be done by diving in there and using Make. The simple shell script provided to build propgcc will always reconfigure and rebuild everything. Which I prefer as like to be sure everything is pristine. I'm not developing propgcc so the fact that it builds whist I sleep is not a big deal.
"Marketing" ?
Who is marketing? The tools are all free and opensource. I don't see any commercials anywhere pushing them on us.
I read rjo's comment as meaning recompiling FPGA's code from HDL to bitstream, that is why I wrote about partial recompiling.
OTOH, I do not know how/which version of gcc you are using but when targeting arm, 68k or AVR it takes less than 10 minutes on an i7.
I see the confusion. That 50 mins to build an FPGA configuration comment was Chip's. I have no idea about partial compilations there. I would imagine a lot of time is spent fitting the required logic blocks in a nice physical arrangement and routing everything. Which probably has to be redone every time.
rjo_ and I were talking about the time to to recompile propgcc and SimpleIDE on the Raspberry Pi itself.
Of course cross compiling it on a nice fast PC would be a lot quicker. But my experience with getting up cross compilation environments over the years has been a very hit and miss affair. Often resulting in a great deal of lost time trying to get them to work and then giving up. So I have not even thought to try it for the Pi. I did manage to cross compile "Hello World" for the Pi recently so perhaps I'll try again.
If you have any suggestions that would be great.
http://hardkernel.com/main/products/prdt_info.php
prices just look ridiculous low nowadays