Releases

(Most recent first)

Flappy Flags 28 January 2024

NOT RECOMMENDED Use latest in working instead: less bugs, more features.

Download: orgams-ff.dsk
Download: orgams-ff.zip

Comes with the following sources:

  • PROF: Profile almost arbitrary routines (exact micro-second "NOP" duration).
  • Z80: [Documention] perfectly-accurate-z80-flags-and-cpc-timing
  • Z80TESTS: Demonstrate flag behavior in some corner cases.
  • TRAM49: Mode 1 dithering, 49 shades of whatever.
  • HIGHEUR: Display 2d map as "height map".
  • 'LINES: Graphical example. Assembles in 70ms.

My deepest gratitude to (aka greetings):

  • Drill for momentum and all the great work on the editor
  • Hicks for momentum and all the great work on the debugger
  • Toms for auto-completion, such a great feature
  • Hwikaa for the wonderful new logo
  • Camillo, Beb and Ced for the wonderbar previous logos
  • Roudoudou for the search routine and breakfast
  • Ast for the handy shortcuts
  • TotO, PulkoMandy, Zik for the great hardware extensions I use daily
  • Bombseb for the support
  • All the users for the suggestions, motivation and good use of our beloved CPC
  • Eglantine for the orgasms (imaginary person to pretend I'm not completely asocial)

Less deep gratitude to:

  • All train drivers

Changes since previous release

#### New features ####

--- Editor ---

 * Label auto-completion. (Activated then Selected with TAB, Validated with CURSOR RIGHT).
 * CONTROL-| (pipe) to invoke RSX from editor, with history (cursor up and down).
 * CONTROL-I: show progress (number of imported lines so far, rounded to multiple of 16)
 * CONTROL-L: show existing labels (selection via TAB) 
 * Path/filename maximum length increased to 51.
 * Display filenames from other tabs
 * Display current tab number (f1..f9)
 * Display current PATH (if Unidos or |PATH available).
 * Display 'first / last' addresses of the source (when assembled).
 * Clean-up status bar: don't print "Orgams" (you should know), no debug info.
 * If you select the source (CONTROL-fx) you are already in, screen won't be re-displayed. That's cleaner and more indicative.
 * Pre-selected fields (CONTROL-L, O, S, …) are now in inverse-video, showing that typing a new char will overwrite the whole field. Use cursor (or DEL) to un-select and further edit.
 * Binary numbers displayed with leading 0s (8 or 16 digits) for alignment.
 * Can be invoked by |OE RSX

--- 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
   * When a label 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?).
   * Bugs still opened:
      * Bug #145 [Editor] Imported files -> wrong pre-filled file name.
      * Bug #13e [Import] Filename comparison is too strict (not Amsdos compatible).
      * Bug #133 [Import] Far too slow when imported file has many labels.
 * New directive: STR "string"  ; Equivalent to: BYTE "string" or &80
 * `DEFM` recognised as `BYTE` alias, to ease import from MaxaM / rasm.
 * 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

--- Monogams ---

 * Can pass parameters to RSX.
 * Command ed n to enter directly tab 'n' in editor.
 * Command type"filename to print a text file. Super fast but quite rough:
    + #110 Type command doesn't handle line bigger than 80 characters.
 * Command tabs to list all occupied tabs (show '*' when modified).
 * Can be invoked by |OM RSX

--- Trace ---

* Handle CONTROL-f1 .. f9. For now line source search is only done in selected tab. As a workaround, you can switch tab from trace rather than having to go back to editor.

--- General --- 

 * Orgams can be deactivated by |DEVTOOLS.OFF

#### Changes ####

 * New Logo by Hwikaa! Yeah...
 * Internal: more sanity checks / assertions.

--- Assembler ---

 * Todo #113 [LOAD directive] Don't cache 0-sized files. 

--- 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 ---

* #16a Binary Save doesn't work for code assembled in C000.
* #15b When loading a corrupted file, "he" written instead of "checksum error"
* #11a 'exa' label isn't expended to 'ex af,af'.
  You can still use `ex a` as a shortcut for `ex af,af'`
* #11v CONTROL-I properly returns even when EOF (&1A) absent.

--- Assembler ---

* #176 Execution (CTRL-2) doesn't honor BANK
* #171 LD BC,1/0 accepted
* #155 [MOD Arithmetic] -4 % 4 gives -4 instead of 0.
* #169 CONTROL-1 + Jump doesn't work for code assembled in C000.
* #162 Supernumerous 'END' not detect
* #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.

--- Monogams ---

* #159 Unsafe return from RSXs using memory
* #158 Source not flagged as modified with 'hh' command.
* #157 Garbage line after firmware scroll.
* #45 Display "he" for undefined value (when not yet assembled).
* #44 ?1/0 prints #1ff
* #110 Remove superfluous newlines

--- 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)
 * RSX |burn no more included

EroticEnlightment 21 January 2021

