Sign in

Flan

@mariomasta64.me
489 followers 774 following 1.7K posts

twitter.com/MARlOMASTA64 currently quite bored rhythm game addict hobbyist programmer tech enthusiast i like to store data on hard drives shitposting give me cute anime girls mariomasta64.me

PostsRepliesMedia
Flan @mariomasta64.me · 5h
did you know ps2linux has gimp preinstalled? it also containd applications such as xchat, dillo, xterm, and several different window managers (enlightenment, scwm, twm, icewm) as well as cd players and mail clients it also uses gnome and has access to basically all the hardware
ps2linux running gimp 1.1
030
Flan @mariomasta64.me · 7h
replaces cdrom: with cdrom:\ replaces cdrom:\\ with cdrom:\ (in case cdrom:\ started proper) removes everything between first and second instance of \ but not the \ themselves removes \\ again works
BOOT = cdrom:\TEKKEN3\SLUS_004.02;1
BOOT = cdrom:\SLUS_004.02;1
8
SLUS_004.02
000
Flan @mariomasta64.me · 8h
simpler
new code:

    boot_file=${boot_file//cdrom:/cdrom:\\} # add a \ to cdrom:
    boot_file=${boot_file//cdrom:\\\\/cdrom:\\} # remove a slash if two slashes are made [ cdrom:\ -> cdrom:\\ ]

    index=$(echo "${boot_file}" | awk -v tgt="cdrom:\\" '{print index($0, tgt)}')
    if [[ "${index}" == "0" ]]; then countdown; break; fi
    game_id=${boot_file:$((${index} + 6)):11}

old code:

    index=$(echo "${boot_file}" | awk -v tgt="cdrom:\\" '{print index($0, tgt)}')
    if [[ "${index}" == "0" ]]; then
      index=$(echo "${boot_file}" | awk -v tgt="cdrom:" '{print index($0, tgt)}') # fix issue with SCUS_943.02 and others that say cdrom: instead of cdrom:\
      if [[ "${index}" == "0" ]]; then
        countdown;
        break;
      else
        game_id=${boot_file:$((${index} + 5)):11}
      fi
    else
      game_id=${boot_file:$((${index} + 6)):11}
    fi
100
Flan @mariomasta64.me · 8h
new edge case, apparently sometimes boot file is sometimes stored in sub-folder, easy fix, just pipe it into sed to remove \ and whats in between them (wont work for single slash so if i come across something like cdrom:test\file.elf wont work boot_file=$(echo ${boot_file} | sed 's/\\[^\\]*\\//')
[07:12:20] - looking for game
Setting input-charset to 'UTF-8' from locale.
BOOT = cdrom:\TEKKEN3\SLUS_004.02;1
TEKKEN3\SLU
ES
[7]a cdrom of tekken 3 being backed up after implementing the fix
100
Flan @mariomasta64.me · 12/10/2026
it is going smoothly, tho it takes SO much longer than a ps2 disc to copy and more than this dont read fully cause of scratches and stuff but this is what i did so far, at some point im gonna normalize the directory names
file directory with a bunch of ps1 games
100
Flan @mariomasta64.me · 12/10/2026
i added 3 things 1. drive detection (i got annoyed that sometimes on replug my drive would become sr1) 2. better detection of boot file stuff since sometimes it would be cdrom: instead of cdrom:\ 3. sometimes when checking disc itd give me an error message now i check for that
# drive="/dev/sr0"
drive_temp=$(lsblk -d -o NAME,TYPE | grep rom)
drive="/dev/${drive_temp%% *}"

if [[ "${drive}" == "" ]]; then
  spd-say "No Drive Detected"
  countdown
  countdown
  ~/Desktop/backup-ps1.sh
fi    #if [[ ${boot_file:0:4} != "BOOT" ]]; then countdown; break; fi
    #if [[ ${boot_file} != "BOOT"*"="*"cdrom:\\"*"_"*"."* ]]; then countdown; break; fi
    if [[ ${boot_file} != "BOOT"*"="*"cdrom:"*"_"*"."* ]]; then countdown; break; fi # fix issue with SCUS_943.02 and others that say cdrom: instead of cdrom:\
    index=$(echo "${boot_file}" | awk -v tgt="cdrom:\\" '{print index($0, tgt)}')
    if [[ "${index}" == "0" ]]; then
      index=$(echo "${boot_file}" | awk -v tgt="cdrom:" '{print index($0, tgt)}') # fix issue with SCUS_943.02 and others that say cdrom: instead of cdrom:\
      if [[ "${index}" == "0" ]]; then
        countdown;
        break;
      else
        game_id=${boot_file:$((${index} + 5)):11}
      fi
    else
      game_id=${boot_file:$((${index} + 6)):11}
    fi
    #if [[ ${boot_file: -12: 1} == "\\" ]]; then game_id=${boot_file: -11: 11}; fi # fix issue with SCUS_945.03 and other things that miss a ;1 at the end
    #if [[ ${boot_file: -13: 1} == "\\" ]]; then game_id=${boot_file: -12: 11}; fi # fix issue with SCUS_945.03 and other things that miss a ;1 at the end
    #if [[ ${boot_file: -2: 1} == ";" ]]; then game_id=${boot_file: -13: 11}; fi
    #if [[ ${boot_file: -3: 1} == ";" ]]; then game_id=${boot_file: -14: 11}; fi
    #if [[ ${boot_file: -4: 1} == ";" ]]; then game_id=${boot_file: -15: 11}; fi
    #if [[ ${boot_file: -5: 1} == ";" ]]; then game_id=${boot_file: -16: 11}; fi
    #if [[ ${boot_file: -6: 1} == ";" ]]; then game_id=${boot_file: -17: 11}; fi
    #if [[ ${boot_file: -7: 1} == ";" ]]; then game_id=${boot_file: -18: 11}; fi
    #if [[ ${boot_file: -8: 1} == ";" ]]; then game_id=${boot_file: -19: 11}; fi
    #if [[ ${boot_file: -9: 1} == ";" ]]; then game_id=${boot_file: -20: 11}; fi
    #if [[ ${boot_file: -10: 1} == ";" ]]; then game_id=${boot_file: -21: 11}; fi    boot_file=$(isoinfo -R -i ${drive} -x '/SYSTEM.CNF;1' -ignore-error | xxd -s 0x0 -l 0x10000 -p - | xxd -r -p | tr -d '\0' | head -n 1)
    echo ${boot_file} | tee /dev/tty | if grep -q "CD-ROM is NOT in ISO 9660 format" -; then
      spd-say "No Drive Detected"
      countdown
      ~/Desktop/backup-ps1.sh
    fi
100
Flan @mariomasta64.me · 11/10/2026
if youre on nextendo feel free to add me SW-9601-8843-3344 nextendo.network
MarioMasta64
SW-9601-8843-3344
020
Flan @mariomasta64.me · 11/10/2026
timer my beloved, moving thing my beloved so now: l-ec error detected/ctrl+c same as below but triggered by sigint (or by simulated sigint) copy failed (no cue file, something went wrong): same as below but deletes directory copy finished: ejects disc waits 20 seconds isoinfo command closes tray
timer in output (so badly wanna say "timer in bio")
100
Flan @mariomasta64.me · 11/10/2026
now if it detects an L-EC error it will trigger a sigint which triggers my trap which ejects disc, waits a moment, erases bad dump, and restarts script, black magic and lots of ducktape
detects a l-ec error in stderr output and commits a ctrl+c      # while in a read loop sigint doesnt run correctly and fails so using grep
      cdrdao read-cd --datafile "${target}/${label}.bin" --driver generic-mmc:20000 --read-raw "${target}/${label}.toc" 2>&1 1>con: | if grep -q "Found L-EC error" -; then
      #cdrdao read-cd --datafile "${target}/${label}.bin" --driver generic-mmc:20000 --read-raw "${target}/${label}.toc" 2>&1 1>con: | while read -r output; do
        #echo -en "${output}"
        #if [[ "${output}" == *"Found L-EC error"* ]]; then
          spd-say "LE-C Error Detected Triggering SIGINT"
          removal_target="${target}"
          looking=1
          #echo "LE-C Error Detected Triggering SIGINT"
          kill -INT $$
        #fi
      #done
      fi
100
Flan @mariomasta64.me · 09/10/2026
so coolboarders2 doesnt store the boot file the same as popn cds (using boot = id;1 vs boot=id1;) so complexicity increase a bit, also a quicker check for correct file, im sure ill find many more weird edge cases later
    game_id=
    boot_file=$(isoinfo -R -i /dev/sr1 -x '/SYSTEM.CNF;1' -ignore-error | xxd -s 0x0 -l 0x10000 -p - | xxd -r -p | tr -d '\0' | head -n 1)
    echo ${boot_file}
    if [[ ${boot_file:0:4} != "BOOT" ]]; then countdown; break; fi
    game_id=${boot_file: -14: 11}
100
Flan @mariomasta64.me · 09/10/2026
WE ARE SO BACK so instead of using the same script that everyone keeps using i decided to use a command from a random ahh site [ emulationonmac.wordpress.com/2015/07/26/p... ] and it just worked literally everyone else was saying generic-mmc-raw but generic-mmc:0x20000 fixed it for me
popn music finally at the title screen    if [ "${label}" != "" ];
    then
      target="$target_directory/${label}"
      echo "a" > /dev/null
    else
      looking=0
      sleep 5
      break
    fi
    if [ ! -f "$target/${label}.cue" ];
    then
      echo "[$(date '+%T')] - Source: ${label}"
      echo "[$(date '+%T')] - Target: $target"
      sleep 1
      # cp "$source" "$target"
      removal_target="${target}"
      # ~/Desktop/cdrdao.sh --outputdir "${target}" "${label}"
      if [[ ! -d "${target}" ]]; then mkdir -p "${target}"; fi
      cdrdao read-cd --datafile "${target}/${label}.bin" --driver generic-mmc:0x20000 --read-raw "${target}/${label}.toc"
      toc2cue "${target}/${label}.toc" "${target}/${label}.cue"
    fi
    if [ -f "$target/${label}.cue" ];
    then
      echo "[$(date '+%T')] - copy finished"
      # spd-say "copy finished checking dump"
      spd-say "copy finished change disc"
      removal_target="nothing"
      looking=1
      sleep 5
    else
      echo "[$(date '+%T')] - copy failed"
      # spd-say "copy failed"
      spd-say "copy failed check disc and cable"
      removal_target="${target}"
      looking=1
      sleep 5
    fi
        if [[ "${removal_target}" != "nothing" ]]; then
          echo "removing incomplete dump ${removal_target}"
          #rm -rf "${removal_target}"
        fi
    break
110
Flan @mariomasta64.me · 09/10/2026
at the very least when i boot them in duckstation they say this and when i dump them with mpf they show a broken playstation logo, the discs are quite literally brand new and my drive supports omnidrive so it shouldnt have trouble reading anything
please insert playstation cd-rom
100
Flan @mariomasta64.me · 09/10/2026
it only gets worse, it becomes obvious that im very used to making scripts by hand but very unknowledgable at actually coding good really quickly
    game_id=$(isoinfo -R -i /dev/sr0 -x '/SYSTEM.CNF;1' -ignore-error | xxd -s 0xE -l 0xB -p - | xxd -r -p | tr -d '\0')
    check1=1; check2=1
    # echo ${game_id:4:1}${game_id:8:1}
    if [[ "${game_id:4:1}" == "_" ]]; then check1=0; fi
    if [[ "${game_id:8:1}" == "." ]]; then check2=0; fi
    if [[ $(($((${check1} + ${check2})) / 2)) == 1 ]]; then sleep 5; break; fi
    if [[ "${game_id}" == "" ]]; then sleep 5; break; fi

    label="$(blkid -o value -s LABEL /dev/sr0)"
    # echo ${label};
    if [[ "${label}" == "" ]]; then label="${game_id:0:4}-${game_id:5:3}${game_id:9:2}"; fi
    if [[ "${label}" == "-" ]]; then sleep 5; break; fi
    removal_target="nothing"
    # echo $label
100
Flan @mariomasta64.me · 09/10/2026
and now it dumps both discs without and with labels
detects drive
detects ability to read certain characters out of system.cnf
uses gameid because drive doesnt have label
200
Flan @mariomasta64.me · 09/10/2026
the thing
SLUS_006.17

no label is provided using game id
SLUS-00617
100
Flan @mariomasta64.me · 09/10/2026
i have created a very very very stupid way to check if no drive or improper drive is detected it will just loop it may be stupid but it works
    game_id=$(isoinfo -R -i /dev/sr0 -x '/SYSTEM.CNF;1' -ignore-error | xxd -s 0xE -l 0xB -p - | xxd -r -p | tr -d '\0')
    check1=1; check2=1
    if [[ "${game_id:4:1}" == "_" ]]; then check1=0; fi
    if [[ "${game_id:8:1}" == "." ]]; then check2=0; fi
    if [[ ! ${check1}${check2} ]]; then break; fi
    echo ${game_id};

    label="$(blkid -o value -s LABEL /dev/sr0)"
    echo ${label};
    if [[ "${label}" == "" ]]; then echo "no label is provided using game id"; label="${game_id:0:4}-${game_id:5:3}${game_id:9:2}"; fi
    removal_target="nothing"
    echo ${label};
100
Flan @mariomasta64.me · 09/10/2026
also i added a part to automatically start the script again and remove the directory if i ctrl+c (but only if it hasnt finished) its stupid but its my stupid
ctrl c is pressed it then says it is removing a dump and then gives prompt to quit if neededif sigint (ctrl+c) is pressed it gives ~2 seconds to press ctrl+c to quit otherwise it removes the incomplete dump and then starts itself again
100
Flan @mariomasta64.me · 09/10/2026
i usually adjust them depending only on how much im frustrated by a tiny thing otherwise i just slap it together and call it finished the psp one is more interesting-ish but also its human made slop
while true
do
  while true
  do
    if [ $looking = 1 ]
    then
      echo "[$(date '+%T')] - looking for game"
    fi

    cd "/run/media/$USER/"
    source="$(echo /run/media/$USER/**/*UMD9660.ISO*)"    if [ -f "$source" ];
    then
      cd "${source:0: -11}"
      target="$target_directory/${PWD/\/run\/media\/$USER\//}.ISO"
      echo "a" > /dev/null
    else
      looking=0
      sleep 0.5
      break
    fi
    if [ -f "$target" ];
    then
      # echo "[$(date '+%T')] - checking game"
      echo "[$(date '+%T')] - checking game you can change game because rsync verifies"
      if cmp -s "$source" "$target"; then
        echo "[$(date '+%T')] - copy match change disc"
        spd-say "copy match change disc"
        sleep 5
      else
        echo "[$(date '+%T')] - checking game status"
        # make sure disc is gone before checking that disc is there
        sleep 5
        if [ -f "$source" ];
        then
          echo "[$(date '+%T')] - copy mismatch"
          spd-say "copy mismatch"
          rm "$target"
          sleep 5
        else
          echo "[$(date '+%T')] - disc removed"
        fi
        break
      fi
      # echo "[$(date '+%T')] - $target exists"
      # sleep 5
      break
    else
      echo "[$(date '+%T')] - Source: $source"
      echo "[$(date '+%T')] - Target: $target"
      sleep 1
      # cp "$source" "$target"
      rsync -ah --info=progress2 "$source" "$target" 2> /dev/null
    fi
    if [ -f "$target" ];
    then
      echo "[$(date '+%T')] - copy finished"
      # spd-say "copy finished checking dump"
      spd-say "copy finished change disc"
      looking=1
    else
      echo "[$(date '+%T')] - copy failed"
      # spd-say "copy failed"
      spd-say "copy failed check disc and cable"
      looking=1
      sleep 5
    fi
    break
  done
done
110
Flan @mariomasta64.me · 09/10/2026
its this easy to detect a drive label, idk why the script i used ( web.archive.org/web/20260304... ) doesnt do it, hence why i made this instead [blkid -o value -s LABEL /dev/sr0] checks if target cue exists if not it runs the script to prepare it with the drive name then goes into sleep and waits
checks if cue exists then displays a label and target and runs a copy to output the contents and create a bin cue then gives feedback depending on how it goes
110
Flan @mariomasta64.me · 09/10/2026
back on my bs, slightly modified version of my psp backup script that will keep checking a drive and check if a .cue (the process finished) exists and look again if it doesnt i am lazy.
backup script detects coolboarders and automatically starts dumping it with cdrdao and then conveerting it to bin/cue using cue2toc
140
Flan @mariomasta64.me · 07/10/2026
i dont have much interest in the othrr two but this section is neatfor every title on it theres generally a collection section where you can get things like pictures and media and stuff of games
ring with accessory info and software sectionsring with coming soon and now hotring with various genresscreenshots from game
100
Flan @mariomasta64.me · 07/10/2026
so i had to reserve space and then make the linux smaller than free space but all is well now now to continue the last 4 most are very stubby (tbh they arent remarkable much) but scej channel has an online golf game, notes in image alt and then next will be showing some the playstation now
playstation channel, will talk in next one

scej channel (lets you do a few things like a golf game, would let you download things but seems almost everything is under construction)

capcom channel (also not functional yet)

koei / gamecity (basically non-functional channel, very smash bros feeling)
100
Flan @mariomasta64.me · 06/10/2026
now i do this for all the partitions i had and wait i changed all the sizes i had also apparently if you reinstall it the exfat partition is untouched in case you have a bunch of things stored there its only the psbbn part thats replaced
copyingcopying files back
100
Flan @mariomasta64.me · 06/10/2026
currently copying everything not easily replaceable off before reinstall then back on ill probably let that happen while i sleep if it takes too long
copying speed of less than 1mb/s so far has copied 657mb more to go
110
Flan @mariomasta64.me · 06/10/2026
i gotta figute out how to resize my partitions
full space ps2
110
Flan @mariomasta64.me · 06/10/2026
konami downloads
demoed for test popn bishibashi and 15-puzzle
110
Flan @mariomasta64.me · 06/10/2026
absolute download
160mb metal gear solid 3 subsistenence movie
110
Flan @mariomasta64.me · 06/10/2026
hudson allows downloading movies so ill have some of those in my collection downloads are around ~10mb/min so does bandai entertainment channel, so does konami channel
downloading a movie from the hudson channel, the download is very slowdownloading hack3 off bandai entettainment world channeldownloading of a movie from the konami channel
110
Flan @mariomasta64.me · 06/10/2026
for internet channels: dont have space so most notes are in alt text
konami channel (game info, movie downloads)

namco channel (game info, alot of things are left unopanable, some online games are playable, kinda)

bandai entertainment world (info about games and movies to download)

bandai channel (would give you ways to stream and watch animes and also info about games, not functional outside just interface stuff)

hudson channel (play games and get info and download some demoes)

ea channel (like nintendo channel)

so-net (trailers)

biglobe (non-functional)
110
Flan @mariomasta64.me · 06/10/2026
so basically anything that shows up as a usb device works but you cant copy to only from also it seems it imports all the photos into a timestamped collection (can be renamed)
media showing up from usbcopy only to local collectioncopied to a new album with a date and time
110
Flan @mariomasta64.me · 06/10/2026
so with the camera and video type beat stuff i guess it expects it to showup as a usb device so things like ipod should work and the psp works and a vita with vitashell *should* work it can only transfer from not to afaict usb might receive will try later rn charging vita
psp connected to ps2 over usb showing ip as a device for media
110
Flan @mariomasta64.me · 06/10/2026
the only cool thing is the modded ability to launch stuff off the hdd lest you have an ssd its the worst thing known to man and even then it might still be psbbn is much faster
hdd games and suchavatar launched from hdd menu
110
Flan @mariomasta64.me · 06/10/2026
then theres hosdmenu which happened in europe its boring if you have fmcb youre not missing out psbbn must use an original network adapter but hosdmenu can install on 3rd party ones the only cool thing is the modified browser with hdd as an option but i hope youre ready to wait 3 years for load
hosdmenuhard driveso much loading
110
Flan @mariomasta64.me · 06/10/2026
nevermind theres a limit its 4
cant add more bebecause full
110
Flan @mariomasta64.me · 06/10/2026
you can also add and remove your favorite items from the navigator menu (select) i will use this to put my favorite games on speed dial
opl with option selected to add to navigator menu
110
Flan @mariomasta64.me · 06/10/2026
gifs dont animate but this is quite cool
oomfies page
120
Flan @mariomasta64.me · 06/10/2026
i will however note mmm dillo
dillo 0.7.1
110
Flan @mariomasta64.me · 06/10/2026
it has ui tho i will poke it later
ps2 linux clips2 linux graphical interface
110
Flan @mariomasta64.me · 06/10/2026
ancient ahh kernel i wonder if anyone ever ran anythimg newer on the system
ps2 linux on kernel version 2.4.17
120
Flan @mariomasta64.me · 06/10/2026
select brings up a new menu which shows apps (on modified version) and also mail which im about to try out not sure if its a gmail problem (i made an app password and other things can access it) but i cant connect to gmail ill look more into it
navigator menufailed to receivesending messagefailed to send
120
Flan @mariomasta64.me · 06/10/2026
then theres the carousel for games normally it would be for things downloaded from the service (such as demos, apps, ps1 games, etc..) but in the modified version it also shows games for opl
collection screen showing popn music 9
110
Flan @mariomasta64.me · 06/10/2026
now this is the part where id probably prefer streaming it because theres just so much to do here
internet channelinternet channel continued
110
Flan @mariomasta64.me · 06/10/2026
one thing to note however: it is not region free
menu showing working dvd movie for oreimoblocked by sony due to regional difference
110
Flan @mariomasta64.me · 06/10/2026
unlike music menu dvd cant be ripped makes sense i guess there isnt much special about it if youve played dvds on ps2 before
movie loadinghackers on dvd (i also own it on vhs)
110
Flan @mariomasta64.me · 06/10/2026
i did however put some photos preloaded on it i got konatas my downgrading saga a meme and a thing i made in flash player version of rage face maker cause i thought it would be funny to do a bunch of flash stuff when windows 11 first released
the browsing view, pretty slickps3 downgrade adventureshell eya smirk facei stand with my cancelled wife (umineko edition)
110
Flan @mariomasta64.me · 06/10/2026
unfortunately neither of my sony handcams showed up in photo channel i think i read about them breaking minidisc support so they probably also broke camera support i wouldnt be suprised if thats the only reason why
sony minidisc and psp memcard compatible camera (dcr-dvd650)connected camera is not detectedagain not connected despite being connectedsony handycam supporting psp memstick and hdd (dcr-sr47)
110
Flan @mariomasta64.me · 06/10/2026
you can edit the info manually tho also keyboard is supported for typing ofc
renamed music entries
110
Flan @mariomasta64.me · 06/10/2026
for starters it seems it has a simolar feature to the original xbox where you can rip a cd and it is on the hard drive i imagine way back when tho it had a connection to an online database for stuff like track names its fairly quick at it
ps2 ripping a yuc'e cd to hdd (glitter flavor)sadly unnamed album
110
Flan @mariomasta64.me · 05/10/2026
one assembly later
a ps2 network adapter bay with a sata connextor installed
1120
Flan @mariomasta64.me · 02/10/2026
prepping the drives
2tb barracuda hdd hooked upto reader and pcgames being transferred to it via psbbn definitive project script
111