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.

pelrun

#50
You might want to look at MAXAM again, all the code I can find, including IN THE MANUALS uses &.

DAMS, I have no knowledge of.


In any case, this is completely moot. I voiced my opinion, you said you won't change it, there's nothing left to discuss.

roudoudou

#51
Quote from: pelrun on 16:42, 02 December 17
You might want to look at MAXAM again, all the code I can find, including IN THE MANUALS uses &.

DAMS, I have no knowledge of.


In any case, this is completely moot. I voiced my opinion, you said you won't change it, there's nothing left to discuss.


Page 142 of MAXAM manual -> Hexadecimal numbers by "&" or "#"

So that not weird to choose '#' for hex values, that's clever to support the common hex syntax of the two oldest and widely used Z80 assemblers  :P
My pronouns are RASM and ACE

Sykobee (Briggsy)

I remember '&' being the standard hex prefix back in the day, far more than #. I'd have to double check.
This may be a UK/not-UK thing.


Supporting 0x is pretty nice IMO, as rasm is modern.

roudoudou

#53
First post updated with binary and documentation

update 2017.12.03 - v0.63

- snapshot generation (with SYMB chunk support for ACE)
- new directive BANKSET to work with 4 consecutives pages (only in snapshot mode)
- MEND alias for ENDM (and vice versa)
- Added '0x' prefix for hexadecimal values
- Cartridge generation is supposed to work with Rasm on big-endian CPU (like PowerPC)
- INCBIN directive support negative value for "size to read" in order to read a size relative to fullsize
- BANK directive may be used without parameter to open a new memory space
- bugfix UNTIL condition test

Documentation lightly updated

On v0.64 i will upgrade snapshot management and documentation to detail the workflow

Sykobee: In France there was a wellknown magazine (Amstrad 100%) with assembly initiation using DAMS so i guess that's why many french guys are used to # prefix. The logon system had a section for them where they release DAMS sources also.
My pronouns are RASM and ACE

roudoudou

first post updated with v0.64

(mostly snapshot related evolutions and fix)

- bugfix SYMB chunk size
- added optionnal var export in snapshot SYMB chunk
- improve bankset switch control (do not mix bank & bankset of the same pages)
- INCBIN handle negative offset to seek relative to the end of file
- INCBIN special option to disable overwrite control
- Documentation updated
My pronouns are RASM and ACE

GUNHED

Quote from: roudoudou on 08:23, 05 December 17
first post updated with v0.64


Can't wait for v1.28  :P  Thank's for the update, I will post in other-language forums!  :)
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

v0.65 is coming (need moar testing)


- new prefix {PAGE} for labels, in order to retrieve gate array banking value (useful in snapshot mode) #C0,#C4,#C5,...


Maybe it can be interresting to have a {PAGESET} prefix when banking 64K? #C2,#CA,#D2,...


- SAVE may be used to save file in a (new) DSK. I have to work on a update mode


SAVE"filename",begin,size ; raw export
SAVE"filename",begin,size,AMSDOS ; export with amsdos header
SAVE"filename",begin,size,DSK,"dskname" ; create a dsk and save filename on it
SAVE"filename",begin,size,DSK,"dskname",B ; side B select to save filename
SAVE"filename",begin,size,DSK ; save filename on last deckared DSK and last side used (rasm can handle as many DSK as you want in the same time)

SAVE"filename",begin,size,DSK,A ; current DSK, back to side A
- "checkmode" option to assemble without writing file(s)

- moar comprehensive error message when using illegal register combination


- moar compact splash screen


Need to update documentation too




My pronouns are RASM and ACE

roudoudou

#57
Update v0.65


- snapshot is initialised with standard CRTC values, all audio channels OFF, all inks to deep blue except ink 1 to bright yellow
- new directives SETCRTC and SETCPC to select the CRTC and CPC model with snapshots