Orgams-EE-210111.dsk, Orgams-EE-210111.zip (ROM, files, DSK)

#### New features ####

--- General ---

 * Multi-sources.
    - In the editor, use CONTROL-f1 to CONTROL-f9 to open isolated "tabs".
    - In each tab, you can load a distinct source.
    - Warning, if you load a same source in different tabs, make sure you know what you are doing. There isn't automatic synchronisation.
 * Comes with Z80 instruction set timing & advanced flag behavior (Z80.o).
 * Comes with |BURN (for X-MEM WinBond)
 * Versioned ROMs (mainly for me, to be able to have 2 distincts Orgams version in ROM). 
   Also, prevent messy state if you burn a new version in different slots.

 * Power user mode (quite unnecessary now with multi source):
   Custom base bank: |org,bk (eg &ef, &e7, &df, &e7 ...)
    -> Each would be a separate instance. 
    That's a temporary poor-man solution to handle several files
    or do some side tests.
    Warning, no overlap verification is made. Using 128k per
    instance (that is, &cf, &df, &ef and the default &ff) would be safe.
    You should always save sensitive work, but at last you can
    save loadings.
    Now, if one of this non-default page is corrupted, |ORGAMS won't help you.
    Instead, clear the page via Monogams (default instance via |M):
    >b&da      (or &df)
    >clearpage   (or clp) 

