• enigma on M68K linux

    From Digital Man@21:1/183 to Oli on Sun Jan 15 12:25:36 2023
    Re: enigma on M68K linux
    By: Oli to vorlon on Sun Jan 15 2023 02:29 pm

    I assumed nodejs is C++ software that would compile on any Linux arch, but I guess the V8 Javascript engine does some low-level stuff that needs be ported to every CPU architecture. The V8 Website mentions: x86, Arm, MIPS, PPC64, s390, RISC-V and Loong64. Not much support for legacy or big-endian platforms.

    All PPC, most MIPS and some ARM systems are big-endian.
    --
    digital man (rob)

    Synchronet "Real Fact" #117:
    Synchronet v1b r0 (for MS-DOS) was released on September 25, 1992
    Norco, CA WX: 51.2øF, 95.0% humidity, 0 mph E wind, 1.16 inches rain/24hrs
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (21:1/183)
  • From Vorlon@21:1/195 to Digital Man on Mon Jan 16 10:57:10 2023

    Hello Digital!

    15 Jan 23 12:25, you wrote to Oli:

    Not much support for legacy or big-endian platforms.

    All PPC, most MIPS and some ARM systems are big-endian.

    I've read that some or all ARM chips can be switched to work in either mode.


    Vorlon


    --- GoldED+/LNX 1.1.5-b20220409
    * Origin: Dragon's Lair BBS, Telnet: dragon.vk3heg.net (21:1/195)
  • From Digital Man@21:1/183 to Vorlon on Mon Jan 16 02:33:32 2023
    Re: enigma on M68K linux
    By: Vorlon to Digital Man on Mon Jan 16 2023 10:57 am


    Hello Digital!

    15 Jan 23 12:25, you wrote to Oli:

    Not much support for legacy or big-endian platforms.

    All PPC, most MIPS and some ARM systems are big-endian.

    I've read that some or all ARM chips can be switched to work in either mode.

    Yeah, MIPS processors are like that too, but while in my experience most ARM systems run little-endian, most MIPS systems run big-endian.
    --
    digital man (rob)

    Sling Blade quote #1:
    Karl: I've killed Doyle with a lawn mower blade. Yes, I'm right sure of it. Norco, CA WX: 44.5øF, 100.0% humidity, 0 mph NNE wind, 0.53 inches rain/24hrs --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (21:1/183)
  • From Oli@21:3/102 to Vorlon on Mon Jan 16 23:20:12 2023
    Vorlon wrote (2023-01-16):

    Hello Digital!

    15 Jan 23 12:25, you wrote to Oli:

    Not much support for legacy or big-endian platforms.

    All PPC, most MIPS and some ARM systems are big-endian.

    All three architectures are big-endian AND little-endian.

    I've read that some or all ARM chips can be switched to work in either mode.

    ARM is 99,9% little-endian on desktop, server and mobile. Notable exception is NetBSD 10 (beta) which has the big-endian ports aarch64eb and earm*eb -- because they can. I'm running a Raspberry Pi in big-endian mode, maybe I'll try to compile nodejs (I'm quite confident the build fails).

    MIPS is used both ways. I'm not sure if most CPUs work in both modes. AFAIK it depends on the board / firmware. Loongson MIPS-based CPUs are little-endian only.

    PowerPC used to be used in big-endian mode (Power Mac G5 was big-endian only), but IBM and the big distros have pushed it to little-endian. Most distros dropped PPC and PPC64 big-endian. Ubuntu, Fedora, OpenSUSE, Alpine only offer big-endian (>= POWER8). I guess no Google Chrome/Chromium and no nodejs for big-endian PPC/PPC64 was a huge incentive to switch to PPC64le. Also Firefox added nodejs as a hard build dependency and was not available anymore.

    Summary: AFAIK nodejs does not support ARM big-endian. MIPS 32-bit has been removed; no idea if MIPS64 BE is working. No support for PPC 32-bit and older PPC64(be) machines. There are some patches though:

    https://nitter.se/jhamby/status/1495188071632965637 https://jakehamby.com/2021/12/27/retrocomputing-powerpc-part-1/

    ( He also mentioned Enigma½ in a Tweet:
    https://nitter.se/jhamby/status/1529157067008667648#m )


    Unfortunately nodejs will most likely never run on m68k.


    â‚

    ---
    * Origin: War is Peace. Freedom is Slavery. Ignorance is Strength. (21:3/102)
  • From Digital Man@21:1/183 to Oli on Mon Jan 16 14:26:06 2023
    Re: enigma on M68K linux
    By: Oli to Vorlon on Mon Jan 16 2023 11:20 pm

    Vorlon wrote (2023-01-16):

    Hello Digital!

    15 Jan 23 12:25, you wrote to Oli:

    Not much support for legacy or big-endian platforms.

    All PPC, most MIPS and some ARM systems are big-endian.

    All three architectures are big-endian AND little-endian.

    I've written code for a lot of PPC-based systems, not one has ever been little-endian. I do see they now exist, but appear to be pretty rare.

    Similarly, all the MIPS-based systems I've developed for have been big-endian. --
    digital man (rob)

    Breaking Bad quote #17:
    Your breath could knock the buzzard off a shit wagon. - Hank Schrader
    Norco, CA WX: 54.7øF, 73.0% humidity, 0 mph ENE wind, 0.52 inches rain/24hrs --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (21:1/183)
  • From vorlon@21:1/195.1 to Oli on Thu Jan 19 11:59:04 2023
    Hi Oli,

    Unfortunately nodejs will most likely never run on m68k.

    It was just a excuse to see if it would... If I could program, then it
    would have been something to do... Alas, I'm not...



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From vorlon@21:1/195.1 to Digital Man on Thu Jan 19 12:03:02 2023
    Hello Digital Man!

    I've read that some or all ARM chips can be switched to work in
    either mode.

    Yeah, MIPS processors are like that too, but while in my experience
    most ARM systems run little-endian, most MIPS systems run big-endian.

    And it catches many people out... #-0)

    Btw: would SBBS compile and work on M68K Linux?



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From Oli@21:3/102 to Digital Man on Thu Jan 19 14:53:16 2023
    Digital wrote (2023-01-16):

    Not much support for legacy or big-endian platforms.

    All PPC, most MIPS and some ARM systems are big-endian.

    All three architectures are big-endian AND little-endian.

    I've written code for a lot of PPC-based systems, not one has ever been little-endian. I do see they now exist, but appear to be pretty rare.

    The little-endian implementations were not very successful ;) https://en.wikipedia.org/wiki/PowerPC#Endian_modes

    But big-endian for desktop and server has pretty much no future. IBM killed it.

    Similarly, all the MIPS-based systems I've developed for have been big-endian.

    SGI was big-endian
    Cobalt Qube/RaQ MIPS servers were little-endian
    Playstation 1 and 2: little
    Nintendo 64: big (IIRC)

    Some routers and embedded hardware are little-, some big-endian.

    MIPS is the true bi-endian architecture ;)

    â‚

    ---
    * Origin: War is Peace. Freedom is Slavery. Ignorance is Strength. (21:3/102)
  • From tenser@21:1/101 to Digital Man on Fri Jan 20 04:38:26 2023
    On 15 Jan 2023 at 12:25p, Digital Man pondered and said...

    All PPC, most MIPS and some ARM systems are big-endian.

    Believe it or not, LE PPC exists!

    --- Mystic BBS v1.12 A47 2021/12/24 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From tenser@21:1/101 to Vorlon on Fri Jan 20 04:39:14 2023
    On 16 Jan 2023 at 10:57a, Vorlon pondered and said...

    I've read that some or all ARM chips can be switched to work in either mode.

    In fact, many of them can select at right-time, by setting
    a bit in a control register. It can even vary based on the
    target of a branch.

    --- Mystic BBS v1.12 A47 2021/12/24 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From tenser@21:1/101 to Digital Man on Fri Jan 20 04:45:00 2023
    On 16 Jan 2023 at 02:26p, Digital Man pondered and said...

    I've written code for a lot of PPC-based systems, not one has ever been little-endian. I do see they now exist, but appear to be pretty rare.

    IBM did it at the request for a few big customers who were
    looking to hedge against Intel dominance by diversifying away
    from x86. At least one of those customers, which has an
    extremely large code base (measured in BLOC) tried BE PPC and
    found there were too many hidden endian assumptions in their
    code; et voila, LE PPC was the result. In other words, software
    compatibility was the driving factor for LE PPC64.

    Then AMD came out with the Zen microarch series and all of a
    sudden there was diversity in the x86 space and Intel no longer
    had them over a barrel. The PPC effort was largely dropped.

    Then Altera came out with the N1 and the power-efficiency gains
    for an organization with O(10^7) CPUs in production were too
    good to pass up. Aarch64 isn't a half-bad instruction set, at
    that.

    This is probably all good since Intel seems to be on the ropes.

    --- Mystic BBS v1.12 A47 2021/12/24 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From tenser@21:1/101 to vorlon on Fri Jan 20 04:46:42 2023
    On 19 Jan 2023 at 12:03p, vorlon pondered and said...

    Hello Digital Man!

    I've read that some or all ARM chips can be switched to work in either mode.

    Yeah, MIPS processors are like that too, but while in my experience most ARM systems run little-endian, most MIPS systems run big-endian.

    And it catches many people out... #-0)

    Btw: would SBBS compile and work on M68K Linux?

    I don't see why it wouldn't, provided you can find a recent
    enough OS and toolchain. The problem with V8 is that it's
    jitting to native object code; so unless you've got a backend
    for that, it won't run on your platform.

    I'm a bit surprised there isn't a fallback to either a
    portable p-code or just straight-up interpreter.

    --- Mystic BBS v1.12 A47 2021/12/24 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From tenser@21:1/101 to tenser on Fri Jan 20 04:47:50 2023
    On 20 Jan 2023 at 04:39a, tenser pondered and said...

    In fact, many of them can select at right-time, by setting
    ^^^^^^^^^^ run-time. Sigh.
    a bit in a control register. It can even vary based on the
    target of a branch.

    --- Mystic BBS v1.12 A47 2021/12/24 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From Oli@21:3/102 to vorlon on Thu Jan 19 16:56:54 2023
    Hei Vorlon,

    vorlon wrote (2023-01-19):
    Unfortunately nodejs will most likely never run on m68k.

    It was just a excuse to see if it would... If I could program, then it would have been something to do... Alas, I'm not...

    I'm glad you did. I was not aware that nodejs / V8 is so damn picky about the CPU. I thought it would compile on any Linux / BSD. But unfortunately that is the way the web devs / companies are heading for quite some time. Creating libraries and web sites / apps on monstrous JavaScript frameworks. Wasting so much resources that you need very performant JS engines and faster computers. They don't see why you want to run nodejs on legacy devices, especially not on very very old retro computers like an Amiga ;).

    Is there a portable V8-less and compatible alternative to nodejs?

    â‚

    ---
    * Origin: War is Peace. Freedom is Slavery. Ignorance is Strength. (21:3/102)
  • From tenser@21:1/101 to Oli on Fri Jan 20 07:30:34 2023
    On 19 Jan 2023 at 04:56p, Oli pondered and said...

    Unfortunately nodejs will most likely never run on m68k.

    It was just a excuse to see if it would... If I could program, then it would have been something to do... Alas, I'm not...

    I'm glad you did. I was not aware that nodejs / V8 is so damn picky
    about the CPU. I thought it would compile on any Linux / BSD. But unfortunately that is the way the web devs / companies are heading for quite some time. Creating libraries and web sites / apps on monstrous JavaScript frameworks. Wasting so much resources that you need very performant JS engines and faster computers. They don't see why you want
    to run nodejs on legacy devices, especially not on very very old retro computers like an Amiga ;).

    It's probably worthwhile understanding _why_ this is as it is.
    In particular, v8 implements a JIT that compiles JavaScript to
    native machine code; in that sense, yeah, you need a supported
    CPU architecture.

    I don't think this precludes someone sufficiently motivated
    from implementing it for 68k. It probably won't perform _well_
    (at least, not on anything prior to ColdFire or an overclocked
    68060 if you can find one), but it will probably _work_.

    --- Mystic BBS v1.12 A47 2021/12/24 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From Oli@21:3/102 to tenser on Thu Jan 19 19:34:08 2023
    tenser wrote (2023-01-20):

    The problem with V8 is that it's
    jitting to native object code; so unless you've got a backend
    for that, it won't run on your platform.

    I'm a bit surprised there isn't a fallback to either a
    portable p-code or just straight-up interpreter.

    Java had the same problem until they added Zero (-assembler) JVM and the Shark JIT based on LLVM in 2009/2010. Unfortunately (and of course) Shark was removed in 2017.

    Go (go, the one written in Go) also does not support many old CPUs, but there is also gccgo and gollvm.


    â‚

    ---
    * Origin: War is Peace. Freedom is Slavery. Ignorance is Strength. (21:3/102)
  • From deon@21:2/116 to vorlon on Fri Jan 20 09:24:08 2023
    Re: enigma on M68K linux
    By: vorlon to Digital Man on Thu Jan 19 2023 12:03 pm

    Btw: would SBBS compile and work on M68K Linux?

    The chance of that might increase if there is already a Spider Monkey (Javascript Environment) available on M68K?



    ...ëîåï
    --- SBBSecho 3.15-Linux
    * Origin: I'm playing with ANSI+videotex - wanna play too? (21:2/116)
  • From Oli@21:3/102 to deon on Fri Jan 20 16:20:22 2023
    deon wrote (2023-01-20):

    Re: enigma on M68K linux
    By: vorlon to Digital Man on Thu Jan 19 2023 12:03 pm

    Btw: would SBBS compile and work on M68K Linux?

    The chance of that might increase if there is already a Spider Monkey (Javascript Environment) available on M68K?

    Which SpiderMonkey version is required? Wiki says 1.8.5 for 3.16 IIRC. Older versions are in Debian, newer versions don't build on m68k AFAIK.

    â‚

    ---
    * Origin: War is Peace. Freedom is Slavery. Ignorance is Strength. (21:3/102)
  • From deon@21:2/116 to Oli on Sat Jan 21 12:43:14 2023
    Re: enigma on M68K linux
    By: Oli to deon on Fri Jan 20 2023 04:20 pm

    Which SpiderMonkey version is required? Wiki says 1.8.5 for 3.16 IIRC. Older versions are in Debian, newer versions don't build on m68k AFAIK.

    I think 1.8.5 IIRC.


    ...ëîåï
    --- SBBSecho 3.15-Linux
    * Origin: I'm playing with ANSI+videotex - wanna play too? (21:2/116)
  • From Oli@21:3/102 to deon on Sat Jan 21 17:59:16 2023
    deon wrote (2023-01-21):

    Re: enigma on M68K linux
    By: Oli to deon on Fri Jan 20 2023 04:20 pm

    Which SpiderMonkey version is required? Wiki says 1.8.5 for 3.16
    IIRC. Older versions are in Debian, newer versions don't build on
    m68k AFAIK.

    I think 1.8.5 IIRC.

    That is a really old version.

    I was convinced that there is an older libmozjs version for m68k in Debian, but now I'm not finding any. Newer SpiderMonkey versions have Rust as a build dependency, which is also not available in Debian as a binary package (LLVM has a m68k backend though).

    Maybe JavaScript is jut not meant to run on old platforms ;).
    (I'm sure on day there will some nodejs compatible runtime, that also would work on m68k. Bun seems promising).

    â‚

    ---
    * Origin: War is Peace. Freedom is Slavery. Ignorance is Strength. (21:3/102)
  • From vorlon@21:1/195.1 to tenser on Sun Jan 22 10:32:18 2023
    I've read that some or all ARM chips can be switched to work in
    either mode.

    In fact, many of them can select at right-time, by setting
    a bit in a control register. It can even vary based on the
    target of a branch.

    That's what I read, but it didn't say what model/version...



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From vorlon@21:1/195.1 to tenser on Sun Jan 22 10:35:30 2023
    On 19 Jan 2023 at 12:03p, vorlon pondered and said...

    Btw: would SBBS compile and work on M68K Linux?

    I don't see why it wouldn't, provided you can find a recent
    enough OS and toolchain. The problem with V8 is that it's
    jitting to native object code; so unless you've got a backend
    for that, it won't run on your platform

    I'm running the following, and as others have now posted java/javascript
    is the limiting factor now.

    Linux m68k 6.1.0-1-m68k #1 Debian 6.1.4-1 (2023-01-07) m68k GNU/Linux
    "Debian GNU/Linux bookworm/sid"



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From vorlon@21:1/195.1 to Oli on Sun Jan 22 10:44:04 2023
    Hi Oli,

    I'm glad you did. I was not aware that nodejs / V8 is so damn picky
    about the CPU. I thought it would compile on any Linux / BSD. But unfortunately that is the way the web devs / companies are heading for

    Programmers have gotten sloppy, and lazy with all the new machines having
    Ghz cpu's and GB's of ram.

    They don't see why you want to run nodejs on legacy devices, especially
    not on very very old retro computers like an Amiga ;).

    My Amiga 2000 back in the day was my first "big" computer after the C64.
    I now have four Amiga's (A3000, A4000, A1200, A600) with the A3000 being
    my fav, and the only one that can run linux right now.

    For doing every day work though I use a Intel I5 PC!



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From vorlon@21:1/195.1 to deon on Sun Jan 22 10:46:14 2023
    Hi Deon,

    Btw: would SBBS compile and work on M68K Linux?

    The chance of that might increase if there is already a Spider Monkey (Javascript Environment) available on M68K?

    That is the limiting factor. I can't find it now, but remember a post on
    one of the mailing list's that java(something) won't compile/work on M68K linux.



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From Digital Man@21:1/183 to vorlon on Sat Jan 21 16:46:32 2023
    Re: enigma on M68K linux
    By: vorlon to Digital Man on Thu Jan 19 2023 12:03 pm

    Hello Digital Man!

    I've read that some or all ARM chips can be switched to work in
    either mode.

    Yeah, MIPS processors are like that too, but while in my experience
    most ARM systems run little-endian, most MIPS systems run big-endian.

    And it catches many people out... #-0)

    Btw: would SBBS compile and work on M68K Linux?

    Certainly not as-is (we don't fully support any big endian targets today). Is there a modern M68K system available (to buy) that'll run a modern linux?
    --
    digital man (rob)

    Synchronet "Real Fact" #94:
    Synchronet v3.16c was released in August of 2015 (5 years after v3.15b)
    Norco, CA WX: 63.5øF, 28.0% humidity, 0 mph ESE wind, 0.00 inches rain/24hrs --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (21:1/183)
  • From Digital Man@21:1/183 to tenser on Sat Jan 21 16:47:44 2023
    Re: Re: enigma on M68K linux
    By: tenser to Digital Man on Fri Jan 20 2023 04:38 am

    All PPC, most MIPS and some ARM systems are big-endian.

    Believe it or not, LE PPC exists!

    So I hear! :-)
    --
    digital man (rob)

    Rush quote #74:
    A modern-day warrior mean, mean stride, today's Tom Sawyer, mean, mean pride Norco, CA WX: 63.5øF, 28.0% humidity, 0 mph ESE wind, 0.00 inches rain/24hrs --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (21:1/183)
  • From Digital Man@21:1/183 to Oli on Sat Jan 21 16:53:08 2023
    Re: enigma on M68K linux
    By: Oli to deon on Fri Jan 20 2023 04:20 pm

    The chance of that might increase if there is already a Spider Monkey (Javascript Environment) available on M68K?

    Which SpiderMonkey version is required? Wiki says 1.8.5 for 3.16 IIRC. Older versions are in Debian, newer versions don't build on m68k AFAIK.

    Synchronet's still using libmozjs (SpiderMonkey) v1.8.5.
    --
    digital man (rob)

    Rush quote #70:
    He's got a problem with his power, with weapons on patrol .. New World Man Norco, CA WX: 63.5øF, 28.0% humidity, 0 mph ESE wind, 0.00 inches rain/24hrs --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (21:1/183)
  • From Oli@21:3/102 to vorlon on Sun Jan 22 14:36:00 2023
    vorlon wrote (2023-01-22):

    I've read that some or all ARM chips can be switched to work in
    either mode.

    In fact, many of them can select at right-time, by setting
    a bit in a control register. It can even vary based on the
    target of a branch.

    That's what I read, but it didn't say what model/version...

    I don't know know about the very old ones, but AFAIK it's supported since ARMv4 (1993) in the CPU. This doesn't mean that every board and bootloader does support it.

    NetBSD 10 is available for Raspberry Pi 1/2/3/4 in big-endian. I have booted it on a Pi 1 and 2 without any problems.

    Emu68 (the one for the PiStorm) is using the big-endian mode for it's m68k emulation.


    â‚

    ---
    * Origin: War is Peace. Freedom is Slavery. Ignorance is Strength. (21:3/102)
  • From tenser@21:1/101 to vorlon on Mon Jan 23 08:20:28 2023
    On 22 Jan 2023 at 10:32a, vorlon pondered and said...

    In fact, many of them can select at right-time, by setting
    a bit in a control register. It can even vary based on the
    target of a branch.

    That's what I read, but it didn't say what model/version...

    It's an architectural feature. It's been around for
    quite a while. My ancient copy of the architecture
    reference manual from 2000 talks about it.

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From tenser@21:1/101 to vorlon on Mon Jan 23 08:21:44 2023
    On 22 Jan 2023 at 10:35a, vorlon pondered and said...

    On 19 Jan 2023 at 12:03p, vorlon pondered and said...

    Btw: would SBBS compile and work on M68K Linux?

    I don't see why it wouldn't, provided you can find a recent
    enough OS and toolchain. The problem with V8 is that it's
    jitting to native object code; so unless you've got a backend
    for that, it won't run on your platform

    I'm running the following, and as others have now posted java/javascript is the limiting factor now.

    Linux m68k 6.1.0-1-m68k #1 Debian 6.1.4-1 (2023-01-07) m68k GNU/Linux "Debian GNU/Linux bookworm/sid"

    That's a pretty recent Linux, all right. I don't see why
    the C++ bits wouldn't compile, but Digital Man would obviously
    know a lot more than me about this.

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From tenser@21:1/101 to Digital Man on Mon Jan 23 08:22:46 2023
    On 21 Jan 2023 at 04:47p, Digital Man pondered and said...

    Believe it or not, LE PPC exists!

    So I hear! :-)

    Ha! Yeah, sorry; non-threaded readers here and all of that. :-)

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From Oli@21:3/102 to Digital Man on Mon Jan 23 22:11:54 2023
    Digital wrote (2023-01-21):

    Is there a modern M68K system available (to buy) that'll run a
    modern linux?

    Depends on the definition of modern m68k. If it includes fast, available and easy to use, the only one that comes to mind is qemu-system-m68k.

    $ qemu-system-m68k -machine help
    [...]
    virt QEMU 7.2 M68K Virtual Machine (alias of virt-7.2)

    Real hardware? There are some FPGA solutions and a bare metal emulator on Raspberry Pi (Emu68, PiStorm). I doubt that they are a good solution for running Linux.


    â‚

    ---
    * Origin: War is Peace. Freedom is Slavery. Ignorance is Strength. (21:3/102)
  • From vorlon@21:1/195.1 to Digital Man on Tue Jan 24 09:10:16 2023
    Hi Dm,

    Btw: would SBBS compile and work on M68K Linux?

    Certainly not as-is (we don't fully support any big endian targets
    today). Is there a modern M68K system available (to buy) that'll run a modern linux?

    I didn't expect it to, and there's really no need for you to make changes
    just to cater for a very limited use case.

    There are no modern M68K system's, only ageing Amiga's! But yes Debian
    will run on them. Debain for M68K is in the "Testing" branch...



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From vorlon@21:1/195.1 to Oli on Tue Jan 24 09:13:10 2023
    Hi Oli,

    Emu68 (the one for the PiStorm) is using the big-endian mode for it's
    m68k emulation.

    That makes sense! Saves having to do a lot of extra work...



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From vorlon@21:1/195.1 to tenser on Tue Jan 24 09:16:14 2023
    Hi tenser,

    Linux m68k 6.1.0-1-m68k #1 Debian 6.1.4-1 (2023-01-07) m68k
    GNU/Linux "Debian GNU/Linux bookworm/sid"

    That's a pretty recent Linux, all right. I don't see why
    the C++ bits wouldn't compile, but Digital Man would obviously
    know a lot more than me about this.

    The java bits would be the issue, and the Bit-wise of the code in Sync.



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From vorlon@21:1/195.1 to Oli on Tue Jan 24 09:20:02 2023
    Hi Oli,

    Real hardware? There are some FPGA solutions and a bare metal emulator
    on Raspberry Pi (Emu68, PiStorm). I doubt that they are a good
    solution for running Linux.

    When I had a Mister, I gave running linux on the emulated amiga core a go,
    and it failed. The main one being the emulated CPU is only a 68020. The
    kernel dosn't even load.



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From tenser@21:1/101 to vorlon on Tue Jan 24 11:52:54 2023
    On 24 Jan 2023 at 09:16a, vorlon pondered and said...

    The java bits would be the issue, and the Bit-wise of the code in Sync.

    Synchronet uses Java? Or do you mean finding a suitable JavaScript
    engine? Those two are rather different. :-)

    I thought someone said that SpiderMonkey 1.8.5 was in the Debian
    package repos for 68k Linux?

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From Oli@21:3/102 to tenser on Tue Jan 24 00:23:02 2023
    tenser wrote (2023-01-24):

    The java bits would be the issue, and the Bit-wise of the code in
    Sync.

    Synchronet uses Java? Or do you mean finding a suitable JavaScript
    engine? Those two are rather different. :-)

    I thought someone said that SpiderMonkey 1.8.5 was in the Debian
    package repos for 68k Linux?

    I said that, but I was wrong.

    â‚

    ---
    * Origin: War is Peace. Freedom is Slavery. Ignorance is Strength. (21:3/102)
  • From tenser@21:1/101 to Oli on Wed Jan 25 04:24:28 2023
    On 24 Jan 2023 at 12:23a, Oli pondered and said...

    I thought someone said that SpiderMonkey 1.8.5 was in the Debian package repos for 68k Linux?

    I said that, but I was wrong.

    Ah. Too bad. I wonder how hard it would be to get it
    to compile.

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From vorlon@21:1/195.1 to tenser on Thu Jan 26 16:31:26 2023
    Ah. Too bad. I wonder how hard it would be to get it
    to compile.

    About this hard (This is the show stopper):

    make[4]: Entering directory '/home/vk3heg/sbbs/repo/3rdp/src/mozjs/js-1.8.5/js/src'
    jsoplengen.cpp
    jsanalyze.cpp
    In file included from jsval.h:48,
    from jspubtd.h:47,
    from jsprvtd.h:57,
    from jscntxt.h:55,
    from jsanalyze.h:45,
    from jsanalyze.cpp:40:
    jsutil.h:120:81: error: size -1 of array js_static_assert61 is negative
    120 | typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    |
    ~~~~~~~^~~~~~~~
    jscntxt.h:425:1: note: in expansion of macro JS_STATIC_ASSERT
    425 | JS_STATIC_ASSERT(sizeof(StackSegment) % sizeof(Value) == 0);
    | ^~~~~~~~~~~~~~~~

    In the directory /home/vk3heg/sbbs/repo/3rdp/src/mozjs/js-1.8.5/js/src
    The following command failed to execute properly:
    c++ -o jsanalyze.o -c -fvisibility=hidden -DOSTYPE="Linux6.1"
    -DOSARCH=Linux -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -DJS_HAS_CTYPES -DDLL_PREFIX="lib" -DDLL_SUFFIX=".so" -Ictypes/libffi/include -I. -I. -I. -I./dist/include -I./dist/include/nsprpub -I/usr/include/nspr -I.
    -I./assembler -I./yarr -fPIC -fno-rtti -fno-exceptions -Wall
    -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof
    -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long
    -std=gnu++98 -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3
    -w -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1
    -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsanalyze.pp jsanalyze.cpp

    make[4]: *** [config/rules.mk:1477: jsanalyze.o] Error 1
    make[4]: Leaving directory '/home/vk3heg/sbbs/repo/3rdp/src/mozjs/js-1.8.5/js/src'
    make[3]: *** [config/rules.mk:754: default] Error 2
    make[3]: Leaving directory '/home/vk3heg/sbbs/repo/3rdp/src/mozjs/js-1.8.5/js/src'
    make[2]: *** [GNUmakefile:79:../build/../../src/../3rdp/gcc.linux.m68k.release/mozjs/li
    Eror 2
    make[2]: Leaving directory '/home/vk3heg/sbbs/repo/3rdp/build'
    make[1]: *** [/home/vk3heg/sbbs/repo/src/sbbs3/../build/Common.gmake:526:
    js] Error 2
    make[1]: Leaving directory '/home/vk3heg/sbbs/repo/src/sbbs3'
    make: *** [GNUmakefile:152: sbbs3] Error 2



    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From tenser@21:1/101 to vorlon on Fri Jan 27 03:40:26 2023
    On 26 Jan 2023 at 04:31p, vorlon pondered and said...

    Ah. Too bad. I wonder how hard it would be to get it
    to compile.

    About this hard (This is the show stopper):

    [snip]
    jsutil.h:120:81: error: size -1 of array js_static_assert61 is negative 120 | typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]

    Clever; they're using the creation of an array of
    negative length as a means to force a error if some
    constant condition is not true at compile-time.

    425 | JS_STATIC_ASSERT(sizeof(StackSegment) % sizeof(Value) == 0);

    What this is saying is that the size of `StackSegment`
    is not a multiple of the size of `Value`. Let's see
    what those things are. `StackSegment` is a class that
    appears to contain mostly a bunch of pointers; its
    definition indicates it should be a multiple of 8-bytes
    in length, and one sees that there's a preprocessor
    conditional to add a padding word on 32-bit platforms
    (like 68k); see line 249 of `jscntxt.h`. I think the
    first thing I'd check is whether `JS_BITS_PER_WORD`
    is properly set to 32 in your build.

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From Digital Man@21:1/183 to vorlon on Tue Feb 7 20:57:20 2023
    Re: Re: enigma on M68K linux
    By: vorlon to tenser on Thu Jan 26 2023 04:31 pm

    Ah. Too bad. I wonder how hard it would be to get it
    to compile.

    About this hard (This is the show stopper):

    make[4]: Entering directory '/home/vk3heg/sbbs/repo/3rdp/src/mozjs/js-1.8.5/js/src'
    jsoplengen.cpp
    jsanalyze.cpp
    In file included from jsval.h:48,
    from jspubtd.h:47,
    from jsprvtd.h:57,
    from jscntxt.h:55,
    from jsanalyze.h:45,
    from jsanalyze.cpp:40:
    jsutil.h:120:81: error: size -1 of array js_static_assert61 is negative
    120 | typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    |

    Just use the libmozjs-1.8.5-dev package (or similar) that's included with the distro (if there is one), rather than trying to use/build the one included in the Synchronet git repo.

    And then you'd specify the JSINCLUDE and JSLIB options on the make command-line, as exemplified at http://wiki.synchro.net/howto:raspbian_install
    --
    digital man (rob)

    Rush quote #84:
    Looming low & ominous, twilight premature t-heads rumbling a distance overture Norco, CA WX: 60.5øF, 28.0% humidity, 2 mph W wind, 0.00 inches rain/24hrs
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (21:1/183)
  • From vorlon@21:1/195.1 to Digital Man on Wed Feb 8 20:49:12 2023
    Hi Digital Man,

    Ah. Too bad. I wonder how hard it would be to get it
    to compile.

    About this hard (This is the show stopper):

    make[4]: Entering directory
    120 | typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]

    Just use the libmozjs-1.8.5-dev package (or similar) that's included
    with the distro (if there is one), rather than trying to use/build the
    one included in the Synchronet git repo.

    There is none.... and this machhine is uptodate as of today...


    vk3heg@m68k:~/talisman$ sudo apt-get install libmozjs-1.8.5-dev
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    E: Unable to locate package libmozjs-1.8.5-devE:
    Couldn't find any package by glob 'libmozjs-1.8.5-dev'
    E: Couldn't find any package by regex 'libmozjs-1.8.5-dev'




    \/orlon
    aka
    Stephen


    --- Talisman v0.46-dev (Linux/m68k)
    * Origin: Vorlon Empire: Amiga 3000 powered in Sector 550 (21:1/195.1)
  • From Oli@21:3/102 to vorlon on Wed Feb 8 12:43:42 2023
    vorlon wrote (2023-02-08):

    Just use the libmozjs-1.8.5-dev package (or similar) that's included
    with the distro (if there is one), rather than trying to use/build the
    one included in the Synchronet git repo.

    There is none.... and this machhine is uptodate as of today...


    vk3heg@m68k:~/talisman$ sudo apt-get install libmozjs-1.8.5-dev
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    E: Unable to locate package libmozjs-1.8.5-devE:
    Couldn't find any package by glob 'libmozjs-1.8.5-dev'
    E: Couldn't find any package by regex 'libmozjs-1.8.5-dev'


    Name would be libmozjs185-dev, but this package has last been seen in Debian Stretch (oldoldstable):
    https://packages.debian.org/stretch/libmozjs185-dev

    What is interesting is that there is a "M68k-alignment-fixes.patch" in the Debian source package:
    https://packages.debian.org/source/stretch/mozjs

    Maybe it is possible to build it on m68k. Which of course needs Python 2.7 to build as a build dependency. So good luck with that... (Python 2.7 has been removed from Debian bookworm and most recent distros).

    Should we move the discussion to another echoarea? (FSX_BBS or SYNCHRONET in Fidonet)
    Or is better to not break the thread and keep it here, even if it's not about Enigma anymore?




    â‚

    ---
    * Origin: War is Peace. Freedom is Slavery. Ignorance is Strength. (21:3/102)