Skip to content
Date: Time:
Commodore
Mister / Pi
Nintendo
YT-Tutorials
frankybyte
Tutorials, Hardware, Modding, Retrogaming,
Welcome, Log in by clicking  Here!
frankybyte
Tutorials, Hardware, Modding, Retrogaming,
  • Mister & FPGA
    • TangNano20k
      • TangNano Amiga
    • Triple Controller
    • SNAC2IEC
    • HD Gehäuse
    • NES – Mister Gehäuse
  • Mini Konsolen
    • A500 Mini
    • C64Mini
  • Raspberry Pi
    • Amibian update Amiberry
  • Retro-Konsolen
    • Nintendo
      • Nintendo GC Modchip
    • Atari
      • Atari Pluscard
      • Atari MultiCartridge
    • ColecoVision
      • Colecovision Picoleco
      • Colecovision AV MOD
  • Commodore 64
    • C64 Hardware
      • C64-> HD-64
        • C64-> HD-64 Troubleshooting
      • C64-> Freezer
      • C64 -> 1533 Tape
      • C64-> Datasette Rec & Play
      • C64->Tapuino
      • C64->Tapuino Anleitung
      • C64->PlayOnTape
      • C64->XUM1541v2
      • C64 ->XUM1541
        • XUMflashing
      • C64->1541rebuild
      • C64->MegaSwitcher
      • C64 -> Trackduino
  • Amiga
    • Amiga Software
      • Amiga -> Datenaustausch PC
      • Amiga -> AGS
      • Amiga -> Siedler 2 Easy Install
      • Amiga -> CF,SD,HD Clone
    • Amiga Hardware
      • Amiga -> a314cp Erweiterung
      • Amiga 1200 MouseFix
      • Amiga -> Plipbox NetWork
      • Amiga 1 MB Chip-Ram
      • Amiga -> Kickstart Adapter
      • Amiga -> Burn Kickstart
      • Amiga -> SD-Box
        • Amiga SDflash
      • Amiga -> ADF Copy
    • Amiga PiStorm
      • Amiga -> PiStorm Info’s
      • Amiga -> Emu68 Imager
      • Amiga -> FrameThrower
      • Amiga -> Siedler 2 Easy Install
  • Hardware
    • Joystick USB Umbau
  • Youtube Tutorials

TangNano20k – Amiga

Tang Nano 20k FPGA 

ein „echter Amiga“ 

FPGA Teil 1

FPGA Teil 2

FPGA Teil 3

FPGA Teil1

Amiga -> Tang Nano 20K: Einkaufsliste

Das alles braucht ihr für den Amiga auf dem Tang Nano 20K. „Produkt“ führt zu genau dem Artikel, den ich verwende. „Suche“ zeigt euch eine Auswahl, denn hier tut es fast jedes Modell.

Das Herzstück

  • Sipeed Tang Nano 20K – Suche bei Amazon
  • Raspberry Pi Pico (RP2040) – Suche bei Amazon
    Wichtig: der erste Pico mit RP2040, nicht der Pico 2. Ohne Löten: „Pico H“ mit fertigen Stiftleisten.
  • USB-C-Datenkabel – Suche bei Amazon
    Muss Daten übertragen können, ein reines Ladekabel funktioniert nicht.
  • microSD-Karte (32 GB) – Suche bei Amazon
    Formatiert als FAT32.

Eingabegeräte

  • USB-Tastatur (MediaRange Kompakt-Tastatur) – Produkt bei Amazon
  • USB-Maus – Suche bei Amazon
  • USB-2.0-Hub mit Schaltern – Produkt bei Amazon
    Damit Tastatur, Maus und Gamepad gleichzeitig am Pico hängen.

Joystick-Anschluss

  • 9-pol. Sub-D-Stecker (männlich) – Suche bei Amazon
    Ohne Löten: Sub-D-Adapter mit Schraubklemmen. Pin 7 (5 V) bleibt frei, der FPGA verträgt nur 3,3 V!
  • Dazu ein originaler Amiga- oder Atari-Joystick (9-polig)

Verkabelung & Aufbau

  • Jumper-/Flachbandkabel (Dupont) – Produkt bei Amazon
  • Breadboard-Kit (für den Aufbau ohne Löten) – Produkt bei Amazon

Was ihr sonst noch braucht

  • USB-A-Buchse als Platine (Breakout) für Tastatur/Hub am Pico – Suche bei Amazon
  • HDMI-Kabel und ein Monitor oder TV (Spielmodus an!) – Suche bei Amazon
  • USB-Netzteil 5 V (mind. 1 A) oder einfach den PC
  • Optional: Lötkolben, Lötzinn, Stiftleisten und Schrumpfschlauch

Amiga -> Tang Nano 20K: Software & Links

