16.11.2019
- poprawione operacje OR, AND na typie BOOLEAN

08.11.2019
- SYSTEM: function Copy(var S: String; Index: Byte; Count: Byte): String;
- SYSTEM: Palette, HPalette: array [0..8] of 704 | $d012

03.11.2019
- optymalizacje dla FILLCHAR (@FILL)
- optymalizacja dla RESOURCE (res6502.asm), detekcja pamici dodatkowej oraz VBXE odbywa si tylko na raz
- optymalizacja dla MULTOK (CompileTerm), nie rozszerza typu poza zadany typ
- PeepholeOptimization_STACK, optymalizacje dla subAX_CX, addAX_CX

02.11.2019
- poprawka dla NumActualParameters, ktry nie uwzglednia procedur/funkcji overload o rnej liczbie parametrw, bra pod uwag ostatni z nich

31.10.2019
- dodany typ PChar

27.10.2019
- optymalizacje dla Optymization_STACK
- dodana moliwo zwracania wartoci funkcji przez typ wyliczeniowy

23.10.2019
- zastapienie '.ifdef IFTMP_xxxx' przez IfTMPPosStack, krotsze bloki warunkowe

20.10.2019
- optymalizacja dla wystepowania etykiet b_xxxx (Break), c_xxxx (continue), BreakPosStack
- CompileStatement, dodane StopOptimization na poaczatku bloku

17.10.2019
- PeepholeOptimization_STACK, optymalizacje dla subAL_CL, addAL_CL

15.10.2019
- krtszy blok inicjalizacji bloku danych DATAORIGIN jeli nie przekracza 256 bajtw, w innym przypadku wywoywana jest procedura @fill

14.10.2019
- usunity bd w definicji typu wasnego, tablica dwuwymiarowa bya traktowana jako jednowymiarowa
- usunity bd ktry nie pozwala adresowa tablicy dwuwymiarowej przez wskanik do typu takiej tablicy

12.10.2019
- nowe przeczniki -define:symbol ; -ipath:filepath

30.09.2019
- poprawiona procedura @StrToInt (base\cpu6502.asm), zabrako INY na wyjciu gdy zwraca bd IOResult = 106 (Invalid numeric format)
- poprawiona procedura InitGraph w module FASTGRAPH, tryb 6 jest teraz inicjowany prawidowo

24.09.2019
- poprawiony modu PLAY w unit CMC, MPT, RMT, uyty wczeniej rozkaz jmp(abs) jest le wykonywany przez CPU6502, np. jmp ($91FF) skacze pod adres ($91FF, $9100)

22.09.2019
- nowe wzory optymalizacji adresowania tablic ADR. dla PeepholeOptimization_STACK
- nowe wzory optymalizacji movaBX_EAX dla PeepholeOptimization_STACK
- dodane wspolne wyjscie dla generowanego listingu 'WriteOut' z dodatkow optymalizacj kodu w TemporaryBuf

17.09.2019
- nowy unit EFAST dla przyspiesza wywietlania na urzdzeniu E:

08.09.2019
- poprawiony CompileAddress, dodany VarPass dla BlockRead
- poprawione GetIdent, DefineIdent

01.09.2019
- poprawiona procedura CompileAddress, dodane 'or ((Ident[IdentIndex].DataType in Pointers) and (Ident[IdentIndex].AllocElementType <> 0))'
- poprawiona procedura TestIdentProc, procedury s testowane dodatkowo na podstawie Ident[IdentIndex].UnitIndex, Ident[IdentIndex].Block
- poprawione procedura DefineIdent , dodane 'and (not Ident[i].Kind in [PROCEDURETOK, FUNCTIONTOK])'

25.08.2019
- poprawiona i rozbudowana procedura TestIdentProc, trafniej wybiera procedury/funkcje o tych samych nazwach preferujc najpierw te znajdujce si w aktualnych unicie lub zagniedone w procedurze/funkcji

