HP Forums

Full Version: newRPL third demo released
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
For those interested, the third alpha demo of newRPL was released today. Now showcasing basic complex numbers and basic symbolic expressions.
Basic as in all operators are implemented, but transcendental functions don't work with compelx numbers yet, and symbolic expressions are not autosimplified, as the CAS is just starting to make its baby steps.
Since the release of our first alpha demo, we have reached the astonishing number of 43 downloads! Nothing to get excited about, there's at least 20 people interested in the project (since we released 2 demos, I'd think the same people that tried the first one downloaded the second one).

This is a quiet project, so stay tuned to the updates that are released every 2 weeks or so on our website:

http://hpgcc3.org/projects/newrpl

Claudio
Cool stuff. Part of the reason I picked up a 50g was to play with stuff like this. Is the bootloader to flash it independent of the CPU ROM or is there a chance it could be bricked if you write to the wrong spot?

It seems that since you can drop to supervisor mode on the CPU you wouldn't need to flash over the existing ROM, just write a normal HP50g program that simply takes over the entire RAM including what the OS normally uses. It would require a hard reboot to get back into the standard OS, but it could be started like a normal program and won't endanger the factory ROM so would be less invasive to try out.
(08-09-2014 11:18 PM)jwm Wrote: [ -> ]Cool stuff. Part of the reason I picked up a 50g was to play with stuff like this. Is the bootloader to flash it independent of the CPU ROM or is there a chance it could be bricked if you write to the wrong spot?
The bootloader is in the first 16 kbytes of the same flash. Some chips come with write protection on the first bank, I'm not sure there's any protection in this one (I'm not willing to try...).
But there's good news: the bootloader in the 50g doesn't need to be replaced and doesn't get in the way at all. And we don't need to write to the flash either, so it's very safe. Let me explain: newRPL will not write to flash like the 50g does. The entire 2 MB of flash will be used as ROM (no user banks). If you want flash, you have SD cards.
The firmware we have is installed to the calc by the same bootloader, using the standard rom update procedures. And the calc can be restored simply by flashing a normal rom again. We never override the bootloader, nor write to the flash directly. HP's bootloader installs newRPL and HP's bootloader removes it. Nothing custom there.

(08-09-2014 11:18 PM)jwm Wrote: [ -> ]It seems that since you can drop to supervisor mode on the CPU you wouldn't need to flash over the existing ROM, just write a normal HP50g program that simply takes over the entire RAM including what the OS normally uses.
I wouldn't consider "normal" a program that takes over the entire RAM and overrides the OS completely. But that idea was already executed in 2007!
So far you are describing exactly what hpgcc3 does when you run a C program, except it doesn't ever remove the original OS (but it takes every bit of ram available to give the user up to 400 kbytes), and it is capable of restoring everything back perfectly and return control to the calc OS (so you don't even need a reset to get back).
(08-09-2014 11:18 PM)jwm Wrote: [ -> ]It would require a hard reboot to get back into the standard OS, but it could be started like a normal program and won't endanger the factory ROM so would be less invasive to try out.

Basically you are suggesting to write an hpgcc3 application that doesn't return.
That approach has one major problem: there's no space in ROM. HPGCC3 already had to use one user flash bank, on top of every unused bit in the rom to fit the libraries.
If you can't put your OS in ROM, it needs to take RAM to execute, and that's very scarce already.
I think your idea is great, except we've been there already. If the calc OS is there, then there's no incentive to rewrite it from scratch, and the most logic course of action is to interact with it (and you end up with something like hpgcc3).
HPGCC3 installed in ROM alongside the calculator OS, and even though installation was 100% reliable, a lot of people got nervous, and kept using hpgcc 2.0 out of fear that it might do something to their calcs.
But that was back then. The WP34 project has shown that people are not afraid to flash their devices with custom firmware anymore, so here we are to give it a shot.

Claudio
Will this run on the HP49G+ also ?

François
(08-10-2014 11:55 PM)Francois Lanciault Wrote: [ -> ]Will this run on the HP49G+ also ?

François

Yes, they are both identical machines.

Claudio
(08-11-2014 02:57 PM)Claudio L. Wrote: [ -> ]
(08-10-2014 11:55 PM)Francois Lanciault Wrote: [ -> ]Will this run on the HP49G+ also ?

François

Yes, they are both identical machines.

Claudio

Well I have never downloaded any newRPL demo, but you can be sure the final product will be installed on either my 50G or 49G+.

