Jump to content
Sign in to follow this  
Cyprian_K

RMAC and "stop" psuedo-ops

Recommended Posts

Hello,

 

A quick glance at the codebase (http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blob;f=op.c;h=836f4de173b01add2b452414574c98b9c5c13953;hb=HEAD#l428)shows that the implementation of stop does not not take a parameter.

 

We can add it easily though, no probs. As a workaround for now you can use something like the following in lieu of the stop opcode:

 

dc.l 4<<28,O_STOPINTS

 

(not tested, but it's probably fine)

Edited by ggn
Geez, bbcode is kind of RIP

Share this post


Link to post
Share on other sites
12 minutes ago, ggn said:

We can add it easily though, no probs. As a workaround for now you can use something like the following in lieu of the stop opcode:

 

dc.l 4<<28,O_STOPINTS

 

(not tested, but it's probably fine)

 

should not be as follow?

dc.l 0,(STOPOBJ|O_STOPINTS)

 

Share this post


Link to post
Share on other sites

Dunno, probably. I just work here, man!

 

(by that I mean: I didn't write the OP portions, @Shamus did actually. And I haven't looked that serious at how the bits are laid out, sorry!)

 

(but it'll be correct by the time we issue the fix!)

Edited by ggn

Share this post


Link to post
Share on other sites

O_STOPINTS has nothing to do with the STOP opcode (at least according to the JTRM); the OP ignores anything in bits 3-63 of a STOP object.  It looks like it should be some kind of interrupt control bit, but it matches nothing (the closest is INT1 [$F000E0], but it should be $4 in that case instead of $8).

 

Dunno what to tell you other than, what do you need it for?  Does it really do anything?

 

N.B.: STOP is *not* a pseudo-op, it's a geniune, bona-fide, real as real can be opcode.  : )

Edited by Shamus
Corrections : P

Share this post


Link to post
Share on other sites

that was from Atari workshop "GPUINT"

; Write a STOP object for the end of the list

		clr.l   d1
		move.l  #(STOPOBJ|O_STOPINTS),d0

		move.l  d1,(a0)+
		move.l  d0,(a0)+

 

Share this post


Link to post
Share on other sites

Well, it wouldn't be the first time they got things wrong.  As far as I can tell, OP STOP interrupts are controlled by bit 2 of INT1 ($F000E0), not by some magick bit in a STOP object.  No doubt the guy writing the documentation (LOL) was pulling his hair out.  :)

Edited by Shamus
:)
  • Like 1

Share this post


Link to post
Share on other sites

All right, so unless someone proves otherwise, rmac isn't getting a parameter in the STOP opcode.

  • Like 1

Share this post


Link to post
Share on other sites

Bit 3 of Stop object generate an interrupt if equal to 1. (documented on the most up to date JTRM and confirmed in netlist)

 

If bit 2 of INT1 register is enabled, then the stop interrupt will be sent back to the 68K.

 

Edited by SCPCD
  • Like 2

Share this post


Link to post
Share on other sites
15 hours ago, SCPCD said:

Bit 3 of Stop object generate an interrupt if equal to 1. (documented on the most up to date JTRM and confirmed in netlist)

 

If bit 2 of INT1 register is enabled, then the stop interrupt will be sent back to the 68K.

 

and actually I wonder whether other STOP bits are somehow used,

and what else we can see in the Jag Netlist?

Share this post


Link to post
Share on other sites

Other bits are only used for software  (OB[0-3] registers) like for GPU objects.

 

  • Like 2

Share this post


Link to post
Share on other sites

Well, it's an easy enough thing to add the logic to handle this in the OP assembler.  Will add it now that I have confirmation that it does something.  :)

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...