
Hodor escribió:@CodeEricca
En un CRT conectado por cable VGA-SCART obtendrás la misma resolución y refresco que un monitor arcade siempre y cuando sea compatible. Es decir, no todos los televisores CRT son igual de permisivos con determinados refrescos de pantalla. También te digo que ciertos cores permiten posicionar tanto vertical como horizontalmente la imagen dentro de unos márgenes. Pero no todos, ojo.
Desde mi punto de vista, la combinación Mister y CRT es insuperable en cuanto a fidelidad de imagen precisamente por las características de los monitores y teles de tubo. La primera vez que conecté un monitor VGA de tubo a la Mister y puse el core de Atari ST en modo monocromo en alta resolución -640X400 en 71Hz-, casi me caigo de espaldas. Fue como retroceder varias décadas y volver a tener delante el ordenador con su monitor de alta resolución.
CodeEricca escribió:[...]
Me parece increible,que maravilla,tengo ganas de ponerlo en un VGA CRT de 17" que tengo,tambien tengo un Panasonic CRT VGA de 15" que se ve muy bien,tengo ganas de poner ahi algo potente,tengo que mirar a ver que hay que funcione,me gustaria poner algo en plan Combatribes y ver si me da el feeling de una Jamma PCB realmente.
SuperDock - We are currently finishing production on our second and third rounds of units. Both are still at the SMT factory. These are scheduled for Founders / Friends combined orders. As long as there are no issues, the fourth round of production will contain all remaining SuperDock orders. They will then start being used to complete combined shipments. After that, single-unit / split-unit SuperDock shipments will start.
(Last updated 4/30/2026)
luffyelx escribió:@Gromber gracias, es porque me hice una game boy de mando pero el puerto es de nes. Sobre lo de navegar por el menú lo sabia. Aunque he visto gente que lo configura y lo maneja desde el puerto snac.
![machacando [toctoc]](/images/smilies/nuevos2/rompiendo.gif)
txefoedu escribió:@Black Angel Ha actualizado el 30 de abril la previsión de envíos. En teoría para los Founders/Friends ya estarán acabando los docks.
https://retroremake.co/pages/shipping-dashboardSuperDock - We are currently finishing production on our second and third rounds of units. Both are still at the SMT factory. These are scheduled for Founders / Friends combined orders. As long as there are no issues, the fourth round of production will contain all remaining SuperDock orders. They will then start being used to complete combined shipments. After that, single-unit / split-unit SuperDock shipments will start.
(Last updated 4/30/2026)
Hodor escribió:CodeEricca escribió:[...]
Me parece increible,que maravilla,tengo ganas de ponerlo en un VGA CRT de 17" que tengo,tambien tengo un Panasonic CRT VGA de 15" que se ve muy bien,tengo ganas de poner ahi algo potente,tengo que mirar a ver que hay que funcione,me gustaria poner algo en plan Combatribes y ver si me da el feeling de una Jamma PCB realmente.
Cuidado porque parece que hablamos de cosas diferentes. La mayoría de arcades "clásicos" necesitan televisores o monitores multifrecuencia que sean compatibles con 15.7Hz horizontales. Los dos monitores que nombras son VGA y, en consecuencia, no pueden mostrar esa señal de video salvo que actives el scandoubler de Mister y convierta esos 15,7Hz en 31Hz. También te digo que se ven igualmente muy bien, aunque las scanlines son menos marcadas que con un televisor. Ah, y de regalo podrás rotar 90º los arcades verticales como 1942, etc.
. Yo ese tipo de magia negra no la he tenido cerca en mi vida, desgraciadamente.Hodor escribió:@CodeEricca
Si tienes la suerte de poseer un monitor trifrecuencia, entonces me pongo a tus pies. Yo ese tipo de magia negra no la he tenido cerca en mi vida, desgraciadamente.
Mister inicia a la resolución que pongas por defecto. Es decir, si utilizas un televisor CRT tendrás la posibilidad de iniciar así. Sin embargo, puedes configurar cores o grupos de cores de forma personalizada para que muestren otra resolución diferente. Utilizando la salida analógica es el propio core quien decide esos parámetros a mostrar. Por ejemplo, si un arcade funciona a 55,4Hz se pondrá automáticamente a ese refresco y resolución. Si otro funciona a sesenta clavados, lo mismo.
Para arcades clásicos utilizaría o bien una tele de tubo o bien un buen monitor VGA de tubo. Es más, en ordenadores y consolas me atrevería a recomendarte lo mismo: CRT por encima de cualquier otra cosa si tienes acceso a ellos.
CodeEricca escribió:Hay una cosa que me preocupa, durante años para mí el tema Árcades Emulados ha sido un poco raro en el sentido de que hay muchas Roms, y en depende que versión de un Emu van unas, otras no...
Recuerdo una época en la que unas Roms que funcionaban dejaron de funcionar, esto es tema viejo, pero como va en este royo del FPGA eso?
¿Van todas las Roms? O tienes que conseguir alguna versión en especial?
Es que de Emulación no se nada, siempre me intereso, pero al no convencerme demasiado los resultados no he sido constante.
#!/usr/bin/env bash
# MiSTer_RA.sh - Bootstrap the mister-fpga-retroachievements
# toolkit directly on the MiSTer. Run this from a MiSTer shell session.
#
# What it does:
# 1. Downloads odelot's latest Main_MiSTer binary + every published core
# .rbf for systems he supports; auto-discovered from GitHub at install time.
# 2. Copies the modified binary, cores, achievement.wav, a placeholder
# retroachievements.cfg, .mgl launchers, and the manifest into place.
# 3. Appends an [RA_*] section to /media/fat/MiSTer.ini to load RA cores with the RA main.
#
# Usage:
# ./MiSTer_RA.sh [options]
#
# Flags:
# -v, --verbose Print each file operation as it runs
# -n, --dry-run Download and stage files locally but skip all writes
# -h, --help Show usage and exit
#
# Environment variables (optional):
# STAGING_DIR Local working directory (default: /tmp/ra_staging)
#
# Project: https://github.com/sage2050/MiSTer_RetroAchievements
# License: MIT
set -eu
# ─────────────────────────────────────────────
# Flag parsing
# ─────────────────────────────────────────────
VERBOSE=0
DRY_RUN=0
usage() {
cat <<USAGE
Usage: ./MiSTer_RA.sh [options]
Options:
-v, --verbose Print each file operation as it runs
-n, --dry-run Download and stage files locally but skip all writes
-h, --help Show this help and exit
USAGE
exit 0
}
while [ $# -gt 0 ]; do
case "$1" in
-v|--verbose) VERBOSE=1 ;;
-n|--dry-run) DRY_RUN=1 ;;
-h|--help) usage ;;
*) echo "ERR: Unknown option '$1'. Use --help for usage." >&2; exit 1 ;;
esac
shift
done
# ─────────────────────────────────────────────
# Configuration
# ─────────────────────────────────────────────
SCRIPT_VERSION="0.3.0"
STAGING_DIR="${STAGING_DIR:-/tmp/ra_staging}"
FAT="/media/fat"
GITHUB_USER="odelot"
GITHUB_API="https://api.github.com"
echo "MiSTer_RA.sh v${SCRIPT_VERSION}"
echo "Staging: $STAGING_DIR"
[ "$DRY_RUN" = "1" ] && echo "Mode: DRY RUN — no files will be written"
[ "$VERBOSE" = "1" ] && echo "Mode: VERBOSE — file operations will be printed"
echo
# ─────────────────────────────────────────────
# Helpers
# ─────────────────────────────────────────────
require_tool() {
command -v "$1" >/dev/null 2>&1 || { echo "ERR: missing required tool '$1'" >&2; exit 1; }
}
require_tool curl
require_tool unzip
mkdir -p "$STAGING_DIR/cores" "$STAGING_DIR/main"
# MiSTer's CA certificate bundle is outdated — skip SSL verification.
# All downloads are from GitHub over HTTPS; the risk is acceptable on a
# trusted local network where MITM attacks are unlikely.
CURL="curl -k"
# Copy a file into place, respecting dry-run and verbose flags.
local_put() {
local src="$1"
local dest="$2"
[ "$VERBOSE" = "1" ] && echo " [cp] $src -> $dest"
if [ "$DRY_RUN" = "1" ]; then
echo " [dry-run] skipping: $dest"
return 0
fi
cp "$src" "$dest"
}
# Create a directory if it doesn't exist.
local_mkdir() {
local path="$1"
[ "$VERBOSE" = "1" ] && echo " [mkdir] $path"
if [ "$DRY_RUN" = "1" ]; then
echo " [dry-run] skipping mkdir: $path"
return 0
fi
mkdir -p "$path"
}
# Extract a single JSON string value using grep + sed (no jq dependency).
json_string() {
local key="$1"
local file="$2"
grep -oE "\"${key}\"[[:space:]]*:[[:space:]]*\"[^\"]*\"" "$file" \
| head -1 \
| sed -E 's/.*"([^"]*)".*/\1/'
}
# Extract the first download URL ending in a given extension from a JSON file.
json_download_url() {
local ext="$1"
local file="$2"
grep -oE '"browser_download_url"[[:space:]]*:[[:space:]]*"[^"]*'"${ext}"'"' "$file" \
| head -1 \
| sed -E 's/.*"([^"]*)".*/\1/'
}
# ─────────────────────────────────────────────
# Step 0: Preflight — verify we are on a MiSTer
# ─────────────────────────────────────────────
# Read the existing manifest once upfront for both main binary and core tag checks.
existing_manifest_path="$FAT/_RA_Cores/.manifest"
existing_manifest=""
if [ -f "$existing_manifest_path" ]; then
existing_manifest="$existing_manifest_path"
echo " Found existing manifest"
fi
echo "== Step 0: Verifying environment =="
if [ ! -d "$FAT" ]; then
echo "ERR: $FAT not found. Is this running on a MiSTer?" >&2
exit 1
fi
echo " OK — $FAT is accessible"
# ─────────────────────────────────────────────
# Step 1: Download the latest odelot/Main_MiSTer release
# ─────────────────────────────────────────────
echo "== Step 1: Downloading odelot/Main_MiSTer =="
$CURL -sSL -o "$STAGING_DIR/main_release.json" \
"$GITHUB_API/repos/$GITHUB_USER/Main_MiSTer/releases/latest"
if grep -q '"message"' "$STAGING_DIR/main_release.json"; then
api_msg="$(json_string "message" "$STAGING_DIR/main_release.json")"
echo "ERR: GitHub API error fetching Main_MiSTer release: $api_msg" >&2
exit 1
fi
main_download_url="$(json_download_url ".zip" "$STAGING_DIR/main_release.json")"
main_tag="$(json_string "tag_name" "$STAGING_DIR/main_release.json")"
[ -n "$main_download_url" ] || {
echo "ERR: No .zip asset found on the latest Main_MiSTer release." >&2
exit 1
}
echo " Release tag: $main_tag"
# Check the installed main binary tag from the manifest fetched above.
installed_main_tag="$(grep '^# main_tag=' "$existing_manifest" 2>/dev/null | cut -d= -f2 | head -1)"
if [ -n "$installed_main_tag" ] && [ "$installed_main_tag" = "$main_tag" ] && [ -f "$FAT/MiSTer_RA" ]; then
echo " MiSTer_RA already at $main_tag — skipping binary download"
MAIN_BINARY=""
MAIN_WAV=""
# Download the zip solely to extract retroachievements.cfg.
echo " Downloading zip for cfg extraction..."
$CURL --progress-bar -L -o "$STAGING_DIR/main.zip" "$main_download_url"
unzip -o "$STAGING_DIR/main.zip" -d "$STAGING_DIR/main" >/dev/null
MAIN_CFG="$(find "$STAGING_DIR/main" -maxdepth 3 -type f -name retroachievements.cfg | head -1)"
else
echo " Downloading binary zip..."
$CURL --progress-bar -L -o "$STAGING_DIR/main.zip" "$main_download_url"
unzip -o "$STAGING_DIR/main.zip" -d "$STAGING_DIR/main" >/dev/null
MAIN_BINARY="$(find "$STAGING_DIR/main" -maxdepth 3 -type f -name MiSTer | head -1)"
MAIN_WAV="$(find "$STAGING_DIR/main" -maxdepth 3 -type f -name achievement.wav | head -1)"
MAIN_CFG="$(find "$STAGING_DIR/main" -maxdepth 3 -type f -name retroachievements.cfg | head -1)"
[ -n "$MAIN_BINARY" ] || {
echo "ERR: MiSTer binary not found inside the downloaded zip." >&2
exit 1
}
fi
# ─────────────────────────────────────────────
# Step 2: Discover and download all odelot/*_MiSTer cores
# ─────────────────────────────────────────────
echo "== Step 2: Discovering odelot/*_MiSTer cores =="
$CURL -sSL -o "$STAGING_DIR/repos.json" \
"$GITHUB_API/users/$GITHUB_USER/repos?per_page=100&type=public"
if grep -q '"message"' "$STAGING_DIR/repos.json"; then
api_msg="$(json_string "message" "$STAGING_DIR/repos.json")"
echo "ERR: GitHub API error: $api_msg" >&2
exit 1
fi
core_repos="$(
grep -oE '"name"[[:space:]]*:[[:space:]]*"[^"]*_MiSTer"' "$STAGING_DIR/repos.json" \
| sed -E 's/.*"([^"]*)".*/\1/' \
| grep -v '^Main_MiSTer$' \
|| true
)"
if [ -z "$core_repos" ]; then
echo " No *_MiSTer repos found in user listing — trying GitHub search API..."
$CURL -sSL -o "$STAGING_DIR/repos_search.json" \
"$GITHUB_API/search/repositories?q=user:${GITHUB_USER}+MiSTer+in:name&per_page=100"
if grep -q '"message"' "$STAGING_DIR/repos_search.json"; then
api_msg="$(json_string "message" "$STAGING_DIR/repos_search.json")"
echo "ERR: GitHub search API error: $api_msg" >&2
exit 1
fi
core_repos="$(
grep -oE '"name"[[:space:]]*:[[:space:]]*"[^"]*MiSTer[^"]*"' "$STAGING_DIR/repos_search.json" \
| sed -E 's/.*"([^"]*)".*/\1/' \
| grep -v '^Main_MiSTer$' \
|| true
)"
fi
[ -n "$core_repos" ] || {
echo "ERR: No odelot/*_MiSTer core repos found. Check that the GitHub API is reachable and that $GITHUB_USER has public repos." >&2
exit 1
}
echo " Found cores: $(echo "$core_repos" | tr '\n' ' ')"
# Use the manifest already read above for core tag comparisons.
if [ -n "$existing_manifest" ]; then
echo " Found existing manifest — will skip cores already at latest tag"
else
echo " No existing manifest — all cores will be downloaded"
fi
installed_tag() {
local repo="$1"
[ -n "$existing_manifest" ] || return 0
grep "^${repo}|" "$existing_manifest" 2>/dev/null | cut -d'|' -f5 | head -1
}
manifest_lines=""
skipped_cores=""
core_tags_file="$STAGING_DIR/core_tags.txt"
: > "$core_tags_file"
for repo in $core_repos; do
echo "-- $repo --"
$CURL -sSL -o "$STAGING_DIR/rel_${repo}.json" \
"$GITHUB_API/repos/$GITHUB_USER/$repo/releases/latest"
if grep -q '"message"[[:space:]]*:[[:space:]]*"Not Found"' "$STAGING_DIR/rel_${repo}.json"; then
echo " No releases yet — skipping"
continue
fi
release_tag="$(json_string "tag_name" "$STAGING_DIR/rel_${repo}.json")"
rbf_url="$(json_download_url ".rbf" "$STAGING_DIR/rel_${repo}.json")"
zip_url=""
if [ -z "$rbf_url" ]; then
zip_url="$(json_download_url ".zip" "$STAGING_DIR/rel_${repo}.json")"
fi
if [ -z "$rbf_url" ] && [ -z "$zip_url" ]; then
echo " No .rbf or .zip asset found — skipping"
skipped_cores="${skipped_cores}${repo} (no asset)\n"
old_entry="$([ -n "$existing_manifest" ] && grep "^${repo}|" "$existing_manifest" 2>/dev/null || true)"
[ -n "$old_entry" ] && manifest_lines="${manifest_lines}${old_entry}\n"
continue
fi
core_name="${repo%_MiSTer}"
staged_rbf="$STAGING_DIR/cores/${core_name}.rbf"
current_tag="$(installed_tag "$repo")"
if [ -n "$current_tag" ] && [ "$current_tag" = "$release_tag" ] && [ -f "$staged_rbf" ]; then
echo " Already at $release_tag — skipping download"
echo "${core_name}=${release_tag}" >> "$core_tags_file"
if [ -n "$rbf_url" ]; then
asset_filename="$(basename "$rbf_url")"
else
asset_filename="$(basename "$zip_url")"
fi
manifest_lines="${manifest_lines}${repo}|${core_name}|/media/fat/_Console|${core_name}_*.rbf|${release_tag}|${asset_filename}
"
continue
fi
if [ -n "$rbf_url" ]; then
asset_filename="$(basename "$rbf_url")"
echo " Downloading $asset_filename..."
$CURL --progress-bar -L -o "$staged_rbf" "$rbf_url"
else
asset_filename="$(basename "$zip_url")"
echo " Downloading $asset_filename (zip)..."
$CURL --progress-bar -L -o "$STAGING_DIR/${repo}.zip" "$zip_url"
unzip -o "$STAGING_DIR/${repo}.zip" -d "$STAGING_DIR/${repo}" >/dev/null
rbf_inside="$(find "$STAGING_DIR/${repo}" -maxdepth 4 -type f -name '*.rbf' | head -1)"
if [ -z "$rbf_inside" ]; then
echo " ERR: No .rbf found inside $asset_filename" >&2
skipped_cores="${skipped_cores}${repo} (no .rbf inside zip)\n"
old_entry="$([ -n "$existing_manifest" ] && grep "^${repo}|" "$existing_manifest" 2>/dev/null || true)"
[ -n "$old_entry" ] && manifest_lines="${manifest_lines}${old_entry}\n"
continue
fi
cp "$rbf_inside" "$staged_rbf"
fi
echo " Staged ${core_name}.rbf (tag: $release_tag)"
echo "${core_name}=${release_tag}" >> "$core_tags_file"
manifest_lines="${manifest_lines}${repo}|${core_name}|/media/fat/_Console|${core_name}_*.rbf|${release_tag}|${asset_filename}
"
done
# ─────────────────────────────────────────────
# Step 3: Install RA cores and supporting files
# ─────────────────────────────────────────────
echo "== Step 3: Installing _RA_Cores payload =="
local_mkdir "$FAT/_RA_Cores"
local_mkdir "$FAT/_RA_Cores/Cores"
# Install the modified MiSTer binary only if it's new or updated.
if [ -n "$MAIN_BINARY" ]; then
local_put "$MAIN_BINARY" "$FAT/MiSTer_RA"
chmod +x "$FAT/MiSTer_RA"
echo " Installed MiSTer_RA (tag: $main_tag)"
else
echo " MiSTer_RA already at $main_tag — skipping"
fi
# Install the achievement sound effect if bundled in the release.
if [ -n "$MAIN_WAV" ]; then
local_put "$MAIN_WAV" "$FAT/achievement.wav"
echo " Installed achievement.wav"
fi
# Install the config only if one doesn't already exist.
CREDENTIALS_SET=0
CFG_JUST_IMPORTED=0
if [ ! -f "$FAT/retroachievements.cfg" ]; then
if [ -n "$MAIN_CFG" ]; then
local_put "$MAIN_CFG" "$FAT/retroachievements.cfg"
echo " Installed retroachievements.cfg"
CFG_JUST_IMPORTED=1
else
echo " WARN: retroachievements.cfg not found in the Main_MiSTer release — skipping" >&2
fi
else
echo " retroachievements.cfg already present — leaving untouched"
fi
# Prompt for credentials. If the cfg was just imported always prompt.
# For an existing cfg, only prompt if a field is blank.
PROMPT_CREDS=0
if [ "$CFG_JUST_IMPORTED" = "1" ]; then
PROMPT_CREDS=1
elif [ -f "$FAT/retroachievements.cfg" ]; then
cfg_username="$(grep '^username=' "$FAT/retroachievements.cfg" | cut -d= -f2 | tr -d '[:space:]')"
cfg_password="$(grep '^password=' "$FAT/retroachievements.cfg" | cut -d= -f2 | tr -d '[:space:]')"
if [ -z "$cfg_username" ] || [ -z "$cfg_password" ]; then
PROMPT_CREDS=1
else
echo " Credentials already set — leaving untouched"
CREDENTIALS_SET=1
fi
fi
if [ "$PROMPT_CREDS" = "1" ]; then
echo
printf " RetroAchievements credentials are not set. Enter them now? [y/n]: "
read -r enter_creds
if [ "$enter_creds" = "y" ] || [ "$enter_creds" = "Y" ]; then
printf " Username: "
read -r ra_username
printf " Password: "
read -rs ra_password
echo
sed -i'' "s/^username=.*/username=${ra_username}/" "$FAT/retroachievements.cfg"
sed -i'' "s/^password=.*/password=${ra_password}/" "$FAT/retroachievements.cfg"
echo " Credentials saved to retroachievements.cfg"
CREDENTIALS_SET=1
else
echo " Skipping — remember to edit /media/fat/retroachievements.cfg before launching a game."
fi
fi
# Install cores and generate .mgl launchers.
for rbf_file in "$STAGING_DIR"/cores/*.rbf; do
[ -f "$rbf_file" ] || continue
remote_name="$(basename "$rbf_file")"
core_name="${remote_name%.rbf}"
core_release_tag="$(grep "^${core_name}=" "$core_tags_file" | cut -d= -f2 | head -1)"
current_tag="$(installed_tag "${core_name}_MiSTer")"
if [ -f "$FAT/_RA_Cores/Cores/$remote_name" ] && [ -n "$current_tag" ] && [ "$current_tag" = "$core_release_tag" ]; then
echo " Cores/$remote_name already at $core_release_tag — skipping"
else
local_put "$rbf_file" "$FAT/_RA_Cores/Cores/$remote_name"
echo " Installed Cores/$remote_name (tag: $core_release_tag)"
fi
mgl_name="${core_name}.mgl"
if [ -f "$FAT/_RA_Cores/$mgl_name" ]; then
echo " _RA_Cores/$mgl_name already exists — skipping"
else
if [ "$DRY_RUN" = "0" ]; then
cat > "$FAT/_RA_Cores/$mgl_name" <<EOF
<mistergamedescription>
<rbf>_RA_Cores/Cores/$core_name</rbf>
<setname same_dir="1">RA_$core_name</setname>
</mistergamedescription>
EOF
fi
[ "$VERBOSE" = "1" ] && echo " [write] $FAT/_RA_Cores/$mgl_name"
[ "$DRY_RUN" = "1" ] && echo " [dry-run] skipping: $FAT/_RA_Cores/$mgl_name"
echo " Installed _RA_Cores/$mgl_name"
fi
done
# Write the install manifest.
if [ "$DRY_RUN" = "0" ]; then
{
echo "# main_tag=$main_tag"
echo "# repo|basename|stock_folder|stock_pattern|release_tag|rbf_source_name"
printf "%s" "$manifest_lines"
} > "$FAT/_RA_Cores/.manifest"
fi
echo " Wrote .manifest"
# ─────────────────────────────────────────────
# Step 4: Append RA core config to MiSTer.ini
# ─────────────────────────────────────────────
echo "== Step 4: Updating MiSTer.ini =="
if [ ! -f "$FAT/MiSTer.ini" ]; then
echo " MiSTer.ini not found — creating it"
[ "$DRY_RUN" = "0" ] && : > "$FAT/MiSTer.ini"
fi
if grep -q "^\[RA_\*\]" "$FAT/MiSTer.ini" 2>/dev/null; then
echo " [RA_*] block already present — leaving untouched"
else
if [ "$DRY_RUN" = "0" ]; then
cat >> "$FAT/MiSTer.ini" <<'EOF'
[RA_*]
main=MiSTer_RA
EOF
fi
[ "$DRY_RUN" = "1" ] && echo " [dry-run] skipping append to MiSTer.ini"
echo " Appended [RA_*] block to MiSTer.ini"
fi
# ─────────────────────────────────────────────
# Cleanup
# ─────────────────────────────────────────────
echo "== Cleaning up staging directory =="
rm -rf "$STAGING_DIR"
echo " Removed $STAGING_DIR"
# ─────────────────────────────────────────────
# Done
# ─────────────────────────────────────────────
cat <<EOF
== Install complete ==
EOF
if [ -n "$skipped_cores" ]; then
echo " WARNING: the following cores had errors and were skipped:"
printf " %b" "$skipped_cores" | sed 's/^/ /'
fi
if [ "$CREDENTIALS_SET" = "1" ]; then
cat <<EOF
Next steps:
1. Reboot the MiSTer so the new MiSTer.ini settings take effect.
2. Launch a game on a supported system to confirm achievements load.
EOF
else
cat <<EOF
Next steps:
1. Edit /media/fat/retroachievements.cfg and fill in your
RetroAchievements username and password before launching any games.
(Use your real account password — not a Web API key. The rcheevos client
only sends it on first login, then caches a session token.)
2. Reboot the MiSTer so the new MiSTer.ini settings take effect.
3. Launch a game on a supported system to confirm achievements load.
EOF
fi
echo
printf "Reboot now? [y/n]: "
read -r do_reboot
if [ "$do_reboot" = "y" ] || [ "$do_reboot" = "Y" ]; then
echo "Rebooting..."
reboot
else
echo "Remember to reboot before launching any RA-enabled games."
fi
GXY escribió:@Notarioh
entonces para jugar con retroachievements "son cores distintos de los normales"?
CodeEricca escribió:Hay una cosa que me preocupa, durante años para mí el tema Árcades Emulados ha sido un poco raro en el sentido de que hay muchas Roms, y en depende que versión de un Emu van unas, otras no...
Recuerdo una época en la que unas Roms que funcionaban dejaron de funcionar, esto es tema viejo, pero como va en este royo del FPGA eso?
¿Van todas las Roms? O tienes que conseguir alguna versión en especial?
Es que de Emulación no se nada, siempre me intereso, pero al no convencerme demasiado los resultados no he sido constante.
devh escribió:CodeEricca escribió:Hay una cosa que me preocupa, durante años para mí el tema Árcades Emulados ha sido un poco raro en el sentido de que hay muchas Roms, y en depende que versión de un Emu van unas, otras no...
Recuerdo una época en la que unas Roms que funcionaban dejaron de funcionar, esto es tema viejo, pero como va en este royo del FPGA eso?
¿Van todas las Roms? O tienes que conseguir alguna versión en especial?
Es que de Emulación no se nada, siempre me intereso, pero al no convencerme demasiado los resultados no he sido constante.
En FPGA no son roms, cada arcade va emulado como si fuera un core diferente.
O sea, no puedes descargarte las roms del mame o cps2 y ponerlas como en los cores de las consolas que si que leen las roms de toda la vida.
Las placas arcade las van sacando poco a poco CoinOps y Jotego. Para que te hagas una idea el Snow Bros salió hace apenas 4 meses y el Sunset Riders hace 1 año y pico más o menos.
La mayoría son públicas, pero las de Jotego más nuevas son de pago, tienes que estar suscrito a su Patreon para que funcionen.
CodeEricca escribió:devh escribió:CodeEricca escribió:Hay una cosa que me preocupa, durante años para mí el tema Árcades Emulados ha sido un poco raro en el sentido de que hay muchas Roms, y en depende que versión de un Emu van unas, otras no...
Recuerdo una época en la que unas Roms que funcionaban dejaron de funcionar, esto es tema viejo, pero como va en este royo del FPGA eso?
¿Van todas las Roms? O tienes que conseguir alguna versión en especial?
Es que de Emulación no se nada, siempre me intereso, pero al no convencerme demasiado los resultados no he sido constante.
En FPGA no son roms, cada arcade va emulado como si fuera un core diferente.
O sea, no puedes descargarte las roms del mame o cps2 y ponerlas como en los cores de las consolas que si que leen las roms de toda la vida.
Las placas arcade las van sacando poco a poco CoinOps y Jotego. Para que te hagas una idea el Snow Bros salió hace apenas 4 meses y el Sunset Riders hace 1 año y pico más o menos.
La mayoría son públicas, pero las de Jotego más nuevas son de pago, tienes que estar suscrito a su Patreon para que funcionen.
pufffff no me imaginaba algo asi
y va asi con todo?por ejemplo como lo haces con el Sharp x68000?
Yaripon escribió:CodeEricca escribió:devh escribió:
En FPGA no son roms, cada arcade va emulado como si fuera un core diferente.
O sea, no puedes descargarte las roms del mame o cps2 y ponerlas como en los cores de las consolas que si que leen las roms de toda la vida.
Las placas arcade las van sacando poco a poco CoinOps y Jotego. Para que te hagas una idea el Snow Bros salió hace apenas 4 meses y el Sunset Riders hace 1 año y pico más o menos.
La mayoría son públicas, pero las de Jotego más nuevas son de pago, tienes que estar suscrito a su Patreon para que funcionen.
pufffff no me imaginaba algo asi
y va asi con todo?por ejemplo como lo haces con el Sharp x68000?
No, lo de cores indipendientes por juego sólo pasa con los arcades, pero es que es lógica, son placas diferentes. Al final en Mame viene siendo lo mismo, muchos emuladores distintos lo que pasa es que puestos dentro de una única interfaz, de ahí que X juego vaya perfecto y otro pueda ir fatal. En Mister no están unificados y son núcleos diferentes, que según el autor y lo trabajados que estén pueden tener más opciones de configuración, ser más sencillos... Pero que sean núcleos independientes, una vez configurados, no afecta en nada. Tu simplemente ves una lista de juegos, escoges uno y listo.
CodeEricca escribió:Yaripon escribió:CodeEricca escribió:pufffff no me imaginaba algo asi
y va asi con todo?por ejemplo como lo haces con el Sharp x68000?
No, lo de cores indipendientes por juego sólo pasa con los arcades, pero es que es lógica, son placas diferentes. Al final en Mame viene siendo lo mismo, muchos emuladores distintos lo que pasa es que puestos dentro de una única interfaz, de ahí que X juego vaya perfecto y otro pueda ir fatal. En Mister no están unificados y son núcleos diferentes, que según el autor y lo trabajados que estén pueden tener más opciones de configuración, ser más sencillos... Pero que sean núcleos independientes, una vez configurados, no afecta en nada. Tu simplemente ves una lista de juegos, escoges uno y listo.
Lo de que un Arcade cada PCB es independiente esta claro eso lo entendi hace tiempo.
Entiendo que van Hardware por Hardware,me imagino que por eso la fidelidad...
Esa parte es logica,pero lo que no sabia es como funcionaba el tema,creia que una cosa era el trabajo para que algo funcionara,y otra cosa como luego se la metieras tu,vamos que me imaginaba algo como que la Rom de Dark Seal aun no funciona...
Y cuando consiguen que funcione,pues ya se la ponias tras actualizar y funcioaria algo asi.
Esta guay por no tener que buscar Roms,pero no se yo si sere capaz de seguir gente y darles emonumentos...
Yaripon escribió:CodeEricca escribió:Yaripon escribió:
No, lo de cores indipendientes por juego sólo pasa con los arcades, pero es que es lógica, son placas diferentes. Al final en Mame viene siendo lo mismo, muchos emuladores distintos lo que pasa es que puestos dentro de una única interfaz, de ahí que X juego vaya perfecto y otro pueda ir fatal. En Mister no están unificados y son núcleos diferentes, que según el autor y lo trabajados que estén pueden tener más opciones de configuración, ser más sencillos... Pero que sean núcleos independientes, una vez configurados, no afecta en nada. Tu simplemente ves una lista de juegos, escoges uno y listo.
Lo de que un Arcade cada PCB es independiente esta claro eso lo entendi hace tiempo.
Entiendo que van Hardware por Hardware,me imagino que por eso la fidelidad...
Esa parte es logica,pero lo que no sabia es como funcionaba el tema,creia que una cosa era el trabajo para que algo funcionara,y otra cosa como luego se la metieras tu,vamos que me imaginaba algo como que la Rom de Dark Seal aun no funciona...
Y cuando consiguen que funcione,pues ya se la ponias tras actualizar y funcioaria algo asi.
Esta guay por no tener que buscar Roms,pero no se yo si sere capaz de seguir gente y darles emonumentos...
Es que es mucho más fácil que en un emulador. Tu sólo tienes que lanzar el script de actualización de vez en cuando. Si hay un arcade nuevo para el público general, simplemente el update se descargará todo lo necesario para que funcione. Los patreon tienen acceso antes que el resto a los nuevos arcade, pero hasta ahora con el tiempo los acabaron liberando todos para todo el mundo. No es nada complicado.
CodeEricca escribió:donde puedo mirar que hay? osea que Arcades estan ya?voy a mirar en google algo en plan "Mister fpga,arcades list"
pero si es algo mas alla de eso pues se agradece que me digais el sitio...
Edit:
He encontrado una lista pero es de hace 4 años
CodeEricca escribió:@Ronbin Vale ya veo,bueno creo que la primera vez sere paciente...
Tengo que hacerme con un buen Arcade Stick,gracias por los link,voy a curiosear.
Yaripon escribió:CodeEricca escribió:@Ronbin Vale ya veo,bueno creo que la primera vez sere paciente...
Tengo que hacerme con un buen Arcade Stick,gracias por los link,voy a curiosear.
A mi la primera vez el script bajando todo me tardó 20 minutos por WiFi, tampoco es una cosa loca.
Respecto al stick, yo te recomendaría un Mayflash F101 que es el que tengo yo, es un stick muy fácil de encontrar de segunda mano por cuatro duros. Tiene muy mala fama y seguramente muchos por aquí te dirán que es una broza, pero la principal razón es que es un poco "plastiquero", no tiene acabados premium. Pero en cuanto a ergonomía y pillar pulsaciones a mi me funciona bastante mejor que uno que tengo con piezas premium, costando este menos de la mitad. Además es bastante pesado y queda fijo en la mesa. Si le instalas la última actualización el retardo es de 1ms. Y en el peor de los casos, que no te gusten nada los botones y palanca que trae de serie, siempre le puedes meter otros. (Y no, los de Mayflash no me han pagado nada).
CodeEricca escribió:Yaripon escribió:CodeEricca escribió:@Ronbin Vale ya veo,bueno creo que la primera vez sere paciente...
Tengo que hacerme con un buen Arcade Stick,gracias por los link,voy a curiosear.
A mi la primera vez el script bajando todo me tardó 20 minutos por WiFi, tampoco es una cosa loca.
Respecto al stick, yo te recomendaría un Mayflash F101 que es el que tengo yo, es un stick muy fácil de encontrar de segunda mano por cuatro duros. Tiene muy mala fama y seguramente muchos por aquí te dirán que es una broza, pero la principal razón es que es un poco "plastiquero", no tiene acabados premium. Pero en cuanto a ergonomía y pillar pulsaciones a mi me funciona bastante mejor que uno que tengo con piezas premium, costando este menos de la mitad. Además es bastante pesado y queda fijo en la mesa. Si le instalas la última actualización el retardo es de 1ms. Y en el peor de los casos, que no te gusten nada los botones y palanca que trae de serie, siempre le puedes meter otros. (Y no, los de Mayflash no me han pagado nada).
Guay,gracias por al idea del F101,pero he flipado con lo de actualizar el Stick,no sabia que eso fuera ni posible,soy como un Plesiosaurio luchando contra la extincion.
De todas formas tengo ganas de gastar en un palancon que puedar saltar encima y lo lleve en el buga en la baca como una tabla de Surf.
Esto del Script es lo que pones en la Micro SD eso del Mr.Fusion?
Ronbin escribió:Mr Fusion es una imágen mínima para grabar en una tarjeta SD
https://github.com/MiSTer-devel/mr-fusion
La grabas con balena por ejemplo y la metes en la mister. Enciendes y esperas un rato a que se configure. Con eso ya tienes una mister funcional, pero sin cores.
Luego tienes que meterle el script update_all
https://github.com/theypsilon/Update_All_MiSTer
Para pasarlo a la mister tienes dos opciones:
-Sacas la tarjeta sd de la mister, la pones en un pc y lo copias. Vuelves a ponerla en la mister.
-Si controlas linux, conecta la mister a la red con un cable ethernet o con un adaptador wifi. Te conectas desde un pc por ssh y descargas el script con wget.
Una vez copiado, conectas la mister a la red, ya sea por cable o por wifi y desde el menú ejecutas el script. Este te descargará todos los cores y (opcionalmente) las roms arcade. Las roms de consolas ya las pones tú.
![loco [mad]](/images/smilies/nuevos/miedo.gif)
Sylama escribió:Con aduanas incluidas por cuanto se queda a día de hoy una completa con su carcasa típica? No la de Taki, si no las de QMETECH.
Al ser más de 150 ya entran las aduanas y dudo que esa gente declare el IVA...
si...una.CodeEricca escribió:Tengo una dudasi...una.
En el anuncio pone que viene con SD preparada,eso que significar exactamente?
En chino "preparada" significa que tienes que hacer todo tu? o que la que viene preparada es para otro tema?
Tengo que igualmente meter mi SD con el Mr.Fusion?
O nada mas llegar la actualizo? o que?
Gracias por la paciencia...
Yaripon escribió:CodeEricca escribió:Tengo una dudasi...una.
En el anuncio pone que viene con SD preparada,eso que significar exactamente?
En chino "preparada" significa que tienes que hacer todo tu? o que la que viene preparada es para otro tema?
Tengo que igualmente meter mi SD con el Mr.Fusion?
O nada mas llegar la actualizo? o que?
Gracias por la paciencia...
Sd preparada querría decir que lo de Mister Fusion está hecho, que sólo habría que agregar las roms. Eso sí, muchas veces es una sd pequeña o mala y no vale la pena usarla.
Mil escribió:Vuelve a haber stock de la Mister de QMTECH
https://es.aliexpress.com/item/1005007858010441.htmlSylama escribió:Con aduanas incluidas por cuanto se queda a día de hoy una completa con su carcasa típica? No la de Taki, si no las de QMETECH.
Al ser más de 150 ya entran las aduanas y dudo que esa gente declare el IVA...
Yo la pedí hace un tiempo y me llegó por lo que pone más el envío. No me cobraron aduanas. El IVA sí está incluido, o por lo menos eso pone al lado del precio.
xas666 escribió:Mil escribió:Vuelve a haber stock de la Mister de QMTECH
https://es.aliexpress.com/item/1005007858010441.htmlSylama escribió:Con aduanas incluidas por cuanto se queda a día de hoy una completa con su carcasa típica? No la de Taki, si no las de QMETECH.
Al ser más de 150 ya entran las aduanas y dudo que esa gente declare el IVA...
Yo la pedí hace un tiempo y me llegó por lo que pone más el envío. No me cobraron aduanas. El IVA sí está incluido, o por lo menos eso pone al lado del precio.
Sii! esa misma es la que compre yo hace dos dias! ya os dire si me cobran algo! nunca me pararon duanas en aliexpreas, en cambio un cartucho everdrive de krizz de megadrive de 40€ me toco pagar en correos! pero en aliexpress nunca, ojala con el mister igual por que ya mhan dejao desplumao xD