Old Sprite Format won't Render
Richard Keefe (1495) 81 posts |
I have got some documents that contain thousand of artworks 1.12 files & drawfiles [all 1993 or earlier], but all Draw Displays is Bad MODE on a grey box, Artworks won’t load it (“Ea02” divide by zero error) & drawplus crashes (divide by zero crash), and ImpressionX shows nothing. Analysis of one of the files using !MultiTask show: Sprite Old format ** Deprecated Mode >53 ? x ?, ??bpp no mask – sprite name: screen Was this a RiscOS 2 file, how do I get them to render without having to modify all the files (as they are all embeded into other files) or without changing the size of of the blob. |
Rick Murray (539) 13840 posts |
The problem is “screen” sounds like a screenshot that was taken in a custom mode. It was common in the old days to have modules that provide a range of additional screen modes (I think Ovation had such a thing). Unfortunately nobody ever considered what might happen if this screen mode was no longer recognised by the operating system. You have two choices. The first is to look for whatever might have created this extra mode and see if you can get it running on an emulator to determine its colour depth etc. |
Chris Hall (132) 3554 posts |
Yes. Suggest you try replacing the mode number word with 0, 8, 12 and 15 in turn (1bpp, 2bpp, 4bpp, 8bpp) – one of these will enable the sprite to display something sensible. Now you’ve identified the colour depth, if the eigen scaling is wrong then try 4, 1, 9 or 13 respectively and if still wrong try 18, 19, 20 and 21 respectively. |
Chris Evans (457) 1614 posts |
AIUI you have a Sprite within a Draw file which is within an Artworks file. |
Chris Hall (132) 3554 posts |
The other thought I have is that once you have discovered the colour depth of the strange mode number, all you need to do is to create a numbered screen mode using a module and Service_ModeExtension (the old ones won’t work on RISC OS 3.50 onwards) and then they’ll all render correctly. Hopefully. |
Richard Keefe (1495) 81 posts |
When I extract the draw file draw displays the correct size grey box containing the words “bad MODE”’ artworks won’t import it, drawplus crashes, and impressions shows a blank image. When I extract the sprite paint won’t load it, artworks won’t load it, impression shows a blank box (I’ve not tries drawplus). I suspect that the mode information is one from CC’s colour card gold, they were modes 80-120ish from memory. |
Chris Hall (132) 3554 posts |
The draw file has the sprite at offset &28. Hence at offset &68 is the mode number word. Try replacing this word with the mode numbers suggested above and Draw should produce something – one of the mode nos is likely to display correctly. Then write a module to add that numbered mode. Then all the other sprites will display correctly without alteration. Bingo! |
Richard Keefe (1495) 81 posts |
The mode number in the file is 78 ( 0×4e), and it appears that mode 9 renders it correctly. This mode number does not appear in the colour card, or scanlight documentation. I’ll see if I can get them to render with a module (assuming they are all the same). |
Rick Murray (539) 13840 posts |
A quick dose of Google and: -Working mainly in multisync mode 78 (Impression 16-colour large workarea mode) (It’s actually very similar to Computer Concepts Mode 78 |
Edward Nokes (1656) 3 posts |
According to the PCATS manual, mode 78 is a 4bpp EX1:EY2 mode, like a higher resolution version of mode 12, so try poking the mode word to that instead. I would imagine that mode 9 would give the wrong aspect ratio to your sprites, although it would get the bpp right. For the sake of completeness… The State Machines G8 graphics card manual lists the following mode numbers: The PCATs graphics card manual lists the following: Between G8 and PCATS, modes 66,72,73,76 appear to be inconsistent with regards to aspect ratio, but consistent in regards of bpp. The Computer Concepts ColourCard manual lists mode numbers 88-123: Between Colourcard and PCATS, modes 104-106,115-123 appear to be inconsistent in terms of bpp, and modes 108-110 appear to be inconsistent in terms of aspect ratio but agree on bpp. Mode 71 isn’t listed for any of the three graphics enhancers. All other modes >= 64 are covered. |
Rick Murray (539) 13840 posts |
I seem to recall both Impression and Ovation used to come with modules that provide extended modes…and they both used similar/same mode numbers (somewhere around 60-80)…and no, they weren’t the same. I used to use a “larger” version of MODE 12 a lot until I learned the hard way that screenshots and sprites from it were unusable on “ordinary” systems. Yup, I crashed into this problem twenty five years ago. Nice to note that nothing has changed. ;-) |
Richard Keefe (1495) 81 posts |
I tried all of the modes that Chris suggested including 12, but mode 9 was the only one that displayed correctly. |
Chris Hall (132) 3554 posts |
used to come with modules that provide extended modes… Pre-RISC OS 3.50 modules for screen mode extension will not work on RISC OS 3.50 and later. They need to be rewritten. |