Working

Most recent (beta) first

Incoming

  • Search command in monogams
  • Display CWD (Current working dir) in status bar (CubeMDos) ? Fred ?
  • 12 Jun 2023?

Vote for expected features [https://www.cpcwiki.eu/forum/index.php?topic=18534]

Download last working FF (Files) orgams-230115-FF-betaH%20%28Files%29.zip

Download last working FF orgams-230115-FF-betaH.dsk with Z80.O (doc flags and timing)

Download previous release EE Releases (not really recommended, as FF Beta fixes some bugs while being pretty robust)

orgams-230115-FF-betaH.dsk

Status: Very stable. There still might be some assert triggered from time to time (Orgams auto-detection of something gone wrong, leading to a breakpoint).
That's extremely rare though: I cannot even reproduce! If it jumps into the debugger, please send me a screenshot.

Changes since betaG

  • Add |OE RSX to enter the editor and |OM to enter the monitor
  • Add STR "string" directive (equivalent to BYTE "string" + &80)
  • Can disable ROM with |devtools.off

Detailled status.

tl;dr:

  • IMPORT: Battled tested, but still a lot of limitations and rough corners.
  • Auto-completion slightly rough, but quite usable and handy as-is.

IMPORT directive

/!\ Still restricted (known issues):

  • Cannot access macro
  • Error messages not polished (e.g. 'double defined' rather than 'Ambiguous: label exists in two distinct imports'.
  • In this case (reference to a label that exists in 2 imports): cannot qualify yet which imported source to use.
  • Source visu in trace won't find locations in imported sources.
  • Unclear semantic when dereferencing a label existing both in import file and later in source. I.e. forward reference when defining another label. (or just unclear error message?).
  • Bug #145 [Editor] Imported files -> wrong pre-filled file name.
  • Bug #144 [Editor] Imported files are shown as modified in the editor.
  • Bug #13e [Import] Filename comparison is too strict (not Amsdos compatible).
  • Bug #13d [Editor] Tab in invalid state after import not found.
  • Bug #133 [Import] Far too slow when imported file has many labels.
  • Bug #132 [Import/UI - Minor] No proper scrolling when more than 7 imports.
  • Bug #131 [Import/UI - Minor] Orgams and Amsdos message mixed-up in case of error.

Auto-completion

There are still rough edges, due to my (Gonzague) incomplete integration:

  • Has to explicitly press TAB.
  • Not context sensitive (todo #107)
  • Ghost labels are shown (bug #129). Quite confusing! Workaround : export + import.
  • #12C [Editor/Auto-completion] Doesn't respect "."
  • A lot of other subtil ergonomics bugs.

Even in this state, that's very handy. Thanks Toms!

To select a suggestion, you have to:

  • Start typing your label (1 letter is enough)
  • Press TAB (several times if the first one is not the right —you can also continue typing to specify the prefix)
  • Press cursor right to validate.

That's one keystroke too much! Ideally, suggestions would appear automatically. This is not yet done, for two bad reasons:

  • Since todo #107 is not done, that might be too intrusive /
  • With AST sources > 1000 labels, that might slow down the edition.

Change since lastest release (EE).

#### New features ####

--- Editor ---

 • Label auto-completion. (Activated with TAB, Validated with CURSOR RIGHT).
 * Can be invoked by |OE RSX
 * Display free memory.
 * Display current tab number (f1..f9).
 * Binary numbers displayed with leading 0s (8 or 16 digits).
 * CONTROL-I: show progress (number of imported lines so far, rounded to multiple of 16).
 * `DEFM` recognised as `BYTE` alias, to ease import from MaxaM.
 * HX, XH recognised as aliases for IXH.
 * Similarly for LX, XL, HY, YH, LY, YL.
 * `ex de,hl` recognised by entering any of:
 ex d
 ex de
 ex de,
 ex de,h
 ex de,hl
 exde,
 exde,h
 exde,hl
 ex h
 ex hl
 ex hl,
 ex hl,d
 ex hl,de

--- Assembler ---

 * Local labels (in macro, repetitions blocs, or after regular labels). See doc. http://orgams.wikidot.com/userguide#toc39
  * Warning! In editor, CONTROL-ENTER with local labels might go to the wrong instance. Bug #10f. 
 * Don't re-assemble if source hasn't changed (speed-up)
 * IMPORT Directive, with following restrictions:
   * Cannot access macro
   * Error messages not polished (e.g. 'double defined' rather than 'Ambiguous: label exists in two distinct imports'.
   * In this case (reference to a label that exists in 2 imports): cannot qualify yet which imported source to use.
   * Source visu in trace won't find locations in imported sources.
   * Unclear semantic when **dereferencing** a label existing both in import file and **later** in source. I.e. forward reference when defining another label. (or just unclear error message?).
   * Bug #145 [Editor] Imported files -> wrong pre-filled file name.
   * Bug #144 [Editor] Imported files are shown as modified in the editor.
   * Bug #13e [Import] Filename comparison is too strict (not Amsdos compatible).
   * Bug #13d [Editor] Tab in invalid state after import not found.
   * Bug #133 [Import] Far too slow when imported file has many labels.
   * Bug #132 [Import/UI - Minor] No proper scrolling when more than 7 imports.
   * Bug #133 [Import] Far too slow when imported file has many labels.
   * Bug #132 [Import/UI - Minor] No proper scrolling when more than 7 imports.
   * Bug #131 [Import/UI - Minor] Orgams and Amsdos message mixed-up in case of error.
 * New directive: STR "string"  ; Equivalent to: BYTE "string" or &80

--- Monogams ---

 * type"filename" command to print a text file. Super fast but quite rough:
    + #110 Type command doesn't handle line bigger than 80 characters.
    + #112 Type command requires both quotes.
 * Can be invoked by |OM RSX

--- General --- 

 * Orgams can be deactivated by |DEVTOOLS.OFF

#### Changes ####

 * Internal: more sanity checks / assertions.

--- Debugger ---

 * F' and BC' have sane default value at first Orgams invocation (Was TODO #f4)
    * Allow to trace a firmware routine after cold boot or |ORGAMS.

#### Bug fix ####

--- Editor ---

 * 'exa' label isn't expended to 'ex af,af'. Bug #11A
   You can still use `ex a` as a shortcut for `ex af,af'`
 * CONTROL-I properly returns even when EOF (&1A) absent.  Bug #11c

--- Assembler ---

* #14c LOAD"myfile" incomplete when overlapping &8000.
* #127 Wrong range (hence wrong binary size) when starting/finishing by SKYP.
* #126 Wrong MOD calculation with negative numbers and modulo >= &8000.
* #125 Memory full not reported when if occurs in a middle of a FILL.
* #2e Sous bug : Numéro lignes erratiques quand erreur fatale.

--- General --- 

 * z80 v1.0.5: Fix timing of 'loop with cpi' tip.

#### Regressions ####

--- Assembler ---

 * Maximum level of nested scope goes to ~8 (rather than ~20). 
    Happen with recursive MACROs (e.g. it makes one GCD exemple fail). 
    Tell me if that bothers you.

--- General --- 
 * Use more memory (cache for assembled code).
z80.jpg

Obsolete

Bugged versions:
Obsolete:
Obsolete:
Sauf mention contraire, le contenu de cette page est protégé par la licence Creative Commons Attribution-ShareAlike 3.0 License