1. Hardware

  • Sipeed Tang Nano 20K – offizielles Wiki (Pinout, Datenblätter)
  • Raspberry Pi Pico (RP2040) als USB-Companion für Tastatur & Maus

2. Der Amiga-Core

  • NanoMig – Amiga-Core (Projektseite & Anleitung)
  • NanoMig – Downloads (Releases) – im Video verwendet: v0.15-beta, Datei NanoMig_1200_v0.15.bin

3. Flash-Werkzeuge (Windows)

  • OSS CAD Suite – enthält openFPGALoader zum Flashen von Core und Kickstart
  • openFPGALoader – Projektseite & Doku
  • Zadig – WinUSB-Treiber für „USB Debugger (Interface 0)“ (0403:6010)
  • Gowin EDA / Programmer – Alternative zum openFPGALoader (Registrierung nötig)

4. Kickstart-ROM (legal)

  • Amiga Forever (Cloanto) – legale Kickstart-ROMs. Für Festplatten-Images nötig: Kickstart 3.1 A1200 (40.068), Offset 0x400000.

5. Festplatten-Images (HDF)

  • HST-Imager – HDFs mit RDB an Block 0 erstellen und prüfen
  • PFS3AIO auf Aminet – Dateisystem für große Partitionen
  • WinUAE – zum Vorbereiten und Testen von HDFs am PC

6. Companion-Firmware für den Pico

  • FPGA-Companion (MiSTle-Dev) – unter „Releases“ die Datei fpga_companion.uf2 für den RP2040 (im Video: v1.4.27). Achtung: Die .uf2 im NanoMig-Repo ist für den Pico 2 (RP2350)!

FPGA -> Tang Nano 20K: Befehle zum Testen und Flashen

Alle Befehle laufen unter Windows in der Eingabeaufforderung (cmd) mit dem openFPGALoader aus der OSS CAD Suite. Vorher muss der Treiber mit Zadig eingerichtet sein (siehe unten).

1. OSS CAD Suite starten

Eingabeaufforderung öffnen, in den Ordner der OSS CAD Suite wechseln und die Umgebung laden. Den Pfad passt ihr an euren Speicherort an:

cd /d C:\oss-cad-suite
environment.bat

Erst danach kennt Windows den Befehl openFPGALoader. Das muss in jedem neuen Fenster wiederholt werden.

Anschließend in den Ordner wechseln, in dem eure Core- und ROM-Dateien liegen:

cd /d C:\Tang

2. Testen, ob der Tang Nano 20K erkannt wird

openFPGALoader --scan-usb

Zeigt die angeschlossenen Programmier-Adapter. Der Tang erscheint als 0x0403:0x6010.

openFPGALoader -b tangnano20k --detect

Liest den FPGA aus. Alles in Ordnung, wenn dort GW2AR-18 steht (idcode 0x0000081b).

Fehler „ftdi -4“ oder „unable to open“?

  • Zadig starten, unter Options „List All Devices“ aktivieren.
  • „USB Debugger (Interface 0)“ (USB-ID 0403 6010 00) auswählen und auf WinUSB setzen.
  • Genau hinschauen: Nicht versehentlich Maus oder Tastatur umstellen!
  • Den Tang immer am selben USB-Port anschließen, denn der Treiber gilt nur für diesen Port.

3. Amiga flashen (NanoMig)

openFPGALoader -b tangnano20k -f NanoMig_1200_v0.15.bin
openFPGALoader -b tangnano20k --external-flash -o 0x400000 Kickstart31A1200.rom
Kickstart Adresse
3.1 (A1200, 40.068), nötig für Festplatten-Images (HDF) 0x400000
1.3 0x700000 oder 0x740000
3.2 0x780000

Lötplan Tang Nano20k - Raspberry Pi Pico

Lötplan

GitHub
PDF Plan

Hst Imager

Ein Image-Tool für Windows, macOS und Linux zum Lesen und Schreiben von Festplatten-Images auf bzw. von physischen Laufwerken.

Hst Imager ist ein Festplatten Image Tool zum Lesen und Schreiben von Festplatten-Images auf bzw. von physischen Laufwerken. Es unterstützt das Lesen von komprimierten Image-Dateien im Format .rar, .zip, .gz und .xz beim Schreiben auf ein physisches Laufwerk sowie das Schreiben in komprimierte Image-Dateien im Format .zip und .gz beim Lesen von einem physischen Laufwerk.

Dieses Tool kann verwendet werden, um neue leere Images zu erstellen oder Images von physischen Laufwerken wie Festplatten, SSDs, CF- und MicroSD-Karten für Sicherungszwecke und/oder zur Bearbeitung zu erstellen und diese anschließend auf physische Laufwerke zu schreiben.

 

