RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account
Forums → Announcements →

Status of Zap

Subscribe to Status of Zap 92 posts, 33 voices

Posts per page:

Pages: 1 2 3 4

 
Aug 10, 2016 10:18am
Avatar David Pitt (102) 763 posts

The following is a post by James Aylett, a Zap developer, and is copied from the zap-users mailing list.

quote
It’s been over 12 years since 1.47 beta 1, and at that point development had already slowed to a crawl. In the intervening years, the former developers of Zap have all moved on to other things. Right now we have mailing lists, a source code repository (still using CVS!) and a website. For various reasons at my end, it’s time to address some of this.

I’m aware that some people have done work on Zap since then. (A couple of people have also asked over the years for permission to distribute Zap, some of them I believe with modifications, since it doesn’t have an open source license and so these kinds of things are murky.) So it’s possible that there are people out there who could take this over.

CVS is, for most people, a dim and distant memory. I’ve converted the old repo to git and put it on github (https://github.com/jaylett/zap) for the time being. I will be closing pull requests against it (so please don’t), but I’m quite happy to transfer it into a github org if others want to take it over. It’s entirely possible that the CVS-to-git conversion process didn’t work properly, so I won’t be getting rid of the old CVS repo; it just won’t be available to others from around October this year.

The website is frozen in its current state, and I’ve added a notice saying that. (The dynamic source for the website is in the git repo.)

The mailing lists have had almost zero activity recently, and since I no longer have any time for Zap myself, I’d like to close them down (just keeping on top of spam and subscription requests has been work, and indeed recently I’ve not even been able to manage new subscription requests properly — the problem being that almost all of them are actually spam). The archives are currently (and, from what I remember, deliberately) private, so we should be cautious about whether to make them available elsewhere. (Again, I’m not going to delete my copies of the archives, in case anyone finds a use for them in future. There were at time considerable technical discussions which might be of interest if anyone is considering further development.)

Since I believe there are people still using Zap actively, it might be an idea for someone to set up a single new mailing list so there is someone for people to discuss issues going forward. I’m of course more than happy to add something to the git repo to aid people finding it.
/quote

p.s. The original Zap site.

 
Aug 10, 2016 4:39pm
Avatar Chris Hall (132) 2971 posts

There certainly are people using !Zap actively on RISC OS, so you are correct.

 
Aug 10, 2016 8:35pm
Avatar Sprow (202) 946 posts

I don’t get on with Zap myself, preferring another brand of washing powder, but maybe a volunteer could step forward to talk to James along these lines:

  • Perhaps Vince could take over the mailing lists, since RISCOSitory uses mailman to provide the lists it hosts, so it may be possible to import the mailing list archives with no lost history?
  • The main stumbling block to future development seems to be the copyright vagueness, but it looks like the last few releases were all done by James/Darren/Christian so it should be possible to contact them and perhaps reach a consensus since they were in their minds happy at the time to make releases under some (unwritten) terms
  • If that turns out to be impossible then going back to version 1.35 would mean you only needed to track down the original author who, from the readme’s in earlier versions, seems to work at ARM somewhere. Of course any changes post 1.35 would need re-implementing.
  • Quite where the source ends up being hosted is not too important, there’s SourceForge or Theo at riscos.info for example, or if the licence can be consolidated by one of the above means then I’m sure ROOL could make space on their server if you ask nicely (which uses CVS, hence could import the original history losslessly)

Good luck, but don’t sit around thinking somebody else will do this, they’re all non-programming tasks.

 
Aug 20, 2016 12:23pm
Avatar André Timmermans (100) 386 posts

I hope Tank reads this column so that he can update these sources with his patches to make Zap work on modern machines. Unfortunately he only updated his own site with the 1.48 tnk-7 sources, while he released 1.48 tnk-11.

 
Aug 20, 2016 12:38pm
Avatar Chris Hall (132) 2971 posts

!Zap 1.48 tnk 7 seems to work OK on my Titanium. What is the problem please?

 
Aug 20, 2016 1:13pm
Avatar Colin Ferris (399) 1059 posts

Thanks for that pointer to Tnk-11 – missed that upgrade.

I see that the Zap module contains a ‘SWP’ instruction – might upset ‘Pie the third’.

 
Aug 20, 2016 1:31pm
Avatar André Timmermans (100) 386 posts

The problem, who knows? Tank made extra corrections like the one mentionned here https://www.riscosopen.org/forum/forums/1/topics/3943?page=4#posts-50708 but there is no documented fixes nor updated sources. Anyway I had to combine ZapComplete.zip + ZapLatest.zip + ZeroZap.zip to get a working version on the Pi3 (with some problems like crashing when reading obey files).

 
Aug 20, 2016 8:27pm
Avatar jan de boer (472) 68 posts

If you can do without the colouring by the ZapObey module, remove !ZapObey from !Zap.Modules. Then you can edit Obey files. The SWP instruction maybe can be replaced by LDR/STR, I don’t know how important the atomic character of SWP is for zap but I applied this patch to zap: www.tellima.nl/riscos/. (Patches are at the end). For Arcem a better alternative here: www.riscosports.co.uk/vfp/arcem.zip

 
Aug 27, 2016 8:58am
Avatar Matthew Phillips (473) 400 posts

David, is James Aylett aware that you copied the message here, or are you feeding back things that are being suggested here?

I’m still very much a Zap user. I expect I could migrate to StrongEd if I gave it a serious try, but you know how people are with favourite editors. It works pretty well on the Iyonix (very occasional crashes) and is usable on ARM v7, but does tend to crash rather more often on that platform. I very much appreciate its throwback facilities and the C and BASIC colouring modes. Could do with a PHP mode, though that’s really hard to do. It would also be nice to have PCRE support as I always have to look up the Zap syntax.

The advantage of CVS over Git is that we do at least have a RISC OS CVS client! I think Theo was looking into porting Git at one point but ran into non-trivial issues.

 
Aug 27, 2016 9:26am
Avatar Steve Pampling (1551) 6545 posts

Could do with a PHP mode, though that’s really hard to do

Maybe someone should check how it was done for StrongED

Not a Zap user myself, but I do appreciate the “favourite” situation – at work some people don’t like NotePad++ and struggle by with multiple editors to do the same thing1 I do with one.

1 Sort of. Mostly people ask what scripts etc I have in the proverbial bag of tricks or just toss the problem my way.

 
Aug 27, 2016 9:26am
Avatar David Pitt (102) 763 posts

David, is James Aylett aware that you copied the message here, or are you feeding back things that are being suggested here?

James is aware that I copied the message here, and I passed on the URL

So far nothing substantive has been forthcoming, there are only comments on the status-quo, but I have made James aware.

 
Aug 27, 2016 11:46am
Avatar Fred Graute (114) 550 posts

but you know how people are with favourite editors.

Yes, but it is possible switch. I started with Zap, then used both in tandem for a while and finally switched to StrongED when its source became available.

I very much appreciate its throwback facilities and the C and BASIC colouring modes.

StrongED has all of that too. :-)

