belboz Posted May 10, 2009 Share Posted May 10, 2009 Everyone, I have posted on my site some new goodies for Jaguar developers! The most important of which is a new development environment for Jaguar developers that works under Windows 2000/XP/Vista! I have to thank SubQMod for allowing me to put his assembler/linker in this archive. Also Tursi and kskunk for allowing me to put the jcp download program in here also. More credit is listed in the readme for the people behind the C compiler and cross development tools I used also. So what is this? It is a working 68K C compiler. Which runs out of the box. Also included is some C libraries for things like memory copies, and string and character functions. This is a very fast and nice optimizing compiler. SubQ's smac and sln for assembly and linking. Two of the biggest hurdles was getting a working assembler and linker on Windows 2K and up. SubQ has accomplished this. The vlink linker is also included. A huge thanks goes out to Frank Wille who wrote vlink. He added support for the Jaguar to help us out. He is an amiga guy, but went out of his way to help with making vlink a usable linker for Jaguar developers. Now you might ask why I needed vlink when SubQ's sln is already here. Part of that was because sln still has some development needed to get it fully functional. vlink is a robust linker and with the added Jaguar support Frank added it gives us a nice linker we can use. So between the two linkers the Jaguar developer has some options. vlink doesn't have the same command line arguments as sln (or aln), but it is straightforward enough. Once sln is finalized that will be the way to go, but if your in a pinch with sln not working, use vlink, but also be sure to report your issue(s) with sln to SubQ so he knows. This is also all wrapped up in a nice little Windows installer I created. So you download it, run the installer and click next through everything (you can change the destination directory if you wish, but I recommend keeping it \jaguar\bin). Let the install finish and you have a complete working system ready to go. The installer takes care of setting up environmental variables, added the tools to the PATH statement. Everything is done for you. It even supports Windows 9X and modifies the autoexec.bat with the proper environmental and PATH information. The uninstaller removes everything (environmental variables included). So it is easy to install and remove. I have not tested running this environment under Windows 9X, but it should work. If you do please report back how it went. For Windows 9X systems you can still use my original dev environment on my site. Which I would recommend just because it works, and you get to use the original Atari assembler and linker. But if your a Windows 2K and up user this new environment is the way to go. So check it out and let me know how it goes. http://www.hillsoftware.com/downloads/index.html I also have a 75MB or so zip up there with PDF's of the Atari developer documentation. Not needed, but if you want it grab it. I will do a video of the installation and build of the test program if anyone wishes, but it is very straight forward. I look forward to hearing how it works for people. Also if everyone could not host this anywhere else. I know I am going to be doing rev's on this as people find problems. So I want to keep it controlled while I refine it. If you want to link to this on another site, just post the link above so they go to my download page and can always get the correct download. Also I will be releasing versions of this for OS X and Linux if people want. This compiler works really well. I have used it to compile the Doom source and it worked beautifully. Next message will contain info on how to build the test program and run it after installing the tools. Quote Link to comment Share on other sites More sharing options...
kskunk Posted May 10, 2009 Share Posted May 10, 2009 This compiler works really well. I have used it to compile the Doom source and it worked beautifully. Holy cow, this is huge! Is it possible to post your modified Doom sources? Thanks again. I still do way too much work in DOSBox and this could finally mark the end of that... - KS Quote Link to comment Share on other sites More sharing options...
philipj Posted May 11, 2009 Share Posted May 11, 2009 Finally... Windows Jag dev tools that works. Quote Link to comment Share on other sites More sharing options...
matmook Posted May 11, 2009 Share Posted May 11, 2009 Great work ! Quote Link to comment Share on other sites More sharing options...
SebRmv Posted May 11, 2009 Share Posted May 11, 2009 Also I will be releasing versions of this for OS X and Linux if people want. Hi, really great news. Congrats. Who wrote the C compiler? Count my vote for a release of a linux version Cheers. Quote Link to comment Share on other sites More sharing options...
belboz Posted May 11, 2009 Author Share Posted May 11, 2009 Seb, It is vbcc. Which was written by Dr. Volker Barthelmann. Frank Wille wrote vlink (and added support for the Jaguar a.out format and relocation and GPU/DSP movei relocation). Frank also wrote vasm which is the assembler used by the compile to convert the C into Object code. I have been using it on Linux now and quite like it. The only problem I have seen with it (and it is being worked on) is that sometimes turning on optimizations can cause compile issues with the compiler. Turning them off for the project, or that file in particular has fixed that problem. I will definitely work on a Linux release next. Actually Seb, your post reminds me. Do you care if I add your Removers Library and Jaguar library to the package? Quote Link to comment Share on other sites More sharing options...
nonner242 Posted May 11, 2009 Share Posted May 11, 2009 Thank you! This is awesome! Quote Link to comment Share on other sites More sharing options...
Fadest Posted May 11, 2009 Share Posted May 11, 2009 (edited) Actually Seb, your post reminds me. Do you care if I add your Removers Library and Jaguar library to the package? Please do, (and do a Linux version) it would be great help for me to work either on my Linux box or my Windows laptop. Oh, and Seb, please answer yes Btw, you did a wonderful job on this, it instal like a charm. Edited May 11, 2009 by Fadest Quote Link to comment Share on other sites More sharing options...
mellis Posted May 11, 2009 Share Posted May 11, 2009 Also I will be releasing versions of this for OS X and Linux if people want. This compiler works really well. I have used it to compile the Doom source and it worked beautifully. +1 for a Mac OS X version please! Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted May 11, 2009 Share Posted May 11, 2009 (edited) Great work ! Edited May 11, 2009 by Zerosquare Quote Link to comment Share on other sites More sharing options...
belboz Posted May 11, 2009 Author Share Posted May 11, 2009 Seb gave me the go ahead for including his library. I will probably churn out a version for Linux and OSX next. For the Linux build I am going to include the Atari linker and assembler in addition to smac and sln. No sense not using the Atari tools on Linux since they work fine. After I get those two versions out I will do an upgrade for the current Windows versions. Also if anybody can think of any tools or things I should include, let me know. Quote Link to comment Share on other sites More sharing options...
BuddyBuddies Posted May 11, 2009 Share Posted May 11, 2009 This is VERY good news buddies! Much appreciated! Quote Link to comment Share on other sites More sharing options...
+poobah Posted May 11, 2009 Share Posted May 11, 2009 Also I will be releasing versions of this for OS X and Linux if people want. This compiler works really well. I have used it to compile the Doom source and it worked beautifully. +1 for a Mac OS X version please! definitely a mac version. (Then we do Xcode integration - mohohohohohahahahahaha!) Quote Link to comment Share on other sites More sharing options...
mellis Posted May 12, 2009 Share Posted May 12, 2009 definitely a mac version.(Then we do Xcode integration - mohohohohohahahahahaha!) Yeah -- that's what I was thinking too! I've already been working with CC65 (for the 8-bit) that way -- it's great. Quote Link to comment Share on other sites More sharing options...
SebRmv Posted May 12, 2009 Share Posted May 12, 2009 Seb, It is vbcc. Which was written by Dr. Volker Barthelmann. Frank Wille wrote vlink (and added support for the Jaguar a.out format and relocation and GPU/DSP movei relocation). Frank also wrote vasm which is the assembler used by the compile to convert the C into Object code. I have been using it on Linux now and quite like it. Ok. I think I investigated a bit in the past in this direction but as far as I remember, the license was not compatible with what I wanted to do. (or maybe I am confused with another project) Is it possible to get vbcc and vlink source codes somewhere? Quote Link to comment Share on other sites More sharing options...
tarkb Posted May 16, 2009 Share Posted May 16, 2009 Seb, It is vbcc. Which was written by Dr. Volker Barthelmann. Frank Wille wrote vlink (and added support for the Jaguar a.out format and relocation and GPU/DSP movei relocation). Frank also wrote vasm which is the assembler used by the compile to convert the C into Object code. I have been using it on Linux now and quite like it. Is it possible to get vbcc and vlink source codes somewhere? First: belboz, thank you for providing this. Second: source and/or a linux version (statically linked binaries if possible!) would be much appreciated. I stumbled upon http://statifier.sourceforge.net/ recently, but it didn't work on either of the 2 binaries I tried. (smac & sln linux versions, before I found the source release) . Not sure if something like that is useful for anyone else or not is why I mention it. I think the idea behind it is great, since I tend to accumulate binaries that I either don't have source for or that are so ancient it is a pain to recompile/patch/etc. http://sun.hasenbraten.de/vasm/ http://sun.hasenbraten.de/vasm/daily/vasm.tar.gz http://sun.hasenbraten.de/vlink/ http://sun.hasenbraten.de/vlink/daily/vlink.tar.gz http://www.compilers.de/vbcc.html http://www.ibaug.de/vbcc/vbcc.tar.gz Has sources, but as of 2-3 days ago not all those tgzs are up to date at least insofar as the version numbers returned by the windows binaries belboz has released. >> Also if everyone could not host this anywhere else. I know I am going to be doing rev's on this as people find >> problems. So I want to keep it controlled while I refine it. If you want to link to this on another site, just post the link >> above so they go to my download page and can always get the correct download. I'm guessing means this is still WIP, and maybe a patch or three against the "official" vlink / vbcc / vasm sources. http://sun.hasenbraten.de/ implies that there's a cvs server for some of these, but I couldn't find a link, so it does not appear to be public access. Lastly, I do not want to take w/out giving anything back, so if there is anything I can do to help please let me know. Quote Link to comment Share on other sites More sharing options...
Gorf Posted May 16, 2009 Share Posted May 16, 2009 Lastly, I do not want to take w/out giving anything back, so if there is anything I can do to help please let me know. Know anything about writing machine descriptors? One for the RISC's would be rather sweet. It would be nice to have it set up to run out in main or in the local depending on what you need using a directive or something. However, descriptors are a science in their own right. I only wish I understood it better. Quote Link to comment Share on other sites More sharing options...
tarkb Posted May 16, 2009 Share Posted May 16, 2009 Lastly, I do not want to take w/out giving anything back, so if there is anything I can do to help please let me know. Know anything about writing machine descriptors? One for the RISC's would be rather sweet. It would be nice to have it set up to run out in main or in the local depending on what you need using a directive or something. However, descriptors are a science in their own right. I only wish I understood it better. Oh no, I am just getting started in C, anything lower-level than that is beyond me right now. a quick google turned up: http://gcc.gnu.org/onlinedocs/gccint/Machine-Desc.html but seeing as I don't know any assembly I am too petrified to delve any further. I am interested in these tools because sln dies on me with "UNRESOLVED SYMBOLS _BSS_E (crt0.o)" (using crt0.o from jlibc fwiw), which others have reported, so it is a known issue I guess. Has anyone coerced binutils ld for m68k-(aout|coff|elf) to link a jaguar app? I imagine you'd need a linker script to layout the sections, and maybe some more trickery. All the examples I've ever seen (makefiles from the kind folks who've released source to homebrew stuff) use aln for linking. I can run aln in dosbox or similar I imagine, or track down a linux version I think I've heard mentioned, but something current (and not in the grey legality-wise) would be better in the long term. I can't imagine legal action taken against me for using aln, but it'd be one less worry. Using vlink / vbcc / vasm was my hope to workaround sln failing. And, the fact that these (and smac) all appear to be actively maintained is a big plus compared to the "official" stuff. Anyways, I can't blame you for holding me to me words, but I was thinking more along the lines of "write a tutorial for compiling vlink/vbcc/vasm targetting jaguar, and howto compile a hello world-ish program to verify it works". and helping others (I believe there's a few more unixy people out here) get setup so the people working on the dev tools don't have to answer the same questions over and over (presumably, why belboz released a binary with an installer). I will say, homebrew jaguar appears much healthier than, say, psx homebrew stuff. Sure there's dead links from 1995, but forums like these are still getting new posts. I'd love to help however I can, but I'm still very much a beginner to all this. I tried to "tip" tursi when I bought a skunkboard, but he refused, so I am in a generous mood I guess. Quote Link to comment Share on other sites More sharing options...
belboz Posted May 16, 2009 Author Share Posted May 16, 2009 Yes some of the tools I have released are newer versions than what is online. That will probably continue until they are ready for a source release. Since it is their code and I am only giving them feedback and working through Jaguar specific issues, that is under their control. They have been very kind to work with me and to implement fixes and patches to help our community. Currently I am testing some fixes that allow Seb's library to work better with the compiler. So the Linux and Mac port will occur once that is ironed out, and a patch to the Windows version already released will follow. Quote Link to comment Share on other sites More sharing options...
Gorf Posted May 16, 2009 Share Posted May 16, 2009 Oh no, I am just getting started in C, anything lower-level than that is beyond me right now. Ah! Ok.... figured it cant hurt to ask... I am interested in these tools because sln dies on me with "UNRESOLVED SYMBOLS _BSS_E (crt0.o)" Yes, SLN is still in the WIP stage. Hopefully, we'll see SubQmod work out those issues. Perhaps even after he is done with his Jag version of Donkey Kong. I imagine you'd need a linker script to layout the sections, and maybe some more trickery.All the examples I've ever seen (makefiles from the kind folks who've released source to homebrew stuff) use aln for linking. Yeah its not pretty yet...there are still needs to be met in many places in the development chain. These are still just the basis tools....never mind that fact that we need to eventually write some art and OPL applications to help build lists and images easily all in one program. I'd love to see an art program that allowed you to emulate the OPL and Blitter to actually see what the gfx in the works are going to look like. ALN was the only tools they had back then...SLN is a recontruction of ALN via careful monitoring of data output. SubQmod so far has done quite an amazing job at what is no doubt a daunting task. He didn't have any source to either MAC or ALN. He essentially rewrote both using the outputs from each using many input files. Anyways, I can't blame you for holding me to me words, but I was thinking more along the lines of No holds at all...just hoping is all. I will say, homebrew jaguar appears much healthier than, say, psx homebrew stuff. Jag is much cooler the PSX anyway! Hey Buddies! What does Jag do? Quote Link to comment Share on other sites More sharing options...
tarkb Posted October 11, 2009 Share Posted October 11, 2009 Yes some of the tools I have released are newer versions than what is online. That will probably continue until they are ready for a source release. Since it is their code and I am only giving them feedback and working through Jaguar specific issues, that is under their control. They have been very kind to work with me and to implement fixes and patches to help our community. Currently I am testing some fixes that allow Seb's library to work better with the compiler. So the Linux and Mac port will occur once that is ironed out, and a patch to the Windows version already released will follow. Hi belboz! Was wondering if there was any news on a linux version or a source release for vasm/vbcc/vlink targetting jaguar? Thanks very much for any info! If I can do anything to help (incl. stop bothering you), let me know too... Quote Link to comment Share on other sites More sharing options...
JagChris Posted October 12, 2009 Share Posted October 12, 2009 Yes some of the tools I have released are newer versions than what is online. That will probably continue until they are ready for a source release. Since it is their code and I am only giving them feedback and working through Jaguar specific issues, that is under their control. They have been very kind to work with me and to implement fixes and patches to help our community. Currently I am testing some fixes that allow Seb's library to work better with the compiler. So the Linux and Mac port will occur once that is ironed out, and a patch to the Windows version already released will follow. Hi belboz! Was wondering if there was any news on a linux version or a source release for vasm/vbcc/vlink targetting jaguar? Thanks very much for any info! If I can do anything to help (incl. stop bothering you), let me know too... You are another reason why we need to get a nice new C compiler setup for the Jag's big chips, instead of the 68k. How knowledgable in C are you? Quote Link to comment Share on other sites More sharing options...
tarkb Posted October 14, 2009 Share Posted October 14, 2009 You are another reason why we need to get a nice new C compiler setup for the Jag's big chips, instead of the 68k. How knowledgable in C are you? I do web programming and sysadmin stuff for work during the day (and sometimes night), so C is my escape from that. I have been learning C off and on for about a year, so I have a long way to go. I have some arbitrary-precision add/subtract/multiply/divide integer stuff that operates on byte arrays. (divide code is not fun). I am reinventing wheels right now I guess. any threads/sockets/graphics/sound/window systems and all that jazz I have not interfaced with (yet). Homebrew console stuff (dreamcast,psx,saturn,jaguar,n64, last 3 are WIP for me at the moment) for me right now is just another architecture/OS to test my code on for portability. video games is what led me to computers a long time ago, so someday I hope to get into something relevant to games programming. Portable && <speed necessary for games> are probably !compatible I realize. For now, I just am looking to get a jaguar toolchain, and a printf() putchar() and getchar() that work via a skunkboard. (printf() I think I can write my own soon though) (a working malloc() would be nice too, I think the removers library has one?). so I can run my "unit tests" and see what breaks/works. some example code (automagically copyright me I guess is how U.S. law works, but do what you want, just don't sue me). http://pastebin.ca/S51mRsV2 (password is "dontsueme") Quote Link to comment Share on other sites More sharing options...
tarkb Posted October 14, 2009 Share Posted October 14, 2009 [ You are another reason why we need to get a nice new C compiler setup for the Jag's big chips, instead of the 68k. How knowledgable in C are you? I'm in Portland too -- what part of Oregon are you in? Quote Link to comment Share on other sites More sharing options...
JagChris Posted October 14, 2009 Share Posted October 14, 2009 [ You are another reason why we need to get a nice new C compiler setup for the Jag's big chips, instead of the 68k. How knowledgable in C are you? I'm in Portland too -- what part of Oregon are you in? Beaverton 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.