François
(08-12-2014 04:42 PM)Francois Lanciault Wrote: [ -> ]Well I have never downloaded any newRPL demo, but you can be sure the final product will be installed on either my 50G or 49G+.

François

Thanks a lot for the vote of confidence.
In general (I mean, not directed at you in particular), the idea of trying the demos is to provide feedback . If you do so, the end product will probably include your suggestions and be a little closer to your dream machine. If you wait for the finished product to see it, then you may not like it at all, and it might be too late to tailor it to your taste.
A very good example is this thread, which will be implemented soon:

http://www.hpmuseum.org/forum/thread-1870.html

There's one person that will get things the way he wanted, just by being outspoken.

Claudio
Keep up the good work, looks great so far! Smile

Will it be possible to write programs in C like HPGCC?

Maybe it won't be as urgent as I'm sure it's going to be alot faster than the old emulation when running programs written in RPL, but programmers like me who knows C and don't know RPL would still be interested.
(08-12-2014 08:24 PM)Claudio L. Wrote: [ -> ]Thanks a lot for the vote of confidence.
In general (I mean, not directed at you in particular), the idea of trying the demos is to provide feedback . If you do so, the end product will probably include your suggestions and be a little closer to your dream machine. If you wait for the finished product to see it, then you may not like it at all, and it might be too late to tailor it to your taste.
A very good example is this thread, which will be implemented soon:

http://www.hpmuseum.org/forum/thread-1870.html

There's one person that will get things the way he wanted, just by being outspoken.

Claudio

Looking through that thread, I'd like to suggest a slight change: use single dots to enter mixed numbers, but allow double dots for simple fractions. So 1.3.7 is 1 3/7, and either .10.7 or 10..7 gives 10/7. That's what my HP32Sii does!

Nigel (UK)
(08-26-2014 11:29 AM)Nigel (UK) Wrote: [ -> ]Looking through that thread, I'd like to suggest a slight change: use single dots to enter mixed numbers, but allow double dots for simple fractions. So 1.3.7 is 1 3/7, and either .10.7 or 10..7 gives 10/7. That's what my HP32Sii does!

Nigel (UK)

Yes, I'm about to implement that feature. I think it makes sense to keep both ways.

Claudio
(08-25-2014 08:15 AM)Ailurus Wrote: [ -> ]Will it be possible to write programs in C like HPGCC?

The core can be extended by adding libraries. Libraries have to be written in C, so the answer is yes, you can create custom libraries in C (for now you need to compile into the ROM, later at some point you'll be able to use from an SD card). I haven't decided how to link user libraries yet, so don't expect an SDK anytime soon.
As far as running arbitrary C code from the stack (as in load a binary executable from the SD card and run it, without making a library), it should be doable once loadable user libraries are done.
Now these will be very special executable files, designed to run on limited resources and without a general C library. So as far as porting existing programs, it won't be easy. You won't even have malloc/free, you'll have to get memory from TEMPOB (and deal with the possibility that memory might move during GC!). You can't use doubles, you'd have to use calculator reals, etc.

Then there will be some sort of userRPL libraries too, but it is still unclear how they will work.

Claudio
(08-09-2014 02:10 AM)Claudio L. Wrote: [ -> ]For those interested, the third alpha demo of newRPL was released today.
I just bought a HP-50G on eBay that will be dedicated to your newRPL system.
I should be able to try it somewhere next week.
Sylvain
(08-28-2014 03:55 AM)Sylvain Cote Wrote: [ -> ]I just bought a HP-50G on eBay that will be dedicated to your newRPL system.
I should be able to try it somewhere next week.
Sylvain

Great, but you don't need a 50g at this point. The demo runs on Windows.

Claudio
(08-29-2014 01:49 AM)Claudio L. Wrote: [ -> ]Great, but you don't need a 50g at this point. The demo runs on Windows.
Hello Claudio,
Thanks for the info but unfortunately I am out of luck for now.
All my systems run's OSX, Linux or BSD's and I only have two licenses of Windows 7 Pro 32 bits installed in my VM's engines (Parallels/VMware/VirtualBox).
I will need to buy a Windows 7 Pro 64 bits (Windows 8.x is out of question for me).
Best Regards,
Sylvain
PS: In the meantime, I have downloaded the source snapshot and I will look into your implementation of RPL. 8-)
(08-29-2014 02:25 AM)Sylvain Cote Wrote: [ -> ]
(08-29-2014 01:49 AM)Claudio L. Wrote: [ -> ]Great, but you don't need a 50g at this point. The demo runs on Windows.
All my systems run's OSX, Linux or BSD's and I only have two licenses of Windows 7 Pro 32 bits installed in my VM's engines (Parallels/VMware/VirtualBox).

