+
    KikB  c                   sx   ^ RI t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt RR	]! R
4      R. R+O/RR	]! R4      RR./RR	]! R4      RR./RR	]! R4      RR./RR	]! R4      RR./RR	]! R4      RRR./RR	]! R4      RR./RR	]! R 4      RR!.R"R#./R$R	]! R%4      R. R+OR"R&.//	tR' tR( t ! R) R*]4      tR# ),i    N)defaultdict)gettext)settings)Runner)system)DISPLAY_MANAGERA500namez	Amiga 500	bios_sha1A500+z
Amiga 500+Z(c5839f5cb98a7a8947065c3ed2f14f5f42e334a1A600z	Amiga 600Z(02843c4253bbd29aba535b0aa3bd9a85034ecde4A1200z
Amiga 1200Z(e21545723fe8374e91342617604f1b3d703094f1A3000z
Amiga 3000Z(f8e210d72b4c4853e0c9b85d223ba20e3d1b36eeA4000z
Amiga 4000Z(5fe04842d04a489720f0f4bb0e46948199406f49Z(c3c481160866e60d085e436a24db3617ff60b5f9A1000z
Amiga 1000Z(11f9e62cf299f72184835b7b2a70a16333fc0d88CD32z
Amiga CD32Z(3525be8887f79b5929e017b42380a79edfee542dbios_ext_sha1Z(5bef3d628ce59cc02a66e6e4ae0da48f60e78f7fCDTVzCommodore CDTVZ(7ba40ffa17e500ed9fed041f3424bd81d9c907bec                 s,   \        \        4      p \        \        4      p\        P                  4        F\  w  r#VR,           F  pW,          P	                  V4       K  	  RV9   g   K5  VR,           F  pW,          P	                  V4       K  	  K^  	  W3# )zReturn mappings of sha1 hashes to Amiga models
The first mapping contains the kickstarts and the second one, the extensions (for CD32/CDTV)
r   r   )r    ZlistAMIGASitemsappend)hashes
ext_hashesmodelZ	model_defZ	sha1_hashs        9/usr/lib/python3.14/site-packages/lutris/runners/fsuae.pyget_bios_hashesr   -   s     FT"J"LLN";//I$$U+ 0i'&77	%,,U3 8	 +     c                s^   RR.p\        4       w  r#/ p/ p. p\        P                  ! V 4       F  p\        P                  P	                  W4      p\        P                  P                  V4      p	W9  d   KI  \        P                  ! VR4      p
W9   d   W*,           F  pWV&   K	  	  W9   g   K  W:,           F  pWV&   K	  	  K  	  V F0  pR\        V,          9   g   K  W9  g   K  VP                  V4       K2  	  VP                  4        UUu/ uF  w  rW9  g   K  WbK  	  pppWE3# u uppi )zReturn a tuple of mappings of Amiga models and their corresponding kickstart file.

Kickstart files must reside in `path`
The first mapping contains the kickstarts and the second one, the extensions (for CD32/CDTV)
i   i   Zsha1r   )r   osZlistdirpathjoinZgetsizer   Zget_file_checksumr   r   r   )r   Z
bios_sizesr   r   Z
found_biosZ	found_extZincomplete_biosZ	file_nameZabs_pathZ	file_sizeZchecksumr   ZkZvs   &             r   scan_dir_for_biosr   <   s    &!J(*FJIOZZ%	77<<0GGOOH-	&++Hf=))$,5! *!#--#+%  . & fUm+0F""5)  $.#3#3#5R#5419Q$!$#5JR   Ss   
D)D)c                   sl	  a ] tR t^Zt o]! R4      t]! R4      tRt]R,          R,          ]R,          R,          ]R,          R,          ]R,          R,          ]R	,          R,          ]R
,          R,          ]R,          R,          ]R,          R,          ]R,          R,          .	t	]P                  4        U Uu. uF  w  rVR,          V 3NK  	  upp t]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R 3]! R!4      R"3]! R#4      R#3]! R$4      R%3.t]! R&4      R&3]! R'4      R(3]! R)4      R*3]! R+4      R,3]! R-4      R.3.t]! R&4      R&3]! R'4      R(3]! R)4      R*3]! R+4      R,3]! R-4      R.3]! R/4      R03]! R14      R23]! R34      R43]! R54      R63]! R74      R83]! R94      R:3]! R;4      R<3]! R=4      R>3]! R?4      R@3.t. ROt. ROt]! R&4      R&3]! R'4      R(3]! R)4      R*3]! R+4      R,3]! R-4      R.3]! R/4      R03]! R14      R23]! R34      R43]! R54      R63]! R74      R83.
t]! RC4      R&3RRRR.tRDtRERFRGRHRI]! RJ4      RKRLRM]! RN4      /RERORP]! RQ4      RGRRRI]! RS4      RKRLRM]! RT4      /RERURP]! RQ4      RI]! RV4      RGRHRM]! RW4      /.tRERXRI]! RY4      RGRZR[]R\RRM]! R]4      /RER^RP]! R_4      RI]! R`4      RGRHRM]! Ra4      /RERbRP]! R_4      RI]! Rc4      RGRHRM]! Rd4      /REReRP]! Rf4      RI]! Rg4      RGRhR\Ri/RERjRP]! Rf4      RI]! Rk4      RGRhR\RiRM]! Rl4      /RERmRP]! Rf4      RI]! Rn4      RGRZR[]R\RBRoRpRM]! Rq4      /RERrRP]! Rf4      RI]! Rs4      RGRZR[]R\R&RoRpRM]! Rt4      /RERuRI]! Rv4      RGRZR[]R\R%RoRpRM]! Rw4      /RERxRI]! Ry4      RGRZR[]R\R&RoRpRM]! Rz4      /RER{RI]! R|4      RGRZR[]R\R&RoRpRM]! R}4      /RER~RP]! RQ4      RI]! R4      RGRZR[]R\R&RoRpRM]! R4      /RERRP]! RQ4      RI]! R4      RGRZR[]R\RARoRpRM]! R4      /RERRI]! R4      RGRhR\RiRoRp/RERRI]! R4      RGRhR\RiRoRpRM]! R4      /RERRI]! R4      RGRhR\RiRoRpRM]! R4      /RERRI]! R4      RGRhR\RiRoRp/.t]R 4       tR tR tR tR tR tR tRtVtR# u upp i )fsuaezFS-UAEzAmiga emulatorznet.fsuae.FS-UAEr   r   r	   r
   r   r   r   r   r   r   Z68000Z68010z68020 with 24-bit addressingZ68EC020Z68020z68030 without internal MMUZ68EC030Z68030z"68040 without internal FPU and MMUZ68EC040z68040 without internal FPUZ68LC040z68040 without internal MMUz68040-NOMMUZ68040z"68060 without internal FPU and MMUZ68EC060z68060 without internal FPUZ68LC060z68060 without internal MMUz68060-NOMMUZ68060ZAutoZauto0z1 MBZ1024z2 MBZ2048z4 MBZ4096z8 MBZ8192z16 MBZ16384z32 MBZ32768z64 MBZ65536z128 MBZ131072z256 MBZ262144z384 MBZ393216z512 MBZ524288z768 MBZ786432z1 GBZ1048576100NoneZTurbozfs-uae/fs-uaeoption	main_fileZtypeZfileZlabelz	Boot diskZdefault_path	game_pathZhelpa3  The main floppy disk file with the game data. 
FS-UAE supports floppy images in multiple file formats: ADF, IPF, DMS are the most common. ADZ (compressed ADF) and ADFs in zip files are a also supported.
Files ending in .hdf will be mounted as hard drives and ISOs can be used for Amiga CD32 and CDTV models.disksZsectionZMediaZmultiple_filezAdditional floppiesz$The additional floppy disk image(s).cdrom_imagezCD-ROM imagez+CD-ROM image to use on non CD32/CDTV modelsr   zAmiga modelZchoiceZchoicesZdefaultz,Specify the Amiga model you want to emulate.kickstart_fileZ	KickstartzKickstart ROMs locationzChoose the folder containing original Amiga Kickstart ROMs. Refer to FS-UAE documentation to find how to acquire them. Without these, FS-UAE uses a bundled replacement ROM which is less compatible with Amiga software.kickstart_ext_filezExtended Kickstart locationz,Location of extended Kickstart used for CD32gfx_fullscreen_amigaZGraphicszFullscreen (F12 + F to switch)ZboolF	scanlineszScanlines display stylezRActivates a display filter adding scanlines to imitate the displays of yesteryear.
grafixcardzGraphics CardZadvancedTzUse this option to enable a graphics card. This option is none by default, in which case only chipset graphics (OCS/ECS/AGA) support is available.grafixmemoryzGraphics Card RAMzOverride the amount of graphics memory on the graphics card. The 0 MB option is not really valid, but exists for user interface reasons.cpumodelZCPUzUse this option to override the CPU model in the emulated Amiga. All Amiga models imply a default CPU model, so you only need to use this option if you want to use another CPU.fmemoryzFast Memoryz9Specify how much Fast Memory the Amiga model should have.ziiimemzZorro III RAMzOverride the amount of Zorro III Fast memory, specified in KB. Must be a multiple of 1024. The default value depends on [amiga_model]. Requires a processor with 32-bit address bus, (use for example the A1200/020 model).fdvolumezFloppy Drive VolumezZSet volume to 0 to disable floppy drive clicks when the drive is empty. Max volume is 100.fdspeedzFloppy Drive SpeedzSet the speed of the emulated floppy drives, in percent. For example, you can specify 800 to get an 8x increase in speed. Use 0 to specify turbo mode. Turbo mode means that all floppy operations complete immediately. The default is 100 for most models.jitcompilerzJIT CompilergamemodezFeral GameModezZAutomatically uses Feral GameMode daemon if available. Set to true to disable the feature.
govwarningzCPU governor warningz_Warn if running with a CPU governor other than performance. Set to true to disable the warning.	bsdsocketzUAE bsdsocket.libraryc                s^    \         P                  P                  \        P                  R 4      # )zfs-uae)r   r   r   r   Z
RUNNER_DIRself   &r   	directoryZfsuae.directory~  s    ww||H//::r   c                s    V P                   P                  R 4      pV'       dB   \        V P                  4       F(  w  r#V^,          V8X  g   K  V P                  V,          u # 	  R# )r   Z )runner_configget	enumeratemodel_choices	platforms)r8   r   ZindexZmachines   &   r   get_platformZfsuae.get_platform  sS    ""&&w/"+D,>,>"?1:&>>%00 #@ r   c                s    \         P                  P                  V4      '       d   V# \         P                  P                  V P                  V4      # )z#Return the absolute path for a file)r   r   Zisabsr   r%   )r8   r   s   &&r   get_absolute_pathZfsuae.get_absolute_path  s2    ww}}T**tRT^^T0RRr   c                s   . pV P                   P                  R 4      pV'       d   VP                  V4       V P                   P                  R4      ;'       g    . pV F  pWA9  g   K  VP                  V4       K  	  V Uu. uF  q@P                  V4      NK  	  pp. p. p\	        V4       FR  w  rxV P                  V4      p	VP                  RWV3,          4       V	R8X  g   K9  VP                  RWx3,          4       KT  	  V P                   P                  R4      p
V
'       d(   VP                  RV P                  V
4      ,          4       WV,           # u upi )r$   r&   z
--%s_%d=%sfloppy_drivez--floppy_image_%d=%sr'   z--cdrom_drive_0=%s)Zgame_configr<   r   rA   r=   get_disk_param)r8   r&   Z	main_diskZ
game_disksZdiskZdrivesZfloppy_imagesZdrive	disk_pathZ
disk_paramr'   s   &          r   insert_floppiesZfsuae.insert_floppies  s.   $$((5	LL#%%))'288b
D T"  ;@@%$''-%@ )% 0E,,Y7JMM,*Y)GGH^+$$%;u>P%PQ	 !1
 &&**=9MM.1G1G1TTU%% As   Ec                s    V P                   P                  R 4      pVR9   d   R# VP                  4       P                  R4      '       d   R# R# )r   Zcdrom_drivez.hdfZ
hard_driverB   )r   r   )r;   r<   ZlowerZendswith)r8   rD   Zamiga_models   && r   rC   Zfsuae.get_disk_param  sB    ((,,W5** ??%%f--r   c                s   . pR RRRRRRRRR	R
RRRRRRRRR/
pVP                  4        FA  w  r4V P                  P                  V4      pV'       g   K*  VP                  WE,          4       KC  	  V P                  P                  R4      '       dW   \        P
                  ! 4       ^ ,          pVP                  R4       VP                  R4       VP                  RV,          4       V P                  P                  R4      '       d   VP                  R4       V P                  P                  R4      '       d   VP                  R4       V P                  P                  R4      '       d   VP                  R4       V P                  P                  R4      '       d   VP                  R4       V P                  P                  R 4      '       d   VP                  R!4       V# )"r(   z--kickstart_file=%sr)   z--kickstart_ext_file=%sr   z--amiga_model=%sr.   z--cpu=%sr/   z--fast_memory=%sr0   z--zorro_iii_memory=%sr1   z--floppy_drive_volume=%sr2   z--floppy_drive_speed=%sr,   z--graphics_card=%sr-   z--graphics_memory=%sr*   z--fullscreenz--fullscreen_mode=fullscreenz--fullscreen_width=%sr3   z--jit_compiler=1r6   z--bsdsocket_library=1r4   z--game_mode=0r5   z--governor_warning=0r+   z--scanlines=1)r   r;   r<   r   r   Zget_current_resolution)r8   ZparamsZoption_paramsr#   ZparamZoption_valueZwidths   &      r   
get_paramsZfsuae.get_params  s   3 ";'
).20.2
 +002MF--11&9L|e23 3
 !!"899#::<Q?EMM.)MM89MM1E9:!!-00MM,-!!+..MM12!!*--MM/*!!,//MM01!!+..MM/*r   c                sz    R V P                  4       V P                  4       ,           V P                  4       ,           /# )Zcommand)Zget_commandrF   rE   r7   r9   r   playZ
fsuae.play  s0    4++-0AADDXDXDZZ[[r    N))r    r    )25rI   )50rJ   )75rK   )r!   r!   )	)r"   r"   )ZUAEGFXZuaegfx)zUAEGFX Zorro IIz	uaegfx-z2)zUAEGFX Zorro IIIz	uaegfx-z3)zPicasso II Zorro IIz
picasso-ii)zPicasso II+ Zorro IIzpicasso-ii+)z
Picasso IVz
picasso-iv)zPicasso IV Zorro IIzpicasso-iv-z2)zPicasso IV Zorro IIIzpicasso-iv-z3)z100%r!   )z200%Z200)z400%Z400)z800%Z800) Z__name__Z
__module__Z__qualname__Z__firstlineno___Z
human_nameZdescriptionZ
flatpak_idr   r?   r   r>   Zcpumodel_choicesZmemory_choicesZzorroiii_choicesZflsound_choicesZgpucard_choicesZgpumem_choicesZflspeed_choicesZrunner_executableZgame_optionsZrunner_optionsZpropertyr:   r@   rA   rE   rC   rF   rG   Z__static_attributes__Z__classdictcell__)Zkeyr   Z__classdict__s   00@r   r   r   Z   sr    8J$%K#Jvvwvvwwwwvvvv
I =CLLNKNjceFmS)NKM 
7W	
7W	
)	*I6	
7W	
'	()4	
7W	
/	0)<	
'	()4	
'	(-8	
7W	
/	0)<	
'	()4	
'	(-8	
7W	
6F$ 
3	
6F	
6F	
6F	
6FN 
3	
6F	
6F	
6F	
6F	
7W	
7W	
7W	
8h	
8h	
8h	
8h	
8h	
6I O
O 
3	
6F	
6F	
6F	
6F	
7W	
7W	
7W	
8h	
8hN 
7SO ( kFQ{^KAC	
 gqzOQ,-KA<=	
 mqzQ~&FACD	
/LD gQ}%H}vADE	
 &q~Q01FA	
 *q~Q45FADE	
 ,q}Q78Fu	
 kq}Q01FuAjk	
 lq}Q'HvAW	
 nq}Q*+H~sAK	
 jQuXH'vA+	
 iQ}%H~sAQR	
 iQ'H'sA\	
 jqzQ,-HsArs		
 iqzQ+,HuAb	
  mQ~&Fu	
 jQ'(FuArs	
 lQ-.FuAq		
 kQ./Fu	
wbNH ; ;S&0#J\ \S Ls   8R0r   )Z(891e9a547772fe0c6c19b610baf8bc4ea7fcb785Z(c39bd9094d4e5f4e28c1411f3086950406062e87Z(90933936cce43ca9bc6bf375662c076b27e3c458)r   Zcollectionsr    r   rL   Zlutrisr   Zlutris.runners.runnerr   Zlutris.utilr   Zlutris.util.displayr   r   r   r   r   rH   r   r   <module>rM      s1   	 #    (  / + 
 fao{5_4`a
VQ{^[3]2^_fao{5_4`afao{5_4`a,@Blm fao{5_4`a
,@ADE
 "# 

 	DE/ 
F!<z\F z\r   