ROOL Forum: Recent Posts

Forked

Thu, 01 Dec 2022 15:31:53 -0000

You mean “The most exciting project for me right now is bringing up Genode on a 64bit only cpu and run arm32 emulation on it”?

https://www.iconbar.com/forums/viewthread.php?threadid=13014

Toolbox help

Thu, 01 Dec 2022 15:02:46 -0000

WOW, that got out of hand, LOL

Thank you Stuart, I am passing “&FFF” in the type$ so I was thinking that would work. I will change the temp%+size% as I see now that is not correct.

Steve, I am no wiser where I have gone wrong, I have a DIM temp% 10000 that I thought was my buffer to put the text in and the at% was the returned position of the text in my buffer. Am I not understanding how this works and where am I going wrong.

The text I am editing is several thousand bytes long.

Thank you.

Toolbox help

Thu, 01 Dec 2022 14:16:58 -0000

All for the want of around five instructions to make your own RMA claim

You are surely not advocating using the RMA in BASIC for such a purpose? Now that is really not something you should be giving as an example of “the way to do it” to a beginner. ;-)

Here is the ‘proper’ heirarchy as I see it:

Is that about right?

But that is boring when you can claim flexible memory from the String Allocation Table (SAT).

Bring a window to the front by clicking in the menu title

Thu, 01 Dec 2022 14:02:29 -0000

SWI &1E returned a bad error pointer.

When are you running it? In !Boot…PreDesk or …Desktop or double clicking? Mine is in PreDesk.

Forked

Thu, 01 Dec 2022 13:51:14 -0000

A interesting note on IconBar for Arm 64 bitters :-)

Problem perl script

Thu, 01 Dec 2022 13:49:42 -0000

Perl on RISC OS is a bit of a mess, I believe the build system needs the ancient 5.001, and there is also ports of 5.8.8-1 and 5.14.2 both of which have proved to be pretty flaky with code from other platforms. There needs to be a definitive RISC OS version, and the build system should update to it.

Toolbox help

Thu, 01 Dec 2022 13:47:00 -0000

I think the storm in the teacup is not so much that you’re poking around […], but that it was given as an example of “the way to do it”.

To return a BASIC string I think I would do […] This uses the BASIC INPUT buffer, but you could use your own block%.

Put an emphasis on “I” and I think I am covered. ;-)

Forked

Thu, 01 Dec 2022 13:40:37 -0000

hindsight is a handy thing :-) pity Acorn didn’t go 32bit with the announcement of the RPc!

That would have been the time to do it, the impetus of a new far more capable machine, and an active developer community pretty much near it’s peak. When the first 32bit ARM6 came out it was obvious to everyone 26 bit chips would be dropped in a couple of years, we were extremely lucky the first StrongARM variant still had it, but that was the end. However, short term expediency won out, and many great RISC OS programs fell by the wayside when we eventually got a 32 bit OS, although I tried to rescue as many as I could.

Moving to 32 bit when the RPC came out, wouldn’t have helped us for 64 bit, as ARMv8 was long after Acorn and most of the developer community had gone. In the intervening years there were technical merits but no commercial imperative to rewrite the OS in C. But even if it was all in C right now, breaking APIs changes would have to made for 64 bit, and the fundamental re-architecturing of the entire OS to work on multiple processors would still every non trivial existing program.

Toolbox help

Thu, 01 Dec 2022 13:36:31 -0000

That free for all workspace is an awful hack due to the lack of available memory pages back in the early days

Actually it was due to the largest page size on Archimedes systems being 32KB, so we had to reserve 32KB below the application space for zero page stuff even when the page size was smaller for lower memory systems. On the grounds that we couldn’t immediately find anything worthwhile to occupy the upper 16KB of that space, several of us started to use it as ScratchSpace – isn’t there a comment in the kernel header saying that your use of it needed to be documented there?

Toolbox help

Thu, 01 Dec 2022 13:28:41 -0000

That’s me told, then. ;-(

All for the want of around five instructions to make your own RMA claim…

but it has been fixed in BASIC for nearly 40 years and unless someone at ROOL decides to make fundamental change for no reason, it will stay that way.

What, like the VDU workspace that nemo was getting upset about just the other day?

it could be documented.

Wrong answer.
The correct answer is to expose an API to obtain the information. Otherwise it risks stuff being immovable in the future.

Where would we be if no-one ever poked around to exploit things?

I think the storm in the teacup is not so much that you’re poking around (let’s face it, us programmers, we’ve all done it at some point), but that it was given as an example of “the way to do it”.

How about the 32k RISC OS scrap space at &4000? That is obscure, but documented.

If I recall, it is documented in the context of “don’t rely on this as FileSwitch may well jump up and down on top of you”.

That free for all workspace is an awful hack due to the lack of available memory pages back in the early days (my version of Arthur 0.30 treats the machine as having half a megabyte of 32K pages!).
These days, best to quietly retire it and mark the memory range as inexistent.

Toolbox help

Thu, 01 Dec 2022 12:27:27 -0000

That’s me told, then. ;-(

I will accept ‘advocating’ and not do it again. ;-)

It is documented – I did it in my StrongHelp BASIC manual many, many moons ago and we all now have access to the source code. Does that count?

Where would we be if no-one ever poked around to exploit things? I think Reporter would be less handy if it did not, for instance.

What about the use of END (FSA) I mentioned? That is officially documented, but you have to know how the BASIC heap works to avoid pitfalls.

How about the 32k RISC OS scrap space at &4000? That is obscure, but documented.

OK, the best practice is to DIM LOCAL usually, and there is oodles of memory these days, but my inclination is to save where I can, so indulge me. ;-)