Is there a text editor for Pico?
Ian Bradbury (2561) 8 posts |
I was looking through some old floppies a few months ago and found I had the source code for TWIN and a few other things. Is that of any interest? |
Rick Murray (539) 13850 posts |
Yes – there is one function keypress (I forget which) that seems to arrive as an accented character instead of an Fkey; plus it might be nice to play with getting it working better with more modern screen modes (so it isn’t letterboxed). |
Ian Bradbury (2561) 8 posts |
I sent a copy of the TWIN and other sources to Sprow some time ago when he was reviewing my Econet patches and I think he was going to pass them on to ROOL. |
Rick Murray (539) 13850 posts |
I had a fiddle with Twin yesterday. Obviously aasm had a much looser syntax than objasm ! There is a big load of rubbish in there that can be pulled out – all the Mail stuff (the ancient crufty Econet Mailman protocol), not to mention the Modula2 things. I noticed the routine to read the system clock is duplicated, I wonder what else might be duped? I’ve got it working in MODE28 to use the entire screen, instead of letterboxed. There’s no 0/3 selection as the code is somewhat eccentric (most of the screen handling appears to be VDU codes emitted by OS_WriteI+xxx). :-) Found out the hard way – objasm freaks out if one tries to create a label that looks like a hex value. All the Fkeys are called F0 to F9. Had to rename them KF0 to KF9. Twin “works” as an editor (very light testing). Not tried anything fancy; inc. the two-window stuff. I’ll need to dig out my scans of the Twin user guide. Oh, and haven’t fixed F10 yet. I have a few questions:
|
Ian Bradbury (2561) 8 posts |
Twin was originally written to run on the ARM1 second processor and was restricted to the BBC micro API so maybe some of the oddball things you noticed are left over from that. &1D0000 is probably the load address on the second processor as it’s just below the 2Mbyte boundary. Sorry I don’t know about GCAL. BTW the coding style is very similar to BBC Basic so it’s likely that Sophie Wilson wrote it. |
Stuart Swales (1481) 351 posts |
Indeed – early TWINs were for the ARM development 2p systems and only had a very limited API to use (host and Brazil). Sure that later ones started to get more Arthur-y like running at &8000 then relocating if needed, also preserving file types. What’s the date on the sources that you have? Sadly I don’t have any… I’m guessing that it loaded high so it could SetEnv the space from &1000 onwards for the compilers etc. run as tasks to use. I like the Y2K bug! SCCS used to exhibit just the same bug. GCAL is what documents were written using in the 70s/80s around the Cambridge Computer Lab. I used to edit the Astronomical Society magazine and produced that with GCAL. Derivation summed up nicely by dictionary.com: ‘The Cambridge Phoenix equivalent of troff. So called because all Cambridge utilities were named after birds, GCAL was a “run off” equivalent, and Geococcyx californianus is the Latin name of the roadrunner. GCAL was eventually obsoleted by TeX. It is believed that even more obscure puns lurked in the depths of Phoenix. Perhaps it is better they stayed there.’ |
Ian Bradbury (2561) 8 posts |
The file dates on the Twin source vary from December 1985 to October 1987. I also have the source for Brazil although it’s later than the release for the ARM1 second processor as it contains setup code for the A500 second processor with switches to initialise VIDC, MEMC and IOC so I guess that was used to develop the first Arthur kernel to bring up the standalone A500 development systems. |
Alan Williams (2601) 88 posts |
Rick |
Rob Coleman (489) 12 posts |
There’s more info on GCAL in Philip Hazel’s technical memoir here. It was ported to the 32016 co-processor and the installation disk turned up on Stardot last year. |
John Rickman (71) 646 posts |
Having looked in the shed, I have located the Twin manual with a photocopy of the key strip, Alan, did you get around to scanning the key strip and publishing it? |
Stuart Swales (8827) 1357 posts |
I’d be happy to help resurrecting Twin from my later binary, Ian’s source and Rick’s updates. Ought to be able to create an architecture neutral version to run from RISC OS 2 / 26-bit / ARM2 to RISC OS 5 / 32-bit / ARMv7. |
John Rickman (71) 646 posts |
If you can make it work in a TaskWindow I’d be happy to help with testing and documentation. |
Stuart Swales (8827) 1357 posts |
Let’s try to make it a thing, then. |
David J. Ruck (33) 1636 posts |
I just ran Twin in a Graphics TaskWindow, but unfortunately I can no longer remember how to use it! |
Steve Pampling (1551) 8172 posts |
Long term effects of that McLaren Ale you collectively brewed? :) |
Charles Ferguson (8243) 427 posts |
There’s always pico… https://github.com/gerph/pico |
Willard Goosey (5119) 257 posts |
humm…. |
Stuart Swales (8827) 1357 posts |
Anyone going to help out by dredging their loft for Twin source – pretty please? |
David J. Ruck (33) 1636 posts |
That was quite a while ago, these days I’m being sent crates of Brewdog courtesy of our British and Norwegian friends at Pexip. But does anyone know if there is any documentation for TWIN? I suspect it may use function keys and the support for that is horribly broken in the current version of !GraphTask. The good news is I re-wrote it all about 6 weeks ago to support cursor, tab, escape and function keys as they are outside the desktop, controlled by *FX4 and *FX219 to *FX228. The bad news is it doesn’t work yet, and I have to bring myself to do some debugging under RISC OS. If only I’d written some test code… |
Stuart Swales (8827) 1357 posts |
Twin is all function keys. Perhaps a cooperative blitz is called for? Think that I saw someone on stardot had the documentation, I’ll ask over there. |
Steve Drain (222) 1620 posts |
Chris’s Acorns has a scanned copy of the original manual at: https://chrisacorns.computinghistory.org.uk/docs/Acorn/OEM/OEM.html Appendices D and E might help with the functions keys and you should be able to call them up on-screen. |
Stuart Swales (8827) 1357 posts |
Thanks Steve! I think there were a few changes since the ARM Evaluation System release but we’ll track them down. Helpful hint when looking at the function key card, this was for a BBC with F0 at the left! |
Stuart Swales (8827) 1357 posts |
And someone over on stardot helped with links for the Archimedes version docs for Twin: https://archive.org/details/twin-0481-163-issue-1-1987 https://archive.org/details/twin-release-note-0481-164-issue-1-1987 So can anyone here help with source? [Edit: Thanks Rick! That appears to be the source (or close) for the binary I have] |
Rick Murray (539) 13850 posts |
Here’s what I have…. http://heyrick.eu/random/twinhack.zip Contains:
|
John Rickman (71) 646 posts |
Just to keep you informed – there is a parallel effort going on as a result of a discussion at yesterday’s MUG meeting. |