19.08.2019
- unit GRAPH, FASTGRAPH, dodane parametry dla trybu 4 (80x96)
- dla ptli FOR wyczona optymalizacja argumentu staego gdy OPTIMIZECODE nie jest aktywne

18.08.2019
- optymalizacja dla IMULBYTE *$00,$01,$02,$04,$08,$10,$20,$40,$80,$100
- optymalizacja dla IMULBYTE *$0A

09.08.2019
- unit SYSTEM: TVSystem: byte absolute $d014
- unit CMC: TCMC.Play (PAL / NTSC)
- unit MPT: TMPT.Play (PAL / NTSC)
- unit RMT: TRMT.Play (PAL / NTSC)
- blok Initialization dla CMC, MPT, RMT

04.08.2019
- predefiniowana tablica typu STRING musi zawiera cigu co najmniej dwu znakowe, jedno znakowe s traktowane jako CHAR ktrych nie zaalokuje
- optymalizacja dla operacji dx:=dx*2 ; dx:=dx shl 1; dx:=dx+dx

29.07.2019
- dodatkowa optymalizacja kodu OPTIMIZETMP
- komunikat 'Use assembler block instead pascal' dla bloku procedury oznaczonej INTERRUPT ale bez ASSEMBLER
- test typu dla predefiniowanych danych tablic, przeliczenie IntegerTypes -> RealTypes

14.07.2019
- dodatkowe optymalizacje dla rnych wariantw "c:=a+b*2;" , "c:=b*2+a;" ,  "c:=a+2*b;" , "c:=2*b+a;" , *10 , ztmp8, ztmp9, ztmp10, ztmp11

06.07.2019
- poprawione parsowanie dyrektyw warunkowych {$IFDEF} gdy wystpuj w takim bloku inny blok ASM {}

11.05.2019
- jednolita funkcja GetSizeof obliczajca SIZEOF dla CompileConstFactor, CompileFactor

05.05.2019
- rezygnacja z MAXTOKENS, tablica TOK jest dynamicznie alokowana przez SetLength

28.04.2019
- modu CMC poprawiony przez MadRafi-go, dodane procedury TCMC.Pause i TCMC.Cont

24.04.2019
- poprawione dziaanie SIZEOF dla rnych sposobw adresowania rekordw

22.04.2019
- dodana obsuga tablic z wskanikami do rekordw, np.: array [0..11] of ^record

17.04.2019
- poprawione moduy CMC, MPT, RMT, procedura PLAY nie moe korzysta ze zmiennych strony zerowej (BP2) z ktrych korzysta gwny program

09/10.04.2019
- unit SYSTEM.PAS poszukiwany jest na podstawie aktualnych sciezek $LIBRARYPATH, poprzednio tylko w \LIB\ (procedura 'FindFile' oddzielona od 'TokenizeProgram')
- mozliwosc przeniesienia \LIB\ do innej lokalizacji i podanie do niej sciezki przez $LIBRARYPATH
- dla '//:=' dodatkowy warunek dla ASPOINTERTOARRAYORIGIN2
- poprawki dla TokenizeProgram, dodane LINE2 aby zapamietac aktualny numer LINE gdy nie wystapi podwojny znak '..' , '<<', '>>' itd.

10.03.2019
- porzadki w kodzie, zastapienie 'pos('lda :eax', listing[]) > 0' przez 'listing[] = ' '

12/24.02.2019
- poprawiony odczyt i testowanie wpisow w USES
- zwikszony rozmiar tablicy AsmBlock (4096)

31.01.2019
- CompileStatement (FUNC, PROC) poprawione detekcja funkcji/procedury, bez 'yes := Ident[IdentIndex].Kind'

21/26.12.2018
- optymalizacja 'lda #$00\ cmp ... \ bne @+'  -> 'lda...\ bne @+'
- poprawki dla LENGTHTOK, nie akceptowal STRINGLITERALTOK gdy NUMALLOCELEMENTS = 0

18/21.11.2018
- poprawione odwolanie do __notaBX, mniejsze typy rozszerzane sa do 32bit
- poprawka dla optymalizacji IMULBYTE (gdy *0, *1) -> :eax+1 = 0

