Amiga emulation

Raspberry Pi

Raspberry Pi Amiga Emulation Part 1 Part 2
Amibian home
Google search for 'amibian'
Google search for 'pimiga'
Google search for 'retropie'
Google search for 'amiberry'

Ami-Hybrid
How to create an AmiHybrid Pi4 setup for free – ish
Amiberry
host-run

Vampire

Apollo Accelerator’s Home
Apollo Core 68080
A look at the Vampire V4 Stand-Alone FPGA, first impressions
Coffin R57
Exploring Coffin OS (Vampire) with WinUAE – pt 1
Exploring the Coffin OS with WinUAE – pt 2

MiST, MiniMig

https://github.com/search?p=1&q=minimig&type=Repositories&utf8=%E2%9C%93
https://github.com/mist-devel/mist-binaries
https://github.com/mist-devel/mist-binaries/tree/master/cores/minimig-aga
https://github.com/mist-devel/mist-board
https://github.com/MiSTer-devel/C64_MiSTer
MiST AGA+RTG core

Amibian

https://gunkrist79.wixsite.com/amibian

Amiga Forever

https://www.amigaforever.com/tutorials/migration/
https://www.amigaforever.com/kb/15-113
https://www.amigaforever.com/kb/13-118
https://www.amigaforever.com/kb/13-167

The Company – Amiga games and demos as executables for windows

FS-UAE / Amilator

FS-UAE
Google search for 'fs-uae'
Amilator (Was: FS-UAE Standalone like Amithlon)
FS-UAE standalone USB
Amilator v 4.12-3
http://eab.abime.net/showthread.php?t=91638
http://forum.amiga.org/index.php?topic=72825.0
Current release, built on Debian 9.4 live
Amilator downloads
Debian 9.4
http://cdimage.debian.org/mirror/cdimage/archive/9.4.0/i386/iso-cd/
http://cdimage.debian.org/mirror/cdimage/archive/9.4.0-live/i386/iso-hybrid/
https://willhaley.com/blog/custom-debian-live-environment/
https://wiki.debian.org/Xorg

Picasso IV ROM

https://forum.amiga.org/index.php?topic=68036.0
http://www.sophisticated-development.de/software/index.php?thisfile=.&section=

LibreELEC

LibreELEC
LibreELEC downloads

WinUAE

Building a virtual Amiga for retrogaming in WinUAE
Installing AmigaOS 3.1.4 on CF card through WinUAE
How to load kickstart rom 3.1.4 into memory?

AROS

AROS Nightly builds downloads
AEROS 4.3 for raspberry Pi available as free download
Icaros Desktop
Aros-One x86

Build an Aros based Amiga computer from scrap parts

PC Booting AROS and AmigaOS 3.1

Emulating other systems on the Amiga

PC-emulation
PC-Task and PCx

Mac / Apple emulation
Shapeshifter, Fusion and Emplant

Emulation on the Amiga

QNAP

Retaining mounted USB-disk locations on QNAP reboot
https://forum.qnap.com/viewtopic.php?f=25&p=636810#p636810

raid 5 failed after disk swap
https://forum.qnap.com/viewtopic.php?f=25&t=135753

Drive failure while rebuilding
https://forum.qnap.com/viewtopic.php?f=25&t=122300

