Where is the assembler's source code located? [SOLVED]

General FreeBASIC programming questions.
srvaldez
Posts: 3373
Joined: Sep 25, 2005 21:54

Re: Where is the assembler's source code located? [SOLVED]

Post by srvaldez »

found an old backup VM with Windows 2000 and it works ok, I used Windows Binaries (mingw-w64 gcc 5.2.0) http://downloads.sourceforge.net/fbc/Fr ... p?download to test
also fbide-4.6 from https://sourceforge.net/projects/fbide/ ... p/download works
gcc-5.2 works also by using #cmdline, for example #cmdline "-gen gcc -O 2"
xX_Pokeman2003_Xx
Posts: 25
Joined: Mar 11, 2022 21:10

Re: Where is the assembler's source code located? [SOLVED]

Post by xX_Pokeman2003_Xx »

Since this topic seems to refuse to die despite my hopes it would, I'll rejoin the fray temporarily to answer a few things that my impulsive mind deemed fit.
caseih wrote: May 12, 2022 2:29 Just goes to show, be careful about pointing blame and ranting about developers (who release their work for free by the way) not wanting to support an old, unsupported, and obsolete OS.

At this point in time, it's not reasonable to expect any recent release of any software to run on Windows 2000. If it does it's entirely coincidental, because *no* developers are targeting Windows 2000. Why would they? In fact there's no legal way for any developer to get his hands on Windows 2000 even if he wanted to support that OS, besides all the other reasons.

