WUDSN IDE update 1.6.2 released

A bug in 1.6.1 can cause lockups when typing the "." of a directive which starts with ".". This should be fixed in this version, if not, please notify me. Platforms

  • New consistent icons for all platforms based on the icons Apple ][ Atari 2600 Atari 7800 Atari 7800 C64 NES from pouet.net
  • New Platform "NES" added
  • New Compiler "ASM6" with default platform "NES" added and included into download archive
  • New NES emulators "BSNES", "FCEUX" and "Nintendulator" added

Source Level Breakpoints & Debugging

  • Default compiler options for ATASM are now "-s -o${outputFilePath} -l${outputFilePathWithoutExtension}.lab ${sourceFilePath}" to enable label translation in Altirra
  • Default compiler options for XASM are now "/o:${outputFilePath} /t:${outputFilePathWithoutExtension}.lab /l:${outputFilePathWithoutExtension}.lst ${sourceFilePath}" to enable source level breakpoints and debugging in Altirra

Fixes

  • Default color for illegal opcodes changed to red as it was intended
  • German localization for the graphics editor is finally completed
  • Sorting of application in the preferences now is "Default, A...Z, User Defined" also in non English localizations

WUDSN IDE update 1.6.1 released

After 13 months of development, the new version is ready and released. It contains so many improvements and fixes that the most difficult part will be rolling them all out in a structured way. That why I'll group the features and fixed together per topic this time and mention the same thing multiple time when required. Currently I am not even sure if a single release news video will be enough to cover everything without driving me crazy and without demanding too much from the audience. And of course they will be bugs but I think the best way to find them it roll the version out to you. The new features are not yet described on the tab "Features" on WUDSN IDE and also there a no screen shots yet, but they will follow.

Installation

  • Because of the massive restructuring in the source and the packaging, please make sure you uninstall any previous version of WUDSN IDE first and remove all plugins named "com.wudsn...." in the "eclipse/plugins" folder of your installation.
  • Due to the restructuring in the preferences you should also note down your settings because some of them might be gone afterwards
  • Then you can install it as usual via the update site http://www.wudsn.com/update
  • Please note that the JDK 1.6.x or above as runtime is now mandatory

Atari 2600

  • Asymmetrical Playfield converter added to graphics editor

Atari 7800

  • Atari 7800 added as supported platform with EMU7800 as emulator

Atari 8-bit

  • Atari 800 Emulator added to preferences including the not so simple required Linux command line "xterm -e atari800 -keypad -run ${outputFilePath}"
  • Default command line for Altirra nows include the new "/singleinstance" option, so the emulator does not have to be stopped manually before pressing "Compile & Run". New default command line is "${runnerExecutablePath} /singleinstance ${outputFilePath}"

Editor

  • Directives, opcodes and identifiers can now also be case sensitive. This enables proper syntax highlighting and content assist for KickAss.
  • New outline type and separate icons for binary include files and binary output files (".SAV" in MADS, ".TO" in ACME)
  • New preferences setting to choose the handling of errors and warnings. By default the cursor is position to the first error or warning. Now you may also choose to position only to the first error and ignore warnings for positioning. This is helpful when cleaning up large projects which have many warnings, for example unused labels in decompiled executables
  • Syntax highlighting now correctly recognizes identifiers, label and numbers and if they are parts of other identifiers or not
  • Hyperlink navigation for compound labels "foo.bar" now resolved to "foo" or "for.bar", depending on the part of the identifier the cursor is pointing at
    Hyperlink navigation for compound labels

Compilers

  • All compilers can now be used on all platforms. The layout of the preferences has been adapted accordingly. You specify the path the compiler executable once and can customize its parameters then for every platform
  • Every compiler comes with a default platform, e.g. "ATARI8BIT" for MADS and "C64" for KickAsss
  • New source property "@com.wudsn.ide.asm.hardware=" can be used to specify the platform in a source file comment when compiling for a non-default platform, e.g. "@com.wudsn.ide.asm.hardware=C64" when compiler for C64 with MADS. Please not that you must close and re-open the file for this to take effect currently

Compiling

  • New preferences option "Wait for end of application" added to wait for every application to complete and record its output in the console window. This is useful in case you don't simply start and emulator but a complex script
  • Improved console output including date & time of compilation and full command line for compiler and application
  • Duplicate error messages caused by multi-pass compiling are now filtered out in the "Problems" view

Emulators

  • Emulator is not started now if the binary output of the compiler has zero length. DASM creates such files in case of fatal errors
  • Java based compilers like KickAss are now supported. The selection of the compiler executable now allows ".jar" files and starts them as "java -jar <file.jar>"

Include File Handling

  • New source property "@com.wudsn.ide.asm.mainsourcefile=" can be used to specify which main/parent source file comment shall used when compiling an include file
  • Error messages are now correctly attached to the include files, provided the include files reside in the same or in a sub-directory. Currently applies to ATASM, DASM, and MADS. The other compilers will follow of course

Source Level Breakpoints & Debugging

  • The "dream team" WUDSN IDE - MADS - Altirra is proud to present the first source level debugging for 6502 environments
  • New preferences variable "${outputFilePathWithoutExtension}" added as short form of "${outputFolderPath}/${outputFileNameWithoutExtension}"
  • DASM support completed. Default compiler options for DASM are now "${sourceFilePath} -o${outputFilePath} -f3 -v5 -l${outputFilePathWithoutExtension}.lst" and the ".lst" file is parsed for all types of errors
  • MADS default compiler options "${sourceFilePath} -o:${outputFilePath} -p -t:${outputFilePathWithoutExtension}.lab -l:${outputFilePathWithoutExtension}.lst"
    Source level breakpoints

KickAss

  • Constants including their descriptions (that was hell of job...) added
  • Case sensitive instructions are now supported
  • Case sensitive identifiers are now supported
  • The selection of the executable compiler now allows ".jar" files and starts them as "java -jar <file.jar>"
  • Label definitions can have a ":" suffix
  • Hyperlink navigation works for source includes via ".import", binary includes via "LoadBinary/LoadSID/LoadPicture", binary file output via "createFile"
  • Source folding for blocks work
  • Notes:
    • Only labels can start a column 0. Mark a block and press TAB/SHIFT-TAB to indent all code, vars and functions as required
    • Named blocks and macro definitions are not yet handled correctly, especially when they are nested
    • Some built-in functions like "sin()" are not yet highlighted

HexEditor

  • HexEditor detects and supports C64 PRG files now
  • Clicking on a block in the HexEditor outline now selects the corresponding block in the editor for easy copying

Online Help

  • New section "Assemblers" in the online help with links to the compiler help file or directory and complete list of instructions grouped by their type
  • Video tutorial 7 added to overview
    Instructions per compiler in the online help

Fixes

  • Clicking in the outline always positions the cursor correctly in the source, not only the first time
  • All names of content types are now translated correctly in the preferences
  • "Open Folder" command now also works for objects which are no resource or file themselves but can be adapted to one of these types. For example project explorer entries for Java classes

WUDSN IDE Tutorial part 7: New features in version 1.6.0

After 10 months, multiple adapters, cables, drivers and failures I finally managed to buy a working USB head set which is compatible with my PC. So I am able to continue my tutorial series today and present the new features and fixes.

Part 7: New features in version 1.6.0
Tutorial part 7

Visdom I and II story and fixed versions

I don't like bugs and they keep bothering me even after many years. What I did this week are very likely the most delayed updates in the 8-bit system history. On the tab Atari 8-bit (previously named "Productions") you can now find only 19 respectively 21 years after the original release ...

  • Visdom I - fixed version plus sources
    Fixes: Checks for 64k, runs properly on NTSC machines, accepts any key to start part 2, no more color artifacts in the scroller.
  • Visdom II - fixed single file version plus sources
    Fixes: Checks for 64k and PAL, no more color artifacts in the wiggle effect, available a standalone executable.
  • Visdom II - full background story of the demo
    The description of the unique circumstances under which the demo was created and the technical details.

Upload on Pouet and video captures will follow.

Visdom-I Visdom-II

Teenage dream challenge

Today I started with the ambiguous assembler project I ever did. In the 1990ies I used ATMAS the largest project were around 1.000 lines of code. Visdom II took 6 months of coding on an Amiga 500 cross-development system and has about 2.000 lines of code. Thanks to MADS and WUDSN IDE, I could create Silly Things within 3 months and the result has 10.000 lines of code.

The new project exceeds this in two aspects:

  • First, it is in a class of programs in which I've tried to succeed many times - and I failed
  • Second, first estimations show that there will be more than 17.000 lines of code for sure

But why the hell do I think it can be done? Well, this is something I have been dreaming of for years. I feel now I have the experience to give a teenage dream a try. Also my tools are now so good that I can use a totally different approach to tackle the complexity. Unfortunately there are also some legal aspects that have to be clarified first. If I am unlucky, the legal aspects will prevent my project. Let's wait and see...