COS 3.0 Emulator Config Help Needed

Help and guidance on all things regarding classic computer and console emulation via Commodore OS.
Post Reply
User avatar
LeoNigro
Site Admin
Posts: 319
pinterest Kuchnie na Wymiar Warszawa
Joined: Mon Aug 14, 2023 1:29 pm
Contact:

COS 3.0 Emulator Config Help Needed

Post by LeoNigro »

Hi Everyone,

We're getting really close to the release of Commodore OS 3 and I'm rushing to get some of the more nice-to-have things in for launch.
I am busy with a few things simultaneously, but the thing getting the most time right now is a new alternate Universal ROM Emulation launcher that goes beyond the Linux system file associations. As a default the existing COS2 scripts for RunCommodore will run as is until the Universal ROM Emulation Launcher is ready. It might take a few updates to get things right. I've now automated a system for more frequent updates.

Emulation will ultimately be launched via the LOAD command. e.g. LOAD AmigaFile.adf or LOAD C64File.D64.
Of course it will do the usual process or better of mapping multiple disks and I hope to make it even process zip files.

It should work out the correct emulator to run via both the extension and a hint within the folder path,
e.g LOAD /usr/share/commodoreos/system/Commodore/C64/ADiskFile.d64 will see "64" in the path, and not confuse it with the same d64 files for any of the other commodore machines.
I know the VIC-20 has some more stringent demands regarding cartridge memory while I'll probably have to get to in an update.

The ROM launcher should be able to execute absolutely any emulator, not just the Commodore ones, and so I have created a config file (below).
Any suggestions or help in working out all the file associations in this thread for all the below emulators would be appreciated.

Here is a list of the emulators included in Commodore OS 3.0, so you can see I have my work cut out for me.
Of course some of the emulators like Mednaffe and Ares etc and whatever lies beneath them, can perform emulation for heaps of other systems not listed. You will still need to hunt down and include system ROMs for some of these emulators for obvious reasons.
Commodore Emulators
Commodore Emulators
CommodoreEmulators.jpg (21.88 KiB) Viewed 6691 times
Non Commodore Emulators
Non Commodore Emulators
Emulators.jpg (75.77 KiB) Viewed 6691 times
Mednaffe Emulators
Mednaffe Emulators
MednaffeEmulators.jpg (34.03 KiB) Viewed 6691 times
I am now going to include the Emulation.cfg file contents that will be read to determine the emulation and display options to the user.

Code: Select all

Emu1Name=ECS Amiga Floppy Drive
Emu1Filetypes=DMS,ADF
Emu1Hint=500,1000,2000,3000
Emu1Command=wine winuae --floppy-drive-0="$FILE1" --floppy-drive-1="$FILE2" --floppy-drive-2="$FILE3" --floppy-drive-3="$FILE4" --fullscreen=1 --kickstart_file="$KICKSTART" --kickstart_ext_file="$KICKSTARTEXT" --amiga-model="$MODEL" &> /dev/null
Emu1Print1=**** Commodore AMIGA Emulator Instructions ****
Emu1Print2=Press ALT + F to toggle fullscreen and window mode.
Emu1Print3=Press ALT + Q to exit.
Emu1Print4=Press ALT + R to reboot emulation.
Emu1Print5=
Emu1Print6=LOAD "$FILE1"
Emu1Print7=SEARCHING FOR $FILE1
Emu1Print8=LOADING
Emu2Print9=ATTACHING DISK/s $FILE1 $FILE2 $FILE3 $FILE4
Emu1Print10=READY
Emu1Print11=RUN

Emu2Name=AGA Amiga Floppy Drive
Emu2Filetypes=DMS,ADF
Emu2Hint=1200,4000
Emu2Command=wine winuae --floppy-drive-0="$FILE1" --floppy-drive-1="$FILE2" --floppy-drive-2="$FILE3" --floppy-drive-3="$FILE4" --fullscreen=1 --kickstart_file="$KICKSTART" --kickstart_ext_file="$KICKSTARTEXT" --amiga-model="$MODEL" &> /dev/null
Emu2Print1=**** Commodore AMIGA Emulator Instructions ****
Emu2Print2=Press ALT + F to toggle fullscreen and window mode.
Emu2Print3=Press ALT + Q to exit.
Emu2Print4=Press ALT + R to reboot emulation.
Emu2Print5=
Emu2Print6=LOAD "$FILE1"
Emu2Print7=SEARCHING FOR $FILE1
Emu2Print8=LOADING
Emu2Print9=ATTACHING DISK/s $FILE1 $FILE2 $FILE3 $FILE4
Emu2Print10=READY
Emu2Print11=RUN