Also bear in mind the FB developers are not targeting Windows 2000 either, or any version of Windows prior to Windows 8.1. It's not that FB needs or wants to target the latest and greatest. Rather it's that all the tools along the way move with the times, and carry FB and other projects with them. For example, the MS C Runtime, which FB requires.
I will open up with an apology about my rant(and probably immediately invalidate my apology by ranting once again.) It was childish, however I think any outside observer could understand if they saw the 4 editions available. Listed right here, we have, in order, FreeBSD, Windows, and Linux. Fairly typical, except, what's this? DOS is an edition that they're clearly targeting. Therefore, it is not unreasonable to assume they are attempting to also target 32 bit Windows with this, because every single 32 bit version of Windows can emulate(or, in the case of the 16/32 9x kernel, natively utilize) DOS programs.
Now, in the hypothetical event that the people compiling the binaries for download didn't create a package that could work natively with Windows 2000, why not? Why would they lure you in with the promise of DOS support(an OS family, mind you, that is getting difficult to maintain natively because of the outright erasure of legacy BIOS support from UEFIs, a move I'll never understand but it's tangential here,) only to shoot you in the balls over not natively supporting a Windows version that supports the DOS version? What sense does that make?
As for tools, most of them do similar BS. Most can easily support even the earliest iterations of Win32(if they're even dependent on that), but don't either through an artificial cap(Firefox Quantum runs just fine on Windows XP but doesn't through a cap,) or do so because they're lazy(Notepad++ doesn't work on Windows XP or earlier anymore because of exactly one text box that shows up rarely using a thing that exists only in Vista+. Literally one text box.)
To say that this all ticks me off, and has been bothering me for ages, is an understatement. It's been a thing that's bothered me ever since I got into programming. My rant today and May 10th were simply the result of hitting boiling point, because I was that close.
I won't touch the rest because I am not qualified to discuss vectored exception handling, and likewise there's nothing to discuss on the fact I have at least found a version that works for me.


dodicat wrote: May 12, 2022 11:25 It is nice to have backward compatibility.
Win XP is still used for some POS systems offline.
(I know one newsagent who uses it, and he knows others)
It is a really stable operating system.
Even DOS is still used for this, but of course freebasic has a DOS compiler anyway.
I never liked Win 2000 since I got the virut virus.
It even infected my pen drive which was stuck in at the time of infection.
I re installed win 2000, and stupidly stuck the pen drive back in.
Sucks you got the Virut virus. Probably would've helped to have had the ethernet unplugged. Heard rumors that it refuses to infect machines that aren't connected to the internet.
Backwards compatibility is great. It allows me to utilize outdated hardware for new tasks and not have my hardware rot. I still occasionally plug the Tandy in to see just how much I can squeeze out of it. Machines not plugged into the internet and I can specialize into certain tasks are also great. Since my family drags their feet when it comes to upgrades, I really only have low end hardware from the early 2000s and before to work with. We're not a particularly rich family, so I end up using whatever I've got. Using something like Windows 10 would absolutely destroy the hardware I work with, especially with the read and writes it does to hard drives.
I like using Windows 2000 because it's stable, it's incredibly flexible, and has many QoL features you can't find in modern versions of Windows(even professional editions.) I believe Windows 2000 to perhaps be the best of the Windows operating systems, although personally, Vista with good drivers and both service packs is a very close second.
dodicat wrote: May 12, 2022 11:25 I have a Windows 2000 Professional book, 734 pages with a cd included.
Anybody want it?
How much's the bid and what's the shipping to California? Might take my chance. Although, I'd rather argue that preserving it by scanning it in and ripping the disc to put on some FTP server would be for the best.


srvaldez wrote: May 12, 2022 14:48 found an old backup VM with Windows 2000 and it works ok, I used Windows Binaries (mingw-w64 gcc 5.2.0) http://downloads.sourceforge.net/fbc/Fr ... p?download to test
also fbide-4.6 from https://sourceforge.net/projects/fbide/ ... p/download works
gcc-5.2 works also by using #cmdline, for example #cmdline "-gen gcc -O 2"
Okay, I'll add that to the list of working versions to keep in mind. I suspect it might be the winlibs version provided by the "Download Latest Version" button that doesn't work with older versions of Windows, but I don't quite have the time to test it.
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: Where is the assembler's source code located? [SOLVED]

Post by caseih »

xX_Pokeman2003_Xx wrote: May 16, 2022 8:21Fairly typical, except, what's this? DOS is an edition that they're clearly targeting. Therefore, it is not unreasonable to assume they are attempting to also target 32 bit Windows with this, because every single 32 bit version of Windows can emulate(or, in the case of the 16/32 9x kernel, natively utilize) DOS programs.
Your definition of "reasonable" is unique. Why would you think DOS and Windows are in any way related? DOS is not Windows at all. It's not even an ancestor, API-wise.
Now, in the hypothetical event that the people compiling the binaries for download didn't create a package that could work natively with Windows 2000, why not? Why would they lure you in with the promise of DOS support(an OS family, mind you, that is getting difficult to maintain natively because of the outright erasure of legacy BIOS support from UEFIs, a move I'll never understand but it's tangential here,) only to shoot you in the balls over not natively supporting a Windows version that supports the DOS version? What sense does that make?
DOS is not Windows, even if it is 32-bit. Furthermore DOS has been static as a target for many many years now, with no modern descendant other than FreeDOS. It's kind of a special case: it's currently used in embedded systems and other legacy (and non-networked) applications. So there are legitimate use cases for DOS, and the FB devs have chosen to continue targeting it. And like I said, it's much easier to do this because DOS is not a moving target anymore, and a group of enthusiasts have maintained ports of fairly current GNU tools for it.

In the Windows world, things are not so easy. Windows has changed a lot over the years such that in many ways Windows 2000 is a different platform than modern, unicode Win32. So to continue to support Windows 2000 while supporting the most recent versions of windows means maintaining yet another platform. It's true that Windows itself maintains a high degree of backwards compatibility to run old software, but that's no legitimate reason to target Windows 2000 as some kind of lowest common denominator (why not Windows NT 4?). Plus there are modern features that many applications built using these toolchains require, such as unicode support, wide APIs, performance, etc.

All developers have limited time and resources, especially in free software. It's not reasonable to expect them to support your favorite obsolete platform just because. I'm sorry, but your expectations and your anger are not only unwarranted, but unreasonable.
As for tools, most of them do similar BS. Most can easily support even the earliest iterations of Win32(if they're even dependent on that), but don't either through an artificial cap(Firefox Quantum runs just fine on Windows XP but doesn't through a cap,) or do so because they're lazy(Notepad++ doesn't work on Windows XP or earlier anymore because of exactly one text box that shows up rarely using a thing that exists only in Vista+. Literally one text box.)
Great! If it's so easy, please feel free to do it. Clearly it's not as easy as you suggest.
To say that this all ticks me off, and has been bothering me for ages, is an understatement. It's been a thing that's bothered me ever since I got into programming. My rant today and May 10th were simply the result of hitting boiling point, because I was that close.
You are free to use whatever platform you'd like, and to develop software for whatever platform you'd like. And you're free to choose what angers you. But to have expectations, even demands, of others based on your unique view is unreasonable. In other words, your infuriation over the lack of Windows 2000 support by modern compilers and toolchains is patently unreasonable, and no amount of ranting will change that.
adeyblue
Posts: 299
Joined: Nov 07, 2019 20:08

Re: Where is the assembler's source code located? [SOLVED]

Post by adeyblue »

I often wonder how difficult it would be to set up a 'compile it how you like' service. I mean, at this point, several people build and provide Windows downloads of things like GCC/Binutils/FFMPEG/OpenSSL/etc - so it would seem that the barrier to entry to doing it yourself isn't as high as it previously might have been. So if you could set up a system to successfully build those things 100% feature complete, then it should be easy to just lop off a few config options or change the CFLAGS and build a version that only contains features x, y and z or that enables AVX2 instructions etc.

The only problem is that the cloud computing costs of such a service would skyrocket even if it was only minimally popular, and I'm not sure people would bother if they had to contribute to them.
xX_Pokeman2003_Xx
Posts: 25
Joined: Mar 11, 2022 21:10

Re: Where is the assembler's source code located? [SOLVED]

Post by xX_Pokeman2003_Xx »

caseih wrote: May 16, 2022 14:37 Your definition of "reasonable" is unique. Why would you think DOS and Windows are in any way related? DOS is not Windows at all. It's not even an ancestor, API-wise.
You have made a mistake claiming that.
The 9x kernel is built on top of the Windows 3.0 OE. This is further supported by the backport of Win32 to Windows 3.1, the Win16 support, oh and the fact that you could boot into DOS and then boot into Windows 95 with a simple "win". Windows 9x, at the very least, is fundamentally an API successor to the DOS based operating environments that Windows x.x series were.
Furthermore, go boot up a copy of ANY NT version of Windows, from 3.1 to 10. It needs to be 32 bit though, otherwise this won't work. Now go to command line, and type edlin into the command prompt. You will get the 16 bit DOS command file to run just fine, because it's apart of the NTVDM package on every 32 bit version of Windows NT since the days that it succeeded OS/2. (It probably even works on 11, but I have never and will never touch the 32 bit version of a trainwreck known as Windows 11, so I could not tell you.)
There is plenty of overlap with Windows and DOS, even in the modern era. In other news, water is dry and fire is hot.
caseih wrote: May 16, 2022 14:37 DOS is not Windows, even if it is 32-bit. Furthermore DOS has been static as a target for many many years now, with no modern descendant other than FreeDOS. It's kind of a special case: it's currently used in embedded systems and other legacy (and non-networked) applications. So there are legitimate use cases for DOS, and the FB devs have chosen to continue targeting it. And like I said, it's much easier to do this because DOS is not a moving target anymore, and a group of enthusiasts have maintained ports of fairly current GNU tools for it.
Completely brushing aside the lengthy history that is 21 years of Windows being LITERALLY BUILT ON TOP OF DOS for a hot minute, Windows isn't exactly a moving target either. It does depreciate things, sure, but Windows is also designed around the principle that even in depreciation, you should support it. This is why you could take almost any system application from Windows NT 3.1, or any software not entirely dependent on drivers, and expect it to work on modern day Windows. Of course, that doesn't always work, but that's more or less bad programming on Microsoft's part, rather than an intended consequence. It's the same reason why they have 11 versions of the context menu.
So therefore, if it's barely a trouble to sustain support for an operating system released in 1993, and it would, hypothetically, trickle all the way to modern versions of Windows, why wouldn't you? Toolchains.
The crux of your argument revolves around toolchains, and to that I say, "this is why I normally write stuff myself." If I had better experience with low level Windows programming, I wouldn't even be here right now.
caseih wrote: May 16, 2022 14:37 Great! If it's so easy, please feel free to do it. Clearly it's not as easy as you suggest.
Alright, while it isn't me, a friend of mine who has done programming for a clone of the Windows NT kernel for many years now actually tried to for Notepad++. It was rejected because "no one would use such an obsolete OS anymore." Guess we're ignoring the entirety of East Asia, Mr. Ho.
caseih wrote: May 16, 2022 14:37 You are free to use whatever platform you'd like, and to develop software for whatever platform you'd like. And you're free to choose what angers you. But to have expectations, even demands, of others based on your unique view is unreasonable. In other words, your infuriation over the lack of Windows 2000 support by modern compilers and toolchains is patently unreasonable, and no amount of ranting will change that.
I've learned over the years that spite has gotten things done. Complaining simply happens to be a byproduct of my spite. One day, I'll teach myself enough C and C++ to make sure that any modern software could be compiled for classic versions of Windows, but in the meantime, I'm left to scream into the void as I find my way around, like some sort of rage induced echo location. Besides, I either am not lonely anymore because I get to talk to someone, or someone actually helps me. You talking to me kind of fed into this bad habit, but it's really my fault in the end for letting the habit start at all.

You know the funny part of all of this? Despite all of my words, despite every rebuke I've given you...
caseih wrote: May 16, 2022 14:37 All developers have limited time and resources, especially in free software. It's not reasonable to expect them to support your favorite obsolete platform just because. I'm sorry, but your expectations and your anger are not only unwarranted, but unreasonable.
This was the kryptonite you were looking for, the deluge to quell the flames.
I can actually accept they may not have the time to maintain such a situation. It's unreasonable for me to assume that a small team of maintainers could manage all of the quirks of supporting a large swath of versions of an OS, especially when it comes to something like Windows, especially as it degrades in quality year after year. Even I have to concede at some point, despite my crusade to make my software work on as many things as possible.
I'm a hard ass unable to let go of my ways. I think that software, if possible, should work across a wide spectrum. However, if there's simply no time to support everything, something must be dropped so the rest may succeed. It's a hard call, and I hate to make it myself. I constantly kick myself at night, "this would've worked fine on earlier DOS if I had more time", "I could've gotten that NES port done if only there was more time in a day," "you're a failure for not getting this to work on the barest of metal."
I suspect, more or less, that most free developers feel a similar thing, at least once in their life. I may be wrong though. Who knows? I certainly don't. I'm unwise, I'm unintelligent, and I'm self destructive.
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: Where is the assembler's source code located? [SOLVED]

Post by caseih »

Please don't kick yourself! My intention was not to belittle.

I also get frustrated with how things change for no apparent reason, other than change itself. I can't say for sure whether things in Windows are always change for the sake of change, or if they serve a purpose. I only just barely finished migrating my Windows computers to Windows 10 where the user experience has certainly not been an improvement. Or I just get Fedora Linux the way I want it and by November I need to upgrade again. I understand how tiring it is, especially when something seemed to just work in the past--why couldn't they have stuck with it.
xX_Pokeman2003_Xx
Posts: 25
Joined: Mar 11, 2022 21:10

Re: Where is the assembler's source code located? [SOLVED]

Post by xX_Pokeman2003_Xx »

caseih wrote: May 17, 2022 18:35 Please don't kick yourself! My intention was not to belittle.
I try not to but imposter syndrome and loneliness are both cold mistresses at times. I need to work on myself a bit, so don't worry too much about it. I think I'm finally getting to make progress, which is a huge change from 5 years ago when all progress on fixing my faults stalled out. I didn't take you as belittling me, so don't you worry about that.
caseih wrote: May 17, 2022 18:35 I also get frustrated with how things change for no apparent reason, other than change itself. I can't say for sure whether things in Windows are always change for the sake of change, or if they serve a purpose. I only just barely finished migrating my Windows computers to Windows 10 where the user experience has certainly not been an improvement. Or I just get Fedora Linux the way I want it and by November I need to upgrade again. I understand how tiring it is, especially when something seemed to just work in the past--why couldn't they have stuck with it.
I can tell you, at least in the case of Windows, it is definitely a result of needing a fresh coat of paint to impress people. If you go back to the past, looking at tech forums, you'll find many people lamenting that Windows XP had been the last released Windows OS for 6 years(although argument is there to suggest that it may also have been partially the fault of announcing Windows Vista for release in 2003.) Microsoft's got a reputation to the back to back roughly 2-3 year release cycle(x.0:1985, 1987, 1990, NT:1993, 1995, 1999, 2001..., 9x:1995, 1998, 2000,) so they keep it going to this day. Remember how ticked people got over the fact Windows 10 was supposed to be the "last Windows version ever", and that "Microsoft would keep support of Windows 10 and never move on?" I mean, barring that Windows 10 isn't even that good of an OS for a second, why do you think that the reaction, before the product even shipped, was "oh, we're not getting anything improved anymore?" This is in spite of the fact that the NT kernel, on a subsurface level, has changed so little for the user and average developer that it's expected ReactOS to have almost total support for all modern programs by the time the NT kernel 6.0(Windows Vista) replication is complete.
I couldn't tell you for Linux(it's not my cup of tea so I don't use any Linux distros,) but I imagine something similar powers that response for total upgrades too. I know that they keep running for a warped perspective of the Unix approach because the demographic of mainstream Linux has been shifting towards that weird, corrupted mindset, so there's that. That whole thing is partially why projects like Serenity, which actually operate like Linux, exist. In the Windows world, we have ReactOS as our SerenityOS, but it's far from complete so I can't really use that for anything serious. Would love to some day though.

On a side note, you mentioning "why couldn't they have stuck with it" actually reminded me there was a kernel extender project for Windows 2000. I should really look into that, and see just how far that actually improves the kernel. My brain connects weird things together, this is just another example I guess.
Post Reply