Git Product home page Git Product logo

Comments (17)

WinterMute avatar WinterMute commented on July 26, 2024 1

I have this in my unsorted downloads: devkitGP2X_buildscript.tar.bz2. I can upload this if you want me to. Downloaded in Jan 2022.

They're still on openhandhelds.org at the link I posted earlier - https://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,40,0,0,13

from buildscripts.

WinterMute avatar WinterMute commented on July 26, 2024

Can you give us an example of what you're trying to do?

from buildscripts.

irixxxx avatar irixxxx commented on July 26, 2024

e.g. framebuffer management: https://github.com/irixxxx/libpicofe/blob/master/linux/fbdev.c (sry, other platforms)
or sound handling: https://github.com/irixxxx/libpicofe/blob/master/linux/sndout_oss.c

from buildscripts.

WinterMute avatar WinterMute commented on July 26, 2024

e.g. framebuffer management: https://github.com/irixxxx/libpicofe/blob/master/linux/fbdev.c (sry, other platforms) or sound handling: https://github.com/irixxxx/libpicofe/blob/master/linux/sndout_oss.c

This is Linux code. devkitARM is a bare-metal toolchain targeting game consoles. There's no practical way for us to support this use case, sorry.

from buildscripts.

irixxxx avatar irixxxx commented on July 26, 2024

Pity. I came up to the point where Picodrive fully compiles, but linking fails with this one function missing. And from a look at libsysbase I'd say I have no possibility to supply it easily myself without meddling with the source code.
What is libsysbase mapping its calls to, if not onto the linux syscalls?

from buildscripts.

WinterMute avatar WinterMute commented on July 26, 2024

Pity. I came up to the point where Picodrive fully compiles, but linking fails with this one function missing. And from a look at libsysbase I'd say I have no possibility to supply it easily myself without meddling with the source code. What is libsysbase mapping its calls to, if not onto the linux syscalls?

It depends on the console being targeted but none of them run linux.

libsysbase isn't mapping its calls to anything, it's an interface layer we built that our libraries use to provide low level functionality in newlib which enables stdio and pthreads in some cases. It's designed to provide enough posix compatibility for many things to compile OOB.

Which console are you trying to build picodrive for?

from buildscripts.

irixxxx avatar irixxxx commented on July 26, 2024

I'm trying to buid a GP2X version. I was thinking of swapping out the old gcc 4.x toolchain, hoping for a possibility to compile picodrive with a recent version of gcc.

I can't however just use a newer version of gcc since the GP2X has no fpu and needs to use softfloat. Although it's called softfloat, gcc was still using the fpu setting to determine how parameters are to be passed in registers. Default up to gcc 4.7 was somehow -mfpu=fpa, which has swapped halves in its register values. That was however removed in gcc 4.8, hence older softfloat compiled libraries can't usually be used anymore with newer versions of gcc. Which means I couldn't use the original SDK libraries (or the open2x ones FWIW) anymore :-/ .

from buildscripts.

Orkie avatar Orkie commented on July 26, 2024

I think you'll struggle to build code to run inside Linux with anything other than the old open2x toolchain binaries I put together 15 years ago. The Linux threading model changed after 2.4 (the only kernel version supported on the GP2X), and support for the old model was removed from glibc a very long time ago. You can't even compile some of the older versions of binutils/gcc on modern Linux distros as the old code won't compile on modern versions of gcc.

If you want to do GP2X development on a modern environment, I suspect your best bet is to port picodrive to Orcus. I've a feeling it probably hit most of the hardware directly anyway and ended up working around Linux more than being helped by it. It has been ported to many different platforms since, so it presumably can't be too tied to the original GP2X Linux setup?

from buildscripts.

irixxxx avatar irixxxx commented on July 26, 2024

Sorry for this now getting rather off-topic and very Picodrive specific.

