Jump to content
IGNORED

Development Tools Announcement, and a Christmas Gift to All


SubQMod

Recommended Posts

In my view 2008 has been a pretty good year for the Jaguar despite the rising prices on eBay for Jaguar items . We've seen several previously unreleased protos released to us and then of course there is the absolutely fantastic SkunkBoard. The community seems to be stronger and I think I am right in saying that conflict between groups and individuals over various topics have reduced (well I think so anyway, although a 'strong' discussion always makes me think and occasionally lmao ).

 

With Christmas nearly upon us I thought it a good time to release a small gift to the community, so what is it.......?

 

For a long time now one of the most frequent issues brought up in the Jaguar forums on various boards and within seperate groups of Jaguar developers is that of development tools. Most developers are stuck with the original tool set distributed by Atari way back in the day. These tools are, on the whole, pretty efficient with one major drawback.....execution on more recent operating systems is, at best, a challenge

 

The core tools I am referring to are Atari's MADMAC and ALN. Several of you have contacted, or are aware of the efforts to contact Brainstorm for the source to MADMAC so that it could be recompiled to work on current operating systems. These efforts have not born fruit, not through lack of effort but the lack of response or even acknowledgement from this group. There is also the matter of of BSD object and COFF executable file formats and how they work under the Jaguar. The information for this is hard to find and can be harder to related to Jaguar based output. Without an updated MADMAC there was not even any point at working for an updated ALN.

 

We know all this I hear you say, get to the point already...

 

There are a collection of developers out there who want new tools to create new software. I am sure you have seen the requests, information and hints throughout the forums for a long time now. During 2007 I was introduced to a key contributor to many forums and fellow developer, 'Gorf'. Although I was not a Jaguar developer (but a big Jaguar fan) I saw the requirement for current tools and set out on a project to try and bring some of these tools up to date. One of the key considerations for any new toolset should be the ability to assist in coding GPU RISC code for main memory.

 

What followed the initial meeting was many, many long hours of research into the existing toolset, formats and long hours of developing ideas and approaches. During this time, I have spoken to many key developers and figures in the Jaguar community who have contributed and supported these efforts and I believe in these people I have made many new and good friends.

 

The result of these efforts are that I can announce, on behalf of myself and all who contributed, and release the first public beta of the first two replacement tools;

 

SMAC - SubQMod's Macro Assembler for Atari Jaguar

 

SLN - SubQMod's Linker for Atari Jaguar

 

These two tools are replacements for Atari's MADMAC and ALN. Any developer using them will see that they have been designed to work as closely as possible to the original tools. In fact, the original core code base is that of MADMAC and ALN (prior to customisations or even the release of the Jaguar) and used with the kind permission of the original authors.

 

So why release now. Well, as I have already mentioned, its nearly christmas and I wanted to end the year for the Jaguar in a positive direction (and I can't afford to buy everyone in the Jaguar community a present ). Also, I wanted to get feedback from a much wider Jaguar developer base so that I can finalise the code and remove any outstanding bugs.

 

There are many improvements built into the code, one of the most significant being that SMAC can guide developers when writing GPU code for main. There are still a few (and only a very few) features that have not be enabled when comparing to MADMAC, ALN but these will come shortly.

 

The key thing for me is that I can get as many bug-reports and feedback about how these tools perform so that they become a new base for development and allow me to continue with other Jaguar tool projects in the pipeline.

 

There is so much I could say about SMAC and SLN as it has been an amazing journey to get even this far. What I must absolutely say is a massive thank you to those who have been involved for their support and information and without whom I wouldn't be writing this post;

 

Gorf for staring me out on this path and his support throughout the project. Also for provding direction, support, insight and information into main code execution.

belboz for his testing and feedback and gratefully received assistance in porting the code to other platforms (also for introducing me to the fab Mac OS/X).

JagMod for his sterling work during the testing and finding all sorts of weird and wonderful issues

Thunderbird and Tursi for testing and providing great insight into Jaguar development.

JagChris, and Downix who have been involved at varying levels.

Atari_Owl whom I was independantly introduced to during this project and provided me with vital information for main code execution as well level headed guidance.

 

I hope that I didn't miss anyone out as everyone who has been involved and helped get this project off the ground and to this point have proved great individuals and friends.

 

I nearly forget JaySmith2000 whose JSII forum is a regular stomping ground for me and has proved to be a great friend.

 

Before I leave you to download and start testing I thought I would do a mini-FAQ here to answer some of the questions I think *may* be asked;

 

Q: Is SMAC and SLN fully functional?

A: Barring a few command line switches they should work as you would expect MADMAC and ALN to work. One key difference to note is that these two tools are directly focused at creating BSD/COFF output.

 

Q: Why is it only a beta release?

A: SMAC and SLN have been tested as much as humanly possible within the small group of developers who have worked with me. A much wider base of testing is needed to ensure that all expectations, functionality and coding styles have been accomodated. Also, to highlight any outstanding bugs that have not yet been picked up.

 

Q: How much main code execution functionality is present?

A: In this release, GPU code assembled under the <b>.gpumain</b> directive is checked against the rules of main code execution and warnings are issued as appropriate. Future releases will also modify the code to reduce the amount of work on the developer.

 

Q: Is there a project website?

A: Not as yet. I wanted to see what volumes of interest and feedback I got before embarking on a specific download or project site.

 

Q: So what is actually available to download?

A: The two download packages include Win32 binaries of SMAC and SLN as well as a brief manual and revision history.

 

Q: The manual states that this is multi-platform, why only a Win32 download?

A: SMAC and SLN have been succesfully compiled on MAC OS/X, Linux and Cygwin but further testing is required to ensure they work as advertised. Binary distributions for these platforms (where applicable and possible) will be available in the future.

 

Q: Will the project be open sourced?

A: Unlike Brainstorm, for example, I intend that SMAC and SLN will ultimately be open sourced. There are various targets that must be met first though such as; having a full and stable release that is no longer in beta state; further testing and development of multi-platform compilation; clarification of release of any proprietory information and other such factors.

 

Q: What do I need to do differently to use these tools?

A: Other than the difference in executable names and some missing command line switches only minor changes to your makefiles will be needed. The other key difference is that MACPATH and ALNPATH environment variables need to be changed to SMACPATH and SLNPATH.

 

Well, thats all I can really say about this release at this point. I hope you find that this is a positive move and will provide me with any and all feedback regarding the performance and issues you may find. I intend that development of these tools continues so I am looking to perform updates to the software as issues are fixed and requests are implemented.

 

At this stage you can contact me via Private Message at JS-II (www.jaguarsector.com). I will look to setup a support e-mail address in the near future.

 

Many thanks for reading my ramblings and I hope you enjoy this christmas gift.

 

 

smac_1.0.12_win32.zip

 

sln_0.1.4_win32.zip

Link to comment
Share on other sites

I can tell you that SubQ has done an awesome job with his work on this. The assembler and linker have worked very well for me with my old projects. Everything assembled and linked beautifully.

 

This coupled with Tursi and kskunks skunkboard have allowed me to do something pretty unheard of for Jag development.

 

I was able to compile, assemble and link my various Jag projects on an OS X machine (PPC one, although Intel based works too obviously). I was also able to download the resulting binary to the Jag with the skunkboard. All done on OS X.

 

Of course everything works beautifully with Windows XP, Vista, 2000,etc. Linux of course also.

 

For Linux and OS X users who want a working C compiler I recommend going to Seb's site. OS X users can use his compiler build script to get a working gcc for the 68K. Linux users can either use the script to build their own or download the prebuilt version.

 

Seb's prebuilt version has binaries for Linux and Windows (using Cygwin). Seb's site is...

 

http://removers.free.fr/softs/download.php

 

Congrats again SubQ on the excellent work!

Link to comment
Share on other sites

While I won't use any of these tools (since I am a gamer, not a programmer and blahblahblah) , I am happy to see this kind of support for the Jaguar! :)

 

I do hope that these kinds of releases lead to new 64-bit Jaguar games in the (hopefully near) future.

 

Way to go!!!

Edited by Isgoed
Link to comment
Share on other sites

SMAC - SubQMod's Macro Assembler for Atari Jaguar

SLN - SubQMod's Linker for Atari Jaguar

 

Woo-hoo! This is a great Christmas present for me. I've been dealing with DOSBox long enough! This will definitely speed up development on the Skunkboard. :D

 

This is a great year for Jag development. Now both hardware _and_ software tools work on modern PCs. Hopefully this gets us another 10 years or so. ;)

 

Q: Is SMAC and SLN fully functional?

A: Barring a few command line switches they should work as you would expect MADMAC and ALN to work. One key difference to note is that these two tools are directly focused at creating BSD/COFF output.

 

How is the BSD/COFF format used by SMAC/SLN different than what is used by MADMAC/ALN?

 

- KS

Link to comment
Share on other sites

Can this be used to compile the 6502 code written with Madmac like stuff for the 7800 and 5200? or is it 68000 exclusive?

 

Allan

 

Actually no, the 6502 has been removed. Supporting all Atari machines were not the pursose

of this project. The 68k is not the main focus but SMAC/SLN are tools designed to use the

main RAM J-RISC for much better bus performance over the 68k. I was looking to eliminate

the 68k as well so folks would HAVE to learn the J-RISC chips. SubQmod(Gordon) made me

realize that keeping the original Jaguar functionality would be best for the old schoolers and

especially in light of the Jaguar Source code recently released.

 

Most if not all of those sources should compile with these new tools. The only thing you will need

is a 68k cross compiler to handle any of the 68k C code. There was no GPU/DSP C code as far

as I could tell as A ) the compiler provided was garbage and B ) Atari provided no such examples.

 

This is only the begining and Gordon deserves most of the credit for all the effort he put forth

for this. This man blew my mind as he took my ideas and turned them into gold for all Jag fans

and Jag developers. There are the other gentlemen he mentioned and everyone of those guys

are the best there is in the Jaguar homebrew world.

 

Belboz

JagMod

Thunderbird

Tursi

JagChris

Downix

Atari_Owl

 

All jag fans and developer should thank God almighty for these guys and thanks these guys as well.

 

KSkunk! You rock to for your involvment with Tursi on the brilliant and long awaited SkunkBoard.

 

 

However Allan....

 

I hope to annoy and pester Gordon to beg more hard work from him in further helping me achive

similar heights for the 7800(6502 in general), O^2 and Astrocade as well. Thankfully those will be

much less daunting as single processor consoles than the Jag tools were. So hopefully, he is a glutton

for punishment(dealing with me) and will help me make these other platforms more dev/user friendly

to code for.

 

 

Most importantly, I want everyone to understand Gordon went well beyond the call of duty to make this

happen. It is a wonderful day to be a Jag fan and developer!

Edited by Gorf
Link to comment
Share on other sites

]

 

How is the BSD/COFF format used by SMAC/SLN different than what is used by MADMAC/ALN?

 

- KS

 

The BSD/COFF format used by SMAC/SLN is not different from that of MADMAC/ALN. What I was referring to is that this is the primary supported file format. Interestingly, during development I actually fixed a couple of MADMAC bugs :lol:

Link to comment
Share on other sites

The original developer of MadMac posted the source to it. This is pre Jaguar time, but it has the support for 6502 in it. You could simply rebuild if you want a madmac that works on modern OS's. It just won't support the Jaguar.

 

Can this be used to compile the 6502 code written with Madmac like stuff for the 7800 and 5200? or is it 68000 exclusive?

 

Allan

Link to comment
Share on other sites

SubQ wanted me to post binaries for Linux and OS X users.

 

Attached to this message are the binaries for Linux users.

 

These were compiled with an Ubuntu 8.04 machine.

 

You can use these in conjunction with the Atari made Linux dev tools. The Atari made mac and aln bundled with their linux tools suite function well with Linux, but with smac you gain the gpu main code feature and bug fixes SubQ has made to the original code base.

 

I will build an OS X set of Universal binaries tonight and post.

 

sln_0.1.4.tar.gz

smac_1.0.12.tar.gz

Link to comment
Share on other sites

The original developer of MadMac posted the source to it. This is pre Jaguar time, but it has the support for 6502 in it. You could simply rebuild if you want a madmac that works on modern OS's. It just won't support the Jaguar.

 

Can this be used to compile the 6502 code written with Madmac like stuff for the 7800 and 5200? or is it 68000 exclusive?

 

Allan

 

 

I am pretty sure SubQMod said he removed all the 6502 code. If he posts the original

source he had, that would be helpful to the 6502 developers.

 

I just hope they have the same drive as SubQMod. This guy has a REAL pair of coding

balls. I got queezy just trying to think about how to possibly implement MAIN code in an

assembler. Gordon did it like it was second nature.

 

SMAC RULES! SLN RULES! Gordon Rules! Jaguar Rules!

Link to comment
Share on other sites

I was referring to the original source to madmac posted by the ex Atari developer. If Allan downloads that source from that ex Atari guys website he can just rebuild it and have madmac that supports the 68K and 6502.

 

Here is the Atari developers post about madmac and source

 

http://www.dadhacker.com/blog/?p=1049

 

I am pretty sure SubQMod said he removed all the 6502 code. If he posts the original

source he had, that would be helpful to the 6502 developers.

 

I just hope they have the same drive as SubQMod. This guy has a REAL pair of coding

balls. I got queezy just trying to think about how to possibly implement MAIN code in an

assembler. Gordon did it like it was second nature.

 

SMAC RULES! SLN RULES! Gordon Rules! Jaguar Rules!

Edited by belboz
Link to comment
Share on other sites

I was referring to the original source to madmac posted by the ex Atari developer. If Allan downloads that source from that ex Atari guys website he can just rebuild it and have madmac that supports the 68K and 6502.

 

Here is the Atari developers post about madmac and source

 

http://www.dadhacker.com/blog/?p=1049

 

I am pretty sure SubQMod said he removed all the 6502 code. If he posts the original

source he had, that would be helpful to the 6502 developers.

 

I just hope they have the same drive as SubQMod. This guy has a REAL pair of coding

balls. I got queezy just trying to think about how to possibly implement MAIN code in an

assembler. Gordon did it like it was second nature.

 

SMAC RULES! SLN RULES! Gordon Rules! Jaguar Rules!

 

 

Ah ok...I thought you were saying it was still in the SMAC versions.

I remember SQM saying he removed all that stuff(rightfully so.)

Link to comment
Share on other sites

Thank you for your work ! :)

 

 

Now you Jagware guys have no excuses.......I wanna see some GPU main code games!!!

 

:P

 

 

Its real easy now......

 

.GPUMAIN

 

Let the tools do the work...as the should have originally!

 

Dont let Gordon down .....He did it for you. I mean come on guys....he had to put up with

me for crying out loud.....that alone deserves him a place in heaven.

(Right SubQ, old man?)

 

;)

 

I think SubQmod could parse his way there he's so good at it!

 

:D

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...