- new tag {PAGE} before a label to get the gate array banking value for the bank of a label (ex: #C4 for a label in bank 4)
- new tag {PAGESET} before a label to get the gate array banking value for the bankset of a label (ex: #C2 for a label in bankset 1 or bank 4,5,6,7)
- new variable ASSEMBLER_RASM (set to 1) in order to have specific rasm code

- SAVE may be used to save file in a (new) DSK. I have to work on a update mode
- "checkmode" option to assemble without writing file(s)
- moar comprehensive error message when using illegal register combination
- moar compact splash screen
- documentation updated
My pronouns are RASM and ACE

roudoudou

updated first post with v0.66


- new directives IFDEF, IFNDEF to test label, variable or alias existence

My pronouns are RASM and ACE

Golem13

Always at the top.

Thank you Roudoudou.

roudoudou

updated first post 2017.12.21 - v0.67
- bugfix buffer overflow with long filenames for export
- export breakpoint in snapshot (unofficial Winape chunk)

- new directive BREAKPOINT

Labels begining with BRK or @BRK for local labels will be exported as breakpoints in the snapshots


buildsna
bankset 0
run 0


nop
breakpoint
ld hl,#1234
breakpoint
ld hl,#1234
repeat 2
nop
@brktest
ld hl,#1234
nop
rend
brknext
ld hl,#1234
nop

My pronouns are RASM and ACE

CloudStrife

(at least in ACE it's official :))

roudoudou

Quote from: CloudStrife on 11:55, 22 December 17
(at least in ACE it's official :) )

It's a great news because we will have at least 3 emulators with snapshot breakpoint support as Lone annonced next release of Sugarbox will do.

Kevin? You know what to do  ;D
My pronouns are RASM and ACE

CloudStrife

Quote from: CloudStrife on 11:55, 22 December 17
(at least in ACE it's official :) )

Need to specify: by the chunk descripted here:
http://www.cpcwiki.eu/index.php/Snapshot#BRKC_Chunk_.28ACE.29
(not the same as WinAPE and more evolved)

roudoudou

Quote from: CloudStrife on 14:56, 26 December 17
Need to specify: by the chunk descripted here:
http://www.cpcwiki.eu/index.php/Snapshot#BRKC_Chunk_.28ACE.29
(not the same as WinAPE and more evolved)

ok, not the same
will add the support for this one, thanks!
My pronouns are RASM and ACE

Lone

Hello,


I found (with the help of CPPCheck, that run on the wrong folder  ;D ) some potential bugs in RASM (version 0.67) :


- rasm_v067.c line 1589 : Message: Returning/dereferencing 'subchunk' after it is deallocated / released
- rasm_v067.c line 1594 : Common realloc mistake: 'subchunk' nulled but not freed upon failure
- rasm_v067.c line 3308 : Memory leak: data
- rasm_v067.c line 6782, 6783, 6807, 6831 : Uninitialized variable: mypc


By the way, any plan for a new release soon ?






roudoudou

Thanks! I will take a look
I fix some (minor) bugs this month so...
Maybe a release soon
My pronouns are RASM and ACE

roudoudou

New release, nothing really significant for users, except...

...Rasm does not warn anymore if there is an include of a missing file in a disabled code section

I finally manage to handle the case without loss of speed nor heavy modifications
My pronouns are RASM and ACE

Targhan

Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

roudoudou

documentation lightly updated (there is a glitch in the english index table, don't know how to remove it but it's still usable)
My pronouns are RASM and ACE

roudoudou

#70
Valentine's release v0.69
- added $ prefix for hex values
- added 0b prefix for binary values
- added shifting operators << and >>
- EDSK update/generation improvements (make backups before use!)
My pronouns are RASM and ACE

GUNHED

Thanks for the update! Yay!  :) :) :)  Just un idea, if future can you rename "manual" to "RASM_manual" or similar, after a while it's confusing to have multiple "manual" files in disc.  :)
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

Quote from: GUNHED on 15:41, 15 February 18
Thanks for the update! Yay!  :) :) :)  Just un idea, if future can you rename "manual" to "RASM_manual" or similar, after a while it's confusing to have multiple "manual" files in disc.  :)
Sure
Will do it for next release
My pronouns are RASM and ACE

Ast

Quote from: roudoudou on 13:14, 15 February 18
Valentine's release v0.69
- added $ prefix for hex values
- added 0xb prefix for binary values
- added shifting operators << and >>
- EDSK update/generation improvements (make backups before use!)
Ah ah ah! Petit coquinou !
What a strange version name (0.69) for valentine ´s day !
What a joker you are!
MacDeath will be happy about that 😋
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

roudoudou

a quick update cause of shifting operator >> did not work...
now shrinkler sources can compile
My pronouns are RASM and ACE

Powered by SMFPacks Menu Editor Mod