Norcroft 64
Simon Willcocks (1499) 520 posts |
Alternatively, modify RISC OS to use the generic timer instead, which is implemented. I’m busy, but maybe asking nicely on a qemu forum would work? |
André Timmermans (100) 655 posts |
Requirements have evolved, processors need to help with more intensive and specialized stuff. So, you now have VFPE, NEON, memory management, crypto, IA, etc. And since if come in 32-bit and 64-bit versions, that doubles the size. |
Graeme (8815) 106 posts |
There is a lot of duplication and each instruction seems to take at least two pages to describe. Various formats are shown (32-bit, 64-bit and a number of thumb sets). Every instruction has an algorithm to show what it does which takes up space. When I say every instruction, I mean it. STMFD and STMFA are two different instructions in this manual. The older manuals had a couple of pages for MOV/MVN/ADD/SUB/MUL and all the bitwise operations. Now ADD and ADDS are listed separately with each taking a couple of pages. There are a huge number of instructions now. ADD can have U, S, Q or SH in front of them and 8 or 16 on the end in most combinations. There are pushing 50 versions of LDR and STR (like LDR, LDRB, LDRH, LDREX and more). That is a lot of two pages when each is classed as separate. I guess it is for the algorithms to be simpler. As a side note, does anybody know what language those algorithms are in? Are they available from ARM as a text file because they would be very useful to make an emulator. |
Steve Pampling (1551) 8172 posts |
That may be the reason, or maybe the author was paid by the word/page. |
Sarah Walker (8227) 14 posts |
The v8 ARM ARM is autogenerated from (I think) an XML spec. It is more important that it is correct, accurate and complete than it being concise or particularly readable. |
Paolo Fabio Zaino (28) 1882 posts |
If you refer to pseudo code like the following:
This is a non standard pseudo language used to describe how the CPU decode or process each instruction. In other words it’s not a “programming language” per se, but it can be translated into one. I use a similar approach to design the software components for my UltimaVM. Given that when you optimize code a lot, many people won’t be able to understand what the code is actually doing.
Yes, some of the pseudo code examples should be also on the on-line version of the Arch Ref Manual. But the PDF one is top notch, because you can click on each internal register “type” which contains the structural definition, so I find it way more useful. On the “to make an emulator”, we have Sarah here one of the most talented developer I have seen on the matter of writing emulators, so I am sure she will have a ton to say. In my personal experience on the matter, the pseudo code above is very useful to understand what the real CPU truly does behind the scenes, but the emulator code will need to take consideration of software optimizations, which the pseudocode doesn’t consider at all (and for obvious reasons). In other words, the pseudo code should be seen as a very detailed description of what the real CPU will do functionally speaking in that specific situation, then it’s up to you how that same result has to be produced in ASM, C, C++, Java or Rust etc. in the best possible way for correctness and performance. HTH |
Paolo Fabio Zaino (28) 1882 posts |
indeed! |
Colin Ferris (399) 1818 posts |
Reading about the Phebe RiscPc2 project on 4corn site – one difference quoted by Acorn was a increase in RAM from 512Mb to 1024Mb from the RiscPc. |
Stuart Swales (8827) 1357 posts |
No, please read more carefully. The physical address space was increased to 1024MB. That is NOT the same as the amount of RAM. That would be akin to saying an A310 could have 64MB of memory because that was the size of its physical address space. . DRAM (32or 64MB SDRAM as 2 DIMMs with expansion upto 512MBs) From https://www.4corn.co.uk/archive/Acorn_Developer_Site/docs/hardware/phoebe/funcspec.html |
Sveinung Wittington Tengelsen (9758) 237 posts |
Seeing this thread I couldn’t help think "What if a dozen or so RISC OS programmers on the David Pilling level knowing both 32-bit Arm asm and modern C conspired on GitHub or such to do a 64-bit version of RISC OS using multi-threading and preemptive multitasking, maybe also multi-CPU/GPU, with full emulation of RISC OS 3.7 apps “built in”? It could open for production of blistering fast RISC OS computers, suitable for heavy GFX and audio creation and editing. That’d be nice. |
Dave Higton (1515) 3534 posts |
Let’s all remember not to feed the troll. |
Sveinung Wittington Tengelsen (9758) 237 posts |
I just knew somebody would say that, in the no-mans land between ruling brainless culture and The Stockholm Syndrome – a conditioned reflex. Good doggie. |
Peter Howkins (211) 236 posts |
Dave, given you’re the closest thing this forum has to a moderator, if you actually believe this, you could just ban them and save us all the aggravation. |
Clive Semmens (2335) 3276 posts |
Splendid idea. |
Paul Sprangers (346) 525 posts |
Please, no ban. SWT isn’t offending anyone. His unrealistic dreaming is just ‘like a broken pencil’ (as Blackadder said). |
John WILLIAMS (8368) 495 posts |
Much as the idea appeals, it’s a bit like hanging – it’s a bit late to find the perpertrator was actually innocent, merely misguided/misunderstood. I suspect that Dave will want to keep his powers, much appreciated in their execution, low profile. |
John WILLIAMS (8368) 495 posts |
And Sargasso now has an exclusion facility if one wishes to use it. If only people would stop responding, the perceived problem would go away! |
Clive Semmens (2335) 3276 posts |
Sargasso? |
John WILLIAMS (8368) 495 posts |
An RSS feed reader, M’lud, originated by James Bursa and fairly recently very-kindly retro-fitted with with a selective-kill facility by Chris Gransden from whose site the modified version is currently available. This was added by request after a spate of imaginary experts challenged Rick, amongst others, for the title of “wordiest” contributor. It was necessary because people will keep on feeding the trolls! |
Clive Semmens (2335) 3276 posts |
Presumably one that runs on RISCOS then? Ah, okay. Mostly I access this site from the Mac… heigh ho. |
John WILLIAMS (8368) 495 posts |
I wonder how well it would handle a Mac usergroup feed. Do they have trolls there as well? I expect so. I expect such a facility could be added to a Mac RSS feed reader if it were absent. But nothing beats self-discipline and self-restraint, which is really the point I’m trying to make. To make a personal witty response may be momentarily satisfying, but just prolongs the agony for many. |
Clive Semmens (2335) 3276 posts |
Dunno, I’m not on any Mac usergroups. I guess they probably have though.
Indeed. Apologies for the occasions I’ve been guilty. |
Rick Murray (539) 13850 posts |
😋 |
Sveinung Wittington Tengelsen (9758) 237 posts |
In my first posting to this thread should be added “Pensioned RISC OS C/asm Programmers” – a glimmering opportunity to take advantage of new CPU/GPU features (realtime raytracing!) and maybe turn the current trend of rapidly disappearing RISC OS users. They’d be true heros. |
Sveinung Wittington Tengelsen (9758) 237 posts |
Just had a look at http://www.codemist.co.uk/index.html , the makers of the Norcroft C compiler system. Although Acorn/RISC OS stuff is a very small part of their former business projects their former directors appear to be available for queries. I’m thinking, could any of their compiler tools/support systems not sold off, or still being commercial products be used to aid in a RISC OS 32-to 64-bit conversion? It’s a long shot, both the job itself and matters of (32-bit) RISC OS compability, but it wouldn’t hurt to ask. |