News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_roudoudou

Rasm Z80 assembler

Started by roudoudou, 08:58, 22 February 17

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

roudoudou

update v0.109
- bugfix crash when trying to save with a negative size
- bugfix crash case with macro and wrong parameter number
- bugfix EDSK update
- IFDEF/IFNDEF now scans for macro names
- TZX/CDT output support (not working)
- RUN directive may use unknown var as parameter
- embedded Rasm may return info struct about errors and symbols

There is more different files to download:
- msdos version
- windows 32bits executable
- windows 64bits executable (20% faster than 32bits version)
- sources
My pronouns are RASM and ACE

roudoudou

update v0.110
- allow numeric expression beginning with +
- bugfix uninitialized memory reads and memory leaks with embedded Rasm
My pronouns are RASM and ACE

roudoudou

update v0.111
- error management code cleanup
- new options with directive INCBIN for wav import
- allow EDSK with invalid track sector size or supernumerary tracks if sectors are DATA compliant
- bugfix confusion between generated global labels and local labels for export
- bugfix EQU with generated names AND curly brackets formulas inside a loop
- bugfix invalid REPEAT values will increment the error counter
My pronouns are RASM and ACE

GUNHED

Everything 111 now! Thanks for the comprehensive update, that was for sure lot's of work! Great!  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

roudoudou

#204
update v0.112
- bugfix single NOP wasn't increment nop counter ^_^
- bugfix NOP count with ADD/SUB/XOR/AND/CP (IX+n)/(IY+n)
- bugfix in WAV import


And new PDF for documentation   ;) 
My pronouns are RASM and ACE

roudoudou

update v0.113
- trigger an error when dynamic LZ section cannot crunch
- bugfix when trying to crunch an empty section
- dynamic debug options removed
- snapshot & cartridge summary by default
- embedded rasm export all labels and EQU in the info struct
- new math function CEIL
- rasm may handle generated name with INCBIN directive
My pronouns are RASM and ACE

roudoudou

#206
update v0114 (summer release!)
- new INCBIN options: REMAP, REVERT, VTILES
- new command line option "-oa" to mimic inputname for binary output
- try some file extensions if the input file is not found
- new alias EXA for EX AF,AF'

My pronouns are RASM and ACE

norecess464

When I read your "summer update" 's changelog - I conclude your assembler is more than mature and you don't know what to add to it now. :)
My personal website: https://norecess.cpcscene.net
My current project is Sonic GX, a remake of Sonic the Hedgehog for the awesome Amstrad GX-4000 game console!

roudoudou


Yeah, maybe some CDT output, a future SNA v4 (memory+roms+cartridge+floppy)

Maybe it's time to work on something else (finish my bubble game (need GFX polish and music)! Work on a new demo, ...)
My pronouns are RASM and ACE

Volutar

roudoudou, first of all thank you for this assembler.
It's one of few which handles forward references without any issues.
Though I'm not a CPC guy (ZX here), but I'm actively using it.

