Change log.



*UNTIL token is now called UNTIL0

+RUN directive allows page number (sman):

RUN addr,pg

+ALASM syntax extending macros (variables, structures) - Vars*.H (sman)

-two empty lines joining resulted in incompilable empty line (axor)



-sometimes shouted "wrong short", but the next assembly went OK

(fixed further :))

-last macro parameter included comments and spaces before them

-could drop editing after Ext,T,T,BS,BS,Enter

+shows $ and RUN address after assembly



-sometimes shouted "wrong short", but the next assembly went OK

-fixed returning to ALASM from IM2 programs

+new ATM-turbo 2+ driver using Gluk ROM for ATM -

fully compatible with pentagon driver in terms of page numbers

(you can compile pentagon sources unchanged)

+Home,End keys added. Mark line is now ssW(Ins), delete line is ssSpace.

Insert line is removed (Axor)

!DD allows commas between groups of bytes



-STS interface fixed (#db06 entrance now)

-macros inside INCLUDE inside macros did not work



-ORG without page number does not put trash to post symbols anymore

+new ALASM tech demos - fixed SNAKE by RST7 (interrupt synchronized)

and recursive FIbonacci numbers macro

+added ATM-turbo 2+ driver - switches #7ffd off! your program must switch in back on!

-if ALASM was not on the disk the save setup showed video effects

*IF token is now called IF0

+BUILD+ can set date! (buffer=#5efa, CMOS RTC scheme by Mr Gluk)



-INCLUDE "B:filename" changed drive if such a file was already loaded

(todo skip 3d13 in cases like this)



-current drive changed after INCLUDE/INCBIN "B:filename"

*assembly stops after INCLUDE of non-existing file

+ALASM loader from drive "B" added



-"V" in 4x8 font could not be detected by Unreal Speccy, fixed.

+new directive: "RUN address" - allows running of any user routine

while assembly (must be lower than #8000, as ALASM resides in #8000)!!!

+SAVEOBJ4 can save from address!=TR-DOS Start address.

This way one can define 3-symbol extension.

!if you are short in pages on 128k, you must not use macro page

(even if you don't use macros), but a page having common 3 lower

bits with it (i.e., for example, #C0 instead of #80).

If you use macro page you will get page 0. This is not bug, this is

feature of ALASM logic. When INCLUDE is executed inside macro

(which is compiled like ordinary source but lying in macro page)

for correct exit ALASM checks for macro page, and if it is,

then the current compiling page will be set instead. If macros are not used it is 0.

Made in 4.46 as a fix of Capry bug. See also 5.04.

-when sources with INCLUDE into the same page were compiled

the main source name could be ruined.



-decimal mode malfunctioned in show labels and ssEnt (Xor, Vitamin)



+ALTER (source selector) shows page numbers!

+Enter in 8th column does not shift line left

(useful for labels cutting)

-sometimes include, save Y, not found file <filename>

showed W12345...

*64-pitch fonts fixed for Unreal Speccy anti-text filter compatibility

-MOVE did not work in DOS6.05e

-demoversion crashed if labels in exL exceeded screen

+macro page can now start from any address! 128k users can use macros now, too ;))

+setup allows addresses <#c000 (for macro page address, for example)

+RUN 2 in basic reloads STS without reloading ALASM

-change font saved it incompletely



-MOVE crashed if memory contained a long basic like ACEdit.

Uses memory lower than #7400.

-import and export added extra line breaks at the end

-both FONT64s fixed (ñ, , russian and latin distinguishability).

One can edit these fonts in usual 8x8 font editors.

-SYMBOL worked as REPLACE after REPLACE was called

-did not HL'=10072 before quit to basic

!for STS7.0 compatibility and for clones with high memory at crazy ports

the ALASM page number is no longer put into STS!

!keyboard is synchronized with timer at last!

IY is now reserved. Now we can work in any turbo mode.

If all programs could do this!.. Interestingly, scrolling

became 10% faster :)))

/keyboard speed settings removed

*6x6 type routine optimized

*ALASM file name and the name of its overlay no more depends on version number -

for sake of easier updates

/catalogue buffer address must be #XX00



+JNC, JC, JNZ, JZ - for conditional JR.

+MOVE (M key). MERGE went to G, PAGE went to P.

6x6free=#0002, 4x8free=#0048

!4.47 doc was wrong! current DISP shift is detected this way:

a ORG 0


shift ORG a+shift





+a mean documented to know what assembly is on,

usual or auto-running (mkace):

ORG #FF32,2

IF {4>4+{$}}-#BF43

make ;auto-running (mkace)


Now we can drop intermediate source file.

+a mean documented to know for Vitamin/CAIG, what source page is

being compiled and what line of it (not from macros):

ORG #C0E1,2

DISPLAY {$}-#C040,"/pg",.{$+2}

Source file name lies in the very start of its page.



*both FONT42s have *òõþ fixed.

+current page of code (not of source): $$.


v4.47 (15.11.04):

+macro call inside inactive branch of conditional compilation

is now done this way:

}macroname parameters