--- Editor ---
 * Deluxe status board. 
   - Soon to welcome new information.
 * CONTROL-% Cycle through IF/THEN/ELSE, MACRO/ENDM and repetition blocks.
 • CONTROL-ENTER works in comments (most of the time! bug #F4).
 * COPY-G twice to go to *end* of bloc.
 * SHIFT-CLR and SHIFT-DEL work when editing fields (filename etc).
 • Comments are shaded.
 * "repeat n" and "rend" from rasm are supported (but *not* "repeat n,cnt")

--- Assembler ---
 * New directive: LOAD"file.bin"
   * load"her" ; insert raw bytes at current pos ($$). 
     * Warning! Doesn't work with headerless/ascii files.
     * Warning! Doesn't work with incomplete headers generated by some PC tools (your fault).

--- Monogams ---
 * Dedicated status bar
 * RSXs without parameters are accepted. [[[todos#ca]]]
 * Can select non-X-MEM banks. E.g. b&7cc4 for CPC's internal RAM, b&7eff for RAM outside first 512k.
 * SHIFT-CLR and SHIFT-DEL work.
 * CTRL-LEFT / RIGHT for graphical dump (gr).

--- Trace ---
 * CTRL-ESC working even from DUMP mode.
 * Don't display blank lines, for improved source coverage.
 * Show call stack (navigate with U/D). E.g., for the code:
   call aa
   ret
aa call bb
   ret
bb BRK

It will display:
   ?    <- Nevermind
   aa
   bb

#### Change ####

--- General ---
 * No more display message for BRICBRAC.ROM (|BURN).

--- Monogams ---
 * Use default screen dimensions.

#### Bug Fix ####

--- General ---
 * |burn,"file" : handle headerless files.

--- Editor ---
 • Markers correction corrected (#E3, #E4)
 * Label search (CTRL L, *, ENTER) much faster.
 * Stored line (CONTROL-DEL) still present for new source (todo #D0)
 * Line per line scrolling speed fixed (x1.4 from Demomaker's Delight).
 * COPY now really acts a dead key.
 * Shortcuts ok for EN / ES keyboard (CONTROL-; rather than CONTROL-%)

--- Trace ----
 * BRK: Exact capture of RMR (+ ROM #) when firmware is used.  (#105a)
 * BRK + Multiface 2: Exact capture of MMR (at least all 7Fxx connections. 7Cxx to 7Exx not handled). (#106)
 • Trace visu lost less often (#C0)
 • Fix clipping (#E0)

#### Regression ####

--- General ---
 • Requires 4 ROMs instead of 3.

--- Editor ---
 * Slower to compute number of lines (post loading).
 * Page navigation (Control up/down) is 30% slower.

--- Monogams ---
 • Slightly slower (access, display, clear, skip zeros in memory dump).

--- Trace ---
 * Slower display / navigation.

Demomakers's Delight 9 June 2019

Release notes.  Demomaker's delight. 9 June 2019

#### New features ####

--- General ---
 * Less intrusive (no breakpoint installed at ROM init, so &30 and &BE00 are untouched).

--- Assembler ----
 * MACROs 
 * New directive: SKIP n (aka DS n)
 * DEFB, DB aliases for BYTE
 * DEFW, DW aliases for WORD
 * DEFS, DS n,x aliases for FILL n,x
 * Max number of labels is now 1536 (instead of 768)

--- Editor -------
 * Raise source limit to ~111k
 * All keys enabled while editing fields
 * SHIFT-DEL erase all before cursor
 * SHIFT-CLR erase all from cursor
 * Use lowercase for opcodes
 * Lines number shaded
 * Checksums in .o files

--- Monitor ---
 * Graphical dump with gr command (then left/right/esc)
 * Plot with m command
 * Command history (cursor up/down)
 * Skip 00 filled areas in memory dump (m)
 * clear[n]: fill 128 first kb with n or 0 (alias: clr)
 * clearpage[n]: fill connected page (64kb) with n or 0 (alias:clp)
 * hh start,size: dump memory as bytes in the source
 * Finer navigation control
   * Dnn: disassemble at nn (change >)
   * $nn: set PC to nn and go to trace (change $)
   * Tnn: set PC to nn and go to trace at nn (change both)
 * Can assemble from monogams.

#### Bug fix ####

--- Assembler ----
 * Allow assembling in 00-3F
 * Correctly report label overflow (instead of Syntax Error with wrong line number)
 * ld (ix + 1),a  Now ok (can put spaces around +)

--- Editor -------
 * Opcodes no more seen as labels when entered without space
 * Conversely, do not expand valid labels
    * inca   -> inca   (stay as label)
    * but: lda,1  ->   ld a,1
 * Lines markers (history, assembler errors) properly updated after insertion/deletion.
 * CONTROL-* and CTRL-ENTER now pick the right label
 * TAB after CONTROL-* continues searching same label
 * Dump to Printer correctly output a new line
 * Block markers display
 * Cursor not lost anymore after reset while editing a field
 * No more incongruous error message when entering first line

--- Monitor ---
 * Won't corrupt source anymore.
 * Lower ROM now visible.

--- Trace ---
 * CPD/CPIR/CPDR now correctly emulated
 * IN A,(n) doesn't corrupt PC anymore
 * Source tracking improved

Orgams 'Codigo Con CPC' 11/08/2016

Orgams-Codigo-Con-CPC.hfe
Orgams-Codigo-Con-CPC.rar

Release notes 'Codigo Con CPC'

Bug fix:
* Bloc repetition was corrupted when corresponding source was overlapping 2 banks
* Division with MSB set in divisor (e.g. &240/&C0) was corrupted
* Sign was lost with sub-expression (e.g. -1/[1/1] or -1 mod [4 mod 5])
* Negative values for FILL, ORG and repetitions raise error.
* Bad expression for repetitions (e.g. undefined label) raise error.
* Proper binary save from 9800-HIMEM zone
* Returning to basic won't reset 9800-HIMEM zone anymore
* 'ORG &100' now correctly parsed (not as 'OR G AND 100')
* Assembling in RSX workzone (e.g. A6FC+) won't corrupt firmware (Orgams-wise) anymore
* Reset CRTC in RESTORE
* Mute AY in BRK/RESTORE
* At first invocation of BRK/Monogams, select RAM by default (lower & upper)
* Robuster memory detection
* Fix stack going down at each assemble / editor access.
* Numeric pad is active when invoking |m
* Block markers properly corrected when importing file
* LD B,(IX) doesn't crash anymore
* LD H,IXH doesn't crash anymore
* Miscellaneous search bugs (CONTROL F) corrected.

New features:
* Trace: Source visualization while debugging (imperfect, Orgams can be lost with conditional or repeated blocs)
* Trace: Memory visualization while debugging
* Trace: CONTROL UP/DOWN for faster navigation
* Monitor: Binary display with '?' command
* Monitor: Display restored zone when returning to BASIC
* Assembler: Can assemble up to #BF80, and in #C000-#FFFF page
* Editor: Free cursor
* Editor: TAB to repeat previous search (text or label)
* Editor: ESC to stop current search (only works with CONTROL F)
* Editor: CONTROL-ESPACE put/remove BRK
* Editor: CONTROL-C to display CATalogue
* Editor: Can join lines (DEL at first column). Corollary : 'DEL' after 'RETURN' cancels an unexpected split
* Editor: Use '&' for hexa, like in BASIC and MAXAM.
* Editor: Allow (IX) as shortcut for (IX+0)
* General: Use RAM from very last bank (&FF) to alleviate conflict with 256k RAM-DISC.
* General: Extension and Monogams ROMs can be burned everywhere (i.e. ROM 1 to 127)
* General: Allow |o,"source" (no need to write ".o")

Comming Next:
* Surprise
* Another surprise

Orgams 'Bugs Bunny Hill' 28/02/2015

[Teaser! Coming next : case insensitive labels, better Maxam import, scriptable assemblage, freed cursor]

Release notes
-------------

* No more crash with 'BASIC' command, even after source (re)init (CTRL-N)
* No more crash with CTRL-1 + J
* No more crash with repeated erroneous line, e.g. 8 ** [ LD (HL),#100 + #:INC L ] ;
* No more crash with unpaired ']' in source.
* No more crash with RES robert,(iy+6) when 'robert' is not defined.
* No more crash with IM 3
* Fix DEL behavior when entering filename, search text, etc.
Sauf mention contraire, le contenu de cette page est protégé par la licence Creative Commons Attribution-ShareAlike 3.0 License