On Thursday, April 8, 2021 at 12:39:44 AM UTC+10, David Brown wrote:
> >> You want to write software that will be usable on systems like the
> >> Commodore 64 that few people have touched in decades, and where the
> >> hardware exists only in museums and attics. (There are still people who
> >> enjoy Commodore 64 games, but they use emulators like Mame.) You want
> >> your development tools to run on such machines - without understanding
> >> that even in its heyday, serious developers did not run development
> >> tools on those kinds of systems. They used cross-development tools
> >> running on workstations (with Unix or VMS, I expect). But you want all
> >> these tools to run on such systems, which you know little about, even
> >> though no one is interested in using them. And you want to restrict and
> >> limit all your tools and software (and even international language
> >> standards) in order to do so.
> >
> > Yes, this is basically correct.
> >
> > I want an "escape plan" in case I am ever stuck on a C64,
> > for reasons which are not apparent to me at the moment.
> >
> The remotest hints of this being at all realistic are not apparent to
> me.
I think the basic problem is that you seem to have some
confidence that you know the entire current marketplace,
and can predict the future marketplace, and are not
worried about the past.
I on the other hand openly admit that I don't know either
current, past or future.
Out of the blue something can happen like RISC, where
suddenly something as mundane as multiplication, a
single instruction, suddenly becomes expensive as it
requires a function call. Or if it wasn't multiplication it
was something else like that.
Maybe there will be Quantum computers that are a
million times faster than conventional processors,
but Quantum memory is limited to 32k because of
some quark issue.
Or maybe it will be an x64 processor has a 64k
processor cache, and someone realizes that they
can squeeze their application into 64k of memory,
by using 16-bit pointers in 16-bit protected mode,
and the processor allows you to fix the area of
memory that is cached, and everyone is scrambling
to fit into that limit to have their application run
10 times faster.
Or maybe someone will actually build a Babbage
machine. Guess what? They did.
There is a class of problem.
> If you could at least say that you /have/ a Commodore 64, there
> could be some sense here. There are probably a hundred million working
> PC's and laptops of various ages in your country, including those that
> are outdated, retired, in landfills, etc. It's unlikely that there are
> more than a hundred working C64's - along with that many working
> old-fashioned TV's to work as displays and tape recorders for storage.
> In what circumstances do you think you might have a desperate need for a
> computer for doing C development, but a C64 is the only think you can get?
It may not be exactly that. I just know that if the
situation ever arises that I need an OS for a
limited memory machine, that my OS is too big.
I don't know whether to #ifdef a whole lot of
stuff out, or whether there is some other solution.
Or even whether I will be forced to resort to assembler.
But I wouldn't have thought assembler would be
necessary so long as the compilers generate good
code. So do I need to give up my C library instead?
What options do I have?
It is only fairly recently that I realized I could add a
coprocessor.
> Some people prefer cars from the 1980's over modern ones, because they
> can fix them themselves, and it's all mechanical and amenable to
> emergency fixes with duct tape and string, unlike modern cars with
> electronics everywhere. I can appreciate that attitude for cars. The
> same does not apply to computers from the 1980's.
I don't need a physical computer to exist at all. I already
target the S/380, and I am interested in targeting the
8086+ with 16-bit segment shifts.
> > Note that the C128 came with a Z80 coprocessor. My
> > current "escape plan" is to replace the Z80 with an
> > 80386, and let THAT run PDOS, including FAT-32 etc,
> > and SDCC, and micro-emacs, all being channeled onto
> > the C64 screen, and allowing C64 applications (stored
> > as .exe files), to have the entire 64k, minus some stubs,
> > to themselves.
> I am an electronics engineer and an embedded programmer. Long ago, as a
> teenager, I taught myself assembly on the Z80 and wrote my first
> disassembler for a 6502 (the processor in a C64). Let me assure you
> that your escape plan will not work. There are a large number of
> reasons for this, but you could start with looking at pictures of Z80
> and 80386 processors and noting that they are completely different shapes.
Again, it's a theoretical machine.
But it can exist "for real" as an emulator, which is where
most people run their C64 software anyway. That's where
S/380 runs too.
I don't particularly care whether someone builds a real
machine or not. I'm not in the hardware business.
> >>>> And people who buy IBM mainframes are not allergic to running software
> >>>> with copyright notices.
> >>>
> >>> Not everyone wants to buy an IBM mainframe to
> >>> write IBM software. That's almost like a ... MONOPOLY.
> >>>
> >> /Everyone/ who buys an IBM mainframe is happy to run IBM software
> >> (though they will likely also run software from other companies). You
> >> don't buy the hardware when you buy an IBM mainframe - you buy into the
> >> ecosystem.
> >
> > I think you misunderstood me.
> That might well be true.
> >
> > I want to write IBM software.
> Only IBM write IBM software. If you want to write IBM software, get a
> job working for them.
Ok, if you want to be strict with terminology, I want to
write my own software to run on an IBM OS and hardware.
> > I don't want to buy an IBM mainframe.
> >
> > I don't want to buy an IBM OS.
> >
> > I don't want to buy an IBM compiler.
> Do you mean you want to write code that is compiled for IBM mainframes,
> without using any IBM software or hardware?
Yes.
> Why?
Because it's there. So was z/VSE. The blasted thing wouldn't
die, so I was required to learn it to some extent in order to
make C a universal language (by my definition).
> Which owners of IBM
> mainframes would be interested in running that software?
You'll have to speak to the marketing department
about that.
Perhaps ones who don't have an IBM C compiler.
I can remember one guy complaining that his
company had saved money by getting rid of the
IBM C compiler, and another guy saying why do
you keep complaining about that when there's
a free one available (ie mine), and he replied that
he had difficulty installing it.
Whether that is smoke indicating fire, I don't know,
and I don't particularly care. Marketing is not my job.
> You might well
> write some C code that is portable enough to work on Z/OS systems - but
> pretty much anyone wanting to use it would want to compile it with
> standard toolchains (like IBM's, or gcc).
If they want to go those alternate routes, that's fine
by me.
> >>>>> If you're creating a new platform and wish to
> >>>>> recoup any development costs by being the
> >>>>> sole provider of the software, at least to start
> >>>>> with, binary only, what OS can you use as a
> >>>>> starting base?
> >>>
> >>>> I can't find any sense in that question.
> >>>
> >>> It's a potential use. You've designed a new computer
> >>> system. With a new processor perhaps.
> >>>
> >>> Now you need an OS to run on that. It will require
> >>> customization at some level. OSes don't run out of
> >>> the box on new hardware.
> >>>
> >>> You want to protect that investment in customization
> >>> by close-sourcing your commercial offering. Do you
> >>> write your OS from scratch or is there existing code
> >>> you can use to help you?
> >>>
> >> If you are talking about a general purpose computer, then you either
> >> port Linux (you don't /need/ to close the source to protect your
> >> investment),
> >
> > I disagree. That's *exactly* what I would do to protect
> > my investment. If you disagree, you can do whatever
> > you want. But don't expect me, or everyone else in the
> > world, to agree with your position. We don't.
> >
> Lots of people make a lot of money with Linux-based systems, and other
> free and open source software.
And lots more make money from closed-source
systems.
Again, if you are expecting everyone to agree with
you, it will never happen. You'll never convince me,
for starters.
And apparently I'll never convince you either.
> For example, you could sell the new
> computer system and processor - sell the hardware, not the software. By
Or I could sell both. My choice.
> having the software open source, if the hardware is popular you'll have
> other people who want to improve the software, making the whole thing
> better so that you sell more hardware.
If I think that way, that's what I will do. It will depend on
what the marketing department says will make my
company the most money.
Public domain software allows me to go whichever
route *I* wish to go.
> >> or a BSD. (Apple was quite successful at doing that.)
> >
> > That's their choice to use copyrighted software as a
> > base and follow the conditions.
> Yes - and the conditions are not onerous.
I disagree. And Apple may well realize that when they
get taken to court and sued for $5 trillion by some
BSD jackass whose name was omitted from the
documentation because an Apple software engineer
missed it.
No such problem with public domain software.
> > Do you remember writing this?
> >
> >> I once had to use a "C" compiler for an 8-bit CISC microcontroller which
> >> supported arrays, and supported structs, but did not support arrays of
> >> structs or structs containing arrays. (It had countless other known
> >> limitations, and uncountably many unknown bugs and limitations.) It was
> >> not an amateur compiler - it was an expensive tool, sold by the
> >> microcontroller manufacturer.
> >
> > I assume this was a closed-source product.
> Yes.
> >
> > Did you ever ask yourself "why didn't these people pick up
> > an existing public domain C compiler, make the changes
> > required to support their microcontroller, and then start
> > selling it? That way it wouldn't have had all these language
> > limitations, right from the start!"?
> No - but I /did/ ask myself "why didn't these people pick up an existing
> C compiler and port it to that microcontroller?"
That's a separate question, and requires a separate answer.
> I know why they would not have picked a public domain compiler - they
No, you don't know that at all. You just completely made
that up.
> are a serious company, and could not afford the legal risks of basing
> their commercial product on software of unknown or unclear provenance,
> ownership and licensing.
No, that is you scaremongering again, trying to cover up
your ulterior motive to try to prevent the public gaining
access to technology.
> I know why they would not pick an open source
> compiler (GPL or BSD) - there were no realistic bases to start from at
> that time, which was many years ago. (If they were doing this now, SDCC
> would have been the obvious choice - under the GPL.) What makes a lot
OR, even if it did, the company may have thought the
same way that I do, and doesn't want to end up being
taken to court by some GPL jackass saying "this is
my copyrighted code (true) and in my interpretation,
and certainly my intent, of rule number 563, you can't
do what you just did, and you owe me $50 trillion,
the same as that BSD jackass got".
And the company has to face a judge who says "you
can see there is a very clear copyright here, the onus
is on you to prove you didn't violate the intent of this
long list of rules written in Swahili - you have 30 seconds
to convince me - BTW, what is software anyway? - your
time starts now". With a pack of lawyers on both sides.
> less sense is why they did not license a compiler base from one of the
> many commercial closed-source compiler companies at that time, or
> commission one of them to make a decent tool.
Perhaps because they were charging extortionate
prices and the company figured they could write
their own, and pass the costs on to the consumer.
If public domain software had been able to lower
the input costs, hopefully capitalism would have
passed those onto the consumer.
Of course if your ulterior motive is that you're a
commie and trying to take down evil companies,
well, just say so instead of pretending there is
something unclear about "public domain".
> > You know what the correct answer to that question is?
> >
> > "There isn't an existing public domain C compiler."
> >
> I gave the correct answer above.
No, you didn't.
> > Some/many companies would rather start from scratch
> > than follow someone else's stupid rules.
> >
> > There's an existing public domain C runtime library though.
> > Hopefully my Slovakian friend will come through with a
> > C compiler one day. He's already made a start with pdcc,
> > and I was surprised how many lines of code were required
> > to just do preprocessing.
> >
> > Regardless, the next company that comes along can start
> > with an existing C runtime library and preprocessor, even
> > if they have to write the rest themselves. No acknowledgement
> > is required. Some companies would presumably like to keep
> > it a secret that they're using and selling something they
> > downloaded from the internet. Now they can.
> >
> Companies that want to keep these things a secret can do so already -
> they don't need public domain software. They can do so legally with
> BSD-style licenses. That is one of the points of the BSD licenses - it
> means companies /can/ use that code in closed-source work. They can do
> it legally and safely, all clear and simple.
https://en.wikipedia.org/wiki/BSD_licenses
All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.
So one single advert by Apple in the New York Times that
says "buy OS X, it's finger-lickin good!" and the entire BSD
clan gets to sue for $50 trillion each.
Enough with your lies about BSD and other virus-licensed
software, and your lies about public domain.
Just spit out your ulterior motive so we can both move on
to our respective campaigns. Mine to donate source code
to the public rather than be a dog in a manger. Yours, god
knows what.
BFN. Paul.