From: Andreas Möller on
Hello,

maybe you should start with reading the documentation that comes with
Nosy.

Nosy can follow the program flow and can put the currently viewed
program part on the RPL-Data-Stack. You can use these strings that are
put on the stack to build/create parts of the program that you are
browsing, that way you might get an overview of what is going on.
However ML and interjumps (which will not work in a covered port but
the ROM is organized differently so that jumps inside the current
flash bank can be made thanks to very fast remapping of the flash
banks) are a bit harder to understand and there are some tricks that
you can use with the Saturn processor which do not look correct when
disassembled.

Also there are parts where Nosy will fail, then use CQIF which will
also fail sometimes... And some sources can not even be disassembled,
for example a mix of compressed files, ARM enhancements, nasty Saturn
tricks and so on...

This is called hacking / reverse engineering and of course not
everybody will be happy by that and try to prevent their sources from
this. And of course some code does not make any sense without the
documented sources.

Conclusion: It takes time, effort and patience to get you where you
want but the reward are programms that you can write which nobody else
can achieve ;-)

And if you are stuck there might be people here around which know the
answer.

HTH,
Andreas

From: Gurveer on
On Nov 4, 4:40 pm, Andreas Möller <andreas_moellerNOS...(a)gmx.de>
wrote:
> Hello,
>
> maybe you should start with reading the documentation that comes with
> Nosy.
>
> Nosy can follow the program flow and can put the currently viewed
> program part on the RPL-Data-Stack. You can use these strings that are
> put on the stack to build/create parts of the program that you are
> browsing, that way you might get an overview of what is going on.
> However ML and interjumps (which will not work in a covered port but
> the ROM is organized differently so that jumps inside the current
> flash bank can be made thanks to very fast remapping of the flash
> banks) are a bit harder to understand and there are some tricks that
> you can use with the Saturn processor which do not look correct when
> disassembled.
>
> Also there are parts where Nosy will fail, then use CQIF which will
> also fail sometimes... And some sources can not even be disassembled,
> for example a mix of compressed files, ARM enhancements, nasty Saturn
> tricks and so on...
>
> This is called hacking / reverse engineering and of course not
> everybody will be happy by that and try to prevent their sources from
> this. And of course some code does not make any sense without the
> documented sources.
>
> Conclusion: It takes time, effort and patience to get you where you
> want but the reward are programms that you can write which nobody else
> can achieve ;-)
>
> And if you are stuck there might be people here around which know the
> answer.
>
> HTH,
> Andreas

Thanks a lot Andreas for providing such a nice insight. I'm an amateur
at SysRPL and have no idea about how Assembly Language works. But your
post fills me with determination to learn and come up with my answer
one day. And I can really feel the joy when I make programs in SysRPL
which my classmates could not. I know it takes time but the fruitful
results which come out of one's efforts fills one with pride.

Regards,

Gurveer
From: Andreas Möller on
Hello,

> I'm an amateur at SysRPL and have no idea
> about how Assembly Language works.

start with

Introduction to System RPL and Assembly Language
http://www.hpcalc.org/details.php?id=7114

Programming in System RPL (PDF)
http://www.hpcalc.org/details.php?id=5142

and then move on to Saturn ML
Introduction to Saturn Assembly Language (PDF) Third Edition
http://www.hpcalc.org/details.php?id=1693

HP 49 Assembly Language Examples
http://www.hpcalc.org/details.php?id=5007

Get debug4x and start reading the very comprehensive helpfile,
especially RPLMAN.doc and SASM.doc. Use the example projects for your
first steps and read the walk through !
www.debug4x.com

I wouldn´t consider myself a professional but reading this suggestions
did give me some clues ;-)

Regards,
Andreas
From: Dave Hayden on
On Nov 4, 9:53 pm, Gurveer <gurveer....(a)gmail.com> wrote:

> Thanks a lot Andreas for providing such a nice insight. I'm an amateur
> at SysRPL and have no idea about how Assembly Language works. But your
> post fills me with determination to learn and come up with my answer
> one day. And I can really feel the joy when I make programs in SysRPL
> which my classmates could not. I know it takes time but the fruitful
> results which come out of one's efforts fills one with pride.

Gurveer,

Rather than taking up assembly language for a processor that doesn't
exist anymore (the Saturn processor is emulated using an ARM
processor), consider learning to use HPGCC, the C/C++ compiler for
the 50G. It generates native ARM code that is WAY faster than any
SysRPL or assembly.

Dave
From: Andreas Möller on
Hello,

> It generates native ARM code that is WAY faster than any
> SysRPL or assembly.

What you forgot: the code is 100 x bigger, needs a specific loader,
you have to do everything by yourself as you are outside of Saturn
ASM / SYS-RPL and there is no further development of HPGCC, the
website is dead for at least half a year.

Helpfull will be ARM ASM as this generates very small code and can be
run directly.

As long as the majority of the O.S is still written in Saturn ASM /
SYS-RPL and if you want to access this software (like DoInputForm)
this can only be done with it.

And if HP keeps compatibility (which they do if they are smart IMvHO)
this will be of further use.

People don´t buy hardware, they don´t buy software. What they buy is
solutions and part of the solutions is the huge amount of 3rd party
software which will be useless otherwise and I doubt that the limited
resources HP is given are enough to fill the gap.

Of course this is just my personal nonentity opinion.

Regards,
Andreas
http://www.software49g.gmxhome.de
http://www.youtube.com/watch?v=Pj72miclisM