I think you'll struggle to build code to run inside Linux with anything other than the old open2x toolchain binaries I put together 15 years ago. The Linux threading model changed after 2.4 (the only kernel version supported on the GP2X), and support for the old model was removed from glibc a very long time ago. You can't even compile some of the older versions of binutils/gcc on modern Linux distros as the old code won't compile on modern versions of gcc.

Yes, that's well known. Picodrive isn't using threads though, hence I was hoping I could get away with it.

If you want to do GP2X development on a modern environment, I suspect your best bet is to port picodrive to Orcus.
I've a feeling it probably hit most of the hardware directly anyway and ended up working around Linux more than being helped by it. It has been ported to many different platforms since, so it presumably can't be too tied to the original GP2X Linux setup?

This might just be much ado for little gain. I reckon very few people would use it on a GP2X nowadays, apart from me still using it as a testbed for a slow CPU.

The reason I raised this is because I'm currently in the process of moving the build process into github actions. The problem here is that for that I'd need the toolchains and their associated libraries as binary downloads, at some place where they are available for a long period of time. I was unable to find this for the open2x toolchain (open2x.org is apparently dead) and thus was looking for a way to replace them. Or is this toolchains still available somewhere?

from buildscripts.

Orkie avatar Orkie commented on July 26, 2024

Unfortunately you need a libc to build a toolchain, for better or for worse all the GP2X stuff uses glibc. I had a play around with compiling an old version on a new gcc but it would've been such a large undertaking I gave up - somebody has put together a rough guide for doing it: https://www.lordaro.co.uk/posts/2018-08-26-compiling-glibc.html

I think this (http://www.open2x.org/open2x/toolchains/arm-open2x-linux-apps-gcc-4.1.1-glibc-2.3.6_i686_linux.tar.bz2.zip) link is available on archive.org, but I'm not sure if that'll help you. You could always mirror it somewhere.

As you say, it may just be too much work if you're trying to do something practical.

from buildscripts.

WinterMute avatar WinterMute commented on July 26, 2024

There was a "devkitGP2X" at one point that I'd completely forgotten about. I might see if that can be reconstituted somewhere depending on how much work it is.

There was an archive here at one point but looks like that's missing. Don't suppose you have that squirreled away somewhere @Orkie?

from buildscripts.

WinterMute avatar WinterMute commented on July 26, 2024

the open2x toolchain is at https://web.archive.org/web/20181112050705/http://www.open2x.org/open2x/toolchains/arm-open2x-linux-apps-gcc-4.1.1-glibc-2.3.6_i686_linux.tar.bz2.zip (also it appears to be just a tar.bz2 & not a zipped .tar.bz2 as the naming makes it appear)

from buildscripts.

WinterMute avatar WinterMute commented on July 26, 2024

Aha. Found this https://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,40,0,0,13 which might potentially be useful

https://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,40,0,0,13

from buildscripts.

irixxxx avatar irixxxx commented on July 26, 2024

I got this from the CI in my repo, courtesy by notaz: http://notaz.gp2x.de/downloads/gp2x/devkitGP2X_small.tar.xz, in case this is what you're looking for?

from buildscripts.

irixxxx avatar irixxxx commented on July 26, 2024

@Orkie in case you still have the files needed to create the open2x toolchains, building them in an older ubuntu and updating to gcc >= 4.8 would be enough to use the resulting libraries with a newer gcc. As far as I can see it's only the incompatibilies of the float abi which prevents this.

from buildscripts.

WinterMute avatar WinterMute commented on July 26, 2024

I got this from the CI in my repo, courtesy by notaz: http://notaz.gp2x.de/downloads/gp2x/devkitGP2X_small.tar.xz, in case this is what you're looking for?

hehe, I wrote the original scripts many moons ago and even provided windows binaries for some people who wanted them. This was long before I started using pacman to distribute the tools & libs we provide.

from buildscripts.

irixxxx avatar irixxxx commented on July 26, 2024

I have this in my unsorted downloads: devkitGP2X_buildscript.tar.bz2. I can upload this if you want me to. Downloaded in Jan 2022.

from buildscripts.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.