Linux Port
Pages: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20
Martin Philips (9013) 48 posts |
I think you’ve got too hung up on the little clip of ChatGPT I did… it was just an easy way to show the equivalence.. which it did a reasonable job on… The Arm32 & Arm64 instruction sets are deliberately very similar, with the removal of the conditional execution being the largest change (IMHO) In terms of actual translation, I was thinking about just some C or Python.. not AI… In general I would say that a proper re-write in C, and proper move to a fully thought out 64-bit RISC OS is much better, not forgetting multi-core, multi-threading |
Rick Murray (539) 13840 posts |
It’s not the first time it’s been suggested to use ChatGPT to do conversions, as if it were some sort of magical panacea. |
Clive Semmens (2335) 3276 posts |
I suspect that’s true of any such conversion, but I fail entirely to see how it’s easier to write an ARM32 → ARM64 converter than to write an ARM32 → C (or other high level language) converter. Any such conversion will be less efficient than a careful analysis of what the code is really doing and a rewrite. It’ll generally convert each instruction to one or more instructions, whereas a human analysis and rewrite will often convert groups of several instructions to a smaller group. Even a one instruction to one or more instructions converter will be a lot more difficult than you seem to think. |
Rick Murray (539) 13840 posts |
Real life examples of why writing stuff in assembler is not a great idea… Impression → doesn’t even have a 32 bit native version yet, as clever assembler is clever and that makes it a nightmare to port by hand, never mind a machine messing stuff up. OvationPro → native builds for RISC OS and Windows, and the sources are now available if anybody fancies tackling Linux, MacOS, etc. ;) Uber example: Linux, available damn near everywhere. If the proposed future of RISC OS is a translation to a big pile of 64 bit assembler, then count me out. |
Martin Philips (9013) 48 posts |
Yes, but I’m not actually proposing to use ChatGPT for the conversion but, I think I am proposing that some sort of automated translation is possible, especially if the memory model is still 32-bit… To be honest, I’ve been sort of inspired by the work on 68K emulation done by Michal Schulz for the Amiga & PiStorm32 https://github.com/michalsc/Emu68 - that’s a JIT compiler that seems to produce very good results Anyway, I started of thinking that if it could be done for the 68K on Arm, then it must be easier to do ditto for Arm32 on Arm64 But as I looked into it, it just seemed that Arm32 & Arm64 were so similar that maybe a more direct approach would work Anyway, it’s no big deal, it’s just something I might persue for fun and entertainment! |
Martin Philips (9013) 48 posts |
You’re probably right It would probably also be easy to write it so that it spewed out C code (derived from the assembler), that could then be recompiled into the target.. |
Martin Philips (9013) 48 posts |
This is slight aside, and maybe a discussion for a different thread, but when thinking about Extending BBC Basic, and / or converting to C Why not just use the BBC Basic for Windows Source code (as the basis) back ported to RISC OS? |
Colin Ferris (399) 1814 posts |
What about a SWI_MRS [Edit] Question Any ideas on how to get the sound to work? |
Clive Semmens (2335) 3276 posts |
And how!!! But at least it would be portable. But even more unmaintainable or developable than the original assembly code. |
Martin Philips (9013) 48 posts |
It’s about being able to support 64-bits… |
Clive Semmens (2335) 3276 posts |
Obviously. I find it all interesting, but probably not really relevant to me. I’m fairly sure a couple of Pi4s will keep me RISCOSing as long as I’m likely to care, and none of the rest of my family use RISCOS. That said, if RISCOS appears on more modern architectures in a sensible form – that is, not stupidly inefficient and slow, or with functional impairments – I’ll probably change my tune. I’m unlikely to be able to contribute in any useful way to achieving this 8~( |
Martin Philips (9013) 48 posts |
For me, having RISC OS available on RPs meant that it was easy to try – effectively zero cost RISC OS on Linux (for example) allows RISC OS to continue on current platforms So there’s a few years for the RISC OS community to get it’s act together and come up with a path forward for RISC OS Doing a ‘simple’ Arm32 to Arm64 port might provide a way forward whilst the true 64-bit port is accomplished… |
Steffen Huber (91) 1953 posts |
A properly packaged emulation solution, for all major platforms, would have achieved the same (and more) and easier and cheaper. RISC OS on RPi was not exactly user-friendly as a setup/install experience for non-RISC OS users. I wonder how many people tried and failed and just turned away instead of doing as the few that asked here for help. |
Martin Philips (9013) 48 posts |
I thought it was pretty easy – just download and install on SD Card… |
Steffen Huber (91) 1953 posts |
You were lucky. There were certain points in time where this was not possible, because RPi hardware revisions were not supported. And people got confused that only a small amount of their microSD card actually got used. And no Wifi of course, that comes unexpected for most people trying out OSes. And very little useful software bundled (ROOL distribution) or incompatible with RPi 4 long after its release (ROD distribution). Distributed RPi firmware not being compatible with later revisions. The list goes on. Lack of easy installation option “side by side” with your main RPi OS is also a problem. Now compare this with a curated package that any old Linux package manager could install and you just start “RISC OS” on your main RPi OS. Or your Linux PC. Or your Mac. Real hardware is a pain in the *ss. Especially for a very small developer community with no industry sponsors. |
Martin Philips (9013) 48 posts |
I tried it on an RPi 4 and RPi 400, and it was fairly painless from what I remember… I understood the lack of Wifi and limited SD card space… |
Jan Rinze (235) 368 posts |
If people want to try on a vanilla Apple M1/M2 then perhaps running Linux in QEmu is the best strategy. |
Jan Rinze (235) 368 posts |
The way it handles the filing system could use some help. Also the way the build process works is not quite ‘out of the box’. |
Chris Gransden (337) 1207 posts |
You only need the DDE if building RISC OS from source. The binary download includes a pre built ‘rom’. |
Colin Ferris (399) 1814 posts |
How does DDT run on Linux? |
Jan Rinze (235) 368 posts |
Indeed, the prebuilt rom is fine to use. |
Jan Rinze (235) 368 posts |
It still amazes me how fast !Doom runs. At 2560×1440 it is smooth as butter.. |
Jan Rinze (235) 368 posts |
4K full screen is even nicer. Admittedly !Doom in 4k is a tad laggy but very playable.
|
Jan Rinze (235) 368 posts |
Oh and don’t ask me why 3% :-D |
andrew k (267) 76 posts |
Is it possible to increase the RAM above the default 1GB? If so can this be done via config? |
Pages: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20