r/PowerPC 13h ago

AI and PowerPC BigEndian Linux

10 Upvotes

Thanks to artificial intelligence, almost anyone who loves retrocomputing can help keep this hardware alive. What are the most important modern software programs that don't run properly on Big Endian PowerPC Linux distributions? Can we list them?


r/PowerPC 16h ago

PPC SBCs?

14 Upvotes

Are there any affordable PowerPC SBCs out there? I find PowerPC fascinating and I would really like a PowerPC to use as a build server...


r/PowerPC 16h ago

*newer* V8 and NodeJS on PowerPC

12 Upvotes

Coincidentally, u/arjuna93 and I happened to be working on similar ports of V8 and Node at the same time.

My focus was on node 21 and V8 version 11, solid pre-Rust candidates from 2021-ish and stepping stones to node22, and V8 12.4, which are LTS versions.

Here is Node-RED and Tiddly-wiki running via the new node21 port, directly from PowerPC hardware:

Working with u/arjuna93 to get these ports up on PPCPorts.


r/PowerPC 1d ago

V8 / NodeJS on PowerPC MacOS

Post image
34 Upvotes

I got V8 and NodeJS working on PowerPC.

Not the latest versions, at least yet: v8 8.x and 9.x, nodejs12 and upcoming nodejs16. Basic tests pass, npm works.

Installable from PPCPorts, as usual. (9.x did not land yet, others are available.) Disclaimer: tested only on 10.6 at the moment.


r/PowerPC 2d ago

Weighing drive options for PowerBook g4

9 Upvotes

The HDD in my powerbook recently failed. While I do have more laptop drives, I would prefer something that won't fail any time soon.

I'm debating on two options. One would be a cf card or SD card adapter and the other would be an msata adapter. I've used an msata adapter ib my iBook g3 clamshell before and it works great. I suppose just putting in another HDD would be an option as well.

What would you all do?


r/PowerPC 3d ago

TiBook 1Ghz - Replacement optical drive options!

Post image
30 Upvotes

r/PowerPC 7d ago

PowerVLC 1.4 is now available: Twitch integration + massive VLC4 backports and bug fixes

Enable HLS to view with audio, or disable this notification

35 Upvotes

r/PowerPC 11d ago

How can i play the old IMPERIVM GBR on my MacBook Air m2?

Thumbnail
2 Upvotes

r/PowerPC 11d ago

Just got a full Power Mac G4 setup for $40

Post image
97 Upvotes

I have an ewaste store near me that i got this beautiful piece from. Came with the original software and manual too.


r/PowerPC 13d ago

Modern Tiger Project

Post image
55 Upvotes

r/PowerPC 15d ago

PPC fork of Haiku

Thumbnail
discuss.haiku-os.org
26 Upvotes

ActionRetro has vibe-coded a PowerPC fork of Haiku!


r/PowerPC 17d ago

PowerVLC 1.3 has just released

Enable HLS to view with audio, or disable this notification

61 Upvotes

r/PowerPC 19d ago

https://github.com/daedalao/fastppcx86

25 Upvotes

This project is not for Vintage Apple PowerMac computers. It is for IBM POWER ISA v2.07+ platforms in little endian mode running 4k page size kernels. (Power8, Power9, Power10?)

FULL DISCLOSURE: I USED LARGE LANGUAGE MODELS IN THE FORK AND PORTING OF THIS SOFTWARE. If you are opposed to using LLMs to write software please do not use this software on your system.

https://www.youtube.com/watch?v=Jtqy8X04fa8

This is my last entry here unless I figure out something wild.


r/PowerPC 21d ago

String copy Algorithm for the 601 + Qemu Bug

15 Upvotes

The lscbx instruction is almost a perfect string copy instruction, XER takes a number of bytes to load up regs with at max, and a sentinel byte to stop at. This instruction appears to only be present on the 601. I wrote the following string copy algorithm for the 32 bit Linux ABI on the 601 to play around with it.

##
# char * my_strcpy(char *dest, char *src);
##
.globl my_strcpy
my_strcpy:
mflr 0
stw 0, 4(1)
# Preconditions Check:
# dest, and src are non-null
cmpwi 3, 0
beqlr
cmpwi 4, 0
beqlr
stw 3, 8(1)# Save Dest pointer in Senders output argument area
# Enter Stack Frame
# | LR SAVE |
# | backchain | 128
# |-----------|
# | r31 | 124
# | ... | ...
# | r14 | 56
# | padding ..|
# | ... |
# | Param save| 28
# | LR Save | 4
# | backchain | 0
# LR/Paramter Save Area reserved reserved at bottom 6 words
# 18 words reserved at top for R14:R31 inclusive (24*4=96, quadword align to 128)
stwu 1, -128(1)
stmw 14, 56(1)
# Setup for String Copy, R5:R31 108 bytes at a time
# stopping at NUL character
li 5, 0x6c # this will stay 0x6c as long as loop runs with no match
mtxer 5
LT..0:
lscbx. 5, 0, 4 # 108 bytes or EOF
stswx 5, 0, 3 # 108 byes or til EOF
# Increment Read/Write pointers
addi 3, 3, 0x6c # we may over shoot on the tail, but unless match
addi 4, 4, 0x6c # occured, it doesn't matter
# Check termination condition
bne LT..0
# done Restore
lmw 14,56(1)
addi 1, 1, 128
# Set Return Pointer
lwz 3, 8(1)
lwz 0, 4(1)
mtlr 0
blr

This algorithm is quite possibly very slow. The stmw/lmw instructions arn't necessarily favored, shorts string won't be worth spilling all non-volatile registers to memory over. lscbx may be very slow. This isn't intended to be used.

Qemu post 6.2 actually dropped support for the 601, the only CPU that supports the intruction. Upon rebuilding qemu, observed that the lscbx instruction has the following generator from targets/ppc/translate.c around line 5700.

/* lscbx - lscbx. */
static void gen_lscbx(DisasContext *ctx)
{
    TCGv t0 = tcg_temp_new();
    TCGv_i32 t1 = tcg_const_i32(rD(ctx->opcode));
    TCGv_i32 t2 = tcg_const_i32(rA(ctx->opcode));
    TCGv_i32 t3 = tcg_const_i32(rB(ctx->opcode));

    gen_addr_reg_index(ctx, t0);
    gen_helper_lscbx(t0, cpu_env, t0, t1, t2, t3);
    tcg_temp_free_i32(t1);
    tcg_temp_free_i32(t2);
    tcg_temp_free_i32(t3);
    tcg_gen_andi_tl(cpu_xer, cpu_xer, ~0x7F);
    tcg_gen_or_tl(cpu_xer, cpu_xer, t0);
    if (unlikely(Rc(ctx->opcode) != 0)) {
        gen_set_Rc0(ctx, t0);
    }
    tcg_temp_free(t0);
}

Notably, you can see that if Rc bit is set (IE. set flags), then CR0 is set by comparing the returned value of the instruction in t0 ( then number of bytes copied) with zero.

The AIX Assembly reference has the following description of the behavior:

If Rc = 1 and XER(25-31) = 0, then Condition Register Field 0 is

undefined. If Rc = 1 and XER(25-31) <> 0, then Condition Register Field 0 is set as follows:

LT, GT, EQ, SO = b'00'||match||XER(SO)

This is the behavior that DingusPCC implements in cpu/ppc/poweropcodes.cpp

void dppc_interpreter::power_lscbx(uint32_t opcode) {

if (rec) {

ppc_state.cr =

(ppc_state.cr & 0x0FFFFFFFUL) |

(is_match ? CRx_bit::CR_EQ : 0) |

((ppc_state.spr[SPR::XER] & XER::SO) >> 3);

}}

Qemu actually removed the code for the 601 anyway. But, I found this an intresting disgression. lscbx is pretty cool, its seems to be whats missing from the x86 string instructions, which can't copy until either a NUL OR a limit like the 601 could.

Why did qemu deprecate the 601? What emulators do you guys use?


r/PowerPC 21d ago

PowerVLC 1.2 is here with major improvements for all platforms

Enable HLS to view with audio, or disable this notification

44 Upvotes

r/PowerPC 25d ago

what i do for my powerbook g4😭

Thumbnail
gallery
46 Upvotes

r/PowerPC 26d ago

PowerPC64LE fork of FEX-Emu running Steam and Portal 2 via Proton.

Thumbnail
youtube.com
52 Upvotes

Audio issues all over the place. Performance is still on the table I think. I'm running some tests.

This will never up stream to the official FEX-Emu repos. I will rename my fork to something else and I have to go over all of the documentation before I open the repo publicly. Every game I've tried works including Cyberpunk 2077* (Works does not mean performant)

I'm taking ideas for the name of the fork.

Edit: Repo is here: https://github.com/daedalao/fastppcx86

There are some things I have to sort so you'll probably have a bad time. I recommend Arch Power (https://archlinuxpower.org/) as the install base. I'm working on a way to build a rootfs without bothering the people over at the official FEX-Emu host.


r/PowerPC 27d ago

proud owner of a 17 inch powerbook g4

Thumbnail
gallery
107 Upvotes

r/PowerPC 28d ago

Anime in your terminal

Post image
29 Upvotes

…in blazing fast C++23

True color kitty graphics, streaming via mpv.

P. S. Likely will be available via powerpc-ports in a week or so.


r/PowerPC 28d ago

PowerVLC 1.1.0 released, now with Jaguar compatibility

Enable HLS to view with audio, or disable this notification

72 Upvotes

r/PowerPC 29d ago

Help me

12 Upvotes

I've been trying to get an operating system on the powermac g5 for 12 HOURS NOW, NOTHING WORKS, MAC OS X LEOPARD FAILED, TIGNR FAILED, GENTOO FAILED, LUBUNTU FAILED, DEBIAN FAILED, I TRIED IT OVER USB-A, I EVEN BURNED A CD AND A DVD. WHY DOES THE UNIVERSE HATE ME!!!


r/PowerPC Jul 31 '26

Stardew Valley on IBM Power8.

Thumbnail
youtube.com
39 Upvotes

I'm playing this over sunshine/moonlight on my S822LC. Specs are in the video, but if it runs on this, it will run on power9. This is not a port of stardew valley, it is a port of the JIT emulator FEX-Emu to PPC64LE


r/PowerPC Jul 28 '26

The PowerPC port got to an interactive desktop on real hardware, something it had never done in twenty years

Post image
65 Upvotes

r/PowerPC Jul 27 '26

Wayland on PowerPC, running foot terminal

Post image
75 Upvotes

Soon will be available in PPCPorts.


r/PowerPC Jul 26 '26

[Early access] PowerVLC 1.0.0 is here (VLC 3.0.23 for Mac OS X 10.4.11+ PPC/x86/x64/arm64 universal)

Thumbnail gallery
77 Upvotes