14.11.2018
- dodana obsluga inicjalizacji tablic dwuwymiarowych dla staych i zmiennych
- poprawiona optymalizacja dla INW/IND, dla :STACK optymalizacja nie jest moliwa

10.11.2018
- optymalizacja kodu dla operacji mnoenia *10
- inne optymalizacje

02.11.2018
- poprawione DefineStaticString, nie zapisuje powtornie ciagow znakowych ktore zostaly wczesniej juz zapisane

17.10.2018
- GenerateDeclarationProlog przepisane, nie generuje JMP gdy procedura/funkcja nie ma parametrow
- dla procedur/funkcji oznaczonych INTERRUPT kompilator bedzie zawsze generowal kod niezaleznie czy wystapilo ich wywolanie
- krtszy kod (3 bajty mniej) gdy procedura/funkcja nie ma parametrow
- mozliwy dostep do definicji .DEFINE z poziomu ASM przez MAIN.@DEFINES.nazwa
- poprawki dla SIZEOF, poprawnie zwraca rozmiar typow, np. SIZEOF(REAL)

08.10.2018
- poprawki dla CompileExpression (!!! wyjatek !!!), poprawnie zwieksza rozmiary porownywanych wyrazen
- zmiany w CompileSimpleExpression, znak MINUS wymusza zmiane typu tylko UnsignedOrdinalTypes
- nowe optymalizacje OptimizeRelation (jesli blok zawiera @ tylko tutaj mozna dokonac optymalizacji)
- poprawka dla REPEATTOK, zabraklo optymalizacji dla UNTILTOK

03.10.2018
- akceptuje i ignoruje zapis 'program (par1, par2 ...)'
- dodana obsluga dyrektyw {$info user_defined}, {$warning user_defined}, {$error user_defined}

12.08.2018
- FileMode (ioFileMode dla RESET)
- poprawione dzialanie Seek, gdy plik ma ustalowny rozmiar rekordu
- tablica w RECORD/OBJECT alokowana jest tylko jako wskaznik, brak informacji o jej rozmiarze, typie

28.07.2018
- akceptuje w nazwie procedury/funkcji nawiasy proc_name()
- dodano mozliwosc uzycia typu RECORD w OBJECT

16.07.2018
- poprawione CompileArrayIndex, po 'ExpandPAram(WORDTOK, ArrayIndexType)' musi wystapic 'ArrayIndexType:=WORDTOK'
- dodane czyszczenie tablicy DataSegment, pierwszy przebieg kompilacji potrafil ja 'zanieczyscic' zbednymi danymi

15.07.2018
- ?STACKORIGIN -> :STACKORIGIN ; BP2 -> :BP2 ; EAX -> :EAX ...
- nowe optymalizacje kodu 6502

03.07.2018
- przepisana optymalizacja dla 'shlEAX_CL.BYTE (shl 8)', teraz poprawnie optymalizuje gdy wystapi odwolanie do tablicy 'lda adr.'

06.06.2018
- dopuszczalna jest deklaracja 'array [0..x] of array [0..y] of type'
- dodana obsluga tablic z typem STRING 'array [0..x] of string', tablice typu RECORD/OBJECT nie sa obslugiwane

16/22/24/25.05.2018
- poprawki bledow 'CompileConstTerm' -> j := CompileConstFactor(i, ConstVal, ConstValType); 'CompileProgram' -> Error(j, 'Unresolved forward declaration of ' + Ident[j].Name);)
- zablokowanie optymalizacji 'optyA', 'optyBP2' gdy '@move'
- poprawiona precyzja dla SQRT(SINGLE), SQRT(INTEGER) -> SYSTEM
- poprawione CompileTerm, zamiana na REAL zalezna od uzytego operatora (MULTOK, DIVTOK)
- dodana mozliwosc uzywania nazwy funkcji zamiast RESULT

05.05.2018
- dodatkowe optymalizacje ADD. , ASL.
- STACKORIGIN zmieniony na :STACKORIGIN

