Jako, że minęło już trochę czasu i commitów od upublicznienia kodu kompilatora, czas na małą aktualizację. Nowe funkcjonalności actionc:
- Wbudowany assembler - dodano możliwość osadzania kodu maszynowego wprost w programach Action! za pomocą bloków ASM/ENDASM. Wbudowany assembler jest z grubsza zgodny z podstawową składnią MADS. Wewnątrz bloków ASM/ENDASM można definiować etykiety oraz odwoływać się do symboli Action!
PROC Rainbow()
BYTE vcount=$D40B, wsync=$D40A,
rtclok=$14, color=$D018, u=$7,
ch=764
ASM
loop:
lda u
sta wsync
lda vcount
clc
adc rtclok
sta color
lda ch
cmp #$FF
beq loop
ENDASM
RETURN
Bardziej zaawansowany przykład tutaj:
https://github.com/mkur/actionc/blob/ma ... scroll.act
- Dodano możliwość zapisywania ciągów znaków w kodach ekranowych ANTIC za pomocą składni \{SCREEN:tekst}
scroll_txt = "\{SCREEN:Hello world!}"
- Sporo czasu i tokenów zużyto na rozwój eksperymentalnego backendu MIR6502 - obecnie jest on konkurencyjny w stosunku do klasycznego backendu uruchamianego w trybie --optimized.
Wyniki dla kompilacji TN:
Mode Profile/Backend Size Relative size Reduction
Compatibility legacy/classic 12,226 B 100.00% -
Optimized modern/classic 10,445 B 85.43% 1,781 B / 14.57%
MIR6502 modern/mir6502 9,920 B 81.14% 2,306 B / 18.86%
- Poprawiono szereg błędów zarówno w kompilatorze jak i programach towarzyszących