OrgamsModules
Here is a summary of orgams modules.
For a module toto
In bold: generic modules (not orgams specific).
WIP TO BE COMPLETED.
In bricbrac rom.
- Burn (Not an orgams module!) |burn, . Allow to write arbitrary number of bytes in rom.
- Bitset: Like set A,(hl) / bit A,(hl) with A in [0..255]. Comes with init function, thus implementing a small set (collection) with immediate insertion / test of presence.
- String: Low-level routines for string manipulation (well, just copying for now + get_len).
- LISZT: Chained list with nodes of constant sizes.
- Chunks: Memory (de)allocation of &100 chunks in bank.
- Heap: Raw read/append in chunks.
- Field: Field editor with handling of CLR, DEL, Left, Right (display not done here)
- Histrion: Field editor with handling of history (past commands).
- Disp: Ultra-fast text display routines. Comes with hexa->asciii, dec->ascii convertions…
- Aap: Label store. Id to name conversion, and vice-versa (very slow)
- Cue: Auto-completion engine. Tied to aap internal data-structure, but can be easily expended.
- io: Fast read by block (arbitrary length like with cas_in_char, but with the speed of cas_in_direct)
- Asset: Load and cache binary file. (For load directive). Used via asseto in Orgext rom.
- Status: Display info in status bar (editor and monogams).
- Screen: CRTC ("rupture") handling of status under interruption (firmware friendly, since keyboard handling is still performed through km_* routines).
- Parse: Transform text line in pre-assembled opcodes (or special codes) for codec. (Cf Disp)
In orgasm rom.
- Ch: Chef. Rom Entry point (RSXs).
- Init: Check if Orgams was already init (for persistence), or do all required init.
- Ed: Editor. Almost generic (knows nothing about source encoding for instance). Could be reused for text editing or BASIC program editing.
- upd-scr: Sub module editor: refresh line with shaded comments, handle screen page (must we scroll, how much?).
- synhigh: "syntax highlighting". For now, just localise comment in a line. (using parse would be too slow)
- Token: For now, just delimits currently typed label. (using parse would be too slow)
- Disa: Disassemble opcodes or encoded source line (Inverse of parse).
- * Mulf: WIP. Interaction with Multiface 2.
In orgext rom.
- Org: Codec source. Bridge between editor and parse, disp, memory handling. Also handle load/save.
- filename: Mini helpers to handle opened sources' filename.
- Except: "Exceptions" handling. Allow to abort/exit a routine from any point, without having to care about the stack.
- Ass: Assembly + navigation in encoded source.
- Asseva: Evalution of (arithmetic) expressions. Used by ass and monogams (e.g. to evaluate a label).
- Evacmd: Evaluate monogams commands. Needs parse to interpret command and ass to resolve expressions (labels, arithmetic expressions)
- Cache: Check whether source assembly is up to date.
- Import: Handling of IMPORT directive itself (load source if needed, assemble it in isolation…).
- Impeva: Evaluation of label not found in host source: check if it's defined in one imported source.
- Deps (right now part of cache?): Track dependencies (which source are imported from host source, transitively).
- Symb: Symbol table. Not the symbols themselves (see aap for that), but ID -> Value table.
- Visu: Find back to which source line a given address correspond (for source view in trace).
- Asseto: Link between ass and asset in bricbrac rom, for LOAD directive. + Case insensitive NT string comparison
- Cocopy: Handle code cache.
In monogams rom.
- tr: transparent z80 emulation for trace.
- trui: trqce/debugeur UI.
- mon: Monogams main loop (command handling).
- monui: UI routines for mon.
- monhelp: Utility routines for mon (memory handling, far calls to other modules).
- rsx: execution RSX.
révision de page: 15, édité la dernière fois: 19 Apr 2023 04:04