30.04.2018
- poprawione CompileArrayIndex, dla Push() brakowalo prawidlowego rozmiaru typu indeksu tablicy -> DataSize[ArrayIndexType]

24.04.2018
- optymalizacje dla idivBYTE, idivWORD, idivCARD
- dodany test dla WRITELNTOK gdy np. ROUND(3.1):4:2 -> Illegal use of ':'
- dodana automatyczna konwersja INTEGER -> REAL (RealTypeConversion)

18/21/22.04.2018
- poprawka dla GetIdentProc (>=) aby zadzialal Random(1000);
- poprawka dla READLN, nadpisywana byla pamiec, tylko typ INTEGER obslugiwal, teraz zapisuje typy 1-2-4 bajtowe
- poprawka dla CompileFactor (INTNUMBERTOK, FRACNUMBERTOK), blad gdy wystepowalo laczenie wartosciowania VAR + CONST,
  np. day:=day mod 153 div 5 = 22 zamiast = 10

12.03.2018
- dodana mozliwosc wywolania metody z poziomu tego samego obiektu
- OBJECT nie wymaga juz obecnosi zmiennej na poczatku, moga byc same metody

12.02.2018
- poprawiona optymalizacja kodu dla shrEAX_CL (CARDINAL)
- poprawiona/dodatkowa optymalizacja dla @FORTMP (SignedOrdinalTypes) 'sbc @FORTMPxxx'

21.01.2018
- dodane porownania __cmpCHAR2STRING, __cmpSTRING2CHAR

14.01.2018
- poprawiona optymalizacja optyFOR (@FORTMP_)

11.12.2017
- poprawiona optymalilzacja addAX_CX, koniecznie musi wypelnic wszystkie bajty wartosciami, redukcji dokona dalsza optymalizacja

23.11.2017
- wprowadzony typ STRINGPOINTERTOK ktory wskazuje na STRING
- mozliwy odczyt typu ENUM, np. DMACTL.NORMAL

18/19.11.2017
- poprawionu blad optymalizacji shrAX_CL.WORD (8)
- CODE_Atari zastapione przez CODEORIGIN_Atari, teraz dziala prawidlowo zmiana adresu programu CODEORIGIN
- DataOriginAddress zastapione przez DATAORIGINOFFSET, CODEORIGINOFFSET
- dodany komunikat ostrzezenia 'UnreachableCode' gdy np.'if byte = -1' (powinno byc 'if byte = byte(-1)' )

14.11.2017
- dodana obsuga wskaznika do tablicy w rekordzie

11.11.2017
- ptla FOR do prawidowego dziaania wymaga zmiennej/staej @FORTMP_

02/03.11.2017
- optymalizacja dla IMULBYTE (gdy *0, *1)
- poprawiona optymalizacja dla 'Nx ASL'

27.10.2017
- dodana mozliwosc ustalenia adresu dla ABSOLUTE poprzez inna zmienna (VAR), np.: 'tmp: byte absolute x'

29/30.09.2017
- SIZEOF dla typy RECORD
- poprawione negBYTE, negWORD, !!! koniecznie typ musi byc rozszerzony to 32 bit !!!
- rezygnacja z 'SafeCompileConstExpression' w 'CompileTerm' i 'CompileSimpleExpression', wystepowaly bledy przy wyrazeniu typu 'w:=x-1024-10' (pierwszy '-' byl traktowany jak '+')

21/23/24.09.2017
- usuniety powazny blad dla FOR counter(integer), brakowalo 'CLV:SEC' -> cmpINT (base\cpu6502), oraz 'end else begin' w GenerateForToDoCondition
- usuniety blad w CompileArrayIndex, index tablicy typu BYTE musi zosta rozszerzony do WORD jesli array [0..0]
- tablica CODE nie jest juz potrzebna
- brakowalo reakcji na brak podania w linii komend nazwy pliku do kompilacji, teraz zostanie wywolane Syntax

21.08.2017
- poprawki dla GetIdent, dodany SearchCurrentUnit
- label: nie wymaga dododatkowego konczcego srednika 'semicolontok'