Emu3Name=Amiga Hard Drive
Emu3Filetypes=HDF
Emu3Hint=500,1000,2000,3000,1200,4000
Emu3Command=wine winuae --hard-drive-0="$FILE1" --fullscreen=1 --kickstart_file="$KICKSTART" --kickstart_ext_file="$KICKSTARTEXT" --amiga-model="$MODEL" &> /dev/null
Emu3Print1=**** Commodore AMIGA Emulator Instructions ****
Emu3Print2=Press ALT + F to toggle fullscreen and window mode.
Emu3Print3=Press ALT + Q to exit.
Emu3Print4=Press ALT + R to reboot emulation.
Emu3Print5=
Emu3Print6=LOAD "$FILE1"
Emu3Print7=SEARCHING FOR $FILE1
Emu3Print8=LOADING
Emu3Print9=FOUND HARD DISK FILE $FILE1
Emu3Print10=READY
Emu3Print11=RUN

Emu4Name=C64 Disks
Emu4Filetypes=D64
Emu4Hint=64
Emu4Command=x64sc -fullscreen -8 "$FILE1" -9 "$FILE2" -10 "$FILE3" -autostart "$FILE1" 
Emu4Print1=**** Commodore 64 Emulator Instructions ****
Emu4Print2=Press ALT+Q to exit emulator.
Emu4Print3=Press ALT+D to exit fullscreen mode.
Emu4Print4=Press ALT+J to exit switch joystick ports.
Emu4Print5=
Emu4Print6=LOAD "$FILE1"
Emu4Print7=SEARCHING FOR $FILENAME
Emu4Print8=LOADING
Emu4Print9=ATTACHING DISK/s $FILE1 $FILE2 $FILE3
Emu4Print10=READY
Emu4Print11=RUN

Emu5Name=C64 Tapes
Emu5Filetypes=T64
Emu5Hint=64
Emu5Command=x64sc -fullscreen -8 "$FILE1" -9 "$FILE2" -10 "$FILE3" -autostart "$FILE1" 
Emu5Print1=**** Commodore 64 Emulator Instructions ****
Emu5Print2=Press ALT+Q to exit emulator.
Emu5Print3=Press ALT+D to exit fullscreen mode.
Emu5Print4=Press ALT+J to exit switch joystick ports.
Emu5Print5=
Emu5Print6=LOAD "$FILE1"
Emu5Print7=SEARCHING FOR $FILENAME
Emu5Print8=LOADING
Emu5Print9=FOUND $FILE1
Emu5Print10=READY
Emu5Print11=RUN

Emu6Name=C64 Cartridges
Emu6Filetypes=CRT
Emu6Hint=64
Emu6Command=x64sc -fullscreen -cartcrt "$*" 
Emu6Print1=**** Commodore 64 Emulator Instructions ****
Emu6Print2=Press ALT+Q to exit emulator.
Emu6Print3=Press ALT+D to exit fullscreen mode.
Emu6Print4=Press ALT+J to exit switch joystick ports.
Emu6Print5=
Emu6Print6=LOAD "$FILE1"
Emu6Print7=SEARCHING FOR $FILENAME
Emu6Print8=LOADING
Emu6Print9=FOUND $FILE1
Emu6Print10=READY
Emu6Print11=RUN

Emu7Name=C16/Plus4 Disks
Emu7Filetypes=D64
Emu7Hint=16,PLUS4
Emu7Command=xplus4 -fullscreen -8 "$FILE1" -9 "$FILE2" -10 "$FILE3" -autostart "$FILE1"
Emu7Print1=**** Commodore 16/Plus4 Emulator Instructions ****
Emu7Print2=Press ALT+Q to exit emulator.
Emu7Print3=Press ALT+D to exit fullscreen mode.
Emu7Print4=Press ALT+J to exit switch joystick ports.
Emu7Print5=
Emu7Print6=LOAD "$FILE1"
Emu7Print7=SEARCHING FOR $FILENAME
Emu7Print8=LOADING
Emu7Print9=ATTACHING DISK/s $FILE1 $FILE2 $FILE3
Emu7Print10=READY
Emu7Print11=RUN

Emu8Name=C16/Plus4 Tapes
Emu8Filetypes=TAP
Emu8Hint=16,PLUS4
Emu8Command=xplus4 -fullscreen -8 "$FILE1" -9 "$FILE2" -10 "$FILE3" -autostart "$FILE1"
Emu8Print1=**** Commodore 16/Plus4 Emulator Instructions ****
Emu8Print2=Press ALT+Q to exit emulator.
Emu8Print3=Press ALT+D to exit fullscreen mode.
Emu8Print4=Press ALT+J to exit switch joystick ports.
Emu8Print5=
Emu8Print6=LOAD "$FILE1"
Emu8Print7=SEARCHING FOR $FILENAME
Emu8Print8=LOADING
Emu8Print9=FOUND $FILE1
Emu8Print10=READY
Emu8Print11=RUN