(can have any number of spaces in the left but no space after "}"!)

One can make a label even in inactive branch:


This returned the old speed and made recursion possible.

-al42_446 could not load font.

+overlay is shortened to #1200 bytes, so it can reside

in the same page as catalogue buffer and STS.

/the following unused options were removed from config:

text info, locate error, Ins/Ovr switch (main ALASM has it

itself - if you want to save the state, switch it is ALASM

and save via config), Ok (break works as it).

/hot keys in config were removed.

/overlay help was removed, too many helps in the archive!

+FULL help as one source file.

+ORG is now using DISP shift, so you can make know

what current DISP shift is, this way:

blah blah

(see 4.47fff for correct routine)

-compiling to ROM error was not shown in this sequence:

ORG to ROM (it is not error itself), then ORG to end of RAM,

then commands until the end of memory.

-not fully compiled program could be run if it had ORG in ROM.

-DB with unpaired " in shifted line could compile extra #FF.

+new command: EXD=EX DE,HL.

*main font (FONT42a.C) has ^ changed.

+CLEAR #6DFF can now be used. import/export are using #7400-#7FFF

(was #6800-#7FFF before).

+first page in import is not entered, uses current page.

*macro parameters now drop only leading spaces, so now we can make a macro like this:




UNTIL "\P "-" "


and use it like this:



(note, they are not tokenized.)


4.46f (30.10.04):

*SYMBOL =<number> instead of SYMBOL <number>

(memory economy).

-if a page had text changed then instead of loading another one,

this one was asked for save then saved then loaded again!

+"" inside of a string means one "

(as in basic). For example: DB """string"""

will make bytes """", "s", "t", "r", "i", "n", "g", """".

+russian and latin letters "H" are now distinct in 6x6 font.

+macro command \P (shift parameters)

returns dropped first parameter. \R returns initial parameters enumeration.

-filenames like "AAA.?" could not be loaded

+unpaired IF/IFN/ELSE/ENDIF can now be defined in macros!

Rules (changed in 4.47):

.macro is executed unregarding of branch of conditional compilation

(more exactly, IF,IFN,ELSE,ENDIF lines in it) -

reduces the compilation speed;

.label existance is tested even in inactive branches -

reduces the compilation speed;

.IF stack is moved atop of MACRO stack when entering macro;

.IF stack is moved from MACRO stack below when quiting macro.

AFTERMATH. It was not used by anyone ever.

-COUNT {a} in editor moved the cursor if 7fff<=a<=bfff.

+when SYMBOL is interrupted it indicates number of labels shown.

-after compiling a macro using program SYMBOL went wrong in the end.

:unusable "SYMBOL -" is killed.

-INCLUDE inside macro went crazy. (see versions up, and upper)

-number+-number is no longer error (needed for macros).

-number--number was number-number that was wrong.

number*-number and number/-number were not fixed,

use brackets for such parameters in your macros.

ALASM treats "*-" as "/" and vice versa.

-ssE (mark line) killed ssQ (delete line) buffer.

-mkace does not RUN if file not found. Now mkace can

be used as normal ALASM loader.

-long decimal numbers (1000000) were considered errors.

-ssI after any commands forgot about REPLACE.

+new memory driver ZSKAY512 - for Scorpion but with pentagon page numbers (mask #47).

KAY will have 512k (mask #c7), and will work with any ROM, unlike KAY1DRV

+resident part of mkace was moved to ALASM (to edit buffers, not bloating ALASM size).

Now we can compile into basic, and mkace is compatible with


+6x6 font instead of 6x7. 4 lines more and 16 list elements more.

*SAVEOBJ is not longer macro but mrip analog.

+compilation is speeded up because of label finding made faster.

+scroll in 6x7 mode is 15% faster.

+SAVE ! saves all texts.

+right arrow in command line (both inside and outside the editor)

remembers symbols of previous command. If the cursor stops, the previous

command is over. Type in any symbol, and more older and longer commands may be remembered.

+makes STS think that it is not returned from JUMP,

and the address must not be zeroed.

-fixed REPLACE when replace string contained search pattern.

+REPLACE is speeded up a little.

*macro parameters as in TASM: \0 etc, make yourself familiar.

-import with default settings did not work (my fault).

-export with default settings messed up the disk (my fault).


v4.45 (28.2.04):

-lines like LD (ADR),A,HL,(ADR) compiled wrong.

+micro speed up in 4x8.

-6x7 bug fixed: REPLACE,N - dash was shown.

*ORG without second parameter continues to compile into current page (was page 0).

*EXPORT writes CR, not CR+LF.

+overlay is one sector less :)

+Enter, Del and Graph cut and paste in one way in INS and OVR modes.

+catalogue and labels list columns are 2 lines higher.

+DD is possible (and must be) without #.

+impOrt: uppercases DD without #.

+driVe without :.

+counts builds.

+sources and helps were optimised to reduce the archive.


Before setting non-pentagon memory driver you must

set all pages in setup to point 128k pages only

(just zero the first digits in hexadecimal page numbers).

PENT512 is now driver by default as it is in first use.