12.08.2017
- poprawka dla GetIdentProc (+ [CHARTOK]) aby mozliwe bylo 'move(txt[2], pointer(dpeek(88)), 10)'
- dodany nowy znak dla modyfikacji kodowania ciagu znakowego '~', kody ANTIC-a

01.08.2017
- poprawki dla CompileSimpleExpression, CompileExpression, warning gdy 'unsignedordinaltypes < 0' lub 'unsignedordinaltypes >= 0'

28.07.2017
- predefiniowane stale typu SINGLE: NAN, INFINITY, NEGINFINITY
- akceptowane i ignorowane jest formatowanie dla write/writeln (x:8:4)
- ustalony zakres normalizacji dla SINGLE, (exponent < 10) -> 0.0 , (exponent = $ff) -> 0.0

16/17/18.07.2017
- optymalizacje dla 'sta #$00', 'sty #$00', taki 'illegal' wskazuje potencjalna optymalizacje
- optymalizacje OptimizeRelation dla '<= 127', '< 128', '>= 128', '> 127'
- nowy kod dla prezentacji liczby po przecinku @float

01/03/06.07.2017
- dodana mozliwosc inicjowania tablic typu POINTER (SaveToDataSegment, SaveToStaticDataSegment)
- poprawiona i uzupelniona inicjalizacja zmiennych typu wyliczeniowego
- przebudowane typy rzeczywiste, SHORTREAL (Q8.8 fixed-point, 16bit), REAL (Q24.8 fixed-point, 32bit), SINGLE (IEEE754, 32bit)
- nowe nazwy typu danych LONGWORD, DWORD, UINT32 jako odpowiednik typu CARDINAL
- nowa nazwa typu danych LONGINT jako odpowiednik typu INTEGER

17.06.2017
- optymlizacja @trunc, @round
- optymalizacja mulReal, mulSingle usunieta, blad dla 'a := trunc(real(times) * status_step);   //time,status: word  //status_step = 40.0 / 512.0;'

12/14/15.06.2017
- zmniejszanie wskaznika stosu programowego w przypadku wywolania funkcji bez odebrania jej wartosci
- CheckOperator, nowy bardziej szczegolowy komunikat
- lepsza ocena mozliwosci ustalenia adresu stalej/zmiennej, dodany komunikat "Can't take the address of constant expressions"

04.06.2017
- nowe optymalizacje dla OptimizeStack
- nowa wersja procedury Randomize

28.05.2017
- DefineFunction, dodany komunikat bledu 'Reserved word used as identifier'

12/15/21.05.2017
- optymalizacja imulBYTE, operacja *2;*4;*8;*16;*32 zastpowana jest odpowiednim przesunieciem bitw ASL
- wiecej optymalizacji dla OptimizeAssignment ('ldy #$07\ lda adr.tab,y' -> 'lda adr.tab+$07')
- dodana zunifikowana funkcja CompileArrayIndex zwracajca adres do tablicy jedno / dwu wymiarowej
- usuniety blad dla optymalizacji CMPINTEGER, dodane CLV:SEC

07.05.2017
- wiecej optymalizacji dla OptimizeRelation
- optymalizacja krotkiego warunku 'cmp #$00, beq|bne, dey'

01.05.2017
- dodana obsluga LENGTHTOK dla CompileConstFactor
- usuniety blad dla optymalizacji 'adc #$00 \ sta #$00'
- optymalizacja dla shlEAX_CL.BYTE (shl 8)
- naprawiony assignment tablic gdy elementem takiej tablicy jest pointer (11700)
- poprawiony OptimizeASM.Rebuild, tworzy oddzielne linie, pozbywa sie znakow EOL

15.04.2017
- poprawione SHL (wymagane 2x ResizeType -> CompileTerm) "x(byte) shl 14"

31.03.2017
-  dodany nowy typ OBJECT, dziala jak RECORD tylko dodatkowo posiada jeszcze metody - procedury, funkcje
   do procedury, funkcji OBJECT przekazywany jest wskaznik obiektu do ktorego naleza