Emu9Name=C16/Plus4 Cartridges
Emu9Filetypes=CRT
Emu9Hint=16,PLUS4
Emu9Command=xplus4 -fullscreen -cartcrt "$FILE1"
Emu9Print1=**** Commodore 16/Plus4 Emulator Instructions ****
Emu9Print2=Press ALT+Q to exit emulator.
Emu9Print3=Press ALT+D to exit fullscreen mode.
Emu9Print4=Press ALT+J to exit switch joystick ports.
Emu9Print5=
Emu9Print6=LOAD "$FILE1"
Emu9Print7=SEARCHING FOR $FILENAME
Emu9Print8=LOADING
Emu9Print9=FOUND $FILE1
Emu9Print10=READY
Emu9Print11=RUN

Emu10Name=C128 Disks
Emu10Filetypes=D64
Emu10Hint=128
Emu10Command=x128 -fullscreen -8 "$FILE1" -9 "$FILE2" -10 "$FILE3" -autostart "$FILE1" 
Emu10Print1=**** Commodore 128 Emulator Instructions ****
Emu10Print2=Press ALT+Q to exit emulator.
Emu10Print3=Press ALT+D to exit fullscreen mode.
Emu10Print4=Press ALT+J to exit switch joystick ports.
Emu10Print5=
Emu10Print6=LOAD "$FILE1"
Emu10Print7=SEARCHING FOR $FILENAME
Emu10Print8=LOADING
Emu10Print9=ATTACHING DISK/s $FILE1 $FILE2 $FILE3
Emu10Print10=READY
Emu10Print11=RUN

Emu11Name=C128 Tapes
Emu11Filetypes=T64
Emu11Hint=128
Emu11Command=x128 -fullscreen -8 "$FILE1" -9 "$FILE2" -10 "$FILE3" -autostart "$FILE1" 
Emu11Print1=**** Commodore 128 Emulator Instructions ****
Emu11Print2=Press ALT+Q to exit emulator.
Emu11Print3=Press ALT+D to exit fullscreen mode.
Emu11Print4=Press ALT+J to exit switch joystick ports.
Emu11Print5=
Emu11Print6=LOAD "$FILE1"
Emu11Print7=SEARCHING FOR $FILENAME
Emu11Print8=LOADING
Emu11Print9=FOUND $FILE1 $FILE1 $FILE1 $FILE1
Emu11Print10=READY
Emu11Print11=RUN

Emu12Name=PET Disks
Emu12Filetypes=D64
Emu12Hint=PET
Emu12Command=xpet -fullscreen -8 "$FILE1" -9 "$FILE2" -10 "$FILE3" -autostart "$FILE1" 
Emu12Print1=**** Commodore PET Emulator Instructions ****
Emu12Print2=Press ALT+Q to exit emulator.
Emu12Print3=Press ALT+D to exit fullscreen mode.
Emu12Print4=Press ALT+J to exit switch joystick ports.
Emu12Print5=
Emu12Print6=LOAD "$FILE1"
Emu12Print7=SEARCHING FOR $FILENAME
Emu12Print8=LOADING
Emu12Print9=ATTACHING DISK/s $FILE1 $FILE2 $FILE3
Emu12Print10=READY
Emu12Print11=RUN

Emu13Name=PET Tapes
Emu13Filetypes=T64
Emu13Hint=PET
Emu13Command=xpet -fullscreen -8 "$FILE1" -9 "$FILE2" -10 "$FILE3" -autostart "$FILE1" 
Emu13Print1=**** Commodore PET Emulator Instructions ****
Emu13Print2=Press ALT+Q to exit emulator.
Emu13Print3=Press ALT+D to exit fullscreen mode.
Emu13Print4=Press ALT+J to exit switch joystick ports.
Emu13Print5=
Emu13Print6=LOAD "$FILE1"
Emu13Print7=SEARCHING FOR $FILENAME
Emu13Print8=LOADING
Emu13Print9=FOUND FILE $FILE1
Emu13Print10=READY
Emu13Print11=RUN

Emu14Name=PET Cartridges
Emu14Filetypes=CRT
Emu14Hint=PET
Emu14Command=xpet -fullscreen -cartcrt "$FILE1" 
Emu14Print1=**** Commodore PET Emulator Instructions ****
Emu14Print2=Press ALT+Q to exit emulator.
Emu14Print3=Press ALT+D to exit fullscreen mode.
Emu14Print4=Press ALT+J to exit switch joystick ports.
Emu14Print5=
Emu14Print6=LOAD "$FILE1"
Emu14Print7=SEARCHING FOR $FILENAME
Emu14Print8=LOADING
Emu14Print9=FOUND CARTRIDGE $FILE1
Emu14Print10=READY
Emu14Print11=RUN