Der AGS / Amiga Game Selector ist eine große Spielesammlung !

AGS-Image auf dem Tang Nano 20K reparieren

So startet der Amiga Game Selector (AGS) auch auf dem NanoMig

AGS-Image reparieren – Titelbild

Der Amiga Game Selector ist eine fertig eingerichtete Festplatte mit einem Menü, über das ihr Spiele bequem mit dem Joystick startet. Auf dem PC in WinUAE läuft das Image sofort, auf dem Tang Nano 20K mit NanoMig aber erst einmal gar nicht. In diesem Beitrag zeige ich euch, woran das liegt und wie ihr es mit einem kleinen PowerShell-Skript in wenigen Sekunden behebt.

Das komplette Vorgehen zeige ich auch in Teil 3 meiner Tang-Nano-Reihe auf YouTube bei FrankyByte.

Wichtig zu den Rechten: AGS enthält sehr viele kommerzielle Spiele, an denen Rechte hängen. Ich verlinke deshalb keine Images. Bitte achtet selbst darauf, was ihr nutzen dürft.

Warum startet das AGS-Image nicht?

Blockaufbau vorher und nachher: RDSK von Block 2 nach Block 0

Jede Amiga-Festplatte hat am Anfang einen Festplatten-Header, den sogenannten Rigid Disk Block, kurz RDB. Er beginnt mit der Kennung RDSK. Darin steht, welche Partitionen es gibt und welches Dateisystem verwendet wird.

Beim AGS-Image steht in Block 0 aber ein PC-Partitionseintrag (MBR). Der RDB liegt erst in Block 2. WinUAE und ein echter Amiga suchen die ersten Blöcke ab und finden ihn trotzdem. Der NanoMig schaut aber nur in Block 0 nach und findet deshalb keine Festplatte.

Die Lösung: Wir kopieren den RDSK-Block (512 Bytes) einfach nach Block 0. Mehr nicht, der Rest der Datei bleibt unverändert.

Was ihr braucht

  • Einen Windows-PC mit PowerShell (ist bei Windows schon dabei)
  • Euer AGS-Image als .hdf-Datei, zum Beispiel AGS_RHW_AGA_v26.hdf (die AGA-Version passt zum NanoMig-Core mit 1200 im Namen)
  • Mein Skript HDF_RDB_nach_Block0.ps1 (Download weiter unten)
  • Eine SD-Karte mit exFAT, denn das Image ist größer als 4 GB. Nur eine Partition, mit MBR, kein GPT.
Tipp: Arbeitet am besten mit einer Kopie des Images. Das Skript legt zwar automatisch eine Sicherung des alten Block 0 an, aber sicher ist sicher.

Schritt 1: Prüfen, ob die Reparatur nötig ist

PowerShell: Prüfen, ob in Block 0 RDSK steht

Öffnet die PowerShell (Startmenü → „PowerShell“ eingeben) und gebt diese drei Zeilen ein. Den Pfad in der ersten Zeile passt ihr an euer Image an:

$p = "H:\AGS_RHW_AGA_v26.hdf"
$f=[IO.File]::OpenRead($p); $b=New-Object byte[] 4; $f.Read($b,0,4)|Out-Null; $f.Close()
[Text.Encoding]::ASCII.GetString($b)
AusgabeBedeutung
RDSKAlles gut, das Image läuft auf dem Tang. Nichts zu tun.
leer oder etwas anderesDer RDB liegt nicht in Block 0, weiter mit Schritt 2.

Schritt 2: Reparieren

PowerShell: Skript ausführen, RDB nach Block 0 kopiert
  1. Ladet das Skript HDF_RDB_nach_Block0.ps1 herunter.
  2. Öffnet es mit einem Texteditor und passt in der dritten Zeile den Pfad zu eurem Image an:
    $p = "H:\AGS_RHW_AGA_v26.hdf"
  3. Öffnet die PowerShell in dem Ordner, in dem das Skript liegt, und startet es mit:
    powershell -ExecutionPolicy Bypass -File .\HDF_RDB_nach_Block0.ps1
    Der Zusatz -ExecutionPolicy Bypass ist nötig, weil Windows heruntergeladene Skripte sonst blockiert. Er gilt nur für diesen einen Aufruf.
  4. Erscheint die Meldung „RDB nach Block 0 kopiert“, hat alles geklappt.

Neben eurem Image liegt jetzt eine Datei mit der Endung .block0.bak. Das ist die Sicherung des alten Block 0.

Das macht das Skript