-  obsuga sekcji INITIALIZATION dla Unit-ow

14.03.2017
- optymalizacja dla imulBYTE, imulWORD, imulCARD, mulSHORTINT, mulSMALLINT, mulINTEGER
- CompileAddress akceptuje tablice dwuwymiarowe

05.03.2017
- dodana podstawowa obsluga typu wyliczeniowego 'type day = (pon, wt, sr, czw, pt, sob, nied)'
- dodana obsluga tablic dwuwymiarowych

02.03.2017
- dodana obsuga dyrektyw warunkowych $IFDEF, $IFNDEF, $ELSE, $ENDIF, $DEFINE, $UNDEF przez DMSC/Chile

24.02.2017
- poprawka dla UNIX/LINUX, reaguje na znak '/', '\' i zamienia na mae literki
- w linii komend opcja -o jest nadmiarowa, zawsze domyslnie wlaczona jest optymalizacja

21.02.2017
- poprawki dla $R (resource), mona je umieszczac w dowolnym unicie (alokowane sa w glownym programie),
  dodana informacje ResFullName, pelna nazwa adresu zasobu pobierana z unitu przez GetLocalName (isArray jest niepotrzebne)

20.02.2017
- klauzula USES dostpna w jest teraz w unitach, rozrozniany jest dostep do unitow z poziomu programu glownego i unitow

16.02.2017
- dodana rejestracja nazwy unitu (UNITTYPE = UNITTOK) przez DefineIdent
- dodana moliwo odwoania sie do publicznych zmiennych, procedur/funkcji unitu przez podanie 'unitname.label'

15.02.2017
- 'adr.'+Ident[IdentIndex].Name zastapione przez GetLocalName(IdentIndex, 'adr.')

14.02.2017
- dodana deklaracja funkcji/procedur w blokach interface unitow
- przepisana od nowa procedura GetIdentProc, inne podejscie do decydowania ktora funkcje overload wybrac
- dodana procedura FormalParameterList odczytujaca parametry deklarowanej funkcji/procedury

08.02.2017
- poprawki dotyczace odwolan do zmiennej rekordowej zdefiniowanej w unicie

06.02.2017
- poprawki FRAC, INT (@frac, @int -> cpu6502.asm)

05.02.2017
- poprawki dla CompileExpression (wyjatek dla porownania typow tego samego rozmiaru, ale z roznymi znakami)

05.09.2016
- zmiany dla DefineIdent, isAbsolute (gdy Data<>0 i Kind=Variable oznacza to isAbsolute = true)
- label, goto

21.08.2016
- IFTOK 'j := CompileExpression(i + 1, ExpressionType);'
- nowe funkcje na podstawie zrodel FreePascala
- GetIdentProc rozroznia typ parametrow przekazywanych przez VAR
- dla FUNCTION dodana mozliwosc zwrocenia wyniku poprzez RECORD

14.08.2016
- rozpisanie kodu dla mulREAL, mulSINGLE
- optymalizacja (rozpisanie kodu) dla mulSHORTINT nie dziala NUTS.PAS, mulSMALLINT tez problem z LINES.PAS
- ResizeType, ExpandExpression przepisane na nowo

01/07.08.2016
- {$f} procedura szybkiego mnozenia FAST_MUL (16 x 16 -> 32 bit, 8 x 8 -> 16 bit), zajmuje 2Kb pamici na tablice
- BASE6502.ASM -> poprawione mulSINGLE
- SHORTINT, SMALLINT, INTEGER dla MUL nie wymagaja testu znaku, wystarczy ta sama procka mnozenia jak dla typow bez znaku
- poprawiona optymalizacja zapisu rejestru akumulatora (optyA)
- optymalizcja ptli FOR (fixed repetition - only repeats a fixed number of times)

  for index := StartingLow to EndingHigh do statement;

  wartosc wyrazenia EndingHigh jest teraz przed petla FOR

