- Details
- Hits: 3970
After 13 months of development, the new version is ready and released. It contains so many improvements and fixes that the most challenging part will be rolling them all out in a structured way. That is why I'll group the features, fix them together per topic this time, and mention the same thing multiple times 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 is to roll the version out to you. The new features are not yet described on the tab "Features" on WUDSN IDE, and there are no screenshots 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 note down your settings because some might be gone afterward.
- 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 the graphics editor.
Atari 7800
- Atari 7800 was added as a supported platform, with EMU7800 as the 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}"
- The default command line for Altirra now includes the new "/singleinstance" option, so the emulator must not 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 assistance 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 positioned to the first error or warning. Now, you may also choose to place the cursor only on the first error and ignore warning messages for positioning. This is helpful when cleaning up large projects with many warnings, such as unused labels in decompiled executables.
- Syntax highlighting now correctly recognizes identifiers, labels, and numbers and whether they are parts of other identifiers.
- Hyperlink navigation for compound labels "foo.bar" is now resolved to "foo" or "for.bar", depending on the part of the identifier the cursor is pointing at
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 has 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 note that you must close and re-open the file to take effect.
Compiling
- A new preferences option, "Wait for the end of application", was 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 an emulator but a complex script.
- Am improved console output, including the date & time of compilation and the full command line for the compiler and application.
- Duplicate error messages caused by multi-pass compiling are now filtered out in the "Problems" view.
Emulators
- The 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
- The new source property "@com.wudsn.ide.asm.mainsourcefile=" can specify which main/parent source file comment shall be used when compiling a source include file.
- Error messages are now correctly attached to the include files, provided the files reside in the same or 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".
KickAss
- Constants, including their descriptions (that was a hell of a 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 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
- The new section "Assemblers" in the built-in help with links to the compiler help file or directory and a complete list of instructions grouped by their type.
- Video tutorial 7 added to overview.
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.
- The "Open Folder" command now works for objects that are no resources or files but can be adapted to one of these types—for example, project explorer entries for Java classes.
- Details
- Hits: 2561
After ten months of multiple adapters, cables, drivers, and failures, I finally bought a working USB headset compatible with my PC. So, I can continue my tutorial series today and present the new features and fixes.
- Details
- Hits: 2643
I don't like bugs; they keep bothering me even after many years. What I did this week is very likely the most delayed update 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.
- Details
- Hits: 2670
Today, I started with the most ambiguous assembler project I ever did. In the 1990s, I used ATMAS. The largest project was around 1,000 lines of code. Visdom II took six months of coding on an Amiga 500 cross-development system with about 2,000 lines of code. Thanks to MADS and WUDSN IDE, I could create Silly Things within three 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, the first estimations show that more than 17,000 lines of code will exist.
But why the hell do I think it can be done? Well, this is something I have been dreaming of for years. I feel I now have the experience to try a teenage dream. Also, my tools are so good that I can use a different approach to tackle the complexity. Unfortunately, some legal aspects have to be clarified first. If I am unlucky, the legal aspects will prevent my project. Let's wait and see...
- Details
- Hits: 2805
When Grey and I discussed the compo rules for the VCS compo, I also suggested limiting the cartridge size to 8k. On the one hand, 8k was the typical size of most VCS cartridges. On the other hand, 8k can be filled within some weeks so that I won't spend so much time on the demo. All effects were ready after six weeks. And they took 12k. Damn. Consequently, I spent four more months reworking and coding to squeeze it into the 8k boundary. At the same time, I was hoping and waiting for Jakub Husak to complete the tune for which I had reserved 1k. The first deadline passed, and Jakub sent the final music on the night when the extended deadline also passed. After 1 hour of tracking down a bug in the player routine, it compiled correctly and reported 335 bytes free. WHAT? 335 bytes free? I cannot release an 8k demo with 335 bytes free. So I sat down and added most of the stuff and details that got removed in the months before. Four hours later, i.e., 2 hours after the extended deadline, I sent my mail to Grey ... who had extended the extended deadline meanwhile ... thanks ;-)
The result is ISO, which went 1st place in the first VCS-only demo compo in history.
It also climbed to 3rd place at the top of the month of Pouet and received great feedback. Thanks for all your votes!