If there’s anything missing then you can always put in a feature request to make StrongED a bit more Zap-like. The Dump mode for example has, over the years, moved much closer to Zap’s binary modes.

Another thing that could make a transition easier would be to create a new BaseMode that uses Zap style keyboard shortcuts. You wouldn’t be able to completely emulate Zap but it might help, and I already have a (very basic) version of such a mode.

It would also be nice to have PCRE support as I always have to look up the Zap syntax.

I guess it would be the same with StrongED’s search syntax which is quite simple but also quite different from PCRE. If you have Stefan Bellon’s RegEx module loaded then you can use regular expressions but only for searching not S&R.

Could do with a PHP mode, though that’s really hard to do

Maybe someone should check how it was done for StrongED

There would be little point, StrongED modes are implemented very differently from Zap modes. Basically, it’s a text file vs a module.

 
Aug 27, 2016 9:50pm
Avatar Rick Murray (539) 10579 posts

Mmm, took another look at StrongEd. The C colouring is quite like Zap, but since StrongEd (normally) uses a standard bitmap font, it may be somewhat difficult to support bold and italics in a manner similar to ZapRedraw.

Unfortunately, assembler mode is very primitive compared to Zap. This may be a difference in Zap being intended for nerds and StrongEd less so. Unfortunately I mess around in assembler dumps a fair bit, so…

For instance:

  • Colourisation is minimal.
  • StrongEd doesn’t even attempt to display control characters (Zap shows them as numbers/letters in red).
  • No underline highlight on conditionals.
  • No commentary on known data fields (look at AIF or module in Zap).
  • F4 “interactive search” is horribly broken. Searching for “lsl #20”, it was finding anything that sort-of matched, like “cls”,null followed by some data words would match because of the “ls”.
    List of found did what I wanted, though I think I’d probably prefer this to appear on an F4 instead of the broken search.
  • Though it is worth pointing out that none of these really remember previous searches. Interactive search and List of found open blank, and you can call up the previous search string by clicking on Old. This is like how Edit works.
    By comparison, Zap opens with the previous search already present (just ^U to get rid of it) plus a drop-down list of previous search strings.
  • Changing a line of assembler is less than intuitive. Pressing Enter adds an &0A character to the file, pressing anything else calls up the expected way of modifying what’s there.
  • It can’t handle unquoted SWI names.
  • It’s easy to get this to crash – press Return once, then press Space to try to assemble an instruction. I’m guessing the pointer is not word aligned and things go awry. ;-)
  • Minor quibble – there doesn’t appear to be any way to show “Undefined instruction” in something obvious like red.
  • The Dump→List SWIs reports “String not found”.
  • That blinking red entire-line cursor would drive me nuts.
  • List of found → “1 hits on 1 lines”? <sigh!> (my emphasis to highlight the problem)

