News

Powder (Build 101) (GBA Game)

POWDER is a roguelike game, which is not a port of an existing roguelike. It is built around replayability and long term ergonomics, not short term learning.

Changes:

Before I go any farther, I have corrected the spelling of recieve in Klaskov’s description. (Rapacity)
“Adventuring can make onE hungry…” (TemporalParadox)
Items will fall down holes and be teleported by teleport traps. (Patch by Richard Quirk)
Transparent spelled properly in Options menu (Michael Brough)
Identify spell takes effect after inventory is cleared so you won’t end up with the new name of the item clipped.
Leaving the inventory by pressing the Inventory Icon will no longer consume a turn.
The classic font has two pixel corrections (Markus Maier)
You now have a choice of five different fonts, four of which have been crafted by Markus Maier. Default is one of his – a shadowed variant of the default font.
You are now prompted to enter the dimensional portal when you step on it, avoiding issues where people didn’t know they needed to climb into it.
Loading a game that was saved with a from-disk tileset when you no longer have a valid from-disk tileset will no longer crash. (Markus Maier)
If you are petrified while possessing a creature, you automatically release possession (with system shock) rather than ending the game. (wings)
Uninitialized memory caused all creatures to be very noisy after a load, allowing you to sense them with H. (Deozaan)
In memory of Nick Sabo’s lost character, there is now an Option to Collapse the dungeon. This destroys all non-quest items on the floor of levels other than your own. Debug Info has been augmented to report your total item usage. This can be used to avoid memory problems on the GBA pending an auto-collapse mode. (Nick Sabo)
50% bonus to food value when eating corpses when you have the Butchery skill (Derek Ray)
“The spear falls into the water” now has a period at the end.
When you pray your current god is reported. (Brendan)
When you load a game or gain a level as a Cultist you will receive the behaviour hint. (Beefhaze)
Description of Soul Suck spell now uses amnesic rather than amnesiac as it is an adjective, not a noun.
A new pointed medium weapon: Rapiers. (Terje Bo)
You can now choose your gender at character creation. (Bridget Farace, Irashtar)
Amnesia inflicted from soul suckers will end a few turns after the soul sucker is killed.
New skill: Disarm.
A bad pointer cast has been removed, hopefully will compile on 64 bit platforms now. (elcugo)
The free spell slots and skill slots of creatures is no longer there hit and magic dice. Instead it is a much lower number. This greatly reduces the effectiveness of polymorphing into an Iron Golem as you won’t have enough skill/spell slots to effectively use the new form.
You can no longer use teleport control to teleport into Belweir’s Library. (Derek Ray)
Created a Wish action which is useful for debugging.
Hitting up at the top of the inventory will bring you to the bottom of the previous column, and vice versa. This lets you iterate over your inventory by only hitting a single button. (Tim Allen)
[Windows]: Updated my SDL that I distribute to SDL 1.2.13 which hopefully fixes problem people have on Vista. (Zeb)

This article is over 2 years old — the linked page may have changed, moved, or been taken over since then.

An iPhone scene thank you (iPhone misc)

Most webmasters or organizers of big projects usually get a minumum of feedback , sometimes people even get a harsh rant for their community work – exactly this happened to Ste, who manages one of the biggests iPhone repros out there.

Quote:

>From: Josh xxx
>To: รขโ‚ฌล“ste@xxx.xxxรขโ‚ฌย
>Subject: Your packages
>Date: Sat, 16 Feb 2008 23:51:18 -0600
>
>How about you quit boohooing and update your damn packages.

My reply:
“How about you (bad word) off and die, (bad word).รขโ‚ฌย

-ste

No one is forcing someone to use and enjoy a free service, what is your opinion?

Discuss here: //phpbb/viewtopic.php?f=49&t=416

This article is over 2 years old — the linked page may have changed, moved, or been taken over since then.

NEO Spring Coding Contest 2008 (misc)

As every year, here is another “Spring Coding Contest” organized by the creators of the NEOFLASH products.

Deadline is the 20th March 2008 and GBA, NDS and PSP entries are allowed.

Prizes:

The No.1 : US$300 cash , OR choose anyone item from the final NEO product prize list.
The No.2 : US$200 cash , OR choose anyone item from the final NEO product prize list.
The No.3 : US$100 cash , OR choose anyone item from the final NEO product prize list.
The No.4 to No.10 : can choose anyone item from the final NEO product prize list.
The top 6 NEO Professional Reviewers (3 from NDS/GBA division and 3 from PSP division) can choose anyone item from the final NEO product prize list.

Head over to the Neoflash pages for the full “NEO Spring Coding Contest” details and good luck!

Personal sidenote:
If hughe commercial companies keep on colliding with competitions organized by non commercial pages, this might be the last one from us – as I can not keep up on such a level. Personaly I found the announcement quite rude, as it fully collides with the current PDRoms Coding Competition ( //phpbb/viewforum.php?f=59 ) but nevertheless it’s no reason for me to not announce it. The prices are a lot more than PDRoms could ever offer as non commercial page, but we have less formal rules, as you don’t need to put a “PDRoms” splash screen anywhere if you don’t like to.

This article is over 2 years old — the linked page may have changed, moved, or been taken over since then.

A note to iPhone devers (iPhone misc)

Ste wrote this on his page:

Prior to the 1.1.3 firmware, everything was installed as, and ran as root. Following good UNIX practices, I installed apps with the following permissions: 755 for directories and executable files; 644 for all else. I held developerรขโ‚ฌโ„ขs to this standard, too.

Now, with 1.1.3, we have multiple, competing, dissimilar jailbreak methods. Owner and group settings are not consistent between them, nor do they behave the same. This is causing havoc for app developers and me. Some examples:

“Nate’s” jailbreak:
/var/mobile is a symbolic link to /var/root, which is owner:group root:wheel
Files installed under /var/mobile by Installer.app are created root:wheel
If you run รขโ‚ฌล“idรขโ‚ฌย as mobile, you get: uid 0 (root), gid 0 (wheel), groups 0 (wheel)
Applications run as root

ziphone jailbreak:
/var/root is root:wheel
/var/mobile is mobile:wheel
Files installed under /var/mobile by Installer.app are created root:wheel
If you run รขโ‚ฌล“idรขโ‚ฌย as mobile, you get: uid 501 (mobile), gid 501 (mobile), groups (501)
Applications run as mobile

“Official” jailbreak:
/var/root is root:wheel
/var/mobile is mobile:mobile
Files installed under /var/mobile by Installer.app are created root:mobile
If you run รขโ‚ฌล“idรขโ‚ฌย as mobile, you get: uid 501 (mobile), gid 501 (mobile), groups (501)
Applications run as mobile

Problem arise, as neither application developers, nor I, know which jailbreak method a user has chosen to use.

With รขโ‚ฌล“Nateรขโ‚ฌโ„ขsรขโ‚ฌย jailbreak method, the 755/644 permissions were still fine, as everything was owned by, and running as, root.
Then, to support the รขโ‚ฌล“Officialรขโ‚ฌย jailbreak method, I had to change the permissions on files and directories I installed under /var/mobile to 775/664. The files were owned by root and couldnรขโ‚ฌโ„ขt be written to by mobile. However, since their group ownership was mobile, I was able to get things working by allowing group write.

Now along comes ziphone. Files created by Installer.app under /var/mobile are owned by root and their group is wheel, but the appรขโ‚ฌโ„ขs owner and group when run are both mobile so even 775/664 wonรขโ‚ฌโ„ขt allow an app to write. Now I am forced to set those files and directories to 777/666 in order for things to work correctly.

So, even though Apple is trying to create privilege separation between the root and mobile accounts, I have to throw out all separation when it comes to what can write where, when it comes to anything under /var/mobile that I install via installer.app, if the app must write there.

This issue does not arise, however, for files and directories that an app creates under /var/mobile itself. Thatรขโ‚ฌโ„ขs because the appรขโ‚ฌโ„ขs running as mobile and creates the files and directories with the whatever uid/gid mobile has under that jailbreak.

Jailbreak developers need to standardize on what the correct uid/gid is for the mobile account and what account apps run as. Installer.app needs to make sure that when it creates files under an account, they they can actually be read by and written to by, that account.

Unfortunately, so many people have used the various jailbreaks that I canรขโ‚ฌโ„ขt stand my ground against users and developers and say รขโ‚ฌล“X jailbreak is the correct one, and the only one I will support.รขโ‚ฌย, because 1) I no longer know which is correct (does anyone? Whatรขโ‚ฌโ„ขs your proof?) and 2) even if I did, users and developers would be in an uproar if I refused to make it work for everyone, when I clearly can, just because itรขโ‚ฌโ„ขs not the right way to do it.