I use Linux as well and I the newRPL demo runs fine on Wine.
(08-29-2014 02:25 AM)Sylvain Cote Wrote: [ -> ]I will need to buy a Windows 7 Pro 64 bits (Windows 8.x is out of question for me).

Right. Or, wait a little for Win 9. Smile
I'm a bit late to this project so apologies for not suggesting this earlier:

I would suggest porting Free RTOS to the calc hardware and then writing newRPL as a process, or set of processes to run under it.

This lets you focus on writing newRPL (which is the fun bit) and easily re-use pre-written code for the 'less fun' things like SD card access, serial port & USB drivers.
(08-29-2014 02:25 AM)Sylvain Cote Wrote: [ -> ]I will need to buy a Windows 7 Pro 64 bits (Windows 8.x is out of question for me).
I have Win 7 64b and I'm happy with it but just for my education, what's wrong with win 8?
(08-29-2014 08:59 PM)BruceH Wrote: [ -> ]I'm a bit late to this project so apologies for not suggesting this earlier:

I would suggest porting Free RTOS to the calc hardware and then writing newRPL as a process, or set of processes to run under it.

This lets you focus on writing newRPL (which is the fun bit) and easily re-use pre-written code for the 'less fun' things like SD card access, serial port & USB drivers.

Not late at all. The on-target development has just started in June.

I have a few objections to your idea:
1) The Samsung chip in the 50g is not listed as one of the supported targets, so there's no drivers anyway
2) FreeRTOS provides:
  • Real time (what do we need it for?)
  • Multitasking (what for?)
  • Events and queues (?)
4) A stack-based calculator uses a different memory management vs. the malloc/free that all kernels require. So we'd have to create 2 different memory managers, or reserve a chunk of ram specifically for the kernel.
5) We already have some drivers from HPGCC3 (LCD, keyboard, timers, SD card)

I had already considered the use of a microkernel and looked at a couple of L4 implementations and eCos, but none really fit the profile.
There's only one thing I'd like to have in a third-party kernel/OS: a complete USB stack (device and host), which would allow to use the host mode and connect devices to the calculator. But the "middleware" is never free. If you know of a tiny kernel with a USB stack for the S3C2410X then I'm interested. I'm willing to port and provide drivers for a kernel, if I can get something good in return.

Otherwise, I have a 50g that's already booting into my own custom firmware, I just finished the MMU programming, CPU clock, and LCD setup (in greyscale). I'm getting ready to add my exception handlers, and write a small memory manager to administer the very scarce ram using the MMU.
Once that memory manager is ready, I can pretty much bring in the demo to the target hardware, and then start the user interface from there.

I'd say by the end of the year I think we can have at least the basic demo we have now, running on-target.

Claudio
(08-29-2014 06:24 AM)Ailurus Wrote: [ -> ]I use Linux as well and I the newRPL demo runs fine on Wine.
Thanks, good thinking, for some reason I did not think of it. I will also try it with CrossOver on OSX.

(08-29-2014 06:54 AM)Massimo Gnerucci Wrote: [ -> ]Right. Or, wait a little for Win 9. Smile
Given Microsoft track record since Windows XP, I will let others do their beta/experiment testing. ;-)

(08-30-2014 07:36 AM)Tugdual Wrote: [ -> ]
(08-29-2014 02:25 AM)Sylvain Cote Wrote: [ -> ]I will need to buy a Windows 7 Pro 64 bits (Windows 8.x is out of question for me).
I have Win 7 64b and I'm happy with it but just for my education, what's wrong with win 8?
The following is my opinion and mine only.
Windows 8.x is Microsoft answer to the tablet phenomena.
Instead of having two separate versions of Windows, one for PC's and one for tablet/phone's they decided to create one UI metaphor for both.
Now, Windows 8 on a tablet/phone works ok, but on a PC's without a touchscreen it is not working for me at all.
I have tried it for several months and I was fighting against the UI all the time, at some point I decided that I had better things to do.
I revert back to Windows 7 Pro 32 for my Windows VM's.

For the Win 32 vs 64 bits ...
I bought the 32 bits versions for the VM's because it was enough for me.
In retrospect I should had bought the licenses for 64 bits version.
Now, this will be corrected very soon with a 64 bits license.

Best regards,

Sylvain
Pages: 1 2
Reference URL's