Jump to content

Assembling packaged examples in Jaguar SDK using smac, vlink, etc


SamBushman

Recommended Posts

Hello,

As an exercise (and resource for future reference) I wanted to assemble the examples provided with the official Atari Jaguar SDK (such as JAGMAND, the Mandelbrot set example). I have gotten the JAGMAND example to successfully assemble and run on Virtual Jaguar v299, but I am having trouble with some of the other examples. One common issue I am having is that directories referenced in the development documentation (such as the WORKSHOP directory) don't exist, others (such as the Mandelbrot example) are present, but some source files are named differently or are missing (such as Startup.s in the Mandelbrot example). The second issue I am having is in particular to the Joystick example (EXAMPLES\JOYPAD). The three dependency files: jaguar.inc, objlist.inc, and joypad.inc are all present, but it appears that joypad and objlist have been merged into jaguar.inc and thus just include jaguar.inc. This is fine, except that if this include structure is used with smac, then it throws a bunch of warnings about multiple equates for all the constants, as both DEMO.s (the original source file) and the dummy *.inc files include jaguar.inc. Furthermore, it appears some of the macro values are not defined in jaguar.inc.

Examples of this are:

CHRO_CLK on line 94 of DEMO.s

O_YPOS on line 141 of DEMO.s

O_XPOS on line 151 of DEMO.s

 

I am able to prevent the multiple equate errors by simply commenting out the dummy includes, but I am still missing some of the macros. What I would like to know is:

1. Is there a comprehensive version of the SDK that includes all of the code samples referenced in the documentation?

2. Is there an option I can set on smac to prevent the multiple equate warnings so I may avoid having to patch every single code example included with the SDK?

3. I am assuming that the lack of some macro values is due to the ever changing headers produced by Atari over the course of the Jaguar's lifetime. As such, some of the macros and utility headers may have been moved around. Has anyone gotten all these examples to assemble successfully, or does there exist at least a version of the Jaguar SDK that includes working copies of all these examples?

 

Hopefully my explanation of my issues with the example programs doesn't come off as whining or complaining. I can understand that just getting official documentation and code is quite a feat. I would just like to be on the same page as the community regarding the state of these examples. Thanks for your time and patience with a Jag newbie.

 

Cheers,

Sam Bushman

Link to comment
Share on other sites

nm, I'm dumb :/

I was messing with a version of the sdk software that I had just found online and chances are that it is incomplete. After looking into the files provided by Michael Hill's development tools I found working versions of all the examples.

 

The only dangling issue now is how do I emulate aln's "-i fileName" flag (Includes the binary data contained in the file specified by "fileName" in the link. The contents of the file are placed verbatim into the DATA section. This is part of the jaguar doc's explanation of the option.) with vlink? The documentation pdf didn't seem to shed any light.

 

Thanks and sorry for not double checking my software earlier :P,

Sam

Link to comment
Share on other sites

The only dangling issue now is how do I emulate aln's "-i fileName" flag (Includes the binary data contained in the file specified by "fileName" in the link.
Dunno, but you can use the .incbin directive instead, and put the name of the binary file you want to include in your source code. It's more convenient, anyways ;)
Link to comment
Share on other sites

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.

×
×
  • Create New...