Jump to content
IGNORED

Windows 2K/XP/VISTA Compatible Dev Tools Released!


belboz

Recommended Posts

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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 :D

 

 

Btw, you did a wonderful job on this, it instal like a charm.

Edited by Fadest
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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! :D

 

Hey Buddies! What does Jag do?

Link to comment
Share on other sites

  • 4 months later...

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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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

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