Jump to content
IGNORED

WUDSN IDE: The free integrated Atari 8-bit development plugin for Eclipse


Recommended Posts

+ 1

 

One more WUDSN IDE installation on an Apple MacBook Pro here.

Installation was painless and without any problems and now I'm getting rainbow-sick from watching at the result of the 'WUDS IDE Atari Rainbow Example' ;)

 

I'll probably need to do some reading in my 32 year old 6502 programming book by Rodnay Zaks again to even understand that simple example again.

 

Thanks for an easy way to setup this development environment.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Just a question for all those who are running WUDSN on non-Windows machines (which I would like to do), how are you integrating your efforts with other tools?

 

I find that a lot of the tools are Windows only. Are you running separate Windows machines for them? Are you using WINE? (which works sometimes for me)

Link to comment
Share on other sites

On Mac I am using WUDSN/MADS/Atari800MacX ... missing Altirra there but Atari800MacX does have enough debug functionality... GIMP for pixel work... only missing tool for me is G2F.

 

for prototyping I am using Purebasic which is available in OSX/Win/Linux so we did a lot of researches with it in the team (me on Mac/Win others on Linux).

 

after Arsantica release switched from my Samsung NC10 after years to standard 13'' HP laptop/Win7/WUDSN/GIMP/Altirra/Purebasic combination as this toolset works for me same with smaller tools for using xBios in development are most of the time Win command line tools... (and Core i3 is little bit faster in turn around cycles than the Atom of the NC10 ;))

Edited by Heaven/TQA
  • Like 1
Link to comment
Share on other sites

  • 2 months later...
Hi there!


@JAC!

Add 1 to the WUDSN users global counter please. We briefly talked at Silly Venture 2014 in Gdansk, but I'd like to say 'thank you' here as well. Thanks for the plugin and youtube tutorials! Fantastic job!


@snicklin

My OS is Linux Mint. I use MADS compiled natively for Linux, and Altirra which runs with Wine.

To make "Compile and Run" works, I wrapped Altirra with a tiny shell script that contains the following: /usr/bin/wine64 g:\Altirra64.exe "${@}"

(of course g: drive maps a proper directory in winecfg) and I set "Path to Application" to that script.


That hack makes the World somewhat a better place, but there are two major glitches that need to be workarouned (solved?) still:


1. The MADS natively compiled for Linux does not add the "Source:" line to .lst file. That makes the Altirra debug-on-the-fly impossible to use, unless you add that entry manually.

2. .atdbg file contains native Linux path what confuses Altirra of course. Result similar as described above. No source level debugging without manual corrections.


Partially that could be solved by editing these files manually or not using full paths to asm files (you can define another drive in wincfg for the sources), but still every time you hit Ctrl+Alt+0 you end up with .atdbg file screwed... Next step would be to wrap Windows MADS executable into a shell script and include it in that tweaked toolchain.


When I don't need the debug mode, Altirra runs just fine, not mentioning native atari++ and atari800, both natural options in Linux world of course. The issue though is that I'm a beginner, and need debug a lot :)


Cheers.

Link to comment
Share on other sites

  • 3 months later...

RevEng pointed my to some issues related to using DASM on 64-bit machines. So I took the chance and updated the archive containing all compilers and the zero installation distributions. They now include


  • DASM (2.20.11-20140304/2015-04-04)
  • KICKASS (V3.39/2015-03-26)
  • XASM (3.1.0) for Mac OS X Intel provided by 0xF

For the exact versions, dates and platforms see section Installing Compilers. I've also automated my build process a little on Windows, Linux and Mac OS X, so I can provide future updates hopefully with less effort. I also contacted Mark Schmelzenbach so hopefully I can update ATASM to version 1.08 soon, too. In case you find any issues, please let me know.


  • Like 5
Link to comment
Share on other sites

  • 2 weeks later...
Thanks JAC! - this system is superb.


I just started tinkering around with assembly code again after a lapse of 30 years, and decided to take a look at the WUDSN IDE.


I loaded the 32 bit zero installation distribution on my XP machine, and managed to get one of my original VBI routines running very quickly - I just needed to alter the syntax a little to suit MADS.


I was astonished how easy it was to get started. I had expected it would take me several evenings to find my way through the development cycle, but in fact it took about one hour - it's all very intuitive and nicely designed.


I still have a lot to learn about the IDE, but I'm looking forward to using it to write some new code. I'm sure this will be hundreds of times easier than it was back in the day with those clunky editors, debuggers and tiny screens - they were great fun at the time of course, but I welcome the improvement.


Best Regards


Cliff
Edited by cliffh
  • Like 4
Link to comment
Share on other sites

  • 1 month later...

dumb question, but how do you guys implement big data blocks like charsets or text screens into assembler code? I'm using ATASM with wudsn because I'm used to Mac/65.

 

I could do charsets with .byte ~xxxxxxxx statements but what do you do if you've got the charset as a sperate file (as usual)?

 

Also, is there a way to get graphical or inverse atascii screen chars into the code? (with .byte or .sbyte)

Link to comment
Share on other sites

Use "Assembler/Compiler Help" to open the ATASM help (atasm.pdf). There you'll find the description of "INCBIN" (for font) and ".byte +$80,"to be invertered".

  • Like 1
Link to comment
Share on other sites

I've got another question, How do you switch between dirfferent platforms in wudsn?

 

I've been in Atari800 environment ever since using ATSM and Altirra for 'assemble and run'.

 

I want to try coding for 2600 now. If I open an asm file from the 2600 folder and run it, Altirra opens and tries to run the binary and, of course, crashes.

 

Is there a quick way to switch in between systems?

Link to comment
Share on other sites

See FAQ

http://www.wudsn.com/index.php/ide/faq#FAQHardwareAnnotation

 

and Features documentation (also included in the WUDSN IDE online help):

 

Annotations for compiling » top

  • For most use-cases, the defaults provided for the compilers and in the preferences are sufficient. But if you want have develop in parallel in multiple projects, for different platforms (Apple II and Atari 8-bit) or in different output formats (".XEX" and ".BIN") with the same compiler it may become cumbersome to change the preferences every time. Therefore WUDSN IDE offers annotations which you can put into the source code files. These annotations override the defaults and the preferences.
  • All annotations start with the prefix "@com.wudsn.ide.asm." followed by the lower case name of the annotation, an equals sign and the unquoted value. Example: "@com.wudsn.ide.asm.hardware=ATARI8BIT"
  • All annotations can be placed in comment lines at the begin of a source file. Some of the annotations are only relevant for the main source file, some are only relevant in include source files, some are relevant for all source files.
  • @com.wudsn.ide.asm.hardware
    • Defines the target hardware for which the preferences shall be evaluated, in particular which emulator is used to run the output file.
    • Allowed values are "APPLE2", "ATARI2600", "ATARI7800", "ATARI8BIT", "C64", "NES".
    • This annotation is relevant for all source files.
    • This annotation is only evaluated when a file is opened. So if you add this annotation or change its value, you have to close and re-open the file once.
    • Example: @com.wudsn.ide.asm.hardware=ATARI8BIT
  • @com.wudsn.ide.asm.mainsourcefile
    • Defines the main source file to which the current include source file belongs. When the "Compile" action is executed, the main source file is compiler instead of the current file.
    • Allowed values are file paths relative to the folder of the current include source file and absolute file paths.
    • This annotation is only relevant for include source files.
    • Example: @com.wudsn.ide.asm.mainsourcefile=ExampleMain.asm
  • @com.wudsn.ide.asm.outputfoldermode (planned for 1.7.0)
    • Overrides the "Output Folder Mode" from the preferences.
    • Allowed values are "SOURCE_FOLDER", "TEMP_FOLDER", "FIXED_FOLDER".
    • This annotation is only relevant for the main source file.
    • Example: @com.wudsn.ide.asm.outputfoldermode=SOURCE_FOLDER
  • @com.wudsn.ide.asm.outputfolder (planned for 1.7.0)
    • Overrides the "Output Folder" from the preferences and the "@com.wudsn.ide.asm.outputfoldermode" annotation.
    • Allowed values are file paths relative to the folder of the main source file and absolute file paths.
    • This annotation is only relevant for the main source file.
    • Example: @com.wudsn.ide.asm.outputfolder=..\out
  • @com.wudsn.ide.asm.outputfileextension (planned for 1.7.0)
    • Overrides the "Output File Extension" from the preferences.
    • Allowed values have to start with a period.
    • This annotation is only relevant for the main source file.
    • Example: @com.wudsn.ide.asm.outputfileextension=.bin
  • @com.wudsn.ide.asm.outputfile (planned for 1.7.0)
    • Overrides the "Output Folder", "Output File Extension" from the preferences and the automatic computation of the out file name based on the main source file name.
    • Allowed values are file paths relative to the folder of the main source file and absolute file paths.
    • This annotation is only relevant for the main source file.
    • Example: @com.wudsn.ide.asm.outputfile=..\out\output.bin
Edited by JAC!
  • Like 4
Link to comment
Share on other sites

Hiya, loving the editor, :)

Now, the questions, ;)

 

1. I am using this to create code for the 2600, I have everything set up and working fine with DASM. I can compile and run the binaries on Stella fine. However, I must have missed a setting somewhere because the below code give me an error at the $bar1pos when trying to access from zero page.

bar1pos EQU $80
lda $bar1pos

The editor seems to highlight the $ba Is that something in Eclipse that is causing it?

 

Am I doing this right? lol

 

 

2. This isn't really related to WUDSN, but is there an emulator for the 2600 that can accept source level breakpoints? I get this warning when trying to run the binary:

 

