GP2X Any News Devs On Hh??


NeOCidE

Still Fresh
Joined
Oct 4, 2005
Messages
65
Just wondering how HH is coming along?? Do you think we will see quite an overall speed difference?

Also, when is the firmware likely to be released??

thx in advance.
 
It'll be released when it's finished (or more accurately, when it works :) )

HH just means progs that run without linux in the background. It was a temporary TLA, but it seems to have stuck :eek:
 
It'll be released when it's finished (or more accurately, when it works :) )

HH just means progs that run without linux in the background. It was a temporary TLA, but it seems to have stuck :eek:
I'm curious, if UBoot does not support SD cards, how are you loading the code? If you're doing something like exploiting a buffer overflow to cause Linux to crash in a predictable way with the CPU in supervisor mode, won't a kernel fix break HH mode? (of course, once we have the Linux souce, you can just add a gp2x-specific system call that causes Linux to shut down and jump to a given address, making Linux into the world's biggest bootloader :))
 
Last edited by a moderator:
It'll be released when it's finished (or more accurately, when it works :) )

HH just means progs that run without linux in the background. It was a temporary TLA, but it seems to have stuck :eek:
I'm curious, if UBoot does not support SD cards, how are you loading the code? If you're doing something like exploiting a buffer overflow to cause Linux to crash in a predictable way with the CPU in supervisor mode, won't a kernel fix break HH mode? (of course, once we have the Linux souce, you can just add a gp2x-specific system call that causes Linux to shut down and jump to a given address, making Linux into the world's biggest bootloader :))
There is already a nice way to execute raw binaries from linux.. it does not use any particular exploit, just uses existing linux system calls to modify exception vector on fly, load the code and then cause a reset.. work very well.

Also.. U-boot will be replaced with something more HH dev friendly.. when stuff is finished.
 
Last edited by a moderator:
dev boards allow developers to upload code directly to ram and run it before linux is loaded (thanks to uboot). Retail 2x's don't support this, so we have a trampoline, which basically loads code into ram, modifies the reset vector, and then resets the processor :)
 
What's the status of HH? (does it have any webpage?)
How long do you think we'll have to wait until we can see a first beta?
 
What's the status of HH? (does it have any webpage?)

The status is, work in progress. No webpage to my knowledge, code is just flying between the various OP's in the IRC channels, mostly Squidge, DJWillis, Rob etc... there is a linux program that kills linux and runs a HH program in a specific place, but I'm not posting it as I don't think it's meant to be public :)

How long do you think we'll have to wait until we can see a first beta?

When the possibility of killing your SD card and/or GP2X is as minimal as possible most likely and when its actually useable ;)
 
Last edited by a moderator:
i thnk HH stands for hardware hardcore right? i think that it could be useful for sure
 
dev boards allow developers to upload code directly to ram and run it before linux is loaded (thanks to uboot). Retail 2x's don't support this, so we have a trampoline, which basically loads code into ram, modifies the reset vector, and then resets the processor :)
Interesting, I would have thought that the Linux security model wouldn't let usermode apps mess with system vectors (in the less-secure Windows model, you need to be a device driver to be able to do that). Or is this something that's allowed on embedded Linux because the environment is closed and you don't need to worry about anyone r00ting your box?
 
Last edited by a moderator:
Linux still has the standard security model, but considering the fact that the gp2x has no networking, and your not likely to be running any services anyway, all programs are run as root. Due to this, programs can mmap physical memory into a virtual memory space usable by the current program, then play as much as they like :)
 
Linux still has the standard security model, but considering the fact that the gp2x has no networking, and your not likely to be running any services anyway, all programs are run as root. Due to this, programs can mmap physical memory into a virtual memory space usable by the current program, then play as much as they like :)
I see, very nice :)

So, what we need then is a program that uses that technique, that can be called very early from the Linux init script, which looks for some magic cookie in the inserted SD card (eg a file called autorun.gpe), loads it, and runs that in HH mode (hehe, this reminds me of the old DOS 'enter protected mode' routine). The reason why we want the program as early as possible is to keep boot time down to the smallest necessary. The downside is that people would need to "flash" their gp2xs to do this (adding the new binary and modifying stuff in init.rd), but considering the large number of PG32s running custom firmware I don't see that as being a problem ;)
 
Last edited by a moderator:
codesmith, we are already doing that, but not from early on in the linux init script, more like before the linux kernel is even loaded. After all, no point loading the kernel if your not going to use it :)
 
codesmith, we are already doing that, but not from early on in the linux init script, more like before the linux kernel is even loaded. After all, no point loading the kernel if your not going to use it :)
Squidge, I disagree with you here. I think it is important to allow the 2X to boot normally to the main menu before running an HH game. It's important to give the user normal continuity of usage and appear to be just another game that you launch from the game menu. What they'll run is actually a launcher that does the reset vector trick to run the actual game. When they choose to quit, the game should do the soft-reboot that causes the kernel to be reloaded from flash and booted, thus getting the user back to the main menu.

I don't think it is important to be able to boot from the SD at all since most users will likely not opt to flash their units before playing games that require it. By using the reset vector trick, you don't burden the user with having to do anything unusual before playing your game.

I hope some of the commercial titles utilize the reset vector trick so that GPH doesn't have the option to break it with a future firmware update.

BTW, someone suggested that HH == Hardware Humping. That's my favorite so far :D

EDIT: mispelled Squidge's name.
 
Last edited by a moderator:
MiniMoose: Don't worry, it'll be optional :) It's possible to load an app from Linux that'll reboot, or run the same app from the SD loader. It's upto people whether they want to reflash there units (if they do they'll save about 30 seconds per reset, or whatever the boot time of Linux is now). All devvers have to do is place the Linux Trampoline with there program.

I think that's certainly the best way - SD loader for the people who want it, and a Linux loader for those that don't.

Later on, the LT may change to turn into a file selector instead of one for each app, but like everyone says - things are still in development, so nothings in concrete.
 
Back
Top