And a few things I liked:

  • It was easy to load a BASIC program and save it as text. Zap has issues with that (I know I can Ctrl-Shift-End but that gives a snapshot of what’s on the screen including the ‘:’ between line number and line).
  • When you eventually find the way to grab stuff like application workspace or modules, it is easier to use than Zap’s menus that have a propensity to disappear or change with the smallest erroneous mouse movement.
  • When I wrote BASIC in Edit, I used a yellow-on-blue colour scheme and most people that say it said I was weird. I’m pleased to see the default setting in StrongEd is a slightly more colourful version of the same thing. :-)
  • Proper development. Many thanks are due to Tank for his work on fixing Zap for the newer machines, however Zap mostly seems to be in limbo right now. Are all the source codes even available at the moment?

Looking through the menus and at the key bindings, it is clear that StrongEd is a powerful and capable editor with numerous features I haven’t yet discovered. ;-)

However, I prefer Zap’s rendering (the italicised comments helps my brain simply skip over the content while looking at the code, and applying bold to things like variable type declarations (unsigned int) and stuff like “if” and “return” helps to make them stand out better.
Plus, the handling and display of disassembled code is much better. When I’m looking in an executable for something, Zap’s colourisation of ASCII is very useful. I used Zap to look at the MIPS executable of my IPCAM to look for readable strings (yes, there are a few) and all the control codes are red characters, the printable text in white. So I just hammer Page Down until my eyes spot a large enough expanse of white to be worth looking at. StrongEd, on the other hand, tries with Dump mode but non-printables are ‘.’s and there are no colours. Colours appear in the normal display, but it is complicated (akin to Edit’s use of [0a][0d] type markers for non-printable characters). Harder to look at, though the colouring (and inverting the text fore/back colours to give white on black) helps greatly.

At the end of the day, when all is said and done, we can wrap things up by saying:

MRC CP15, 0, R0, C0, C0, 0

If you know what that does (or can have an educated guess), then you want Zap.
Otherwise, use StrongEd.

☺

 
Aug 27, 2016 9:56pm
Avatar Rick Murray (539) 10579 posts

at work some people don’t like NotePad++

Once you configure it correctly and add some useful extensions, NotePad++ is brilliant.

Maybe those other people never moved beyond standard-issue Notepad? An interesting way of quickly looking at stuff is to drop an executable into a text editor. That’s how I found many of the embedded CGI routines in my IPCAM – I just looked at the list of strings in the executable. I used Zap, but Notepad++ would work too. Notepad normal? Would probably either choke or try to tell me that it’s really a file written in Chinese. And then choke.

I used Metapad for a while, but now use Notepad++.

 
Aug 27, 2016 11:10pm
Avatar Fred Graute (114) 550 posts

Rick, you might want to have a look at the latest test release (StrongED 4.70a10) on the StrongED website

The C colouring is quite like Zap, but since StrongEd (normally) uses a standard bitmap font, it may be somewhat difficult to support bold and italics in a manner similar to ZapRedraw.

StrongED does provide the option to use font styles with bitmap fonts (but not system font and outline fonts). So you can have comments in italics or keywords in bold.

In 4.70 support has been added for bitmaps of sizes other than 8×8 or 8×16, bitmap fonts can now be up to 32 pixels wide and of any height. Also, using StrongFont it’s very easy to convert Zap fonts to StrongED format.

Unfortunately, assembler mode is very primitive compared to Zap.

The Dump mode in 4.70 has seen quite a bit of work.

  • It has much better colourisation.
  • It supports ARMv7, NEON2, VFP4 and FPE.
  • It does display and colour control codes.
  • Shows “Undefined instruction” in red. :-)
  • Condition codes can be shown in lowercase.

F4 “interactive search” is horribly broken.

Hmm, I think it’s fair to say that Dump mode wasn’t considered when IA search was written by Guttorm. IIRC IA search predates Dump mode.

List of found did what I wanted, though I think I’d probably prefer this to appear on an F4 instead of the broken search.

Easily done by changing the key binding. :-)

By comparison, Zap opens with the previous search already present

There is an option to turn this on in the Edit section of Global Choices.