$p = "H:\AGS_RHW_AGA_v26.hdf"
if (-not (Test-Path $p)) { "Datei nicht gefunden: $p"; return }
$f = [IO.File]::Open($p,'Open','ReadWrite')
try {
  $b0 = New-Object byte[] 512; $f.Read($b0,0,512)|Out-Null
  if ([Text.Encoding]::ASCII.GetString($b0,0,4) -eq "RDSK") { "Block 0 enthält schon RDSK – nichts zu tun."; return }
  [IO.File]::WriteAllBytes("$p.block0.bak", $b0)
  $rdb = New-Object byte[] 512; $f.Seek(1024,'Begin')|Out-Null; $f.Read($rdb,0,512)|Out-Null
  if ([Text.Encoding]::ASCII.GetString($rdb,0,4) -eq "RDSK") { $f.Seek(0,'Begin')|Out-Null; $f.Write($rdb,0,512); "RDB nach Block 0 kopiert" } else { "Abbruch: Block 2 ist kein RDSK" }
} finally { $f.Close() }
  • Es prüft, ob die Datei existiert.
  • Steht in Block 0 schon RDSK, bricht es ab. Man kann es also nicht versehentlich doppelt anwenden.
  • Es sichert den alten Block 0 als .block0.bak.
  • Es liest Block 2 (ab Byte 1024), prüft, ob dort wirklich RDSK steht, und schreibt ihn nach Block 0.
  • Es werden nur 512 Bytes geändert, deshalb dauert es weniger als eine Sekunde.

Schritt 3: Auf dem Tang testen

  1. Kopiert das reparierte Image auf die SD-Karte (exFAT).
  2. SD-Karte in den Tang stecken und einschalten.
  3. Mit F12 ins OSD-Menü, unter Storage das Image als Festplatte auswählen.
  4. Einstellungen speichern und den Amiga neu starten. Das AGS-Menü erscheint!

Häufige Fragen

FrageAntwort
Läuft das Image danach noch in WinUAE?Ja, WinUAE findet den RDB auch in Block 0.
„Abbruch: Block 2 ist kein RDSK“Euer Image ist anders aufgebaut. Dann passt das Skript nicht, bitte nichts weiter verändern.
Kann ich die Änderung rückgängig machen?Ja, mit der Sicherung .block0.bak. Ihr schreibt die 512 Bytes einfach wieder an den Anfang der Datei.
Brauche ich das auch bei eigenen HDFs?Nein, wenn ihr sie mit dem HST Imager und dem Format „Rigid Disk Block“ erstellt. Dann steht der RDB schon in Block 0.

Download

PowerShell-Skript, das den RDB nach Block 0 kopiert:

⬇ HDF_RDB_nach_Block0 (ZIP) herunterladen

Viel Spaß mit dem Amiga Game Selector auf eurem Tang!
Euer FrankyByte

Einfache Version

Prüfen schnell ...
				
					$p = "D:\FrankyByteNano20kAmiga\AGS_RHW_AGA_v26.hdf"
$f=[IO.File]::OpenRead($p); $b=New-Object byte[] 4; $f.Read($b,0,4)|Out-Null; $f.Close()
[Text.Encoding]::ASCII.GetString($b)
				
			
Prüfen mit Ausgabe
				
					$p = "D:\FrankyByteNano20kAmiga\AGS_RHW_AGA_v26.hdf"
$f=[IO.File]::OpenRead($p); $buf=New-Object byte[] 8192; $f.Read($buf,0,8192)|Out-Null; $f.Close()
for($i=0;$i -lt 16;$i++){ $id=[Text.Encoding]::ASCII.GetString($buf,$i*512,4); $hex=($buf[($i*512)..($i*512+3)]|%{ '{0:X2}' -f $_ }) -join ' '; "Block {0,2}: {1}  '{2}'" -f $i,$hex,$id }

				
			
RDSK tauschen
				
					$p = "D:\FrankyByteNano20kAmiga\AGS_RHW_AGA_v26.hdf"
$f=[IO.File]::Open($p,'Open','ReadWrite')
$blk=New-Object byte[] 512
$f.Seek(2*512,'Begin')|Out-Null; $f.Read($blk,0,512)|Out-Null
$f.Seek(0,'Begin')|Out-Null; $f.Write($blk,0,512); $f.Close()
$f=[IO.File]::OpenRead($p); $b=New-Object byte[] 4; $f.Read($b,0,4)|Out-Null; $f.Close()
[Text.Encoding]::ASCII.GetString($b)
				
			
Posted on 2026-10-12 in Amiga,Amiga Hardware,AmigaSoftware,Commodore,Mister FPGA by admin

Comments on 'TangNano20k – Amiga' (0)

Kommentar-Feed

Comments are closed.

Beitragsnavigation

« Amiga -> a314cp-Teil5
Tutorials , Hardware, Modding, Retrogaming,

© 2026 frankybyte
Powered by WordPress Theme Micronix By DesignWicked