SubQMod Posted December 15, 2008 Share Posted December 15, 2008 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 Quote Link to comment Share on other sites More sharing options...
belboz Posted December 15, 2008 Share Posted December 15, 2008 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! Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted December 15, 2008 Share Posted December 15, 2008 Just one word : wow. Congratulations and thanks to SubQMod and everyone invovled ! Quote Link to comment Share on other sites More sharing options...
Isgoed Posted December 15, 2008 Share Posted December 15, 2008 (edited) 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 December 15, 2008 by Isgoed Quote Link to comment Share on other sites More sharing options...
STGuy1040 Posted December 15, 2008 Share Posted December 15, 2008 Thank you to everyone involved! This is the best Christmas present ever. Quote Link to comment Share on other sites More sharing options...
kskunk Posted December 16, 2008 Share Posted December 16, 2008 SMAC - SubQMod's Macro Assembler for Atari JaguarSLN - 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. 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 Quote Link to comment Share on other sites More sharing options...
doctorclu Posted December 16, 2008 Share Posted December 16, 2008 Wow, cool news! Quote Link to comment Share on other sites More sharing options...
+Allan Posted December 16, 2008 Share Posted December 16, 2008 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 Quote Link to comment Share on other sites More sharing options...
Gorf Posted December 16, 2008 Share Posted December 16, 2008 (edited) 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 December 16, 2008 by Gorf Quote Link to comment Share on other sites More sharing options...
Fadest Posted December 16, 2008 Share Posted December 16, 2008 Great job guys 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. Quote Link to comment Share on other sites More sharing options...
SubQMod Posted December 16, 2008 Author Share Posted December 16, 2008 ] 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 Quote Link to comment Share on other sites More sharing options...
belboz Posted December 16, 2008 Share Posted December 16, 2008 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 Quote Link to comment Share on other sites More sharing options...
BuddyBuddies Posted December 16, 2008 Share Posted December 16, 2008 This is AWESOME news!!! Quote Link to comment Share on other sites More sharing options...
Goochman Posted December 17, 2008 Share Posted December 17, 2008 Quake anyone Nice work - look forward to any new additions to the Jag library from this. Quote Link to comment Share on other sites More sharing options...
+LS650 Posted December 17, 2008 Share Posted December 17, 2008 Sounds like some good news to me... Quote Link to comment Share on other sites More sharing options...
belboz Posted December 17, 2008 Share Posted December 17, 2008 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 Quote Link to comment Share on other sites More sharing options...
Gorf Posted December 17, 2008 Share Posted December 17, 2008 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! Quote Link to comment Share on other sites More sharing options...
belboz Posted December 17, 2008 Share Posted December 17, 2008 (edited) 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 originalsource 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 December 17, 2008 by belboz Quote Link to comment Share on other sites More sharing options...
Gorf Posted December 17, 2008 Share Posted December 17, 2008 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 originalsource 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.) Quote Link to comment Share on other sites More sharing options...
Pocket Posted December 20, 2008 Share Posted December 20, 2008 Thank you for your work ! Quote Link to comment Share on other sites More sharing options...
krupkaj Posted December 21, 2008 Share Posted December 21, 2008 Great news! Thanks especially for the linux build. Quote Link to comment Share on other sites More sharing options...
Fadest Posted December 21, 2008 Share Posted December 21, 2008 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) ? Quote Link to comment Share on other sites More sharing options...
belboz Posted December 21, 2008 Share Posted December 21, 2008 SubQ doesn't support the -y switch yet. I believe it is on his list. Quote Link to comment Share on other sites More sharing options...
Gorf Posted December 21, 2008 Share Posted December 21, 2008 Thank you for your work ! Now you Jagware guys have no excuses.......I wanna see some GPU main code games!!! 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! Quote Link to comment Share on other sites More sharing options...
Gorf Posted December 21, 2008 Share Posted December 21, 2008 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. ( I know....Im a wise ass.... ) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.