+JAC! Posted September 24, 2021 Author Share Posted September 24, 2021 Hello WUDSN users, here's short hello to tell you what's going on. After some Atari hiatus, I spent 4 days at the Fujiama 2021 at had the possibility to analyze the typical installation and usage issue of WUDSN IDE on Mac OS X. The (not yet finished) result is an installation script, that will enable a "one click" installation on Mac OS. I has already been tested once successfully. The same will later be back-ported to Windows and Linux. This will minimize the download sizes. Also it will be possible to install the IDE in arbitrary folders (instead of the fixed C:\jac\wudsn). This will also help me with testing installations. On the feature side, I have started the next major refactoring. I had postponed this for many years, but the recent developments of tebe regarding Mad Pascal encouraged me do start now. The first iteration of WUDSN was ATASM and Atari only. The second was multiple assemblers and Atari. The third iteration was multiple assemblers on multiple targets (C64, Atari, NES, ...). And now the fourth will enable support for multiple languages, esp, Mad Pascal. This will ultimately also solve the "Assembler" vs. "Compiler" terminology issue, which always bothered me (being a notric pedant with wording). It's a huge project and changes of breaking things on the way are high, so I'll see how I can setup a seperate download for those who want to help testing. 6 8 Quote Link to comment Share on other sites More sharing options...
+JAC! Posted September 26, 2021 Author Share Posted September 26, 2021 All not yet functional, but most of the refactoring is done. Now also the help system supports multiple languages and PASCAL is now a valid target. Next I'lll teach it of use online sites are resource, because the MadPascal docu on the home page is really good and als has a search function. Nowdays being online is the default - that's different than it was when I started in 11 years (ehm, really?, yes...) ago. Also I have switched to a dark theme now for my own development, because on a large monitor "all the white space" it just too bright. I'll also see how I can make the dark theme work in WUDSN itself. 7 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 28, 2021 Share Posted September 28, 2021 On 9/26/2021 at 10:09 PM, JAC! said: Also I have switched to a dark theme now for my own development, because on a large monitor "all the white space" it just too bright. I'll also see how I can make the dark theme work in WUDSN itself. That would be most welcome indeed. I tried lightweight, native dark themes before with WUDSN but because the UI controls are generally not re-coloured under Windows, it looked like Hell, and some of the WUSDN icons have opaque white backgrounds anyway. Things are a little better on macOS and Linux, but one of my main motivations for attempting to develop a fully parsing MADS extension for VSCode was to get WUDSN-like features with a dark UI. 2 Quote Link to comment Share on other sites More sharing options...
+JAC! Posted October 12, 2021 Author Share Posted October 12, 2021 Maybe some Mac experts read this: I've adapted my build process, to always pull the latest MADS sources from github. But when I try to compile under macOS 11.6 with latests XCode and latest FPC 3.2.0 the command cd MADS git pull --depth=1 --rebase #echo Creating MADS - $OS Intel 32-bit version #ppc386 -Mdelphi -v -O3 -XXs -omads.$EXT32 mads.pas #rm -f mads.o echo Creating MADS - $OS Intel 64-bit version ppcx64 -Mdelphi -vh -O3 -omads.$EXT64 mads.pas rm -f mads.o fails with Creating MADS - Mac OS X Intel 64-bit version Hint: Start of reading config file /etc/fpc.cfg Hint: End of reading config file /etc/fpc.cfg Free Pascal Compiler version 3.2.0 [2020/05/31] for x86_64 Copyright (c) 1993-2020 by Florian Klaempfl and others Target OS: Darwin for x86_64 Compiling mads.pas mads.pas(1095,5) Note: Local variable "i" is assigned but never used mads.pas(1174,2) Note: Call to subroutine "procedure Move(const source:<Formal type>;var dest:<Formal type>;count:Int64);" marked as inline is not inlined mads.pas(3684,29) Hint: Local variable "par" of a managed type does not seem to be initialized mads.pas(4633,28) Warning: Local variable "tmp" of a managed type does not seem to be initialized mads.pas(6222,10) Warning: Local variable "par" of a managed type does not seem to be initialized mads.pas(8255,49) Warning: Local variable "str" of a managed type does not seem to be initialized mads.pas(8856,46) Warning: Local variable "all" does not seem to be initialized mads.pas(9757,26) Hint: Local variable "par" of a managed type does not seem to be initialized mads.pas(13877,8) Note: Call to subroutine "procedure Move(const source:<Formal type>;var dest:<Formal type>;count:Int64);" marked as inline is not inlined mads.pas(14234,6) Note: Call to subroutine "procedure Move(const source:<Formal type>;var dest:<Formal type>;count:Int64);" marked as inline is not inlined mads.pas(12732,47) Hint: Local variable "txt" of a managed type does not seem to be initialized mads.pas(10235,27) Hint: Local variable "par" of a managed type does not seem to be initialized mads.pas(12732,51) Hint: Local variable "tmp" of a managed type does not seem to be initialized mads.pas(11683,52) Warning: Local variable "idx" does not seem to be initialized mads.pas(11683,51) Warning: Local variable "idx" does not seem to be initialized mads.pas(12732,53) Hint: Local variable "v" does not seem to be initialized mads.pas(12852,54) Hint: Local variable "r" does not seem to be initialized mads.pas(13240,29) Hint: Local variable "tmpZM" of a managed type does not seem to be initialized Assembling (pipe) mads.s Linking mads.macosx-x86-64 ld: library not found for -lc An error occurred while linking Error: Error while linking Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted October 13, 2021 Share Posted October 13, 2021 14 hours ago, JAC! said: Linking mads.macosx-x86-64 ld: library not found for -lc An error occurred while linking Error: Error while linking I think you need to find out what library it can't find, it should be in the Makefile or build script Quote Link to comment Share on other sites More sharing options...
danwinslow Posted October 13, 2021 Share Posted October 13, 2021 (edited) -lc C lib maybe? https://stackoverflow.com/questions/6240639/where-is-the-standard-c-library-on-mac-os-x Edited October 13, 2021 by danwinslow Quote Link to comment Share on other sites More sharing options...
mellis Posted October 13, 2021 Share Posted October 13, 2021 15 hours ago, JAC! said: ld: library not found for -lc An error occurred while linking Error: Error while linking Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted Looks to me like the linker is looking for "libc", as indicated by the switch "-lc". It is customary for *nix linkers to automatically drop the "lib" prefix when looking for libraries, so the "-l" switch is followed by "c", and prepending the "lib" prefix back gives you "libc". Modern macOS versions do not ship with the command line compiler tools, but you can download and install them if you want. Check out this URL: https://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/ Quote Link to comment Share on other sites More sharing options...
+JAC! Posted October 14, 2021 Author Share Posted October 14, 2021 I have XCode installed, which contains the command line tools. Also from the "From Mac OS X 10.9 onward, if Xcode is already installed in Mac OS X then Command Line Tools becomes installed as well" It is only this specific lib (libc) which is no longer found since the last update... Quote Link to comment Share on other sites More sharing options...
mellis Posted October 15, 2021 Share Posted October 15, 2021 (edited) 18 hours ago, JAC! said: I have XCode installed, which contains the command line tools. Also from the "From Mac OS X 10.9 onward, if Xcode is already installed in Mac OS X then Command Line Tools becomes installed as well" It is only this specific lib (libc) which is no longer found since the last update... Try using the environment variable: LIBRARY_SEARCH_PATHS=/usr/lib or possibly: DYLD_LIBRARY_PATH=/usr/lib after first confirming that /usr/lib/libc.dylib exists. Edited October 15, 2021 by mellis Quote Link to comment Share on other sites More sharing options...
Justin Payne Posted October 23, 2021 Share Posted October 23, 2021 (edited) I gotta ask a dumb question. I'm attempting to assemble Ed Fries Anteater. Since the files are saved as .src, I associated that extension with ATASM, which is supposed to mimic MAC/65, the same assembler used for this program but as soon as I select Compile, the first line "05 .OPT NO LIST" says "Illegal argument". This is, of course, not an illegal argument for the MAC/65 but I commented it out just to see what happens. So, compiled it again and it did the same thing for "20 SCREEN = $1000". The only thing I can assume is it's using the wrong assembler but that file extension is the only way I can tell what assembler it's using. Any ideas? Edited October 23, 2021 by Justin Payne Quote Link to comment Share on other sites More sharing options...
sanny Posted October 23, 2021 Share Posted October 23, 2021 I'd guess ATASM doesn't like the line numbers. Quote Link to comment Share on other sites More sharing options...
Justin Payne Posted October 23, 2021 Share Posted October 23, 2021 (edited) 39 minutes ago, sanny said: I'd guess ATASM doesn't like the line numbers. Well, if MAC/65 likes them, then I'd assume ATASM would but taking them out doesn't change things. Of course, I checked the ATASM manual and... Source lines have the following format: [line number] [label] [ ] [ comment ] So lined number are acceptable. I now changed the extension to .m65 and set it to ATASM. Same issue. When I did this it showed it was not assigned to any assembler. Edited October 23, 2021 by Justin Payne Quote Link to comment Share on other sites More sharing options...
+JAC! Posted October 24, 2021 Author Share Posted October 24, 2021 Hi, I just downloaded the source, opened the main file via context menu "Open With.../ Other / ATASM Editor", removed the "#D:" for include statements and it assmebled without errors. 1 Quote Link to comment Share on other sites More sharing options...
+JAC! Posted October 27, 2021 Author Share Posted October 27, 2021 (edited) WUDSN IDE Installer To simplify the installation further and to ensure that I can easily update individual modules (Eclipse, Java, Plugin, Tools, Sample Projects), I have finally created my long-planned WUDSN IDE Installer. Latest version is on https://github.com/peterdell/wudsn-ide-install Create a folder where you want to put the IDE. Make sure the folder path contains no spaces or whitespaces. On Windows, download wudsn.exe the folder run it: https://github.com/peterdell/wudsn-ide-install/raw/main/wudsn.exe Versions for macOS and Linux are in the making. The file will create and populate the following subfolders via downloads: Install - the cache folder where all downloads are stored Tools - the IDE and all related command line programs Projects - the platform specific project folders with sample source code Workspace - the workspace where the IDE stores data that is no source code Upon the first start you'll be propted with the (yet generic) Eclipse Welcome screen. In addition you can choose for which platform you want to import the sample projects. The path to the assemblers/compilers/emulators in the Tools folder must be set once manually. I plan to improve this in future releases of the IDE. In case of problems check the wudsn.log file in the folder. You can also run wudsn.exe com from the command line with the parameter --install. This will display the installer menu with options to reinstall or update the IDE. I'm looking forward to your feedback! EDIT: After some hours Microsoft Defender now thinks wudsn.exe is a trojan, sigh. What's next? Buying a en EV certificate for 700 USD/year? For now I've deactivated the scan for the WUDSN folder here. Edited October 27, 2021 by JAC! Download path fixed 3 5 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted October 27, 2021 Share Posted October 27, 2021 3 hours ago, JAC! said: To simplify the installation further and to ensure that I can easily update individual modules (Eclipse, Java, Plugin, Tools, Sample Projects), I have finally created my long-planned WUDSN IDE Installer. Excellent timing! I am just setting up a fresh Windows install on a laptop that is dedicated to Emulation and Atari coding. I'll give this a try. Quote Link to comment Share on other sites More sharing options...
+KlasO Posted October 31, 2021 Share Posted October 31, 2021 On 10/27/2021 at 7:42 PM, JAC! said: Versions for macOS and Linux are in the making. ? Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted October 31, 2021 Share Posted October 31, 2021 On 10/23/2021 at 8:13 AM, Justin Payne said: Source lines have the following format: [line number] [label] [ ] [ comment ] I find it doesn't like line numbers either, maybe there's a switch to tell it to ignore them ? Also the .OPT's from MAC/65 it doesn't like either. I PRINT #P: from MAC/65 which produced a listing without line numbers. All line labels also need a ':' e.g. LABEL: LDA #1 . . . Macro's are similar .macro bra ; unconditional branch clv bvc %1 .endmacro <<<<<<<<<<< would be .endm in MAC/65 You need to have a .proc procname ; your code here .endproc so although it says it's MAC/65 compatible, it's only really the code itself, not the directives. can't use LDA #LABEL&255 ; to get low and high byte LDX #LABEL/256 use LDA #<LABEL ; although this is also MAC/65 LDX #>LABEL There are probably more differences, but it's expected as ca65 is much more powerful Quote Link to comment Share on other sites More sharing options...
achtbits Posted November 2, 2021 Share Posted November 2, 2021 On 10/27/2021 at 7:42 PM, JAC! said: WUDSN IDE Installer ... Versions for macOS and Linux are in the making. ... I'm looking forward to your feedback! That's so great. I just recently manually installed WUDSN on macOS according to the instructions on your web page and it's working like a charm. I'll be happy to test your new installer when it's available. For now though I have a small question on the Hex Editor configuration. When I open (e.g. a .xex) a file in the Hex Editor, the font is so small I can barely read it. I searched for the font/size settings of the Hex Editor in the Eclipse preferences, but couldn't find them. Could you give me a quick hint where to change the font/size settings for the Hex Editor in Eclipse? Quote Link to comment Share on other sites More sharing options...
achtbits Posted November 2, 2021 Share Posted November 2, 2021 On 10/13/2021 at 12:04 AM, JAC! said: Maybe some Mac experts read this: I've adapted my build process, to always pull the latest MADS sources from github. But when I try to compile under macOS 11.6 with latests XCode and latest FPC 3.2.0 the command ... fails ... When I just recently installed WUDSN I had to build MADS myself to add it as my choice of assembler in Eclipse. I installed fpc 3.2.2 [2021/09/12] from homebrew, which is newer than the version you're using. With this I could build MADS without problems, I just tried it again the same way you did it, just with the newer version of fpc. Maybe you want to try the newer version too. Here's my output of the build: 18:43 $ ppcx64 -Mdelphi -vh -O3 -omads.x64 mads.pas Hint: Start of reading config file /usr/local/etc/fpc.cfg Hint: End of reading config file /usr/local/etc/fpc.cfg Free Pascal Compiler version 3.2.2 [2021/09/12] for x86_64 Copyright (c) 1993-2021 by Florian Klaempfl and others Target OS: Darwin for x86_64 Compiling mads.pas mads.pas(1095,5) Note: Local variable "i" is assigned but never used mads.pas(1174,2) Note: Call to subroutine "procedure Move(const source:<Formal type>;var dest:<Formal type>;count:Int64);" marked as inline is not inlined mads.pas(3684,29) Hint: Local variable "par" of a managed type does not seem to be initialized mads.pas(4653,28) Warning: Local variable "tmp" of a managed type does not seem to be initialized mads.pas(6242,10) Warning: Local variable "par" of a managed type does not seem to be initialized mads.pas(8275,49) Warning: Local variable "str" of a managed type does not seem to be initialized mads.pas(8876,46) Warning: Local variable "all" does not seem to be initialized mads.pas(9657,12) Note: Local variable "ii" not used mads.pas(9781,26) Hint: Local variable "par" of a managed type does not seem to be initialized mads.pas(13901,8) Note: Call to subroutine "procedure Move(const source:<Formal type>;var dest:<Formal type>;count:Int64);" marked as inline is not inlined mads.pas(14258,6) Note: Call to subroutine "procedure Move(const source:<Formal type>;var dest:<Formal type>;count:Int64);" marked as inline is not inlined mads.pas(12756,47) Hint: Local variable "txt" of a managed type does not seem to be initialized mads.pas(10259,27) Hint: Local variable "par" of a managed type does not seem to be initialized mads.pas(12756,51) Hint: Local variable "tmp" of a managed type does not seem to be initialized mads.pas(11707,52) Warning: Local variable "idx" does not seem to be initialized mads.pas(11707,51) Warning: Local variable "idx" does not seem to be initialized mads.pas(12756,53) Hint: Local variable "v" does not seem to be initialized mads.pas(12876,54) Hint: Local variable "r" does not seem to be initialized mads.pas(13264,29) Hint: Local variable "tmpZM" of a managed type does not seem to be initialized Assembling mads Linking mads.x64 15825 lines compiled, 1.4 sec 6 warning(s) issued 10 hint(s) issued 5 note(s) issued Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted November 2, 2021 Share Posted November 2, 2021 Would it be possible to get the outline to alpha sort items case insensitively in a future revision? Identifiers like FSeek (below) appear at odd positions: 1 Quote Link to comment Share on other sites More sharing options...
+JAC! Posted November 4, 2021 Author Share Posted November 4, 2021 On 11/2/2021 at 6:26 PM, achtbits said: For now though I have a small question on the Hex Editor configuration. When I open (e.g. a .xex) a file in the Hex Editor, the font is so small I can barely read it. I searched for the font/size settings of the Hex Editor in the Eclipse preferences, but couldn't find them. Could you give me a quick hint where to change the font/size settings for the Hex Editor in Eclipse? There is no seting. I think here font loading forthe Atari TTF font from the plugin does not actually work for some reason. Can you provide a screen shot and the context of the ".metadata/.log" file. On 11/2/2021 at 6:51 PM, achtbits said: When I just recently installed WUDSN I had to build MADS myself to add it as my choice of assembler in Eclipse. I installed fpc 3.2.2 [2021/09/12] from homebrew, which is newer than the version you're using. With this I could build MADS without problems, I just tried it again the same way you did it, just with the newer version of fpc. Maybe you want to try the newer version too. Here's my output of the build: 18:43 $ ppcx64 -Mdelphi -vh -O3 -omads.x64 mads.pas Hint: Start of reading config file /usr/local/etc/fpc.cfg Hint: End of reading config file /usr/local/etc/fpc.cfg Free Pascal Compiler version 3.2.2 [2021/09/12] for x86_64 Copyright (c) 1993-2021 by Florian Klaempfl and others Target OS: Darwin for x86_64 Compiling mads.pas mads.pas(1095,5) Note: Local variable "i" is assigned but never used mads.pas(1174,2) Note: Call to subroutine "procedure Move(const source:<Formal type>;var dest:<Formal type>;count:Int64);" marked as inline is not inlined mads.pas(3684,29) Hint: Local variable "par" of a managed type does not seem to be initialized mads.pas(4653,28) Warning: Local variable "tmp" of a managed type does not seem to be initialized mads.pas(6242,10) Warning: Local variable "par" of a managed type does not seem to be initialized mads.pas(8275,49) Warning: Local variable "str" of a managed type does not seem to be initialized mads.pas(8876,46) Warning: Local variable "all" does not seem to be initialized mads.pas(9657,12) Note: Local variable "ii" not used mads.pas(9781,26) Hint: Local variable "par" of a managed type does not seem to be initialized mads.pas(13901,8) Note: Call to subroutine "procedure Move(const source:<Formal type>;var dest:<Formal type>;count:Int64);" marked as inline is not inlined mads.pas(14258,6) Note: Call to subroutine "procedure Move(const source:<Formal type>;var dest:<Formal type>;count:Int64);" marked as inline is not inlined mads.pas(12756,47) Hint: Local variable "txt" of a managed type does not seem to be initialized mads.pas(10259,27) Hint: Local variable "par" of a managed type does not seem to be initialized mads.pas(12756,51) Hint: Local variable "tmp" of a managed type does not seem to be initialized mads.pas(11707,52) Warning: Local variable "idx" does not seem to be initialized mads.pas(11707,51) Warning: Local variable "idx" does not seem to be initialized mads.pas(12756,53) Hint: Local variable "v" does not seem to be initialized mads.pas(12876,54) Hint: Local variable "r" does not seem to be initialized mads.pas(13264,29) Hint: Local variable "tmpZM" of a managed type does not seem to be initialized Assembling mads Linking mads.x64 15825 lines compiled, 1.4 sec 6 warning(s) issued 10 hint(s) issued 5 note(s) issued I had already figured out that with newer X-Code versions, you have to install the Command Line Tools separately and add the path the lib. See function compileWithFPC() in https://github.com/peterdell/wudsn-ide-tools/blob/main/make.sh Quote Link to comment Share on other sites More sharing options...
+JAC! Posted November 4, 2021 Author Share Posted November 4, 2021 On 11/2/2021 at 10:07 PM, flashjazzcat said: Would it be possible to get the outline to alpha sort items case insensitively in a future revision? Identifiers like FSeek (below) appear at odd positions: Implemented with https://github.com/peterdell/wudsn-ide/commit/3db927c9f196bcd105dcceb98d3197bf506426d2. Will be included in the next build. Would you mind creating a feature request on github for this? I'd like to learn how that works and how an I tag a feature request with the commit. 1 Quote Link to comment Share on other sites More sharing options...
achtbits Posted November 4, 2021 Share Posted November 4, 2021 5 hours ago, JAC! said: There is no seting. I think here font loading forthe Atari TTF font from the plugin does not actually work for some reason. Can you provide a screen shot and the context of the ".metadata/.log" file. I had already figured out that with newer X-Code versions, you have to install the Command Line Tools separately and add the path the lib. See function compileWithFPC() in https://github.com/peterdell/wudsn-ide-tools/blob/main/make.sh I've attached a screenshot of the hex editor and actually I think it uses the Atari TTF font, it's just very small and blurry. Also there's nothing in the .metadata/.log file related to this, here is the context when starting eclipse and displaying the hex editor: !SESSION 2021-11-04 08:22:49.958 ----------------------------------------------- eclipse.buildId=4.21.0.I20210906-0500 java.version=17 java.vendor=Eclipse Adoptium BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=de_DE Framework arguments: -keyring /Users/hermann/.eclipse_keyring Command-line arguments: -os macosx -ws cocoa -arch x86_64 -keyring /Users/hermann/.eclipse_keyring !ENTRY org.eclipse.oomph.p2.core 2 0 2021-11-04 08:22:52.208 !MESSAGE Failed to register the thread safe credentials providers: 'java.util.Map org.eclipse.core.internal.runtime.AdapterManager.getFactories()' Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted November 4, 2021 Share Posted November 4, 2021 7 hours ago, JAC! said: Implemented with https://github.com/peterdell/wudsn-ide/commit/3db927c9f196bcd105dcceb98d3197bf506426d2. Will be included in the next build. Would you mind creating a feature request on github for this? I'd like to learn how that works and how an I tag a feature request with the commit. Absolutely - thanks! I'll do this when I finish other business today. Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted November 4, 2021 Share Posted November 4, 2021 I decided to give this a go and have decided to compile an old MAC/65 project I created donkey's years ago. After a bit of fiddling it compiled ok 3 things I can't seem to figure out 1. how do you change the default location for the output files (.lst .lab) I've checked the help, can't see anything there (help seems to concentrate on command line, I'm using the IDE) 2. how do you change the compiler options in the IDE (would probably solve question 1 if I could) 3. How can you output a listing of the assembled code (like the output to screen or printer in MAC/65) thanks in advance. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.