Emu15Name=VIC-20 Disks
Emu15Filetypes=D64
Emu15Hint=VIC,VC
Emu15Command=xvic -fullscreen -8 "$FILE1" -9 "$FILE2" -10 "$FILE3" -autostart "$FILE1" 
Emu15Print1=**** Commodore VIC-20 Emulator Instructions ****
Emu15Print2=Press ALT+Q to exit emulator.
Emu15Print3=Press ALT+D to exit fullscreen mode.
Emu15Print4=Press ALT+J to exit switch joystick ports.
Emu15Print5=
Emu15Print6=LOAD "$FILE1"
Emu15Print7=SEARCHING FOR $FILENAME
Emu15Print8=LOADING
Emu15Print9=ATTACHING DISK/s $FILE1 $FILE2 $FILE3
Emu15Print10=READY
Emu15Print11=RUN

Emu16Name=VIC-20 Tapes
Emu16Filetypes=T64
Emu16Hint=VIC,VC
Emu16Command=xvic -fullscreen -8 "$FILE1" -9 "$FILE2" -10 "$FILE3" -autostart "$FILE1" 
Emu16Print1=**** Commodore VIC-20 Emulator Instructions ****
Emu16Print2=Press ALT+Q to exit emulator.
Emu16Print3=Press ALT+D to exit fullscreen mode.
Emu16Print4=Press ALT+J to exit switch joystick ports.
Emu16Print5=
Emu16Print6=LOAD "$FILE1"
Emu16Print7=SEARCHING FOR $FILENAME
Emu16Print8=LOADING
Emu16Print9=FOUND TAPE $FILE1
Emu16Print10=READY
Emu16Print11=RUN

Emu17Name=VIC-20 Cartridges
Emu17Filetypes=CRT
Emu17Hint=VIC,VC
Emu17Command=xvic -fullscreen -cartcrt "$FILE1" 
Emu17Print1=**** Commodore VIC-20 Emulator Instructions ****
Emu17Print2=Press ALT+Q to exit emulator.
Emu17Print3=Press ALT+D to exit fullscreen mode.
Emu17Print4=Press ALT+J to exit switch joystick ports.
Emu17Print5=
Emu17Print6=LOAD "$FILE1"
Emu17Print7=SEARCHING FOR $FILENAME
Emu17Print8=LOADING
Emu17Print9=FOUND CARTRIDGE $FILE1
Emu17Print10=READY
Emu17Print11=RUN
So if you would like to help me with adding more emulators to the Universal Rom Launcher please post an Emu section in your comments within this thread. That would be really awesome and would save me a tonne of time, and even if we keep making changes after launch it will be in an update.
I'll keep the this top post as the main source, that will be modified.

I'll try to modify the config as I go. Don't worry so much about the parameter numbering, I will correct it in the final.
Also, I'll probably be adding an optional EmuXSystemRom parameter and an EmuXSystemRomFallback parameter, to handle kickstart selection for the Amigas.
Image Commodore OS creator. Site Admin. Owns: C64, C128D(Sidekick64), A500, A1000(piStorm), C64x(i7)

wiisoldier
Posts: 6
Joined: Fri Nov 15, 2024 11:34 am
Contact:

Re: COS 3.0 Emulator Config Help Needed

Post by wiisoldier »

Hi Leo,
thanks for adding Amiberry to the COS3 setup.
It should be noted that Amiberry is not currently supporting x11 on ARM and this may also affect x11 on x86 in the future as the current choice is Wayland. If you have any issues with the instalation, please let me know and I can pass it on to the developer.

wii

User avatar
LeoNigro
Site Admin
Posts: 319
Joined: Mon Aug 14, 2023 1:29 pm
Contact:

Re: COS 3.0 Emulator Config Help Needed

Post by LeoNigro »

I'm sure there are going to be all sorts of things that will need to be tweaked, included or excluded, for an ARM port.
This will just be another one of them.

I've included Amiberry, but I've not yet actually associated anything with AmiBerry.
FSUAE doesn't have it's usual front-end baked in any more either which is a PITA. It's no longer developed.
It's written in Python, and I may have mentioned, I was thinking of somehow scraping it out of COS2 for inclusion in COS3.
Yikes! That may be a project for another day. :?
I've also included WinUAE through WINE but I haven't done any testing to be sure its useful.

I guess we'll need an option in the Commodore OS Settings manager to prioritise the Amiga emulator of choice.
I'm going to keep the original COS2 scripts and associations for the time being, until I can get all this sorted, or I fear COS3 will never get released in a useful time-frame. We can have users switch to the Universal ROM Launcher when its most useful via the COS settings as it gets developed. I've put in a flag that can be flipped in an update to make it standard when we're happy. I know I'm kicking the can down the road.... :oops:
Image Commodore OS creator. Site Admin. Owns: C64, C128D(Sidekick64), A500, A1000(piStorm), C64x(i7)

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests