ray 0 Report post Posted July 4, 2006 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 Quote Share this post Link to post Share on other sites
Zerosquare 10 Report post Posted July 5, 2006 That's a very interesting idea, ray 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 ? Quote Share this post Link to post Share on other sites
GT Turbo 5 Report post Posted July 5, 2006 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 GT Quote Share this post Link to post Share on other sites
ray 0 Report post Posted July 6, 2006 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 Quote Share this post Link to post Share on other sites
SebRmv 2 Report post Posted July 6, 2006 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 ) 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. Quote Share this post Link to post Share on other sites
ray 0 Report post Posted July 12, 2006 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 Quote Share this post Link to post Share on other sites
stabylo 0 Report post Posted July 13, 2006 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 , but I'm very positive about the CVS idea! Whatever stage this project gets to, the repository will be helpful anyway! Quote Share this post Link to post Share on other sites
GT Turbo 5 Report post Posted July 14, 2006 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 Quote Share this post Link to post Share on other sites
ray 0 Report post Posted July 14, 2006 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 Quote Share this post Link to post Share on other sites
TXG/MNX 0 Report post Posted July 25, 2006 Good job ;-) I hope this will end up as a complete new dev-kit Quote Share this post Link to post Share on other sites
ray 0 Report post Posted August 4, 2006 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 Quote Share this post Link to post Share on other sites