Help with translation to ARM code

discuss PC<>Acorn file transfer issues & the use of FDC, XFER, Omniflop/disk etc.
Richard Russell
Posts: 145
Joined: Sun Feb 27, 2011 10:35 am

Help with translation to ARM code

Postby Richard Russell » Fri Jul 07, 2017 4:02 pm

I've posted this on the BBC BASIC forums but there may be a better chance of somebody being willing and able to help here:

"Those of you who have tried the Raspberry Pi edition of BBCSDL will have spotted that neither the Run... Debug nor Run... Profile options are available. This is because both rely on 'sdldebug.bbc' (in the @lib$ folder) which contains a substantial amount of assembler code, which of course is x86-specific.

It would obviously be highly desirable for those debugging options to work on the RPi, but to do so it will require an ARM version of 'sdldebug.bbc' to be written. Since I'm not an ARM programmer (far from it!) this is not something I can contribute to.

There must be people here with a background in programming the Acorn Archimedes or RISC PC, who have some experience with ARM assembly language. I would greatly appreciate it if somebody would volunteer to write and test the required code.
"

Richard.

User avatar
dhg2
Posts: 47
Joined: Tue Oct 25, 2016 7:37 pm

Re: Help with translation to ARM code

Postby dhg2 » Sun Jul 16, 2017 11:10 pm

Instead of replacing the x86 assembly code with ARM assembly code, is it not possible to rewrite it purely in BASIC? Or is it technically possibly, but it would make the debugging features too slow to be useful?
(Sorry that this reply isn't useful, I'm just asking out of curiosity.)
Regards,
- Patrick

Richard Russell
Posts: 145
Joined: Sun Feb 27, 2011 10:35 am

Re: Help with translation to ARM code

Postby Richard Russell » Mon Jul 17, 2017 8:20 am

dhg2 wrote:Instead of replacing the x86 assembly code with ARM assembly code, is it not possible to rewrite it purely in BASIC?

No, it's not. The debugging/profiling code runs in a separate thread (strictly, in a timer interrupt) and BBC BASIC is not multi-thread capable. If you think about the requirements of a profiler, especially, any attempt to do it in BASIC would in any case skew the results because you would be profiling something significantly different from the original program!

Richard.


Return to “software & utilities for the pc, mac or unix”

Who is online

Users browsing this forum: No registered users and 1 guest