That blinking red entire-line cursor would drive me nuts.

You can turn the flashing off, and change the colour. ;-)

When you eventually find the way to grab stuff like application workspace or modules,

This too has been addressed in 4.70, there now is a ‘Create file’ item in the iconbar menu. It has a submenu that provides access to the ‘Grab’ dialogue box.

 
Aug 27, 2016 11:25pm
Avatar Rick Murray (539) 10579 posts

Hmm… “Few things I liked”, item four. ;)

 
Aug 28, 2016 8:47am
Avatar Steve Pampling (1551) 6545 posts

However, I prefer Zap’s rendering (the italicised comments helps my brain simply skip over the content while looking at the code, and applying bold to things like variable type declarations (unsigned int) and stuff like “if” and “return” helps to make them stand out better.

You might want to look at the files in StrongED.defaults.Modes and StrongED.defaults.global and twiddle a bit. Maybe create version of each mode that behaves more like you expect and offer it for others to use.

That would be “Few things I liked”, item four and a bit :)

 
Aug 28, 2016 10:16pm
Avatar Malcolm Hussain-Gambles (1596) 824 posts

If you use a PC, sublime is awesome.

 
Aug 29, 2016 3:00pm
Avatar Ron Briscoe (400) 79 posts

Re: Sublime. Does it run on RISC OS?
Has it anything to do with the Subject header?

 
Aug 30, 2016 2:13am
Avatar Ronald May (387) 410 posts

Just a friendly reminder in case someone is recompiling !Zap, there is a bug in the taskwindow mode.
When printing a string that wraps, either with BASIC or C it has an invisible extra column and it causes the loss of one character at the line wrap. When going back through the wrap with VDU 127, once again, one is lost at this invisible position.
A look at the source (taskwindow is included with Basic section) shows that it is in assembler, may be a just an incrementing error?
Thanks if someone can fix this, it’s been there for years.

 
Sep 2, 2016 8:55pm
Avatar Fred Graute (114) 550 posts

Hmm… “Few things I liked”, item four. ;)

With the help of your comments StrongED’s Dump mode has been improved further. Perhaps there are now a few more things for you to like’ :-)

  • Added annotation of AIF header fields
  • Interactive search now works in ASM mode
  • Added support for unquoted SWI names
  • Fixed Return followed by Space crash
 
Sep 2, 2016 9:11pm
Avatar Rick Murray (539) 10579 posts

• Fixed Return followed by Space crash

You see, what this comes down to is finding the right kind of idiot who’d try weird things (that’s my role) to then tell the person who simply hadn’t encountered the problem (that’s your role).
End result? Better software. :-)

 
Sep 3, 2016 7:38am
Avatar Steve Pampling (1551) 6545 posts

With the help of your comments StrongED’s Dump mode has been improved further. Perhaps there are now a few more things for you to like’ :-)

Is that via the 4.70a10 link, or a yet to appear 4.70a11?

Or perhaps a revised mode file to add to 4.70a10…

 
Sep 3, 2016 9:00am
Avatar DavidS (1854) 2152 posts

Is that via the 4.70a10 link, or a yet to appear 4.70a11?

Same question.

 
Sep 3, 2016 9:33am
Avatar Fred Graute (114) 550 posts

End result? Better software. :-)

Indeed, I wish there were more “idiots” trying StrongED as it’s proven quite useful. :-)

Is that via the 4.70a10 link, or a yet to appear 4.70a11?

It will be in 4.70a11, although most of it works there are still a few minor niggles to sort out.

Or perhaps a revised mode file to add to 4.70a10…

It’s all code changes in both StrongED and the AsmCompile utility. The only change in the Dump ModeFile is to rename the menu item ‘List SWIs’ to ‘List *Cmds & SWIs’ so it’s a bit clearer what it does.

Next page

Pages: 1 2 3 4

Reply

To post replies, please first log in.

Forums → Announcements →

Search forums

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Description

Announce and discuss new hardware and software releases.

Voices

  • David Pitt (102)
  • Chris Hall (132)
  • Sprow (202)
  • André Timmermans (100)
  • Colin Ferris (399)
  • jan de boer (472)
  • Matthew Phillips (473)
  • Steve Pampling (1551)
  • Fred Graute (114)
  • Rick Murray (539)
  • Malcolm Hussain-Gambles (1596)
  • Ron Briscoe (400)
  • Ronald May (387)
  • DavidS (1854)

Options

  • Forums
  • Login
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Beast theme is based on Beast's default layout

Valid XHTML 1.0  |  Valid CSS

Powered by Beast © 2006 Josh Goebel and Rick Olson
This site runs on Rails

Hosted by Arachsys