For some time (I don't remember since which version) rasm occasionally crashes in "preprocessing" (I guess) stage. It might be related to uninitialized variables due to this "irregular" nature. I couldn't isolate which exactly code causes this crash, since I use it for pretty big project, and it would take alot of time to figure this out.
It would be nice to have some kind of "verbose" assembling to ease this task.

P.S.: I just found, that 64bit versions actually doesn't crash, it seems it's the 32bit version issue.

roudoudou

Quote from: Volutar on 10:32, 03 July 19
Though I'm not a CPC guy (ZX here), but I'm actively using it.
I'm very happy to read ZX people use Rasm! Let me know if you want some TZX export or anything else! (i will need documentation obviously)

Quote from: Volutar on 10:32, 03 July 19For some time (I don't remember since which version) rasm occasionally crashes in "preprocessing" (I guess) stage. It might be related to uninitialized variables due to this "irregular" nature. I couldn't isolate which exactly code causes this crash, since I use it for pretty big project, and it would take alot of time to figure this out.

P.S.: I just found, that 64bit versions actually doesn't crash, it seems it's the 32bit version issue.
If sources are not secret, you may send the whole package to me
Or i may send you a version with debug informations in order to use Visual Studio debuger
Or i may send you a version with many output traces during prepro+assembly (very heavy debuging)
My pronouns are RASM and ACE

roudoudou

update v0.115
- bugfix preprocessing with multi-line comments
- bugfix unrecognized % for modulo
- new banking BUILDZX directive for ZX Spectrum usage
and a new option to export symbols for ZX emulators with bank:label informations
My pronouns are RASM and ACE

krusty_benediction

Hello,rasm is able to define prototype of structures and to instantiate them.However, although it does not raise an error, it seems it is not possible to define value to the field at their instantiation.Is it possible to add such ability ?

For example, st1 of the documentation could be instanciated as :struct st1 mylabel 1, 2in order to generatemylabel.ch1 dw 1.ch2 dw 2
and for metast1:struct metast1 mylabel2 1,2,3,4in order to generatemylabe2.pr1.ch1 dw 1.pr1.ch2 dw 3
.pr2.ch2 dw 4

oldstyle syntax of vasm allows such thing. It is really usefull
thx

roudoudou

My pronouns are RASM and ACE


PaultheRoman

Heyo, going to try and use this assembler considering that it has documentation that's pretty straightforward and simple in terms of telling you how to assemble. Thanks for your work! I'll try and give an update afterwards, since if a beginner like me can use it, then, in my opinion, it's been designed well.

roudoudou

Hi
there is a big regression in DSK support since 0.112
many fixes are coming soon but i'm still working on it
sorry for the delay, i moved house twice this year and i'm soooooo tired  ;D

++
My pronouns are RASM and ACE

roudoudou

update v0.116
- bugfix infinite loop when first file is not found
- bugfix using prefix with generated label name
- bugfix default max limit (no moar 65535)
- bugfix eDSK generation with interlaced sectors (wrong since 0.112)
- bugfix snapshot with moar than 192K of extended RAM
- snapshot now use PPI control value to 0x82 as default
- struct definition allow DEFB,DEFW,DEFI,DEFR to be used without value
- struct usage may use default values of the struct definition
- struct usage allow inline values for each field
- allow use CP with non implicit A register
- allow proximity label without previous global label (mostly for heritage sources)
- more flexibility with DEFS value
- new math functions GET_R, GET_G/GET_V, GET_B to manage amstrad Plus colors
- new math functions SET_R, SET_G/SET_V, SET_B to manage amstrad Plus colors
- new symbol export option to export one file per memory space
- MX chunk support for up to 4M snapshot with ACE emulator
- BANK, PAGE and PAGESET enhancement for 4M snapshot support (now return 16 bits gate array value)
My pronouns are RASM and ACE

Golem13

Thank you, I will test this version on my project tonight... and come back to you if necessary!

roudoudou

update v0.117
- new spectrum option HOBETA for SAVE directive
- new snapshot 48K output when using spectrum mode
- bugfix error message when trying to export in symbol file an invalid (but not used) EQU
- bugfix PAGE,PAGESET when used with generated label names and defered computation
- bugfix automatic uppercase+remove spaces in formulas for generated names with INCBIN
- bugfix using negative size with INCBIN (will compute filesize + negative size)
128K snapshot for spectrum next timedocumentation soon  ;)
My pronouns are RASM and ACE

shifters74

Quote from: roudoudou on 10:42, 22 November 19
update v0.117
- new spectrum option HOBETA for SAVE directive
- new snapshot 48K output when using spectrum mode
- bugfix error message when trying to export in symbol file an invalid (but not used) EQU
- bugfix PAGE,PAGESET when used with generated label names and defered computation
- bugfix automatic uppercase+remove spaces in formulas for generated names with INCBIN
- bugfix using negative size with INCBIN (will compute filesize + negative size)
128K snapshot for spectrum next timedocumentation soon  ;)

Just compiled v0.117 and when you run it  'rasm -v' it still says its 0.116

Am i doing something silly or did some one forget to roll the version number  :laugh:

cheers

shifters

roudoudou

Quote from: shifters74 on 11:19, 14 December 19
Just compiled v0.117 and when you run it  'rasm -v' it still says its 0.116

Am i doing something silly or did some one forget to roll the version number  :laugh:

cheers

shifters
i forget  ;)
just edit the version in the very first lines

My pronouns are RASM and ACE

gerald

Quote from: roudoudou on 13:21, 14 December 19
i forget  ;)
just edit the version in the very first lines
or just make a new release with the version number fix as the only fix  :P

TotO

"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

roudoudou

update v0.118
- bugfix using variables for size/offset with SAVE directive
- bugfix using variables for size/offset in a loop with INCBIN directive
- bugfix error message causing core dump (when doing macro inception)
- new option to enforce void usage with macro without parameter
- new option for INCBIN to interlace+zigzag tiles

My pronouns are RASM and ACE

Powered by SMFPacks Menu Editor Mod