[#1] RPi400 Jeżeli nie PiMiga to co? (Poradnik)
Na początku chciałbym zaznaczyć iż nie neguję absolutnie sensu powstania pakietu PiMiga i żywię do Chrisa Edwardsa szacunek za włożoną pracę.
PiMiga (w zależności od gustu) może sprawiać wrażenie estetycznego systemu, który zachęca do korzystania. Co więcej, użytkownik w zasadzie nie musi dysponować wiedzą, a od razu po starcie PiMigi może zacząć korzystać z emulacji. To także duży plus.

Jednak, nie wszystko złoto co się świeci i wgłębiając się w PiMigę i jej kolejne dystrybucje okazywało się, że jednak z demami na Amigę sobie zwyczajnie nie radzi. W wersji 1.4 było dość wydajnie, ale co z tego jak wiele dem nie wyświetlało się prawidłowo. Wersja 1.5 przyniosła pewną poprawę pozornie, bo wydajność i jakość dźwięku w demach stanęła pod wielkim znakiem zapytania.

Możecie zapytać dlaczego akurat uczepiłem się dem, a odpowiedź będzie prosta - ponieważ to uznaję za najbardziej wymagające oprogramowanie.

Z racji na to, iż zawartość PiMigi zasługuje na przejrzenie i zapoznanie się, lecz jej wydajność pozostawia wiele do życzenia zdecydowałem się na stworzenie poradnika, gdzie od podstaw możemy postawić sobie emulator Amigi i skorzystać z tego co było w pakiecie PiMiga.

Nie chcę sugerować, że moja metoda jest jedyna i najlepsza, na pewno znajdą się inni, którzy mogą zrobić to lepiej, ale wierzę, że znajdą się osoby, którym mój poradnik pomoże.

Na początek sugeruję tym, którzy nie mają pobranie i nagranie na kartę pamięci systemu Raspberry Pi OS.

1. Raspberry Pi OS (wersja pełna)
https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-01-12/2021-01-11-raspios-buster-armhf-full.zip
Uwaga: ten system zapewne wiele osób może już mieć zainstalowany i / lub kupiony razem ze swoim Raspberry.

2. flash Raspberry Pi OS – użyłem do tego karty SanDisk Ultra A1 o pojemności 128GB, obraz nagrałem za pomocą Balena Ether.

3. Konfiguracja Raspberry Pi OS
- Set Up Screen [v] This screen shows a black border around the desktop. (Zaznaczamy, jeżeli mamy rozdzielczość wyższą niż 720p.)
- WiFi - po konfiguracji czekamy aż ikona WiFi przestaje migać.
- Update software. Restart.
- Preferences -> Add / Remove Software -> Options [menu] -> Check for updates.
- Preferences -> Appearance Settings -> Taskbar [top / bottom]
- Preferences -> Raspberry Pi Configuration:
(moje własne ustawienia - wybieramy co nam pasuje)
System -> Auto Login (Disabled)
Localisation -> Language Polish (reboot), później English (reboot).
(Używam Raspberry Pi OS w wersji anglojęzycznej, jednak z racji na słownik, np. w pakiecie biurowym decyduję się na powyższy krok).

4. Dodatkowe i przydatne programy dla Raspberry Pi OS (opcjonalnie):
(Do terminala wklejamy prawy przycisk myszy i "paste")

- Synaptic (lepszy "package manager) - jak zainstalować:
Uruchamiamy terminal i wklejamy:
sudo apt-get install synaptic
Na pytanie odpowiadamy "Y" (duża litera) i już. Dostępny jest w menu Preferences.

- QMMP (odpowiednik Winampa) - jak zainstalować:
Uruchamiamy terminal i wklejamy:
sudo apt-get install qmmp
Na pytanie odpowiadamy "Y" (duża litera) i już. Dostępny jest w menu Sound & Video.

- Audacious (odpowiednik Winampa) - jak zainstalować:
Uruchamiamy terminal i wklejamy:
sudo apt-get install audacious
Na pytanie odpowiadamy "Y" (duża litera) i już. Dostępny jest w menu Sound & Video.

- My Paint (dość prosty, aczkolwiek przydatny program graficzny) - jak zainstalować:
Uruchamiamy terminal i wklejamy:
sudo apt-get install qmmp
Na pytanie odpowiadamy "Y" (duża litera) i już. Dostępny jest w menu Graphics.

- System Monitor (lepszy niż standardowy):
Uruchamiamy terminal i wklejamy:
sudo apt install gnome-system-monitor
Na pytanie odpowiadamy "Y" (duża litera) i już. Dostępny jest w menu System Tools.

- Pi-Apps (dodatkowy "sklep" z aplikacjami - polecam również):
Uruchamiamy terminal i wklejamy:
wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash
Dostępny jest w menu Accessories.

5. Emulacja Amigi:
(Na systemie Raspberry Pi OS)

Przygotowania:
Jako iż będziemy robić Amigę "od zera" musimy się przygotować na tą ewentualność.
Co potrzebujemy?
- ClassicWB dostępny tu:
http://download.abime.net/classicwb/ClassicWB_UAE_v28.zip
- Kickstart 3.1 (we własnym zakresie)
- Dyskietki z Workbenchem 3.1 (we własnym zakresie)
- Plik konfiguracyjny z PiMiga o nazwie: A1200.uae lub PiMiga.uae (jeżeli chcemy mieć łatwiejszy start). Oczywiście możemy stworzyć konfigurację samodzielnie, bez niczyjej pomocy.
- Na później czytnik USB kart pamięci, abyśmy skorzystali z dóbr dostępnych na PiMiga, np. z dem.

Instalacja Amiberry:

Uruchamiamy terminal i wklejamy:
sudo apt-get install libsdl2-2.0-0 libsdl2-ttf-2.0-0 libsdl2-image-2.0-0 libxml2 flac mpg123 libmpeg2-4

Po zainstalowaniu uruchamiamy przeglądarkę internetową i idziemy na stronę:
https://github.com/midwan/amiberry/releases
Tam wybieramy wersję:
amiberry-v3.3-rpi4-dmx-32bit.zip

Link do pobrania:
https://github.com/midwan/amiberry/releases/download/v3.3/amiberry-v3.3-rpi4-dmx-32bit.zip
Domyślnie plik powinien nam zapisać się w "Downloads".
Aby mieć porządek, kopiujemy plik amiberry-v3.3-rpi4-dmx-32bit.zip i wklejamy go do:
/home/pi
Następnie rozpakowujemy go, klikamy prawym przyciskiem myszy i wybieramy "Extract Here"
Powinien pojawić się katalog o nazwie: amiberry-v3.3-rpi4-dmx-32bit
Kasujemy spakowany plik: amiberry-v3.3-rpi4-dmx-32bit.zip (katalogu oczywiście nie kasujemy, tego co rozpakowaliśmy)

Nazwę katalogu zmieniamy dla wygody na "amiberry" (prawy myszy i "Rename")
Wchodzimy do katalogu "amiberry" /home/pi/amiberry i klikamy prawym myszy na plik amiberry, wybieramy "Properties", następnie zakładkę "Permissions" i upewniamy się, czy "Execute" jest ustawione na "Anyone". Raczej tak powinno być domyślnie, ale warto to sprawdzić.

Teraz czas na amigowskie dyski. Ja dla potrzeb tej instrukcji w katalogu /home/pi tworzę katalog o nazwie "adisks"
Rozpakowujemy (gdzieś na boku) archiwum ClassicWB_UAE_v28.zip
Po rozpakowaniu kopiujemy: z jego katalogu "Hard Disk" następujące rzeczy:
- System_P96.hdf
- Software
do naszego nowo utworzonego katalogu "adisks"
W tym katalogu tworzę też katalog "wb31" do którego kopiuję dyskietki z Workbenchem w wersji 3.1
Następnie zakładam jeszcze trzy katalogi:
- Demos
- Games
- Media

Planowaną konfiguracją będzie:
DH0: System (z ClassicWB)
DH1: Software (z ClassicWB)
DH2: Demos
DH3: Games
DH4: Media
DH5: USB (który skonfigurujemy w Amiberry).

Następnie do /home/pi/amiberry/kickstarts kopiujemy ROM Amigi (w naszym przypadku będzie to 3.1). Sugestia jest, aby zmienić nazwę na: kick31.rom
Tak zrobiłem.

Do /home/pi/amiberry/conf kopiujemy przykładowe pliki konfiguracyjne, np: A1200.uae

Czas na pierwsze uruchomienie emulatora. Korzystając z managera plików idziemy do:
/home/pi/amiberry i dwuklikamy ikonę "amiberry".
Pojawi się okno: "Execute File" This file 'amiberry' is executable. Do you want to execute it. Odpowiadamy klikając na [Execute]

Konfigurujemy od początku lub zmieniamy istniejący config.
Sekcja dysków powinna wyglądać tak:

; *** Hard Drives
;
hardfile2=rw,DH0:/home/pi/adisks/System_P96.hdf,32,1,2,512,0,,uae0
uaehf0=hdf,rw,DH0:/home/pi/adisks/System_P96.hdf,32,1,2,512,0,,uae0
filesystem2=rw,DH1:Software:/home/pi/adisks/Software/,-128
uaehf1=dir,rw,DH1:Software:/home/pi/adisks/Software/,-128
filesystem2=rw,DH2:Demos:/home/pi/adisks/Demos/,-128
uaehf2=dir,rw,DH2:Demos:/home/pi/adisks/Demos/,-128
filesystem2=rw,DH3:Games:/home/pi/adisks/Games/,-128
uaehf3=dir,rw,DH3:Games:/home/pi/adisks/Games/,-128
filesystem2=rw,DH4:Media:/home/pi/adisks/Media/,-128
uaehf4=dir,rw,DH4:Media:/home/pi/adisks/Media/,-128
filesystem2=rw,DH5:USB:/media/pi/,-128
uaehf5=dir,rw,DH5:USB:/media/pi/,-128
scsi=true
;

Zmieniamy też Fullscreen na Windowed (640x512).
W dźwięku wyłączamy filter.
Sugeruję nie bawić się Blitterem i Copperem, abyśmy mogli się przekonać o wydajności bez zmiany tego.

Niejedna osoba raportowała problem związany z pisaniem na Amidze. Podczas wciskania następujących klawiszy mieliśmy takie rezultaty:
2=2p, x=x + [ENTER], z=z + [SPACE]
Na szczęście jest sposób na pozbycie się tego problemu.
W ustawieniach emulatora:
Joystick as Keyboard [DISABLE]
I możemy pisać już (na Amidze) normalnie.

Jeżeli wszystko jest tak jak w instrukcji, możemy po raz pierwszy wystartować.
Startujemy z ClassicWB, który wymagać będzie dyskietek.
Zakładam iż konfiguracja ClassicWB jest na tyle oczywista, a instrukcja na ekranie mówiąca krok po kroku co robić jest jasna i zrozumiała.
Nie upieram się, że ClassicWB jest najlepszy, ale jest rozwiązaniem szybkim, wygodnym, dającym od razu dostęp m.in. do WHDLoad.

Teraz czas na test bojowy. Jako napęd USB zainstaluję czytnik wraz z PiMigą - w moim przypadku będę używać PiMiga w wersji 1.5 aby skopiować sobie kilka dem na dobry początek.
Chcę też zwrócić uwagę na fakt, że z racji na to, iż emulator Amigi uruchamiamy samodzielnie pod Linuxem, to napędy USB możemy zmieniać jak sobie chcemy. Oczywiście w trakcie emulacji Amigi nie zmienimy napędu USB, bo Amiga nie zauważy tego.
Ale nic nie stoi na przeszkodzie, aby wyjść z emulatora, zmienić napęd i wejść do emulatora ponownie.

Jeżeli zamierzacie od razu skorzystać z zasobów PiMigi (przez czytnik USB) na nowo zainstalowanej Amidze, to w razie potrzeby informuję, że (w wersji 1.5) znajduje się wszystko na:
/media/pi/rootfs/home/pi/pimiga/disks

Jeżeli chodzi o prawdziwy pad / joystick, wypadałoby aby wystartować Malinę wraz z nim podpiętym, a później w konfiguracji Amiberry wybrać go - tak jak się robiło zresztą pod PiMigą.

Na wszelki wypadek nie uruchamiam niczego z pendrive - a po prostu przekopiowuję zawartość na "dyski amigowe".
Część dem dyskowych nie startuje ani na PiMidze, ani na ClassicWB, a najlepszym wyjściem jest start z dyskietki z Workbenchem.
(Tu również nie upieram się, że jest to jedyne i słuszne rozwiązanie, ale jest to rozwiązanie szybkie i skuteczne).
Jako przykład podam dema od TBL: "Captured Dreams" oraz "Rain". Po uruchomieniu systemu z dyskietki - chodzą pięknie.
Wszystkie wątpliwe dema, czyli szczególnie:
Big Time Sensuality, Love, Roots, Roots2, Breathtaker, Crazy Sexy Cool oraz Darkside testowałem pod PiMiga 1.4 oraz 1.5 jak również pod WinUAE na PC.
Obecnie dla żadnego z tych dem na "mojej Amidze" nie można niczego zarzucić. Nie jest gorzej niż na WinUAE.

Ostatnia aktualizacja: 24.03.2021 09:43:15 przez Nasedo
[#2] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #1

W razie ktoś by potrzebował, to daję tutaj pełny plik konfiguracyjny *.uae


config_description=PiMIGA-Classic
config_hardware=true
config_host=true
config_version=4.4.0
config_hardware_path=
config_host_path=
config_all_path=
win32.expansion_gui_page=ide_mb
win32.soundcardname=WASAPI:Default Audio Device
win32.soundcard=0
win32.middle_mouse=true
win32.hardfile_path=./
win32.floppy_path=./
win32.rom_path=./
joyport1mousemap=both
amiberry.middle_mouse=true
amiberry.right_control_is_right_win=true
amiberry.sound_pullmode=1
amiberry.rom_path=./
amiberry.floppy_path=./
amiberry.hardfile_path=./
amiberry.cd_path=./
;
; *** Controller/Input Configuration
;
joyport0=mouse
joyport0_autofire=none
joyport0_friendlyname=Mouse
joyport0_name=MOUSE0
;
joyport1=none
joyport1_autofire=none
;
;
;
input.joymouse_speed_analog=2
input.joymouse_speed_digital=10
input.joymouse_deadzone=33
input.joystick_deadzone=33
input.analog_joystick_multiplier=18
input.analog_joystick_offset=-5
input.mouse_speed=100
input.autofire_speed=600
input.autoswitch=1
kbd_lang=us
;
; *** Host-Specific
;
amiberry.gfx_auto_height=false
amiberry.gfx_correct_aspect=1
amiberry.kbd_led_num=-1
amiberry.kbd_led_scr=-1
amiberry.scaling_method=-1
amiberry.allow_host_run=false
amiberry.use_analogue_remap=false
amiberry.use_retroarch_quit=true
amiberry.use_retroarch_menu=true
amiberry.use_retroarch_reset=false
amiberry.active_priority=1
amiberry.inactive_priority=0
amiberry.minimized_priority=0
amiberry.minimized_input=0
;
; *** Common / Paths
;
use_gui=no
kickstart_rom_file=/home/pi/amiberry/kickstarts/kick31.rom
kickstart_rom_file_id=1483A091,KS ROM v3.1 (A1200)
kickstart_ext_rom_file=
ide_mb_rom_file=:ENABLED
flash_file=
cart_file=
rtc_file=
kickshifter=true
;
; *** Floppy Drives
;
floppy_volume=33
floppy0=
floppy1=
floppy1type=-1
floppy2=
floppy3=
nr_floppies=1
floppy_speed=800
;
; *** Hard Drives
;
hardfile2=rw,DH0:/home/pi/adisks/System_P96.hdf,32,1,2,512,0,,uae0
uaehf0=hdf,rw,DH0:/home/pi/adisks/System_P96.hdf,32,1,2,512,0,,uae0
filesystem2=rw,DH1:Software:/home/pi/adisks/Software/,-128
uaehf1=dir,rw,DH1:Software:/home/pi/adisks/Software/,-128
filesystem2=rw,DH2:Demos:/home/pi/adisks/Demos/,-128
uaehf2=dir,rw,DH2:Demos:/home/pi/adisks/Demos/,-128
filesystem2=rw,DH3:Games:/home/pi/adisks/Games/,-128
uaehf3=dir,rw,DH3:Games:/home/pi/adisks/Games/,-128
filesystem2=rw,DH4:Media:/home/pi/adisks/Media/,-128
uaehf4=dir,rw,DH4:Media:/home/pi/adisks/Media/,-128
filesystem2=rw,DH5:USB:/media/pi/,-128
uaehf5=dir,rw,DH5:USB:/media/pi/,-128
scsi=true
;
; *** CD / CD32
;
cd_speed=100
;
; *** Display / Screen Setup
;
gfx_framerate=1
gfx_width=640
gfx_height=512
gfx_top_windowed=0
gfx_left_windowed=0
gfx_width_windowed=640
gfx_height_windowed=512
gfx_width_fullscreen=1920
gfx_height_fullscreen=1080
gfx_refreshrate=50
gfx_refreshrate_rtg=50
gfx_backbuffers=2
gfx_backbuffers_rtg=1
gfx_vsync=false
gfx_vsyncmode=normal
gfx_vsync_picasso=false
gfx_vsyncmode_picasso=normal
gfx_lores=false
gfx_resolution=hires
gfx_lores_mode=normal
gfx_flickerfixer=false
gfx_linemode=none
gfx_fullscreen_amiga=false
gfx_fullscreen_picasso=false
gfx_center_horizontal=smart
gfx_center_vertical=smart
gfx_colour_mode=32bit
gfx_blacker_than_black=false
gfx_api=directdraw
gfx_api_options=hardware
;
; *** CPU options
;
cpu_speed=max
cpu_throttle=0.0
cpu_type=68020/68881
cpu_model=68030
fpu_model=68882
cpu_compatible=false
cpu_24bit_addressing=false
cpu_data_cache=false
cpu_cycle_exact=false
cpu_memory_cycle_exact=false
blitter_cycle_exact=false
cycle_exact=false
fpu_strict=false
comp_trustbyte=direct
comp_trustword=direct
comp_trustlong=direct
comp_trustnaddr=direct
comp_nf=true
comp_constjump=true
comp_flushmode=soft
compfpu=true
comp_catchfault=true
cachesize=16384
;
; *** Memory
;
z3mapping=real
fastmem_size=0
a3000mem_size=0
mbresmem_size=0
z3mem_size=512
z3mem_start=0x40000000
bogomem_size=0
gfxcard_hardware_vblank=false
gfxcard_hardware_sprite=false
gfxcard_multithread=false
gfxcard_size=8
gfxcard_type=ZorroIII
chipmem_size=16
rtg_modes=0x112
;
; *** Chipset
;
immediate_blits=false
waiting_blits=automatic
fast_copper=false
ntsc=false
chipset=aga
chipset_refreshrate=59.280407
collision_level=playfields
chipset_compatible=Generic
fatgary=0
ramsey=15
unmapped_address_space=zero
;
; *** Sound Options
;
sound_output=exact
sound_channels=stereo
sound_stereo_separation=7
sound_stereo_mixing_delay=0
sound_max_buff=4096
sound_frequency=48000
sound_interpol=anti
sound_filter=off
sound_filter_type=standard
sound_volume=0
sound_volume_paula=0
sound_volume_cd=20
sound_volume_ahi=0
sound_volume_midi=0
sound_volume_genlock=0
sound_auto=true
sound_cdaudio=false
sound_stereo_swap_paula=false
sound_stereo_swap_ahi=false
;
; *** Misc. Options
;
parallel_on_demand=false
serial_on_demand=false
serial_hardware_ctsrts=true
serial_direct=false
uaeserial=false
sana2=false
bsdsocket_emu=true
synchronize_clock=false
maprom=0x0
parallel_postscript_emulation=false
parallel_postscript_detection=false
ghostscript_parameters=
parallel_autoflush=5
;
; *** WHDLoad Booter. Options
;
whdload_slave=
whdload_showsplash=false
whdload_buttonwait=false
whdload_custom1=0
whdload_custom2=0
whdload_custom3=0
whdload_custom4=0
whdload_custom5=0
whdload_custom=

[#3] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #2

Zglos sie do grxa, niech ci da dostep do wiki bo wlasnie takie posty powinny tam trafiac (moze bez tego wstepu o programach nieistotnych dla uae)
[#4] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@michal_zukowski, post #3

Zglos sie do grxa, niech ci da dostep do wiki bo wlasnie takie posty powinny tam trafiac (moze bez tego wstepu o programach nieistotnych dla uae)

Jeżeli chodzi o wykorzystanie tego tekstu w Wiki, to nie mam z tym problemu. Proszę uprzejmie - niech każdy korzysta według własnych potrzeb.
Uważam, że wstęp o programach nieistotnych dla UAE też ma sens, jako iż Amiberry jest używany na konkretnej dystrybucji Linuxa, więc dlaczego też nie dać kilku wskazówek niezwiązanych. Mam świadomość, że nie każdy emulatoro-amigowiec musi być biegły w Linuxie - to dla tych osób jest adresowana ta część - poza tym, wyraźnie zaznaczyłem, iż jest to opcjonalne.
[#5] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #2

A zapodaj jakieś przykłady dem, co niedomagają u ciebie. Ale tak na styk, a nie totalnie. Porównam wydajność na mojej Freemidze z systemem i amiberry kompilowanym od zera.

Ostatnia aktualizacja: 12.03.2021 15:16:41 przez infboras
[#6] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@infboras, post #5

A zapodaj jakieś przykłady dem, co niedomagają u ciebie. Ale tak na styk, a nie totalnie. Porównam wydajność na mojej Freemidze z systemem i amiberry kompilowanym od zera.


1. Breathtaker (AGA) - PiMiga 1.4 i 1.5 były śmieci od początku. WinUAE działało poprawnie. Obecnie u mnie działa poprawnie.
2. Darkside (AGA) - PiMiga 1.4 - 1.5 śmieci na początku, później animacja prawidłowa, jeszcze jeden obraz aż docelowo czarny ekran a tylko muzyka w tle. WinUAE działało prawidłowo. Obecnie działa prawidłowo.
3. Love (AGA) - PiMiga 1.4 tam gdzie było "gouraud space..." nie pojawiło się nic i kolejny efekt też nie działał. PiMiga 1.5 chyba jeden albo dwie te animacje działały, ale był drastyczny spadek wydajności i jakości dźwięku. WinUAE działało prawidłowo. Obecnie działa prawidłowo.
4. Big Time Sensuality (AGA) - PiMiga 1.3 - 1.4 (nie pamiętam czy były problemy z grafiką) - dźwięk działał poprawnie. PiMiga wersja 1.5 dźwięk sprawiał problemy. WinUAE - prawidłowo. Obecnie prawidłowo również.
5. Atome (AGA) - (prawdopodobnie) w każdej PiMiga migotanie w czasie animacji wektorowych. WinUAE prawidłowo, obecnie też prawidłowo.
[#7] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #1

Kilka poprawek i uwag:

Jeżeli kogoś z Was interesuje oglądanie dem - sugeruję aby zmienić ustawienia w emulatorze:
Dwie rzeczy:
- Zmiana rozdzielczości (Windowed) z 640x512 na 640x568
- Zaznaczenie TYLKO "Centering Horizontal"

Jako przykłady poprawy oglądu podam następujące dema:
- Demo A1200 (AGA)
- Planet Groove (AGA)
[#8] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #1

Na chwilę obecną nie wiem dlaczego AmigaAMP nie jest w stanie grać przez UAE.AUDIO


link

Oczywiście można temu zaradzić, chociaż nie będzie to dokładnie tym, czego możemy oczekiwać i zmienić na:

link

PiMiga 1.5 (wraz z nowszym emulatorem, w wersji wyższej niż 3.3) gra przez UAE.AUDIO bez problemów - czy to wina wersji, czy może ja nie potrafię tego zrobić - naprawdę nie wiem.

W nowszej wersji Amiberry jest też bardzo ciekawa opcja (nie jest zaimplementowana jeszcze w 3.3), czyli:
amiberry.right_control_is_right_win=true

Prawy klawisz CTRL zamienia w prawy klawisz Amiga - zatem klawiatura Pi400 niebawem przestanie cierpieć na brak jednego z klawiszy Amiga.

Na najnowszą wersję Amiberry należy jeszcze poczekać (wiadomość z 20 marca 2021):
Just realized it's been a while since I posted an update here... :)

There's a LOT of work being done in Amiberry for the next release, and there are updates every 15 days (-ish) on OpenCollective and Patreon, so I thought I'd bring things up to speed here as well.

Among a gazillion other things, we added Cycle-Exact mode for 68000 (only) emulation, which fixes those rather rare cases that didn't work without it. Most games/demos would work fine without it, but there are always some that would not.

The 64-bit JIT engine got a few more bug fixes, which resolves a few more remaining known issues we had with it.

The custom chipset emulation got improved further, with updates coming from the latest WinUAE beta (which is not released yet). I'm monitoring WinUAE's repository, and any further updates will get merged in rather quickly as well.

Improved UTF-8/Latin1 handling of filenames a lot, which is useful when using Directories as Virtual Hard Drives. There's now a proper translation layer in-between, so that filenames are written correctly to the filesystem (no funky characters anymore) but are translated to the expected codeset for AmigaOS when it accesses them.

There are many more updates, if you're interested in the whole list then I suggest you take a peek at the commit history of the project: https://github.com/midwan/amiberry/commits/dev

Meanwhile, we're testing daily with AmiKit's beta testers, for the upcoming AmiKit for RPI release. Things are looking good already, but we want a polished, stable and smooth result, so we decided that it's best to postpone things if necessary, than rush it t
[#9] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #1

Tą część dedykuję tym, którzy chcieliby mieć startującą Amigę od razu, bez startu interfejsu graficznego – bez samodzielnego uruchamiania emulatora za każdym razem.

W tym przypadku pobieramy inną wersję Raspberry OS:
https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-03-25/2021-03-04-raspios-buster-armhf-lite.zip
Nagrywamy obraz na kartę, analogicznie jak w przypadku poprzedniej wersji systemu.

Podczas startu system samodzielnie powiększa ilość dostępnego miejsca na karcie.
Swój test na potrzeby tej instrukcji wykonałem na 16GB karcie pamięci otrzymanej w zestawie z Rpi400.

Wita nas tekstowy ekran logowania,

Login: pi
Password: raspberry

Następnie musimy dokonać niezbędnej konfiguracji, uruchamiamy:
sudo raspi-config

A w nim… przynajmniej te opcje:
1 System Options
S1 Wireless LAN
Country, SSID,
2 Display Options
D2 Underscan
DISABLE (dla rozdzielczości 1920x1080)
5 Localisation Options
L1 Locale
8 Update

Kolejnym krokiem jest aktualizacja Linuxa:

sudo apt update
sudo apt full-upgrade


Przydatnym – szczególnie w czasie późniejszym będzie Midnight Commander, instalujemy go:

sudo apt-get install mc

Kolejnym krokiem jest instalacja poniższych składników.

sudo apt-get install libsdl2-2.0-0 libsdl2-ttf-2.0-0 libsdl2-image-2.0-0 libxml2 flac mpg123 libmpeg2-4

sudo apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libxml2-dev libflac-dev libmpg123-dev libpng-dev libmpeg2-4-dev

sudo apt install git-all


Za chwilę przystąpimy do instalacji… RetroPie – z którego nie będziemy korzystali, ale ten sposób jest prostszy, nie wymagający skomplikowanych działań. Jak i w poprzednim przypadku – nie uważam go za jednie słuszny.


Dla pewności jeszcze:
sudo apt install git lsb-release

Następnie po kolei wpisujemy:

cd
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git


Kolejny krok to:
cd RetroPie-Setup
chmod +x retropie_setup.sh
sudo ./retropie_setup.sh


(Już w samym programie):
Select: Manage Packages
Select: Manage Optional Packages
Select: Amiberry
Select: Install from source
Czekamy: może to trwać około 10 minut +/-
Select: Back / Back / Back
Select: Perform Reboot
Select: Yes


Po restarcie – mimo tego, że już mamy Amiberry – nie będziemy z niego korzystać.
Samodzielnie skompilujemy własną i najnowszą stabilną wersję Amiberry.
Wpisujemy następujące polecenia:

cd ~
git clone https://github.com/midwan/amiberry
cd amiberry


Kompilacja:
make -j2 PLATFORM=rpi4

Po tym kroku mamy już „własne” Amiberry.

Dobrze w tym momencie byłoby abyśmy przygotowali zawczasu sobie zestaw na pendrive na którym powinniśmy mieć oczywiście ROMy, dobrze by było mieć plik konfiguracyjny – dyski amigowskie itd.
Tworzymy również katalogi i podkatalogi z dyskami, jak opisałem to w pierwszym poście – czyli katalog „adisks” a w nim dyski amigowskie. Oczywiście wedle uznania, wedle potrzeb.
Z racji na brak interfejsu graficznego – możemy katalogi stworzyć uruchamiając mc i tam klawiszem F7 wybieramy opcję tworzenia katalogu.

Oczywiście przyda nam się teraz dostęp do USB – startujemy już z włożonym pendrive i wykonujemy następujące czynności:
sudo mkdir /mnt/usb
sudo mount /dev/sda1 /mnt/usb


Na chwilę obecną pendrive / napęd USB będzie montowany tylko tymczasowo – później zrobimy to na stałe.
Jeżeli w trakcie będziemy musieli wyłączyć Raspberry czy go zrestartować to po restarcie wpisujemy znów:
sudo mount /dev/sda1 /mnt/usb

Kiedy skopiujemy wszystko co trzeba, próbujemy uruchomić Amiberry po raz pierwszy:
cd /home/pi/amiberry
./amiberry

Powinno działać – wczytujemy konfigurację i korzystamy.
Wychodzimy – i czas na nieco automatyzacji.

W „pliku startowym” rc.local wprowadzimy automatyczne montowanie napędu USB oraz start emulatora wraz z wczytaniem konfiguracji, tak że po włączeniu Raspberry od razu pojawi się Workbench.
Dodajemy tylko trzy linie:

sudo mount /dev/sda1 /mnt/usb
cd /home/pi/amiberry
./amiberry --config conf/A1200.uae -G


Mają się one znaleźć pomiędzy „fi” a „exit 0”, poniżej przykład jak powinno to wyglądać:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
sudo mount /dev/sda1 /mnt/usb
cd /home/pi/amiberry
./amiberry --config conf/A1200.uae -G
exit 0


Jak się za to zabrać?
Wpisujemy:
cd /etc
sudo pico rc.local


W samym edytorze pamiętajmy o dwóch skrótach:

CTRL + O (zapis)
CTRL + X (wyjście)

Czas na test, jeżeli nie wiemy jak to zrobić, wpisujemy:
sudo reboot
I powinna powitać już nas „Amiga”.

Chcę zwrócić uwagę na to, że mimo automatyzacji startu – wychodząc z emulatora nadal możemy korzystać z systemu – wtedy po wyjściu, logujemy się loginem i hasłem, jak na samym początku i nadal możemy dokonać zmian, czy przywrócić zmiany uprzednio dokonane.

Jeżeli chcemy pozbyć się linuxowych komunikatów na starcie musimy dokonać jeszcze jednej zmiany.

Wpisujemy:

cd /boot
sudo pico cmdline.txt


zmieniamy console=tty0 na console=tty3
dodajemy na końcu, po wpisie “rootwait”
odstęp, następnie:
loglevel=0 logo.nologo vt.global_cursor_default=0 kernel=kernel18 fastboot

UWAGA: Pamiętajmy o tym, że cały ten wpis musi być w jednej linii, nie może być „przełamany” klawiszem enter, bo w przeciwnym wypadku nie zadziała.

Nie zaszkodzi też, jeżeli przed dokonaniem zmian – zrobimy sobie kopię zapasową tych plików, w razie coś by poszło nie tak.

Na dzień 29 marca 2021 – wersją oficjalną Amiberry, którą otrzymamy jest wersja 3.3 – w przyszłości może to się zmienić.

Chcę też zwrócić uwagę na to, że możemy też skorzystać w tej konfiguracji również z wersji 4.0 emulatora. Sprawdzone i działa – można uruchomić ręcznie, można też zautomatyzować, bazując na podanym przeze mnie sposobie.
[#10] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #9

Dzięki wielkie, dobra robota!
[#11] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #9

Chciałbym jeszcze coś dodać:

1. Odnośnie pliku konfiguracyjnego, gdzie podałem przykład:
./amiberry --config conf/A1200.uae -G
W Waszym przypadku plik konfiguracyjny może nazywać się zupełnie inaczej, np. mojakonfiguracja.uae i wtedy oczywiście wpis musi wyglądać inaczej:
./amiberry --config conf/mojakonfiguracja.uae -G

2. Gdybyście zechcieli przetestować wersję 4.0RC w chwili obecnej - to moją propozycją jest pobranie tego na innej platformie, rozpakowanie zawartości do katalogu np. amiberry4 i dopiero skopiowanie.
Chcę też zwrócić uwagę na to, że archiwum Amiberry 4.0RC po rozpakowaniu ma już własny katalog - więc aby być pewnym, że struktura katalogów zostanie zachowana, może lepiej po prostu zmienić nazwę?
Propozycja: zmiana z amiberry-v4.0rc_32bit_rpi4 na amiberry4

Wtedy też wpisy w pliku rc.local będą musiały się zmienić, na:
cd /home/pi/amiberry4
./amiberry-v4.0rc-dmx --config conf/A1200.uae -G


Polecam też, przed automatyzacją upewnić się, czy możemy uruchomić emulator.
Wpisujemy:
cd /home/pi/amiberry4
chmod +x amiberry-v4.0rc-dmx


Dopiero po tym - edytujmy rc.local - nie wcześniej.

Gdybyśmy chcieli ułatwić sobie życie na przyszłość, możemy mieć oba wpisy w rc.local, np tak:

#cd /home/pi/amiberry
#./amiberry --config conf/A1200.uae -G
cd /home/pi/amiberry4
./amiberry-v4.0rc-dmx --config conf/A1200.uae -G


Zwróćmy uwagę na to, że wpisy zaczynające się od znaku # są nieaktywne - jeżeli chcemy znów przywrócić automatyczny start wersji 3.3 emulatora - wtedy kasujemy znak # z dwóch pierwszych wpisów i znak # wstawiamy na początku linii we wpisie drugim.
[#12] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #9

Zrobiłem system na raspion buster lite, choć system postawiłem sobie ręcznie.
Niestety nie umiem włączyć większej rozdzielczości niż FullHD. Na raspion bez problemu włączyła się natywna 4K w konsoli. Jednak na Amiberry w Worbenchu w prefs na P96 nie pojawia się nic większego niż FullHD. Ten sam system w pliku HDF na Winuae pokazuje wszystko ponad FullHD.
To jakaś zła konfiguracja sysytemu, czy po prostu Amiberry nie obsługuję 4K?
Jeszcze ręcznie zmieniłem na rtg ilość pamięci na 512mb, ale nic to nie dało.
[#13] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Newhousik, post #12

Nie mam wyświetlacza ponad 1080p więc nie mam jak tego sprawdzić i potwierdzić bądź zaprzeczyć.
[#14] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #13

Witam. Jam mam Raspberry 3B to w przypadku drugiego poradnika (bez środowiska graficznego) używam komendy: make -j2 PLATFORM=rpi3 zamiast 4 ? A w przypadku pierwszego pobieram: amiberry-v4.1.2-rpi3-dmx-32bit.zip ? Czy jeszcze coś mam zmienić?
[#15] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@gilban, post #14

Z tego co mogłem wyczytać to:
make -j2 PLATFORM=rpi3

Plik do pobrania:
amiberry-v4.1.2-rpi3-dmx-32bit.zip

Oczywiście bazuję tutaj na informacjach ogólnodostępnych, jako iż sam nie mam RPi 3 - ale nie wydaje mi się, aby należało zrobić coś jeszcze innego.
Do tego, tak na wszelki wypadek nie rozpędzałbym się z ilością pamięci FAST w samym emulatorze i zaczął od jakiś mniejszych wartości - np. 128MB.
[#16] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@infboras, post #5

Kolega @infboras
Nadesłał swój poradnik dotyczący emulacji Amigi na Raspberry - prezentuję w całości - bez jakiejkolwiek edycji:

no więc mam skompilowane oba Amiberry 3.3 i 4.1.2 na RaspiOS 64 bit. Wrażenia:
- opóźnienie Superfrog A500 z ADF na obu podobne, choć może na 4.1.2 delikatnie większe. Z buforem niżej 3 nie mogę zejść bo są zakłócenia, ale to już wiesz.
- Chaos Engine AGA WHDload na 3.3 mi się wiesza na intro, na 4.1.2 możliwe, że też ale... nie mam obrazu, tylko dźwięk intro, więc remis
- a teraz najlepsze... na 4.1.2 jak na A4000 (domyślny config 68030 JIT, Fastest + RTG) ClassicWB jak dam bufor audio na "min" to... nie ma zakłóceń ani opóźnień. To dziwne, ale jest ok.
- coś poknocili z RTG bo staciłem rozdzielczość uaegfx 960x540 i nie mam w WB pixel perfect :/

ogólnie to nawet działa. Nawet Arosa z bólami zainstalowałem.

Właśnie się zorientowałem, że wy chyba używacie tylko prekompilowanych releasów Amiberry. Ja odpuściłem tę drogę, nigdy nie wiadomo jakie tam są wymagane zależności (np. ostatnio coś stękał o glibc). Od jakiegoś czasu tylko kompiluję.

sudo apt update
sudo apt
sudo apt full-upgrade
sudo raspi-config
#CEA Mode 31 1920x1080 50Hz 16:9
#Underscan disabled
#G2 GL (Fake KMS)
#Compositor xcompmgr disabled

reboot
sudo raspi-config
sudo apt update
sudo apt install kmscube

sudo apt-get install libfreetype6-dev libgl1-mesa-dev libgles2-mesa-dev libdrm-dev libgbm-dev libudev-dev libasound2-dev liblzma-dev libjpeg-dev libtiff-dev libwebp-dev git build-essential
wget https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.5.tar.gz
wget https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.15.tar.gz
git clone https://github.com/libsdl-org/SDL.git
cd SDL/
./configure --enable-video-kmsdrm --enable-video-opengl --enable-video-opengles --disable-video-wayland --disable-video-rpi --disable-video-x11 --disable-video-vivante --disable-video-cocoa --disable-video-directfb --disable-video-vulkan
--disable-directx
make -j4
sudo make install
ls -la /usr/local/lib/
cd ..
tar xf SDL2_image-2.0.5.tar.gz
tar xf SDL2_ttf-2.0.15.tar.gz
cd SDL2_image-2.0.5
./configure
make -j4
sudo make install
cd ..
cd SDL2_ttf-2.0.15
./configure
make -j4
sudo make install
cd ..
sudo apt-get install gir1.2-ibus-1.0 libdbus-1-dev libegl1-mesa-dev libibus-1.0-5 libibus-1.0-dev libice-dev libsm-dev libsndio-dev libwayland-bin libwayland-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-de
v libxv-dev x11proto-randr-dev x11proto-scrnsaver-dev x11proto-video-dev x11proto-xinerama-dev
sudo apt install libflac-dev libmpeg2-4-dev libmpg123-dev libxml2-dev
git clone https://github.com/midwan/amiberry.git amiberry_4.1.2
cd amiberry_4.1.2/
git checkout v4.1.2
make -j4 PLATFORM=pi64
cd ..
git clone https://github.com/midwan/amiberry.git amiberry_3.3
cd amiberry_3.3/
git checkout v3.3
make -j4 PLATFORM=pi64

SDL koniecznie z heada, bo będziesz miał czarny ekran.
[#17] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #1

Dla zainteresowanych, bardziej jako ciekawostka - już nie jako sam emulator, ale minimalistyczna wersja systemu:



Obecnie dostępna jest już wersja 1.5 - niestety, nie widziałem nigdzie filmu. Jednak pod filmem, autor podaje link do ściągnięcia i z tego co widzę, jest to wersja właśnie 1.5
[#18] Re: RPi400 Jeżeli nie PiMiga to co? (Poradnik)

@Nasedo, post #9

Zakupiłem Rpi400 do emulacji Amigi i lepszego poradnika nie znajdę. Dzięki Nasedo za fajny tutorialOKOK

Ostatnia aktualizacja: 12.01.2022 15:29:17 przez WojoS
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem