Jump to content

Photo

Development Tools Announcement, and a Christmas Gift to All


36 replies to this topic

#1 SubQMod OFFLINE  

SubQMod

    Star Raider

  • 67 posts

Posted Mon Dec 15, 2008 8:32 AM

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.


Attached File  smac_1.0.12_win32.zip   519.72KB   302 downloads

Attached File  sln_0.1.4_win32.zip   324.68KB   258 downloads

#2 belboz OFFLINE  

belboz

    Moonsweeper

  • 413 posts
  • Location:Ohio

Posted Mon Dec 15, 2008 11:18 AM

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...ts/download.php

Congrats again SubQ on the excellent work!

#3 Zerosquare OFFLINE  

Zerosquare

    River Patroller

  • 2,757 posts
  • Location:France

Posted Mon Dec 15, 2008 11:23 AM

Just one word : wow.

Congratulations and thanks to SubQMod and everyone invovled !

#4 Isgoed OFFLINE  

Isgoed

    Stargunner

  • 1,432 posts
  • Location:Holland

Posted Mon Dec 15, 2008 11:39 AM

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, Mon Dec 15, 2008 11:40 AM.


#5 STGuy1040 OFFLINE  

STGuy1040

    Stargunner

  • 1,162 posts
  • Location:The East Coast

Posted Mon Dec 15, 2008 1:23 PM

Thank you to everyone involved! This is the best Christmas present ever. :D

#6 kskunk OFFLINE  

kskunk

    Moonsweeper

  • 456 posts
  • Location:Atari Mecca Sunnyvale, CA

Posted Mon Dec 15, 2008 9:17 PM

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

#7 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • 7,695 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Mon Dec 15, 2008 9:24 PM

Wow, cool news!

#8 Allan OFFLINE  

Allan

    Quadrunner

  • 6,284 posts
  • Location:Wallingford, CT

Posted Mon Dec 15, 2008 9:55 PM

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

#9 Gorf OFFLINE  

Gorf

    River Patroller

  • 4,633 posts

Posted Mon Dec 15, 2008 10:11 PM

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, Mon Dec 15, 2008 10:15 PM.


#10 Fadest OFFLINE  

Fadest

    Moonsweeper

  • 491 posts
  • Location:France

Posted Tue Dec 16, 2008 2:24 AM

Great job guys :thumbsup:

Belboz > For Linux and OS X users who want a working C compiler I recommend going to Seb's site
Now that efficient tools for assembling and linking are working on Linux, it should also be useable on Windows.

#11 SubQMod OFFLINE  

SubQMod

    Star Raider

  • Topic Starter
  • 67 posts

Posted Tue Dec 16, 2008 2:35 AM

]

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:

#12 belboz OFFLINE  

belboz

    Moonsweeper

  • 413 posts
  • Location:Ohio

Posted Tue Dec 16, 2008 2:05 PM

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



#13 BuddyBuddies OFFLINE  

BuddyBuddies

    River Patroller

  • 2,214 posts
  • Location:A Secret Place

Posted Tue Dec 16, 2008 3:49 PM

This is AWESOME news!!! :cool:

#14 Goochman ONLINE  

Goochman

    Quadrunner

  • 6,982 posts
  • Moongates to the Past

Posted Tue Dec 16, 2008 7:01 PM

Quake anyone :)

Nice work - look forward to any new additions to the Jag library from this.

#15 ls650 ONLINE  

ls650

    Quadrunner

  • 7,399 posts
  • Atari rocks!
  • Location:British Columbia

Posted Tue Dec 16, 2008 9:43 PM

Sounds like some good news to me...

#16 belboz OFFLINE  

belboz

    Moonsweeper

  • 413 posts
  • Location:Ohio

Posted Wed Dec 17, 2008 11:15 AM

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.

Attached File  sln_0.1.4.tar.gz   13.31KB   198 downloads
Attached File  smac_1.0.12.tar.gz   38.91KB   193 downloads

#17 Gorf OFFLINE  

Gorf

    River Patroller

  • 4,633 posts

Posted Wed Dec 17, 2008 11:37 AM

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!

#18 belboz OFFLINE  

belboz

    Moonsweeper

  • 413 posts
  • Location:Ohio

Posted Wed Dec 17, 2008 12:10 PM

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, Wed Dec 17, 2008 12:12 PM.


#19 Gorf OFFLINE  

Gorf

    River Patroller

  • 4,633 posts

Posted Wed Dec 17, 2008 12:18 PM

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

#20 Pocket OFFLINE  

Pocket

    Dragonstomper

  • 945 posts

Posted Sat Dec 20, 2008 7:32 AM

Thank you for your work ! :)

#21 krupkaj OFFLINE  

krupkaj

    Stargunner

  • 1,225 posts
  • from 8 to 64 and beyond
  • Location:Czech Republic

Posted Sun Dec 21, 2008 6:30 AM

Great news! Thanks especially for the linux build.

#22 Fadest OFFLINE  

Fadest

    Moonsweeper

  • 491 posts
  • Location:France

Posted Sun Dec 21, 2008 6:35 AM

Just tried the Linux version. smac worked great, but I didn't find how to specify the library path to sln (the -y switch).
Is there an alternative way (on Linux) ?

#23 belboz OFFLINE  

belboz

    Moonsweeper

  • 413 posts
  • Location:Ohio

Posted Sun Dec 21, 2008 12:10 PM

SubQ doesn't support the -y switch yet. I believe it is on his list.

#24 Gorf OFFLINE  

Gorf

    River Patroller

  • 4,633 posts

Posted Sun Dec 21, 2008 1:12 PM

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

#25 Gorf OFFLINE  

Gorf

    River Patroller

  • 4,633 posts

Posted Sun Dec 21, 2008 1:13 PM

SubQ doesn't support the -y switch yet. I believe it is on his list.


Actually SubQ does support the -y switch........its just not implemented. :P
( I know....Im a wise ass.... :P )




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users