Jump to content
Jagware
Sign in to follow this  
ray

Gasm Sources....

Recommended Posts

ray    0

hi there,

 

i though someone might be interested, i've found C sources to a simple GPU assembler that was supposed output object code for "oberon", the jaguar II's GPU. as it seems to be downwards-compatible with the jaggy's GPU this might be an option to make up a portable development environment (maybe along with some decent open source 68k assembler) as an alternative to madmac, which for instance doesn't run under win nt/2000/xp etc., with some slight rework.

let me know what you think, please...

 

here's the url:

http://archives.atarimuseum.com/archives/f.../jag/oberon.zip -> /soft (warning: the archieve is ~18.4 Mb large)

 

regards,

ray

Share this post


Link to post
Share on other sites
Zerosquare    10

That's a very interesting idea, ray :yes:

 

Let's hope that the assembler is not too buggy (it probably hasn't been tested much because of what happened to the Jag II).

 

What do our Jag coding "experts" think ? :)

Share this post


Link to post
Share on other sites
GT Turbo    5
What do our Jag coding "experts" think ? :)

 

I cannot give any things about that, because i use my Falcon for Jag coding and i have too much problem with C :whistling:

 

 

 

GT :poulpe:

Share this post


Link to post
Share on other sites
ray    0

hiya,

 

I cannot give any things about that, because i use my Falcon for Jag coding and i have too much problem with C

imho C is a nice language even if many ppl won't agree with me in that point...we also have a cross-gcc to output jaguar GPU/68k object code so i'd definately recommend you to take a look at it. it's easy to learn as well imho, but that's not the point. anyway those given GASM sources are documented and written in a horrifying way in my humble opinion. nonetheless with a tiny bit of rework i managed to recompile them using the current gcc but yet without any success in executing the binary afterwards, i assume there is a problem with calling C preprocessor out of GASM so i believe i'm close to spotting it.

however, this might be a decent base to develop a decent assembler like madmac on it, at least much better than from scratch.

 

and btw. from what i can see from the instruction-definitions the Jaguar II's DSP/GPU were supposed to have some additional opcodes and support for big jumps by +/-512 words.

 

definetely worth taking a look at i'd say,

 

regards,

ray

Share this post


Link to post
Share on other sites
SebRmv    2

Personnally, if I had to develop an assembler or a compiler, I won't write it in C (and even less in assembler by the way :P)

As some of you know, I am fond of ocaml (caml.inria.fr) and I think it is really a cool language to write such tools.

I think the algebraic data types and pattern matching constructs are really must have constructs to write a compiler. The easy memory management (thanks to the garbage collector) is also a great advantage compared to C/asm.

Share this post


Link to post
Share on other sites
ray    0

ok mates,

 

i've now taken a further look over the sources and with some slight rework i think this stuff could be expanded to a fully useable standalone DSP/GPU assembler. atm. it uses the C-preprocessor to resolve equates/expand macros before it sarts assembling, so it uses some rather strange pseudo-opcodes like "INT" to define a longword or "FLOAT" to define a 16:16 fixed value (?!), CODE_SEG and DATA_SEG and so on. it also does not expect immediate values to be prefixed by "#" so it's supposed to mean "shlq 1,r0" instead of "shlq #1,r0" for instance.

but as i said, with some rework this stuff could be resolved. the main problem i see at the moment is that it only supports two binary output-formats (executeable & rom), so the linking stage is omitted and hence there isn't any mechanism to im-/export symbols and of course link several modules etc., which makes it rather pointless to this moment - i assume Atari designed their new GASM that way since oberon was supposed to overcome the former bug of not being able to execute code (sic) from external ram anyway.

 

it'd appreciate support nonetheless, maybe i can make up a little CVS during the next few weeks, if anyone is interested.

 

regards,

ray

Share this post


Link to post
Share on other sites
stabylo    0

Interesting project indeed! :)

I guess people here have already much to do, so I can understand they don't manage to put some time looking at your results :whistling: , but I'm very positive about the CVS idea! :yes:

Whatever stage this project gets to, the repository will be helpful anyway! B)

Share this post


Link to post
Share on other sites
GT Turbo    5
Interesting project indeed! :)

I guess people here have already much to do, so I can understand they don't manage to put some time looking at your results

 

That's no really the problem for me, i have tried several times to code with C, but too much problems about the syntax, one time we have to put ; sometimes not, ...... And i use my Falcon for coding, so it's not very interressting to me, surely for a lot of people especially for them using PC computers for Jag Coding and i know that Ray always done great work, so people who can and want to help or are interrested, please write it or contact Ray ;)

 

 

GT :poulpe:

Share this post


Link to post
Share on other sites
ray    0

hiya,

 

ok, i've done some work now and here's the priliminary result. you can watch what it's up to by now

and compile the stuff for your platform (provided as dev c++ project):

 

http://ray.tscc.de/lost+found/readme.txt (it'd appreciate if you'd read that first)

http://ray.tscc.de/lost+found/gasm.zip (please do not spread :) )

 

here's an expample listing as outputted by GASM from one of my little screens:

 

http://ray.tscc.de/lost+found/gputest.lst (please do not spread, either)

 

please let me know what you think, or if you find bugs. it also appreciate some support regarding the

linker question (refer to readme.txt), a CVS should be up soon.

 

regards,

ray

Share this post


Link to post
Share on other sites
ray    0

ok guys,

 

i finally decided to cancel my work on the GASM-project. i'd like to use this chance to do some advertising, though: thanks to GT i recently discovered another very promising assembler called jas which has been created by roberto nadal martinez, which is also capable of handling 68k sections, unlike GASM. maybe you've already heard of that...roberto used to compile his projects for BeOS, but due to request he now build a windows version of jas, as well. you can now get hold of it over at his site, here: http://www.freewebs.com/swapd0/tools.html -> jas (he also has some promising projects like a remote debugger for BJL and such - again, built for BeOS unfortunately).

he seems to be a very friendly guy, who is open to suggestions and coorporation, at least i've had some requests in making this assembler more madmac compatible + some bug-reports and he quickly responded to my emails.

atm. it has become very close to madmac's behavior except it doesn't support macros. it doesn't need any linker, either since it's able to operate like one on it's own and it's also capable of outputting diffrent formats, such as no-header, gemdos-header, an own object-file format.

there are also some built-in macros to support subroutine calls in dsp/gpu programs (call/rts, fastcall/rts)

and some useful extended in/decremental pseudo addressing-modes like load (rn)+,rn etc. .

take a look into the readme file or drop him an email in case you have more specific questions.

 

regards,

ray

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoticons maximum 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.

Sign in to follow this  

×