You will need:
Method:
]]>Here’s the current state of the disassembly: https://dpt.github.io/ChaseHQ/ and the related thread on Spectrum Computing: https://spectrumcomputing.co.uk/forums/viewtopic.php?p=117562#p117562
See you in ten years!
]]>
If you’re bothered, there are downloads over on the logos page.
]]>Here’s a screenshot of it running in RISC OS 4 via RPCEmu:
Version 3.20 has had quite a few changes. The main thrust of the work has been to reduce the reliance on the Tinct module, that’s used to render alpha channel sprites, and to replace the PDF format user guide with a StrongHelp one. I’ll break the changes down into sections:
]]>Grab a copy over here on the Nuts page.
]]>PrivateEye is a viewer for Sprites, DrawFiles, JPEGs, ArtWorks, GIFs and PNGs. It also has editing features including bitmap effects and rotation.
Version 3.14 is a minor update with a selection of tweaks and bug fixes:
<Wimp$Scrap>
used in title bars now. It’ll use <untitled>
in title bars, and ImageFile
when saving an image with no known name. Received files are marked as modified too. This matches the behaviour of standard RISC OS apps.est_size
is -2) is supported (it’s not super useful because PrivateEye’s not a full editor, but it is in there).Click here for tasty logo goodness.
I’ve also updated the Cogs and Nuts pages:
Good day to you sir
]]>]]>
The Acorn operating system RISC OS is built from a kernel and a collection of software components called relocatable modules. Its native bitmap format is the sprite.
RISC OS’s most fundamental sprite drawing routines live alongside the other VDU handling within the OS kernel. However, that’s not enough to support all of the defined sprite operations. A support module called SpriteExtend enters the fray: it hooks into the OS and steps in when required to implement the extended OS_SpriteOp
operations.
PrivateEye is a viewer for Sprites, DrawFiles, JPEGs, ArtWorks, GIFs and PNGs. It also has editing features including bitmap effects and rotation.
Version 3.10 is an update which enhances its handling of JPEGs:
I’ve updated the site a few times since my last front-page blog post. So what’s happened lately?
Art! The Sunrise Set is a collection of, presently, seven drawings of sunlit scenes in a geometric vector style. If you like them, you can download them as 1024x1024-pixel resolution PNGs.
Wallpaper! I’ve added a new page with chamfered and embossed variations on the “modern” Acorn logo. They are based on the Acorn logo I recreated for my Risc PC in Blender. You can download as 1920x1200-pixel resolution PNGs, or versions tuned for the Archimedes 256-colour palette at 800x600 pixels. You can grab the source files too, if you use Affinity Designer.
Tweaks! My fantasy Acorn branded hard disc in a diagram type style image thing got tweaked a bit with changed colours and other bits.
Diagrams! At one point I was working on an article about how to properly wire up Risc PC IDE cables, but drawing a diagram of Risc PC innards ended up being more interesting. I spent some hours drawing two diagrams and never finished the article itself… The two hard disc diagrams are added to the bottom of the hard disc page.
Finally after many years of work I’ve gotten around to writing all about my The Great Escape reverse engineering project. There’s a whole new section on the site.
]]>In some cases the rubber feet can even liquefy and leave you with a wonky computer sitting in a pool of grey goo.
You’ll be pleased to know that you can lever off the old ones and replace them with a new set of Bumpons (that’s what they’re called) from 3M.
]]>Since it’s a minor fix I’ve not updated the PDF manual.
]]>MOVS pc
instruction. It appears that the Cortex-A53 faults these instructions; a change from earlier cores.NULL
dereference in the choices handling code when the user clicked on a pane containing hidden choices (those without a UI). This would cause a crash on zero page protected OSes.Additionally it was rebuilt using the latest DDE27 tools from RISC OS Open Ltd.
]]>In fact, while fixing the aliases diagram I re-drew all of the Introduction to ARM diagrams in Affinity Designer.
]]>But how do we find these branch-free alternatives? Sufficiently small sequences can be discovered with a superoptimiser program. Superoptimisers are not as clever as the name might suggest: they are typically an exhaustive search through an (often virtual) instruction set. The superoptimiser will try every conceivable permutation of instructions from its instruction set until it finds a sequence which works for the values under test.
Two examples of this are GNU superopt (1995) and Aha! - A Hacker’s Assistant (2008). In this article I’ll discuss Aha.
]]>MVN
ought to be described as “move NOT” rather than “move negated”. (Dan Lewis)Model | Release | Apple Name | A.K.A. | Core | Bits | Cores | Arch | Notes |
---|---|---|---|---|---|---|---|---|
iPhone | 2007/06 | S5L8900 | ARM1176JZF-S | 32 | 1 | v6 | ||
iPod Touch 1 | 2007/09 | S5L8900 | ARM1176JZF-S | 32 | 1 | v6 | ||
iPhone 3G | 2008/07 | S5L8900 | ARM1176JZF-S | 32 | 1 | v6 | ||
iPod Touch 2 | 2008/09 | S5L8720 | ARM1176JZF-S | 32 | 1 | v6 | ||
iPhone 3GS | 2009/06 | S5L8920 | Cortex-A8 | 32 | 1 | v7 | Samsung Hummingbird 1 | |
iPod Touch 3 32/64G | 2009/09 | S5L8922 | Cortex-A8 | 32 | 1 | v7 | iPod Touch 3 8G is 2nd gen hardware | |
iPad | 2010/04 | A4 APL0398 | S5L8930 | Cortex-A8 | 32 | 1 | v7 | |
iPhone 4 | 2010/06 | A4 APL0398 | S5L8930 | Cortex-A8 | 32 | 1 | v7 | |
iPod Touch 4 | 2010/09 | A4 APL0398 | S5L8930 | Cortex-A8 | 32 | 1 | v7 | |
AppleTV 2 | 2010/09 | A4 APL0398 | S5L8930 | Cortex-A8 | 32 | 1 | v7 | |
iPad 2 | 2011/03 | A5 APL0498 | S5L8940 | Cortex-A9 | 32 | 2 | v7 | |
iPhone 4S | 2011/10 | A5 APL0498 | S5L8940 | Cortex-A9 | 32 | 2 | v7 | |
iPad 3 | 2012/03 | A5X APL5498 | S5L8945 | Cortex-A9 | 32 | 2 | v7 | |
AppleTV 3 | 2012/03 | A5R2 APL2498 | S5L8942 | Cortex-A9 | 32 | 2 | v7 | Has two cores but one is disabled! 2 |
iPhone 5 | 2012/09 | A6 APL0598 | S5L8950X | “Swift” | 32 | 2 | v7S | Custom design |
iPod Touch 5 | 2012/10 | A5R2 APL2498 | S5L8942 | Cortex-A9 | 32 | 2 | v7 | |
iPad 4 | 2012/11 | A6X APL5598 | S5L8955 | “Swift” | 32 | 2 | v7S | Custom design |
iPad Mini | 2012/11 | A5R2 APL2498 | S5L8942 | Cortex-A9 | 32 | 2 | v7 | |
AppleTV 3A | 2013/01 | A5R2 APL7498 | S5L8947 | Cortex-A9 | 32 | 1 | v7 | A ‘proper’ single core design |
iPhone 5C | 2013/09 | A6 APL0598 | S5L8950X | “Swift” | 32 | 2 | v7S | Custom design |
iPhone 5S | 2013/09 | A7 APL0698 | S5L8960X | “Cyclone” | 64 | 2 | v8 | Custom design |
iPad Air | 2013/11 | A7 | “Cyclone” | 64 | 2 | v8 | Custom design | |
iPad Mini 2 | 2013/11 | A7 | “Cyclone” | 64 | 2 | v8 | Custom design |
The 64-bit A7 chips are still a bit too new to find out about in much detail.
See that the ‘S5L’ code name digits are the ‘APL’ product name but with its digits reversed. So a hypothetical Apple APL5678 would be a S5L8765.
Data from Wikipedia and PDAdb. E&OE.
And what do you know… I compile all that then I find this.
]]>Gerph now may well be the last person using hsc. Fair game to the man. He is hardcore.
Initially I’d dabbled with Octopress which wasn’t quite flexible enough and then made a more serious stab with DocPad which looked very promising for a while, but ended up being incredibly frustrating and slow.
So I’ve rebuilt davepace.co.uk using gostatic which is a static site generator built in Go. It lets me write pages using Markdown syntax and it is fast.
The changeover involved converting all of the pages entries into Markdown format. I also wrote a script to enable custom additions into Markdown in order to make the ‘slide’ sections in the ARM training course work.
Other changes include:
Also, I’ve made some small-ish tweaks to the site:
PhotoFiler has previously had its source released but not one bit of feedback came of that. Presumably it’s perfect.
I’ve uploaded the source code to both PhotoFiler and PrivateEye to riscos.info’s subversion server.
Now I would like to carry on beavering away on both utilities but, to be honest, the Iyonix doesn’t get switched on that much these days. I have grand things planned, with image tagging, tag clouds, thumbnails, searching and magical flying ponies called Geoff. All of that work in in the released source but it’s not in anywhere near a useful state.
Enjoy!
]]>MOVEQ pc,r14
should have been MOVEQ r0,#1
to return the correct result for 0!. (sbrodie)<CODE>
elements. (joty):tohtml
). (tlsa)ASR
!= <<
-- cut and paste error. (jmb)!RunImage
is no longer squashed.Sprites and PNGs may specify an alpha channel to hold transparency information. PrivateEye can now recognise and display these images using the Tinct module.
Transparent images can be displayed against a checkerboard pattern background.
The effect system now knows about alpha channel data and always preserves it. The curve effect has been upgraded to allow editing of the alpha data.
All these changes are mainly in aid of enhanced PNG support. Now all of the images in PngSuite can be loaded and displayed.
]]>The big new feature in this version is interpretation of JPEG metadata, one example of which is Exif data. The new version of PrivateEye can decode and present this data in a treeview, so you can view (but not edit) the information stored by digital cameras and image processing applications. It also supports Adobe, IPTC-NAA and JFIF COM data.
The other new feature is caching. PrivateEye can allocate an amount of memory in which to preserve recently-loaded images. This saves time when flipping back and forth between files.
I’ve also made the ‘Convert to Sprite’ function for JPEGs more accessible, which makes using the histogram and effects system more convenient.
]]>Bug fix release 2.51, now available, fixes the problem and also tidies up some vanishing icons in the templates.
]]>Features:
Features: