I'm at Commodore Pacific Expo NW, in Seattle.

By the entrance, the last 4 issues of #AmigaFuture. The bundled CDs are inside. 

#Commodore #Amiga #retrocomputing #PaCommEx

The first thing that catches my eye is the brand new AmigaOne A1222 Plus system, a 1.2 GHz PowerPC board running AmigaOS 4.1. Yeah. 

I will come back to it later, this clearly deserves more time.

#amiga #amigaos #ppc #powerpc #a1222 #a1222plus

Unfortunately, on Sunday the #A1222plus became unbootable after I played with it for a while 😭

Since I was the last one touching it, all fingers were pointed at me, but I'm not sure how it happened. From the looks of it, it's some kind of filesystem corruption.

This is the last screenshot I took of #AmigaOS 4.1 FE running on the #A1222plus before wandering towards the other exhibits.

For someone who, like me, learned to code on the #Amiga, this would be a dream machine with upgraded hardware and tons of OS improvements.

#PaCommEx #retrocomputing

Several people came today to see a #A1222plus presentation, so I'm on the clock to make it boot again 👉😰👈

Robert Bernardo, owner of the board, handed me a recovery USB stick.

The printed manual shows how to drop into a boot menu which looks like the classic #Amiga Early Startup, but is actually running in #UBoot.

So I boot the live recovery USB and open an AmigaDOS shell to restore the corrupted locale.library...

#retrocomputing #amiga #amigaos

...but under time pressure, I accidentally copy the corrupt library from the HD to the USB stick, making both unbootable! ☠️

It takes me some time to figure out how to get to the real #AmigaOS boot menu, where I can disable the Startup-Sequence to fix the system from the initial CLI.

You still have to hold both mouse buttons as usual, but the USB mouse I was using had a flaky right button! 🤦‍♂️

#amiga #PaCommEx #A1222plus

Unfortunately, without Startup-Sequence the system boots to a black screen 😭

Perhaps the Radeon RX 550 requires updated RTG drivers which are not part of the #AmigaOS 4 Kickstart?

But there's actually no Kickstart ROM on the #A1222plus. Instead, #UBoot loads the OS modules from the SYS:Kickstart/ directory before handing off control to the OS.

This IntuitionBase article written in 2004 documents the #PowerPC #Amiga boot process:
https://intuitionbase.com/static.php?section=en_boot-configurations

IntuitionBase - Your Guide To AmigaOS4.x And The AmigaOne

Guide to AmigaOS and the AmigaOne

I found additional documentation on the #PPC #Amiga #UBoot in this 2019 article on the AmigaOne X5000, a close relative of the #A1222plus:
https://www.markround.com/blog/2019/01/02/backups-on-the-amiga-x5000/
Backups on the Amiga X5000

Happy New Year everyone! I’ve got big plans for my Amiga projects in 2019, but thought I’d start off the New Year with a blog post on a not-particularly “exciting” topic, but an important one nonetheless: Backups. As I am experimenting more with my X5000 and Amiga OS 4.1, I’ve been getting particularly “twitchy” that I didn’t have a solid backup/restore plan in place, particularly as some of my experiments will invariably go wrong and I’ll need a way to roll back my changes to a known-good state. I spent a few days researching and implementing a backup strategy that’s ideal for my needs and hopefully there will be something of use to other Amiga owners too.

markround.com

Since I'm stuck, I dump the broken recovery image on my Linux laptop to see if I can fix it.

The dump begins with the familiar Rigid Disk Block, the partition table format used by classic #Amiga systems.

With some manual fixes to the code, I got the venerable amiga-fdisk source to compile and run on my Linux laptop, but it seems unable to parse any RDB, including the known-good hard drive images that boot on my FS-UAE emulator.

So I fix my FS-UAE config to my m68k Amiga system, and...

...it recognizes the partition table in HDToolBox!

But I run into another issue: the first partition has type "NGF\x01" rather than FFSx for FastFileSystem or the more modern SFSx (SmartFileSystem).

Turns out it's a brand new filesystem with journaling and large-file support, the New Generation Filesystem:
https://wiki.amigaos.net/wiki/AmigaDOS_Vector-Port#New_Generation_File_System

AmigaDOS Vector-Port - AmigaOS Documentation Wiki

There's very little public information about NGFS, but it's clear that it won't mount on my emulated #Amiga, not without an m68k port. 😭

Moreover, NGFS uses a new API called Vector-Port, which was introduced in dos.library 53.77... which is the PowerPC-only #AmigaOS 4.1:
https://wiki.amigaos.net/wiki/AmigaOS_Versions

Years ago, I saw an experimental fork of QEMU with PPC Amiga support... but I'm running out of time to fix the main exhibit of #PaCommEx before they start wrapping up the show 😭😭😭

AmigaOS Versions - AmigaOS Documentation Wiki

Hey! I still have the original ISO of #AmigaOS 4.1 FE for my old Sam440, an early PPC #Amiga board by A-Cube Systems:
https://www.acube-systems.biz/index.php?page=hardware&pid=1

It's unlikely it will boot on the #A1222plus, but this point I'm getting desperate.

Aside for a couple of processes crashing, the old ISO boots fine on the new board. I get to the Workbench, open a new Shell window and...

> copy SYS:libs/locale.library AmigaHD:libs/locale.library

...FIXED! Just in time to pull the plug and leave the venue! 

ACube Systems Srl

There's still an unsolved mystery:

If U-Boot loads the OS from SYS:Kickstart/ , where did it find the Radeon RX how could my old AmigaOS boot image initialize the Radeon RX 550, the P1022 SATA controller and other hardware that didn't exist on the Sam440?

Perhaps AmigaOS 4.1 "Final" Edition (2014) already included support for the P1022, which was launched by Freescale / NXP in 2010? 🤔

#A1222plus #Amiga #AmigaOS

Or maybe #UBoot always loads some OS drivers from an on-board flash partition?

This would make a lot of sense: otherwise, U-Boot would require custom code to read Kickstart files from all Amiga filesystems, including the obscure NGFS!

Too bad I didn't think of taking screenshots of the ~2 pages of environment variables I saw in the U-Boot shell. Solving the mystery will have to wait until I get my hands onto another #A1222plus... or buy my own! 

@codewiz I planned to own one...10 years ago. I even bought that svelte red case that the early unit blogger had. But .. it took so long, and the FPU situation... I've lost my taste for it, sadly, I think.

I have a SAM440ep-Flex. I don't use it frequently and it's hard to justify the move from it to the Tabor.

-sigh-

@blakespot So painful. There were delays caused by litigation, availability of OS developers, covid, chip shortage...

@blakespot It's actually surprising that the A1222+ board finally went into production.

The next issue is that nowadays there's too little software development for the PPC Amiga lineage.

The new wave of low-cost, high-performance classic Amiga systems, both FPGA and software emulated, is more attractive for both users and developers.

The #m68k and 32-bit #PPC are both architectural dead-ends, but perhaps a super-fast m68k CPU like the Apollo 68080 makes more sense than trying to port AmigaOS to the current Power10 architecture.

https://www.apollo-computer.com/performance.php

That said, I think the A1222+ is a cool board, and I will try to get one for myself.

@blakespot

Explore the next-generation Amiga-compatible technology

We revive the Amiga with a clear roadmap. Learn more about how do we want to bring you Amiga back. Here is a complete list of our Vampire project goals. Today you can discover what matters to Amiga users around the world. We know how to make Amiga great again. Share your ideas with us and help to make that Amiga dream come true.

@codewiz That's quite possible, especially using flash storage (as the OS has no "flush and park" functionality as there's no "shutdown" sequence, so the OS might be finished writing, but the flash is still transferring from DRAM cache to flash in the background)

@anaerin Yes, but this updated version of AmigaOS 4.1 Final Edition + Enhancer uses a brand new journaling filesystem called NGFS.

More on it on my main thread...