Changing shell prompt and title of PuTTY
.profile
export PS1=”\[\e]2;\u@\H:\w\a\[\e[32;1m\][\W #] \[\e[0m\]”

My posts:
https://forum.qnap.com/search.php?author_id=190665&sr=posts

PHP

How to Convert MySQL to MySQLi PHP Code to Upgrade to PHP7 Doing the PHP MySQL MySQLi Migration

https://www.phpclasses.org/blog/package/9199/post/3-Smoothly-Migrate-your-PHP-Code-using-the-Old-MySQL-extension-to-MySQLi.html

This is my (very rough) method, search and replace in all .php and .inc files using Perl. To re-use my code, you HAVE to make modifications and take a backup of every .php and .inc file in case somwthing goes wrong.

I converted one project at a time, these commands were used for my Amiga user’s database, so some commands will reflect specific changes/searches I did in the code to find lines to change, I also did some mistakes and corrected those. Read the commands before you try these on your code:

find . -type f -name '*.php' -exec grep -l mysql_numrows {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_numrows|mysqli_num_rows|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_num_rows|mysqli_num_rows|g' {} \;

find . -type f -name '*.php' -exec perl -pi -e 's|mysql_selectdb|mysqli_select_db|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_select_db|mysqli_select_db|g' {} \;
find . -type f -name '*.php' -exec grep mysqli_select_db {} \;
#
# Change to match your database name and the MySQL connection link (db name and calling parameters found above)
# Using mysql_select_db, the MySQL link identifier was optional, and sent as the second parameter
#  with mysqli_select_db it is required as a first parameter
#
find . -type f -name '*.php' -exec grep 'db("minimig_reg",\$link' {} \;
find . -type f -name '*.php' -exec grep 'db("minimig_reg")' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|db\("minimig_reg",\$link|db\(\$link,"minimig_reg"|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|db\("minimig_reg"\)|db\(\$link,"minimig_reg"\)|g' {} \;

#
# mysqli_connect returns the link identifier and also requires the database name as the fourth parameter, add it manually after this replacement
#
find . -type f -name '*.php' -exec grep mysql_connect {} \; 
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_connect|mysqli_connect|g' {} \;  

find . -type f -name '*.php' -exec grep mysql_error {} \;    
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_error()|mysqli_error(\$link)|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysqli_error\(\$link\)\(\)|mysqli_error\(\$link\)|g' {} \;

find . -type f -name '*.php' -exec grep mysql_insert {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_insert_id\(\)|mysqli_insert_id\(\$link\)|g' {} \;

find . -type f -name '*.php' -exec grep mysql_query {} \;  
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_query\(|mysqli_query\(\$link,|g' {} \;

find . -type f -name '*.php' -exec perl -pi -e 's|mysql_fetch_assoc|mysqli_fetch_assoc|g' {} \;

find . -type f -name '*.php' -exec grep mysql_fetch_array {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_fetch_array\(\$result\)|mysqli_fetch_array\(\$result,MYSQLI_BOTH\)|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_fetch_array\(\$result_migs\)|mysqli_fetch_array\(\$result_migs,MYSQLI_BOTH\)|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_fetch_array\(\$result_info\)|mysqli_fetch_array\(\$result_info,MYSQLI_BOTH\)|g' {} \;

find . -type f -name '*.php' -exec grep mysql_real_escape_string {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_real_escape_string\(|mysqli_real_escape_string\(\$link,|g' {} \;

find . -type f -name '*.php' -exec grep mysql_affected_rows {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_affected_rows\(\)|mysqli_affected_rows\(\$link\)|g' {} \;

The include files (mostly the same command lines):

find . -type f -name '*.inc' -exec grep -l mysql_numrows {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_numrows|mysqli_num_rows|g' {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_num_rows|mysqli_num_rows|g' {} \;

find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_selectdb|mysqli_select_db|g' {} \;
find . -type f -name '*.inc' -exec grep '"minimig_reg",\$link' {} \;   
find . -type f -name '*.inc' -exec perl -pi -e 's|"minimig_reg",\$link|\$link,"minimig_reg"|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_connect {} \; 
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_connect|mysqli_connect|g' {} \;  

find . -type f -name '*.inc' -exec grep mysql_error {} \;    
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_error\(\)|mysqli_error\(\$link\)|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_insert {} \;  
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_insert_id\(\)|mysqli_insert_id\(\$link\)|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_query {} \;  
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_query\(|mysqli_query\(\$link,|g' {} \;

find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_fetch_assoc|mysqli_fetch_assoc|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_fetch_array {} \;  
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_fetch_array\(\$result\)|mysqli_fetch_array\(\$result,MYSQLI_BOTH\)|g' {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_fetch_array\(\$result_migs\)|mysqli_fetch_array\(\$result_migs,MYSQLI_BOTH\)|g' {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_fetch_array\(\$result_info\)|mysqli_fetch_array\(\$result_info,MYSQLI_BOTH\)|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_real_escape_string {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_real_escape_string\(|mysqli_real_escape_string\(\$link,|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_affected_rows {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_affected_rows\(\)|mysqli_affected_rows\(\$link\)|g' {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_result|mysqli_result|g' {} \;

find . -type f -name '*.inc' -exec grep split {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|split\(|explode\(|g' {} \;
find . -type f -name '*.php' -exec grep split {} \;

Missing function mysqli_result (to replace mysql_result)

function mysqli_result($res,$row=0,$col=0){
    $numrows = mysqli_num_rows($res);
    if ($numrows && $row <= ($numrows-1) && $row >=0){
        mysqli_data_seek($res,$row);
        $resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res);
        if (isset($resrow[$col])){
            return $resrow[$col];
        }
    }
    return false;
}

Amiga repairs and hardware hacks

Recapping the Amiga

Badcaps.net
Recapping the Amiga (John Hertell)
Who does your recapping? (AmigaWorld.net)
Amiga capacitor list
Commodore Amiga Recap Maps & Capacitor lists (tsb.space)

Amiga memory expansions, repairs and hardware mods

Amiga RAM Expansion A501 RTC Battery Replacement (Read desription first!)

Google search for 'amiga+500+1Mb+on+motherboard'
A500 rev6a chipRAM mods (1MB on motherboard)

Amiga CD32 – Trash to Treasure (RetroManCave)

GadgetUK

Commodore Amiga CD32 Pickup – Repair Part 1 (Not Reading Discs, Disc Not Spinning)

Solder Tutorial (Keith Noneya)

Amiga 500 With Battery Corroded RAM Card, how to replace corroded copper

Amiga floppy repairs

Amiga floppy repair (YouTube search)
Amiga 500 Plus – Trasig diskettstation?

Other links

Reusing the Amiga 2000 case for an Amiga 1200
Amiga 500 rev 3 teardown