"Breakpoints will be ignored because the application 'Stella' does not support passing source level breakpoints. test.asm /Test2600 Unknown Problem"

 

 

3. Where do I find all those new fancy windows that everyone is mentioning (such as the gfx editors etc)?

 

 

Thank you for the editor, most excellent it is, :D

 

John

Link to comment
Share on other sites

Ad 1): $ indicates a hex number is starting. Just leave the $ away and it'll correct see it as a label reference

Ad 2) I'm not aware there is one. Closed thing it getting the label address from the .lab/.lst file and set a BP there. In 1.7.0, the labels get an own view in the editor also.

Ad 3) In Eclipse, the file extension determines which editor is opening up. For example double blicking a .png will open the GFX editor. In addition you can open any file manually with any editor you want via the context menu entry "Open With...".

Link to comment
Share on other sites

Ad 1): $ indicates a hex number is starting. Just leave the $ away and it'll correct see it as a label reference

Ad 2) I'm not aware there is one. Closed thing it getting the label address from the .lab/.lst file and set a BP there. In 1.7.0, the labels get an own view in the editor also.

Ad 3) In Eclipse, the file extension determines which editor is opening up. For example double blicking a .png will open the GFX editor. In addition you can open any file manually with any editor you want via the context menu entry "Open With...".

 

1. Aha, thank you, :D I'm new to 65xx (I come from Z80 heh). Lots to learn yet....

2. I had a feeling that may be the case, I have been gettings the label values from the listing and using them in Stella for BPs (as you have suggested)

3. Thank you for that, I wasn't sure, :)

 

Cheers, :D

 

John

Link to comment
Share on other sites

Ad 2) I think Stella has an option to (I think even auto-load) symbols from a file, so you maybe can use "break <symbol>". Check the Stella debugger docs. Haven't done much 2600 recently ... memory is fading - I mean...

post-17404-0-71339000-1433600019_thumb.jpg

Edited by JAC!
  • Like 4
Link to comment
Share on other sites

 

1. Aha, thank you, :D I'm new to 65xx (I come from Z80 heh). Lots to learn yet....

2. I had a feeling that may be the case, I have been gettings the label values from the listing and using them in Stella for BPs (as you have suggested)

3. Thank you for that, I wasn't sure, :)

 

Cheers, :D

 

John

Hi John. I see that you are a Zilog fan. I have also done some CP/M (NZCOM) programming. I have been away from the sport for many years... There are threads here about the ATR-8000 device, and speeding up the bit-bang I/O with it. If you could be of any help, look here: http://atariage.com/forums/topic/238164-atr8000-and-ultraspeed/?hl=%2Batr8000&do=findComment&comment=3251806

 

There is also a SIO2PC / APE / AspeQt type program for CP/M out there called AtariBus.LBR. It is written in BDS-C and Assembler. I improved it and added UltraSpeed and more features, but lost it (and much else) in a HD crash.

 

I attempted to start a Z80 / CP/M subforum here, but didn't get enough interest.

 

Welcome to AtariAge :)

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Not sure how to fix this permissions error on OS X 10.8.5. to run the Stella emulator after assembling in WUDSN.

 

So, assembling the file in WUDSN works fine, but when attempting Assembler -> Compile and Run, i get the error:

Cannot execute application 'Stella' process '/Applications/Stella.app /Users/hitbyambulance/Documents/stella/output/hello.bin' in working directory '/Users/hitbyambulance/Documents/stella/output'. System error: Cannot run program "/Applications/Stella.app" (in directory "/Users/hitbyambulance/Documents/stella/output"): error=13, Permission denied

The path to Stella is set as '/Applications/Stella.app' and the output directory for the assembled file is '/Users/hitbyambulance/Documents/stella/output'.

 

Running

$ open -a /Applications/Stella.app /Users/badlands/Documents/stella/output/hello.bin
from the terminal (in the working directory) works as expected.

 

 

SOLVED: need to specify full path inside the .app directory:

 

/Applications/Stella.app/Contents/MacOS/Stella

Edited by hitbyambulance
Link to comment
Share on other sites

  • 1 month later...

Thanks so much JAC! :) This is great, the zero effort install is SOOOOO nice. Years ago had your IDE plugin setup but alas between upgrades to my system/ HD crashes had not re-installed it till just a little while ago. So many improvements and enhancements, ( last project was NES/ ASM6 last year, wish I had used WUDSN)

The only issue I had during the install. was Java related. The install from a few mounts ago quit working; turns out that I had allowed a 'auto update' request from Java that installed v 8.xx on my XP system (v8 doesn't support XP and removes older versions. WHAT?). Eclipse can not open with this combo, but after I tracked this down and reverted to Java v7 all is well.

Currently wanting to do some TRS-80 CoCo stuff and would like very much to try with this IDE. I think I understand the work-around for using another assembler, AS09 for 6809 in this case, but any advice is welcome till I have a more specific question.

Again THANK YOU for your efforts, so nice

Yogi

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