Hi,
Just starting this thread as I can't seem to find one that would be appropriate for the following suggestions. Feel free to add your suggestions or feedback.
I worked on this while I was in hospital and in physio, and it's very possible.
Downside is that it slows the editor display down by a factor of three!
Using the Copper list to scroll each line of text would work well for 3 bitplanes. All that is needed is a y-unlimited tile scrolling algorithm like in the Amos remake of Horace Goes Skiing.
I'm using my phone so I'll reply in full tomorrow. I worked on this while I was in hospital and in physio, and it's very possible.The text you see on the editor's screen gets there from a buffer. The buffer uses fixed length text lines, each 256 bytes long. So the code can find any cursor position by multiplying the Y coord by 256 (shift eight bits to the left). By increasing each line to 512 bytes, the second 256 bytes can hold the colour of each character. Simply offset 256 bytes from a character (eg. 256(An)) to get a character's colour.
Keywords | AMOS Basic instructions, punctuation, math and logic symbols. |
Names | The names the programmer has given to Variables, Labels and Procedures. It is not possible to split these up and use a different colour for each as Detokenise() doesn't 'know' the context until the program is Verified (the Test and Run process). |
Numeric Literals | Any integer, single, double, hexadecimal and binary numbers in the code. |
Text Literals | Any text enclosed in single or double quotes. |
Comments | Any text following a Rem or '. |
The available types are:
Keywords AMOS Basic instructions, punctuation, math and logic symbols. Names The names the programmer has given to Variables, Labels and Procedures. It is not possible to split these up and use a different colour for each as Detokenise() doesn't 'know' the context until the program is Verified (the Test and Run process). Numeric Literals Any integer, single, double, hexadecimal and binary numbers in the code. Text Literals Any text enclosed in single or double quotes. Comments Any text following a Rem or '.
The stuff at the top of screen was just to see what standard palette colours look like. Modify the AMOS code to try different colours.
In addition, the text case for Keywords and Names is already implemented in AMOS Pro.
There's also seven longwords of free space available for 'future use' (thanks François!)
And with a dropdown for the colour selection:
The Select Case you speculate on is just not feasible without major code changes. It's a structural instruction (like Do ... Loop and If ... Then ... End If) that needs offsets inserted during Test and Run and would require major changes to the Verify() code. Any changes that affect program structure are almost impossible :( .
Now, back to the bugs as this is all enhancement and not fixes! And now I'm recovering and more active, I want to get stuff out there instead of just talking about it. ;D
Oops, didn't mean too post twice... I'm just excited I guess.I fixed it.
I am reassured to see BruceUncle was last online late this January!
<Amiga>+<Shift>+<O> | Open all Procedures |
<Ctrl>+<A> | Select All |
<Ctrl>+<S> | Store Block |
<Ctrl>+<Shift>+<A> | Save Block as ASCII |