Jump to content
IGNORED

RMAC/RLN


Orion_

Recommended Posts

3 hours ago, SebRmv said:

Where should I report bugs?

 


;;; address register = base of var array
VARREG	equ	2

.macro	emitInstr
	;; \1 = instruction
	move.w	\1,(a1)+
.endm

.macro	emitTgtMem
	;; \1 = opcode
	;; \2 = variable number (will be multiplied by 2)
	;; \3 = address register number	
	add.w	\2,\2
	beq.s	.opt\~
	emitInstr	#(\1)|(%101<<6)|((\3)<<9)
	bra.s	.done\~
.opt\~:
	emitInstr	#(\1)|(%010<<6)|((\3)<<9)
.done\~:
.endm

	;; emit "move.w #YYyy,xx(Var)"
	emitTgtMem	(%0011<<12)|(%111100),d0,VARREG

This one produces a segmentation fault.

 

Ok, issue found. Head over to token.h, lines 131 and 132 and change the "32" to "64". Also read the comment, you just broke a record ;).

 

I'll have a discussion with Shamus on how to handle with this but you should be fine for now...

  • Like 1
Link to comment
Share on other sites

  • 9 months later...

rmac v2.1.8 is now out. Quite a few bug fixes (apologies to those who reported these and were waiting for the official release) and a statically linked binary for Linux as there were people asking for this.

 

http://rmac.is-slick.com

 

Changelog:

 

Fixed bug where rmac would crash if a too complex expression was entered in a line. Thanks to Zorro of Ghost for the report.

Fixed handling of RMACPATH environment variable. Thanks to James Jones for the report and fix!

Harden RISC register parser. Thanks to DrTypo for the report.

Fixed bug where expressions that contained the star character (*) would be treated as absolute when .ORG is active. Many thanks to James Jones for the report.

Fixed bug where symbols redefined using SET more than once would be assembled to the last value.

Emit an error when “.opt +o” or “.opt ~o” is encountered (i.e. no arguments)

Don’t touch o10 (AKA op) when +/~Oall is called

Fix .goto directive

Improvements in reporting errors inside macros

Experimental static Linux build (64-bit only)

 

Enjoy!

  • Like 5
Link to comment
Share on other sites

I downloaded RMAC from github yesterday and noticed the build process was complaining about the patch file that we were using to get Removers Library to build.  Didn't use the patch this time, and everything seems to be working. Thanks for you work on this.

  • Like 2
Link to comment
Share on other sites

  • 11 months later...

rmac v2.2.2 has just been released.

 

http://rmac.is-slick.com

 

Here is a list of changes since 2.1.8:

 

  • ds directive now works with expressions that have undefined symbols (as long as they are resolved by the end of assembling)
  • equr has been overhauled and now works with all target architectures
  • Label names clashing with register names is now restricted to target architecture register names. As an example, this means that a label name of “a:” is now illegal only if the selected architecture has a register name “a” (at the time of writing: DSP56001 and 6502)
  • Printing a listing with -l* now doesn’t print \f characters when printing the symbol table
  • Register and Condition Code equates are now not exported as symbols
  • Fix for exported symbols in ELF object
  • Fix for incbin corner case
  • We are now offering experimental Apple M1 builds. These are untested, so any feedback is welcome
  • .REPT blocks (including nested) now support unique generated names (using \~)
  • Robustness enhancements in .incbin
  • Changes in optimisation flags strategy
    As of now, all optimisation flags are off by default (previously O0, O1 and O2 were on by default).
    New optimisation flags introduced targetting the 56001
        O10 enables the use of short format for immediate values (when possible)
        O11 automatically converts short addressing mode to long
        O10 (also known as Op) moved to O30

Also, as mentioned in the page above, there is now a syntax highlighting file for the editor 10x. This should highlight correctly all rmac keywords, operands, registers, comments, etc and not a random subset like most 68k syntax highlighting plugins do.

 

As always, thanks to everyone who reported bugs. And with that: enjoy!

  • Like 7
  • Thanks 3
Link to comment
Share on other sites

1 hour ago, ggn said:

I'd at least check it out if I knew about it :).

 

Github UI is a bit confusing as it shows all the v2.2.2 diffs and probably your fixes. Could I trouble you to produce a .diff file so I can check it out?

Yes, it is only expr.c/rmac.c.

 

Link to comment
Share on other sites

9 hours ago, ggn said:

Also, as mentioned in the page above, there is now a syntax highlighting file for the editor 10x. This should highlight correctly all rmac keywords, operands, registers, comments, etc and not a random subset like most 68k syntax highlighting plugins do.

I'm not familiar with the 10x Editor, could you briefly told me the main reason(s) leading this support?

Link to comment
Share on other sites

16 minutes ago, dilinger said:

I'm not familiar with the 10x Editor, could you briefly told me the main reason(s) leading this support?

Just what you'd expect really, but for what it's worth:

  • I'm using 10x
  • I like it very much
  • I added rmac highlighting support for it

 

Link to comment
Share on other sites

12 hours ago, ggn said:
  • I'm using 10x
  • I like it very much

Gave it a try, but there is a lot missing IMHO. For example it indents always TAB width. You cannont quickly change editor tabs.

Biggest "but" for me: It is C/C++ only (yet).

I see, it can be extended with Python (at least not Lisp ;-) ) and there is already a VIM mode. As soon as there is an Emacs mode, I will try it again.

 

Link to comment
Share on other sites

23 hours ago, 42bs said:

Thanks, filed in the issue tracker :)

17 hours ago, cubanismo said:

Is the 10x syntax highlighting auto-generated from the rmac keyword files?

Nope, that was literally me fiddling for an hour with the syntax highlighting and using pretty much all the .tab files from the source code.

 

8 hours ago, 42bs said:

Gave it a try, but there is a lot missing IMHO.

It wasn't my intention to start editor wars :). My secret hope was that maybe others would submit rmac highlighting rules for other editors :D.

Edited by ggn
Link to comment
Share on other sites

2 minutes ago, ggn said:

t wasn't my intention to start editor wars :). My secret hope was that maybe others would submit rmac highlighting rules for other editors :D.

No war! I always try new editors. Most are hell slow, so at least 10x is on a good way (reminds we when Tempus came out ;-) )

But every time I fall back to emacs (maybe I am just to old for new key bindings).

 

  • Like 1
Link to comment
Share on other sites

On 6/1/2022 at 3:45 PM, ggn said:

It wasn't my intention to start editor wars :). My secret hope was that maybe others would submit rmac highlighting rules for other editors :D.

I'm using PSPad and I made a syntax config file for it (68000 and Jaguar RISC).

I don't think all the rmac directives are managed but it's already good for my uses.

 

Jaguar assembly.ini

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

Old documentation has the field and newest documentation (for ex Jun95 [don't know if they change before]) hasn't the field in the spec. (tech v8 was based on an older documentation)

It doesn't exist also in the Midsummer [jagII] documentation.

 

In the netlist, YPOS is totaly ignored for GPU object.

 

Don't know if it's needed to keep a field that is not finally implemented. :)

 

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...