After four years, a new major version of the IDE is available via the update site as a zero installation download. It includes the following improvements:

Daily build

  • Besides the last stable version of the IDE, which is always available via the update site "https://www.wudsn.com/update", a beta version of the next version is now always available via the update site "https://www.wudsn.com/update/daily". It includes the current state of development and allows for testing new features and fixes for interested users while keeping the stable version untouched.
  • See section Releases for the complete overview of updated sites.

New source code annotations:

  • For most use cases, the defaults provided for the compilers and in the preferences are sufficient. But suppose you want to develop in parallel in multiple projects for different platforms (Apple II and Atari 8-bit) or various output formats (".XEX" and ".BIN") with the same compiler. In that case, it may become cumbersome to change the preferences settings every time. Therefore WUDSN IDE offers annotations that you can put into the source code files. These annotations override the defaults and the preferences.
  • @com.wudsn.ide.asm.outputfoldermode
    • Overrides the "Output Folder Mode" from the preferences.
    • Allowed values are "SOURCE_FOLDER", "TEMP_FOLDER", and "FIXED_FOLDER".
    • This annotation is only relevant to the main source file.
    • Example: @com.wudsn.ide.asm.outputfoldermode=SOURCE_FOLDER
  • @com.wudsn.ide.asm.outputfolder
    • 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 to the main source file.
    • Example: @com.wudsn.ide.asm.outputfolder=..\out
  • @com.wudsn.ide.asm.outputfileextension
    • Overrides the "Output File Extension" from the preferences.
    • Allowed values have to start with a period.
    • This annotation is only relevant to the main source file.
    • Example: @com.wudsn.ide.asm.outputfileextension=.bin
  • @com.wudsn.ide.asm.outputfile
    • Overrides the "Output Folder" and "Output File Extension" from the preferences and the automatic computation of the out file name based on the primary source file name.
    • Allowed values are file paths relative to the folder of the primary source file and absolute file paths.
    • This annotation is only relevant to the primary source file.
    • Example: @com.wudsn.ide.asm.outputfile=..\out\output.bin

Editor:

  • When you press "Compile" or "Compile and Run", the changes of all open editors are saved automatically before the compilation step. This ensures all your changes are visible to the compiler, especially when working with included files.
  • Hyperlink navigation is now available via the context menu and the standard key binding to the function key "F3". If multiple matching targets exist, the first will be used automatically.

Breakpoints:

  • The "Go to File" context menu entry, toolbar entry, and double click on the "Breakpoints" view now navigate to the corresponding source file location. If required, the file is opened for this.
  • By activating the "Breakpoints" command group in the "Customize Perspective" menu, you can make the standard keyboard shortcut "Ctrl-Shift-B" available for toggling line breakpoints, plus as the "Skip All Breakpoints" toolbar button.

DASM:

  • The default parameters of DASM have been extended with "-s${outputFilePathWithoutExtension}.sym" to generate a symbols file with a name that is automatically loaded by Stella 4.0 and later. The list file generated with "-l${outputFilePathWithoutExtension}.lst" is also loaded automatically.
  • Due to a minor bug in Stella, auto-loading the symbols and list file will not work if the ROM image is binary identical to a ROM in the known ROMs database. In this case, you have to load the symbols manually. The bug has been reported to the Stella team.

Symbols View:

  • A new view, "Symbols", has been added to display all symbols and their values from the last compile run. The view can be shown via "Window / Show View / Other / Debug / Symbols".
  • The result in the view can be filtered. The filter can consist of one or more sub-strings. The filter applies to the name, the hexadecimal value, the decimal value, and the text value of the symbol.
  • The ".lbl" symbols file, previously automatically generated by the IDE in "XASM 3.0.1" format, is no longer created. Its only use case was using Atari800Win with ATASM/MADS. Maybe the feature will be added more broadly to work specifically for each emulator.

Preferences

  • Performing multiple changes to the syntax highlighting and the compiler settings in the "Assembler" preferences panes now only causes a single redraw of the open editors instead of one redraw per change.
  • Changes to the "General / Appearance / Colors and Fonts" settings immediately occur in all open editors.
  • The values maintained in the "Assembler" preferences panes can now be exported from a workspace into a file and be re-imported in another workspace.

Hex-Editor:

  • A new context menu entry, "Copy as Decimal Values in Block Format", was added to copy the selection so that all digits use three characters and commas are aligned vertically. This is useful when structured content is copied and later edited in block mode.
  • A new context menu entry, "Save Selection As...", was added to save chunks of a file into a new file. This can be used, for example, to extract one or more segments of an Atari COM-File.

  • New content types "Atari MADS File" and "Atari SpartaDos X File" are now recognized, and the hex editor displays the structure and content of these content types.

Sound Editor

  • Atari 8-bit sound files and C64 sound files can now be opened and played directly within WUDSN IDE thanks to the excellent ASAP by Piotr Fusik (fox) and JSIDPLAY2 by Ken Händel (kenchis).
  • Supported file extensions and file formats are currently "sap, cmc, cm3, cmr, cms, dmc, dlt, mpt, mpd, rmt, tmc, tm2, tm8" for Atari 8-bit and "sid" for C64.
  • The binary song data can be saved with a replayer into a file for use in your programs.

Graphics Editor

  • A new file category, "Apple II Graphics," was added.
  • A new monochrome "HGR" images converter was added for both directions.

Online Help:

  • A new section, "Releases", was added, which contains the overview of all previous releases of WUDSN IDE. It also lists the required minimum Java and Eclipse version, plus the link to the release news article and release news video where available.
  • Compilers can now have different help files for other languages. MADS, for example, has "mads.html" in Polish and "mads-en.html" in English. The "Compiler Help" menu and the online help automatically determine the best-fitting help file for the current locale.
  • Error messages related to the online help are now more explicit, for example, if the compiler executable path is not set or the help file is missing.
  • The new online help section, "CPUs, " lists the opcodes on every supported CPU type. The mnemonic and the supported addressing modes are also displayed for every compiler. This is particularly helpful when converting sources with illegal opcodes or 65816 opcodes between compilers because their names may differ.
  • Better visualization of all tables, especially the border of tables, rows, and cells.
  • FAQ extended with "Why do CTRL-SHIFT-0/9 and other key combinations not work?"
  • FAQ extended with "Why is editing sometimes slow or even everything is blocked showing the wait cursor?

Fixes:

  • For compilers with case-insensitive, the hyperlink navigation for symbols now also works if the source and target differ regarding the lower and upper case.
  • Folding in the source code now collapses the sections to a single line instead of two and works correctly for the last line in the source code, even if there is no final line break.
  • Using file names in source code with different upper/lowercase than the actual file system now results in an error message. This ensures that compiler messages can be mapped to the correct included file.
  • The generated Altirra ".atdbg" files now support using file names with spaces. The file path in breakpoints is correctly quoted as "`Example with Space.asm:123`".
  • XASM labels and symbols are now parsed correctly. Also, the compiler's warning messages and return codes are converted correctly now.
  • Hex-Editor now correctly starts with the first byte of a selection, not the last byte of the previous section, in case the file section is selected entirely.
  • Opening a file without file extension in the graphics editor no longer causes an exception.
  • ACME and TASS now have "65C02" also listed in the CPU/instruction set dropdown.
  • ASM6 and ACME download links adapted to new locations
  • MADS editor now supports ".ifdef" and ".ifndef"
  • Online displays plain text help files for ACME (resolve files in docs folder) and TASS (newlines converted to CR-LF) correctly now. 
  • The graphics conversion script for CharSet1x1MultiColorConverter works correctly now. Thanks to General Lee Inept for the fix.