So, Iรขโ‚ฌโ„ขm left with the distasteful task of installing everything under /var/root or /var/mobile with world read/write.

Someone please fix this mess.
-ste

This article is over 2 years old — the linked page may have changed, moved, or been taken over since then.

TimeMachine v0.1 (PSP Application)

A new release from Dark_Alex is out – as usual when he’s involved it’s something very interesting.

From the readme:

The Timemachine is a program to load previous firmwares and custom firmwares from memory stick using pandora. Like devhook, but working throgh pandora and custom ipl’s, it would work even if the flash and nand ipl of the machine is destroyed.

The Timemachine is useful to run software that is not supported anymore, and also as a way of booting psp’s even if the internal firmware is destroyed. It can also be useful for developers to test their homebrew in different firmwares.

Currently the timemachine can install the following firmwares:

– Original 1.50 (can only be loaded on the phat)
– 1.50 with some 3.40 hw modules. Can be loaded on both, phat and slim.
– 3.40 OE (can only be loaded on phat)
– 3.60 M33 (can only be loaded on slim)

Rest of cfw will be added in the future.

Requeriments of time machine:
– The timemachine itself doesn’t require any firmware, only a pandora battery. Timemachine nand boot in slim, requires, however, 3.90 M33-2 or greater.
– The timemachine installer requires 2.71 SE or higher.

Instructions: Copy the TIMEMACHINE folder to /PSP/GAME and run.

All firmwares can be installed on whatever PSP (slim or phat), but they can only be used in the PS indicated in the option.

Explanations of options:
– Option 1: Install iplloader. This will install the timemachine iplloader in the memory stick. The iplloader is so small, that doesn’t require any mspformat to have been done before.

This step is necessary to run anything else. The iplloader of the timemachine is a multiipl loader that can load multiple ipl’s accorrding to key configurations found in the file /TM/config.txt (this file will be created by the timemachine installer).

The default configuration is to load the ipl’s with the following keys:
– 1.50: cross
– 1.50+3.40hw: circle.
– 3.40 OE: triangle.
– 3.60 M33: square
– Pandora/DC1-4 ipl (converted to TM format): digital up
– Anything else: will boot the firmware installed on flash.

(Note: as said before, in the slim, only nand firmwares with 3.90 M33-2 or higher can boot. Neither prvious CFW nor whatever original firmware can boot from nand when booted from a Pandora battery due to a Sony protection that has to be bypassed by the own nand ipl code).

You can modify this configuration following the instructions of the file config_readme.txt that will be written on the /TM folder after installing the iplloadder.

– Option 2: Convert pandora IPL into TimeMachine format.

Because the ipl used in pandora and DC1-DC4 (they are all same) is not compatible with the timemachine ipl format and user may want to load pandora/DC1-DC4 with the TM iplloader, this option is for that.

Requeriments: the ipl of pandora/DC1-DC4 in the root of the memory stick, named “msipl.bin”. This file is written by Pandora and DC1-DC4 installers.

After convertion, the converted ipl will be in /TM/pandora.bin.

– Option 3: Install 1.50.
It will install 1.50 which can only be run on the psp phat (for a 1.50 that can be installed on the slim go to the next section).

Requriments: the eboot.pbp of 1.50 in the root as 150.PBP

– Option 4: Install 1.50 with 3.40 HW modules. (PSP PHAT or SLIM). This will install a mix of 1.50 software modules with some 3.40 hardware modules, so it can work on the psp slim. It will usually run most 1.5 homebrew.

Requriments: 1.50 and 3.40 Sony eboot.pbp in the root renamed as 150.PBP and 340.PBP, and the 360.PSAR on the root too (to know what the 360.PSAR is, read below, in the 3.60 M33 installation section).

From 1.50 it will be extracted most modules, usually the software related ones. From 3.40, it will be extracted a few modules, usually hardware modules. From 3.60, it will only be extracted the wlan bios of the slim chip.

Known problems or considerations of the 1.50+3.40hw:

– The media doesn’t work fine in the XMB (music, videos, etc). Yeah, this is known, anyways the main purpose of this firmware is to run homebrew, as for XMB usage is better to use a more modern one.

– The “videocodec bug”, aka crappy pmf play, only happening in the slim. For some hw incompatibilty that coudln’t been resolved yet, pmf videos, including the gameboot, will play crappily in the slim.

This will happen also in 1.5 games you try to run, videos will play crappily.

Because PMPAVC videos also use the videocodec API, they will play crappily too. Normal pmp (xvid) (used on pimpstreamer too) will play fine however as they are decoded by cpu.

– The exit with home with “odd colors” bug. When exiting with home from a homebrew or game, you may see random colors at the end of the framebuffer. Nothing important, it even gives it an accidental stylistic look ๐Ÿ™‚

– The PC os may detect the PSP slim as a new device. This is normal, psp slim has a different product id (pid), but 1.5 usb driver uses only the old phat pid. Nothing important, the usb will work fine in the slim.

– Wlan. The wlan seems to be working, it has been tested using the network update download, and pimpstreamer 201 for 1.50.

However two things are recommended:
* Turn off the wlan power save.
* Use manual IP and DNS configuration (otherwise you may have DNS problems). If you don’t know the manual configuration for your router, just do an automatic connection in a higher firmware, and write somewhere the data that appear in the test page at the end, and use that info to fill the manual configuration in 1.50+3.40 hw.
* As in normal 1.50, there is no WPA support.

– Homebrew that uses some patching code over some of the module that are from 3.40, will not work and will probably crash. This is obvious, they were coded to patch 1.50 modules ๐Ÿ™‚

– Option 5: Install 3.40 OE.

It will install original 3.40 OE which can only be booted on the phat. Requeriments: 1.50 and 3.40 Sony eboot.pbp on the root as 150.PBP and 340.PBP

– Option 6: Install 3.60 M33.

It will install original 3.60 M33, that can only be run on slim.
Requeriments: 360.PSAR on the root.

Because there is no 3.60 eboot on the net as the slim was shipped directly with 3.60, the 360.PSAR is a file that has to be created on a psp running 3.60 M33.

To dump 3.60: run the program 360DUMPER that is in this release in a psp running 3.60 M33.

The result 360.PSAR is a file that uses the decrypted psar format (what a sce psar would look without encryption), that was already used in 3.51/3.52 M33, and it will have following size and md5 (checked anyways by the tm installer):

Size: 18189502 bytes.
MD5: EAA13343C70D9B0337C75B295474C69A

————-

Differences between running a firmware in the TimeMachine and a firmware in the flash.

Usually the time machine will run the firmware or cfw unmodified, including its original not critical bugs.

There are some exceptions:

– In 3.40 OE a critical bug regarding the configuration file descriptor not closed is fixed by the timemachine core patching the OE core in ram ๐Ÿ™‚
– The TA-086 brightness is fixed for everything that has a 1.50 kernel
– The 4th level of brightness (i cannot live without it) is enabled for whatever thing, either if it is done nativelly (3.40 OE, 3.60 M33) or by the timemachine code (1.50, 1.50+3.40hw).
– The signcheck is patched and the firmware is written unsignchecked, so it can be shared between different psp’s.
– 8 GB and greater memory sticks are enabled everywhere.
– 1.50 an 1.50+3.40hw can run not kxploited pbp’s too.
– Flash USB doesn’t work. This is normal, the flash usb uses the lflash block device, and in the timemachine that device is unnecesary and its implementation is a dummy one. Just use the normal memory stick usb, as the firmware is there ๐Ÿ™‚

Other considerations:

– Usually the firmware running the timemachine should have more free kernel memory than the normal one, because the lfatfs module is replaced by the timemachine core which should be using less memory.
– IF you see somewhere (probably in the browser) an error 0x80010018, this is because of too many files opened in the memory stick (as normal memory stick driver is shared with the pseudo flash one). The timemachine core tries, however, to minimize at maximum that this error happens.

– The Time Machine works faster if you install all firmwares you are gonna use after having formatted the memory stick, and then put everything else.

– When booting with a pandora battery in the nand firmware, remember that unless you change the battery, you will need the same memory stick to recover from sleep mode!

– Be sure to distinguish between TM bugs and OE/M33 bugs. For example, in 3.60 M33, if your iso running in March33 no-umd mode hangs at exit, that was a bug of 3.60 M33, not of the timemachine!

This article is over 2 years old — the linked page may have changed, moved, or been taken over since then.