22/25/27.07.2016
- 'procedure addEAX' skasowana, bledne zalozenia dla typow innych niz 32bit
- rozbudowane RemoveUnusedSTACK, usprawnione OptimizeAssignment (m.in. optymalizacja dla warunkw '<>0' i '=0')
- linia 12206

     if (Ident[IdentIndex].DataType in Pointers) and (Ident[IdentIndex].NumAllocElements > 0) then
      resArray[i].isArray := true
     else
      resArray[i].isArray := false;

17.07.2016
- INTTOREAL zastpione przez typowanie do REAL
- usuniety blad 'GenerateProcFuncAsmLabels -> Value' ktory powodowal zwis gdy 'const f = -1.0;'

09.07.2016
- dodane 'Range check error while evaluating constants (-10 must be between 0 and 255)'
- dodane inc(CodeSize) dla WHILETOK, aby dzialaly zagniezdzone petle WHILE
- mozliwy parametr untyped dla VAR 'procedure name (var x)'

05.07.2016
- dla CASETOK, przed ELSE moze byc tez SEMICOLONTOK
- dla array [0..0] nie bdzie ostrzezen 'Range check error while evaluating constants'

03.07.2016
- optymalizator ASM, array [0..255] of word|cardinal
- dodany inwers znakow gdy po apostrofie wystepuje znak *, np. 'atari'*

30.06.2016
- wyjatek dla 'array [0..0]', bez optymalizacji adr.array_label, tylko przez indeks jak do tablic >256,
  dla tak zadeklarowanej tablicy mozna ustalic nowa wartosc wskaznika tablicy
- dodatkowy warunek [PROCEDURETOK, FUNCTIONTOK] w GetIdentProc, TestIdentProc

27.06.2016
- poprawka dla optymalizatora ASM, resetowanie OPTYBP2 dla bloku ELSE (IFTOK)
- resource {$R} sprawdza czy etykieta odnosi si do wskanika, przekazuje wtedy adres ADR.LABEL ( resArray[].isArray )

21.04.2016
- dodane poprawki Greblus-a ($IFDEF UNIX} dla FindFile, Initialize

26.04.2016
- ExpandExpression przepisane na nowo

27.04.2016
- dla zmiennych rekordowych poprawnie ustawia adres gdy ABSOLUTE (line 9810...)

04.05.2016
- dla CompileTerm (INTNUMBERTOK, FRACNUMBERTOK) dodany test CompileConstTerm

08.05.2016
- IFTOK 'j := CompileExpression(i + 1, ExpressionType, 0);'
- dodatkowa optymalizacja dla RECORD, nie powtarzamy inicjowania BP2 gdy 'mwa A bp2', 'mwy A bp2'

12.05.2016
- dodatkowy parametr dla zasobw {$R} aby mona byo bitmapy VBXE od zadanego koloru wczytac

14.05.2016
- dodana do optymilizatora obsuga procedur xorAX_CX, xorEAX_ECX
- kompilator potrafi wyliczy wyraenie z udziaem staych (CONST)
- optymalizacja dla INC/DEC(label, expression), expression jest wyliczane jako staa jeli to moliwe

21.05.2016
- do omiu parametrw dla makr realizujacych adowanie zasobw (RESOURCE $R+}

30.05.2016
- pooprawki Greblusa dla $i+, $r+ (LowerCase)
- optymalizator asm dla operacji I/O (openfile, readfile, closefile)

05.06.2016
- dodana mozliwosc odczytu adresu stalych 'const tb: array [0..0] of byte = ( lo(word(@tb)) );'
- poprawki dla CompileBlock, przenosi (NumAllocElements * AllocElementType) danych
- optymalizacja asm dla @pull, @push

12.06.2016
- INTR zastpione przez GETINTVEC, SETINTVEC
- RESULT dla funkcji moze byc teraz tablica
- optymalizator ASM dla POKE, DPOKE, PEEK, DPEEK, FILLCHAR, MOVE, INTTOREAL
- poprawione Tokenize, nie wymaga biaych znakw po 'END.'
