From 22922fcd630c0d73c2dbc6be49e26d48f6495e28 Mon Sep 17 00:00:00 2001 From: A Date: Sat, 11 Apr 2026 14:50:13 +0100 Subject: [PATCH 1/4] More formatting fixed --- _config.yml | 2 +- categories/consoles/GameGear.md | 1 + categories/misc/Bookazines.md | 4 ++++ categories/misc/Industry.md | 5 +++++ categories/misc/Magazines.md | 2 ++ pages/SourceCode/DecompiledRetailConsoleGames.md | 8 ++++++++ pages/consoles/dreamcast/Chicken Run Source Code.md | 1 + pages/consoles/dreamcast/DreamcastWindowsCESDK.md | 1 + pages/consoles/ds/DSOfficialSDK.md | 3 +++ pages/consoles/gamecube/GamecubeFileFormats.md | 4 ++++ pages/consoles/n64/OmanArchive.md | 1 + pages/consoles/n64/SN64_SDK.md | 2 ++ pages/consoles/n64/iQueSDK.md | 1 + pages/consoles/ps1/PS1Symbols.md | 4 ++++ pages/consoles/ps1/psx-exe.md | 1 + pages/consoles/ps2/PS2SDK.md | 2 ++ pages/consoles/saturn/SaturnReversing.md | 1 + pages/consoles/saturn/SegaSaturnHitachiToolchain.md | 2 ++ pages/consoles/saturn/SegaSaturnSDK.md | 1 + pages/consoles/saturn/SegaSaturnSampleCompilation.md | 1 + pages/consoles/snes/SNESFileFormats.md | 3 +++ pages/consoles/switch/SwitchGameEngines.md | 2 ++ pages/consoles/vita/OfficialSonyVitaSDK.md | 1 + pages/games/BatmanForeverArcade.md | 1 + pages/leaks/Gigaleak.md | 2 ++ pages/leaks/Nintendo/GigaleakNEWS05.md | 4 ++++ pages/leaks/Nintendo/Pilotwing2DArt.md | 2 ++ pages/leaks/Nintendo/StuntRaceFX2DArt.md | 2 ++ 28 files changed, 63 insertions(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 84b1e318..ef041653 100644 --- a/_config.yml +++ b/_config.yml @@ -176,7 +176,7 @@ category_images: sony_playstation_3: /public/consoles/Sony Playstation 3.png sony_playstation: /public/consoles/Sony Playstation.png sony_psvita: /public/consoles/Sony PSVita.png - sourcecode: /public/consoles/PC.png + sourcecode: /public/consoles/SourceCode.png super_nintendo_entertainment_system: /public/consoles/Super Nintendo Entertainment System.png switch: /public/consoles/Nintendo Switch.png symbols: /public/consoles/PC.png diff --git a/categories/consoles/GameGear.md b/categories/consoles/GameGear.md index 659146b4..f39787f7 100644 --- a/categories/consoles/GameGear.md +++ b/categories/consoles/GameGear.md @@ -152,6 +152,7 @@ Iff2Bin | AIFF to raw binary converter IFF2BIN v1.2 (26MAR93) - (C) 1992 Sega o --- ## File Formats +The table below lists the relevant entries. Name | Description ---|--- diff --git a/categories/misc/Bookazines.md b/categories/misc/Bookazines.md index f87c8754..faad6640 100644 --- a/categories/misc/Bookazines.md +++ b/categories/misc/Bookazines.md @@ -26,6 +26,7 @@ Many of these were published with topics related to the Games Industry such as 3 --- # Programming Bookazines +The table below lists the relevant entries. Title | Publisher | Notes ---|---|--- @@ -72,6 +73,7 @@ The UK Magazine **GamesTM** had a section dedicated to retro games every month, There were 10 volumes published from 2011 until 2021. ### Behind The Scenes +The table below lists the relevant entries. Game | Platform | Issue # | Notes ---|---|---|--- @@ -86,6 +88,7 @@ Star Trek Voyager Elite Force | | 9 | Ghostbusters 2 | | 9 | ### Interviews +The table below lists the relevant entries. Name | Company | Issue | Notes ---|---|---|--- @@ -115,6 +118,7 @@ They also managed to play around with one of the first SNES development kits in --- # Digital Art Bookazines +The table below lists the relevant entries. Title | Publisher | Notes ---|---|--- diff --git a/categories/misc/Industry.md b/categories/misc/Industry.md index 37e82fcc..78e7edd4 100644 --- a/categories/misc/Industry.md +++ b/categories/misc/Industry.md @@ -172,6 +172,7 @@ This is a collection of known interviews with game developers who developed reta ## Commodore 64 +The table below lists the relevant entries. Source | Developer | Games | Description ---|---|---|--- @@ -181,6 +182,7 @@ Retro Gamer issue 95 | Shaun Hollingworth | **Firelord** | Shaun Hollingworth wo --- ## Nintendo Entertainment System (NES) +The table below lists the relevant entries. Source | Developer | Games | Description ---|---|---|--- @@ -188,6 +190,7 @@ Retro Gamer issue 11 | Color Dreams/Wisdom Tree | Bible Adventures | This interv --- ## Nintendo 64 +The table below lists the relevant entries. Source | Developer | Games | Description ---|---|---|--- @@ -196,6 +199,7 @@ Retro Gamer issue 9 | David Doak | GoldenEye 007 | Doak is known for his work on --- ## Nintendo Wii +The table below lists the relevant entries. Source | Developer | Games | Description ---|---|---|--- @@ -204,6 +208,7 @@ Retro Gamer issue 45 | Yuji Naka and Takashi Izuka | NiGHTS into Dreams, Journey --- ## Xbox consoles +The table below lists the relevant entries. Source | Developer | Games | Description ---|---|---|--- diff --git a/categories/misc/Magazines.md b/categories/misc/Magazines.md index 73ed73c4..362410d3 100644 --- a/categories/misc/Magazines.md +++ b/categories/misc/Magazines.md @@ -709,6 +709,7 @@ Web Designer issue 101 also had a behind the scenes look at the website for **My **Web Techniques** was a US magazine that started in February 1996 and ran until February 2002 when it rebranded as **New Architect**. ### Relevant Articles +The table below lists the relevant entries. Issue Date | Name | Author ---|---|--- @@ -746,6 +747,7 @@ VOL 13; NUMBER 21 (1994) | Power Programming: Real Games for Windows | Thielen, VOL 15; NUMBER 14 (1996) | Power Programming: Using Microsoft's high-speed Direct Draw API in an arcade-style action game | Grell, G. | ## PC Plus +The table below lists the relevant entries. Issue # | Title | Author | Notes ---|---|---|--- diff --git a/pages/SourceCode/DecompiledRetailConsoleGames.md b/pages/SourceCode/DecompiledRetailConsoleGames.md index 12a6acf7..17666f0b 100644 --- a/pages/SourceCode/DecompiledRetailConsoleGames.md +++ b/pages/SourceCode/DecompiledRetailConsoleGames.md @@ -36,6 +36,7 @@ To be included in this list the project must have decompiled or disassembled at Nintendo systems are by far the most popular for reverse engineering projects, especially related to 1st party titles such as Mario, Zelda and Pokemon. ## Nintendo Entertainment System (NES) +The table below lists the relevant entries. | Name | Project Type | Mapper | Status | ---- | ---- | --- | --- @@ -81,6 +82,7 @@ Nintendo systems are by far the most popular for reverse engineering projects, e --- ## Super Nintendo (SNES) +The table below lists the relevant entries. | Name | Project Type | | ---- | ---- | @@ -179,6 +181,7 @@ Name | Project Type | Status --- ## Nintendo GameCube +The table below lists the relevant entries. Name | Project Type | Status ---- | ---- | ---- @@ -223,6 +226,7 @@ Name | Project Type | Status --- ## Nintendo Wii +The table below lists the relevant entries. Name | Project Type | Status ---- | ---- | ---- @@ -278,6 +282,7 @@ Name | Project Type --- ## Game Boy Color +The table below lists the relevant entries. Name | Project Type ---- | ---- @@ -294,6 +299,7 @@ Name | Project Type --- ## Game Boy Advance +The table below lists the relevant entries. Name | Project Type | Status ---- | ---- | ---- @@ -430,6 +436,7 @@ Name | Project Type Compared to the other systems, Sony doesn't have many decompilation projects, mainly due to the higher complexity of the games developed by the PS1 era, requiring much larger teams to create the games in the first place. ## PlayStation 1 +The table below lists the relevant entries. Name | Project Type | Status ---- | ---- | ---- @@ -541,6 +548,7 @@ There are only a handful of reverse engineered games for Microsoft game consoles --- ## PC (Windows) +The table below lists the relevant entries. Name | Project Type | Status ---- | ---- | ---- diff --git a/pages/consoles/dreamcast/Chicken Run Source Code.md b/pages/consoles/dreamcast/Chicken Run Source Code.md index e7ae3d2a..dd2213d1 100644 --- a/pages/consoles/dreamcast/Chicken Run Source Code.md +++ b/pages/consoles/dreamcast/Chicken Run Source Code.md @@ -719,6 +719,7 @@ u16VECTOR | | # PlayStation 1 ## PS1 GameShark cheats +The table below lists the relevant entries. Name | Code --- | --- diff --git a/pages/consoles/dreamcast/DreamcastWindowsCESDK.md b/pages/consoles/dreamcast/DreamcastWindowsCESDK.md index b153ae39..43302f4e 100644 --- a/pages/consoles/dreamcast/DreamcastWindowsCESDK.md +++ b/pages/consoles/dreamcast/DreamcastWindowsCESDK.md @@ -456,6 +456,7 @@ The `VMIMIME` library is used to connect between the main game code and the VMU --- # Glossary +The table below lists the relevant entries. Name | Meaning ---|--- diff --git a/pages/consoles/ds/DSOfficialSDK.md b/pages/consoles/ds/DSOfficialSDK.md index 046f382b..d9ea7ac2 100644 --- a/pages/consoles/ds/DSOfficialSDK.md +++ b/pages/consoles/ds/DSOfficialSDK.md @@ -196,6 +196,7 @@ nitro/hw/common/armArch.h | --- ## ARM7 Headers +The table below lists the relevant entries. Name | Description ---|--- @@ -213,6 +214,7 @@ nitro/hw/ARM7/ioreg_GX.h | nitro/hw/ARM7/ioreg_SPI.h | ## ARM9 Headers +The table below lists the relevant entries. Name | Description ---|--- @@ -253,6 +255,7 @@ nitro/mi/init.h | nitro/mi/exMemory.h | ## Misc Headers +The table below lists the relevant entries. Name | Description ---|--- diff --git a/pages/consoles/gamecube/GamecubeFileFormats.md b/pages/consoles/gamecube/GamecubeFileFormats.md index 8933b9b5..9c1b1ece 100644 --- a/pages/consoles/gamecube/GamecubeFileFormats.md +++ b/pages/consoles/gamecube/GamecubeFileFormats.md @@ -20,6 +20,7 @@ updatedAt: '2020-04-25' --- ## Emulation File Formats +The table below lists the relevant entries. Extension | Description --- | --- @@ -28,6 +29,7 @@ iso | Disc Image (Uncompressed) ## Formats Used on Disc +The table below lists the relevant entries. Extension | Description --- | --- @@ -44,6 +46,7 @@ Extension | Description Documentation: ## Games which have TGC files (Mostly demos): +The table below lists the relevant entries. Game | Description --- | --- @@ -57,6 +60,7 @@ Pokémon Colosseum Bonus Disc (US Version) | Contains pokedownload.tgc for sendi More information: http://www.emutalk.net/threads/33945-Naruto-fpk-format ## Games which have FPK files: +The table below lists the relevant entries. Game | Description --- | --- diff --git a/pages/consoles/n64/OmanArchive.md b/pages/consoles/n64/OmanArchive.md index 4c3148a3..1ad1afee 100644 --- a/pages/consoles/n64/OmanArchive.md +++ b/pages/consoles/n64/OmanArchive.md @@ -246,6 +246,7 @@ YIELD.TXT | Notes on What Yield is (e.g `osSpTaskYield`) One of the most interesting documents in this list that can be easily read is `SWARCH.PS` as it contains plenty of interesting information about how the software architecture works. ## HW - Hardware Documentation +The table below lists the relevant entries. Name | Description ---|--- diff --git a/pages/consoles/n64/SN64_SDK.md b/pages/consoles/n64/SN64_SDK.md index e9704fbe..c98c204d 100644 --- a/pages/consoles/n64/SN64_SDK.md +++ b/pages/consoles/n64/SN64_SDK.md @@ -58,12 +58,14 @@ These files are legitimately useless, why? Well they should list the contents of `00_INDEX.TXT` ## Documentation Files +The table below lists the relevant entries. Name | Description ---|--- README.zip | Contains documentation for the Psy-Q debugger (Version 2, Release 10, Patch Level 6) in TXT and RTF formats ## Windows Executables +The table below lists the relevant entries. Name | Description ---|--- diff --git a/pages/consoles/n64/iQueSDK.md b/pages/consoles/n64/iQueSDK.md index 19507447..5479cb47 100644 --- a/pages/consoles/n64/iQueSDK.md +++ b/pages/consoles/n64/iQueSDK.md @@ -116,6 +116,7 @@ ide/diag.h | Common structure definitions and global variables for BOSTON diags ide/ide.h | Data structures used by the Interactive Diagnostic Environment interpreter. ### sys - System headers +The table below lists the relevant entries. Header File Name | Description ---|--- diff --git a/pages/consoles/ps1/PS1Symbols.md b/pages/consoles/ps1/PS1Symbols.md index 46c7148a..cd3a45f3 100644 --- a/pages/consoles/ps1/PS1Symbols.md +++ b/pages/consoles/ps1/PS1Symbols.md @@ -32,6 +32,7 @@ You can get the information from a .SYM file using **DUMPSYM.EXE** from the PSQ Also the integration of .sym files into the No$PSX emulator is documented in the following forum thread: http://www.psxdev.net/forum/viewtopic.php?f=76&t=1318 ## Games with SYM Symbol file +The table below lists the relevant entries. Game Name | Symbol File | Genre | Youtube --- | --- | --- | --- @@ -83,6 +84,7 @@ Who Wants to Be a Millionaire 3rd Edition | /MIL3.SYM | Quiz | https://www.youtu ## Demos and Betas with SYM Symbol file +The table below lists the relevant entries. Game Name | Demo CD | Symbol File --- | --- | --- @@ -117,6 +119,7 @@ Address Names alphabetically These files contain all the information you need to get the full debug symbols back for a game! You just need to parse them and add them to your disassembler of choice (e.g Radare2 or IDA Pro) ## Games with Linker Map file +The table below lists the relevant entries. Game Name | Map File --- | --- @@ -134,6 +137,7 @@ True Pinball | Contains PINBALL.MAP but doesn't seem to contain function names ## Demos and Betas with Linker Map file +The table below lists the relevant entries. Game Name | Demo CD | Symbol File --- | --- diff --git a/pages/consoles/ps1/psx-exe.md b/pages/consoles/ps1/psx-exe.md index 80de220e..afa9c363 100644 --- a/pages/consoles/ps1/psx-exe.md +++ b/pages/consoles/ps1/psx-exe.md @@ -34,6 +34,7 @@ Some Information about the format: * ELF2EXE source code - https://github.com/cetygamer/psxsdk/blob/master/tools/elf2exe.c # EXE Header +The table below lists the relevant entries. Name | Length | Description --- | --- | --- diff --git a/pages/consoles/ps2/PS2SDK.md b/pages/consoles/ps2/PS2SDK.md index 7458de94..116ee4c2 100644 --- a/pages/consoles/ps2/PS2SDK.md +++ b/pages/consoles/ps2/PS2SDK.md @@ -34,6 +34,7 @@ First known version: **0.3.0** [^2] Updates were provided to licenced PlayStation developers on ps2-pro.com, where the update contained just the files that have changed and could be dropped in place to overwrite the previous versions. ### SDK Versions +The table below lists the relevant entries. SDK Version | Publicly Leaked? | Notes --- | --- | --- @@ -207,6 +208,7 @@ The simulator was released before developers got access to the hardware [^3], it # Misc ## Legend of terms +The table below lists the relevant entries. Name | Meaning --- | --- diff --git a/pages/consoles/saturn/SaturnReversing.md b/pages/consoles/saturn/SaturnReversing.md index 73909ef0..75af201f 100644 --- a/pages/consoles/saturn/SaturnReversing.md +++ b/pages/consoles/saturn/SaturnReversing.md @@ -76,6 +76,7 @@ Strange thing is that Bug Too manages to find tons of library functions (160) bu My guess is that its because it was compiled/assembled with a different toolchain, so Bug Too was presumably GNU compiled but Baku Baku could have been compiled with something else. ## Known Versions of Libraries +The table below lists the relevant entries. Library | Version ---|--- diff --git a/pages/consoles/saturn/SegaSaturnHitachiToolchain.md b/pages/consoles/saturn/SegaSaturnHitachiToolchain.md index 12895a4d..de8be1ec 100644 --- a/pages/consoles/saturn/SegaSaturnHitachiToolchain.md +++ b/pages/consoles/saturn/SegaSaturnHitachiToolchain.md @@ -24,6 +24,7 @@ editlink: /consoles/saturn/SegaSaturnHitachiToolchain.md Hitachi released a toolchain for Sega Saturn development, this is an alternative to the GNU toolchain also available from Sega. # Executables +The table below lists the relevant entries. Executable | Description ---|--- @@ -62,6 +63,7 @@ SHC is the C compile provided for the SH processors by Hitachi. --- # Hitachi Libraries +The table below lists the relevant entries. Name | Description ---|--- diff --git a/pages/consoles/saturn/SegaSaturnSDK.md b/pages/consoles/saturn/SegaSaturnSDK.md index fc973868..bd77ce52 100644 --- a/pages/consoles/saturn/SegaSaturnSDK.md +++ b/pages/consoles/saturn/SegaSaturnSDK.md @@ -259,6 +259,7 @@ The software for 2D/3D Artists, Designers and sound editors are covered in the f --- # Glossary +The table below lists the relevant entries. Term | Meaning ---|--- diff --git a/pages/consoles/saturn/SegaSaturnSampleCompilation.md b/pages/consoles/saturn/SegaSaturnSampleCompilation.md index 6cedb85a..b8a429a7 100644 --- a/pages/consoles/saturn/SegaSaturnSampleCompilation.md +++ b/pages/consoles/saturn/SegaSaturnSampleCompilation.md @@ -88,6 +88,7 @@ This happened when I set the SHC_LIB directory wrong. To fix it make sure this e Uses `gcc` to compile the *.c files and `gasm` to assemble the assembly files. ## Libraries Included +The table below lists the relevant entries. name | purpose ---|--- diff --git a/pages/consoles/snes/SNESFileFormats.md b/pages/consoles/snes/SNESFileFormats.md index 6527cc0c..4ce503ce 100644 --- a/pages/consoles/snes/SNESFileFormats.md +++ b/pages/consoles/snes/SNESFileFormats.md @@ -26,6 +26,7 @@ This page is a practical reference for common SNES file formats used for develop --- # Source and Build Files +The table below lists the relevant entries. Extension | What it is ---|--- @@ -928,6 +929,7 @@ This makes the Mode 7 records particularly useful to preserve, even if you do no --- ## Mode 7 and Map-Side Formats +The table below lists the relevant entries. Extension | What it is ---|--- @@ -1004,6 +1006,7 @@ If you are round-tripping MAP files between tools, prefer preserving the header --- ## Revision Markers +The table below lists the relevant entries. Marker | Meaning ---|--- diff --git a/pages/consoles/switch/SwitchGameEngines.md b/pages/consoles/switch/SwitchGameEngines.md index 7e49c4f8..51568e68 100644 --- a/pages/consoles/switch/SwitchGameEngines.md +++ b/pages/consoles/switch/SwitchGameEngines.md @@ -211,6 +211,7 @@ Havok is a popular physics engines that has been ported to the Nintendo switch. ## Games +The table below lists the relevant entries. Game Name | Notes ---|--- @@ -242,6 +243,7 @@ Wolfenstein II: The New Colossus | id Tech 6 --- # Unknown (Custom?) Engines +The table below lists the relevant entries. Game Name | Details ---|--- diff --git a/pages/consoles/vita/OfficialSonyVitaSDK.md b/pages/consoles/vita/OfficialSonyVitaSDK.md index e66f54c9..dbd5ee68 100644 --- a/pages/consoles/vita/OfficialSonyVitaSDK.md +++ b/pages/consoles/vita/OfficialSonyVitaSDK.md @@ -55,6 +55,7 @@ SDKS | 33.07 GB | Contains 3.300/3.500/3.550/3.570 SDKs plus the Photon PSVita S --- ## Software (/psvita/Software) +The table below lists the relevant entries. Name | Size | Notes ---|--- diff --git a/pages/games/BatmanForeverArcade.md b/pages/games/BatmanForeverArcade.md index 1ab3e927..8079e1f7 100644 --- a/pages/games/BatmanForeverArcade.md +++ b/pages/games/BatmanForeverArcade.md @@ -446,6 +446,7 @@ Symbol | Notes --- # Sega Saturn Memory Symbols +The table below lists the relevant entries. Address | Symbol | Notes ---|---|--- diff --git a/pages/leaks/Gigaleak.md b/pages/leaks/Gigaleak.md index 0e27b5a9..8d7e7eae 100644 --- a/pages/leaks/Gigaleak.md +++ b/pages/leaks/Gigaleak.md @@ -107,6 +107,7 @@ Inside `other/NEWS/FZERO`, the `Game` and `Tools` folders reappear, and the fold Beyond the source trees, the `NEWS.7z` archive also contains a **テープリストア** (tape-restore) directory holding seven workstation backup snapshots in `.tar` format, plus a manifest file. These appear to be uncompressed mid-development system backups from around 2014: ### Tape Archive Backups (テープリストア) +The table below lists the relevant entries. Archive | Size | Entries | Contents ---------|------|---------|---------- @@ -263,6 +264,7 @@ One important extra detail at the NEWS_04 level is that Sugiyama's root director --- ### NEWS_04 Timeline Snapshot +The table below lists the relevant entries. Period | Project | Status ---|---|--- diff --git a/pages/leaks/Nintendo/GigaleakNEWS05.md b/pages/leaks/Nintendo/GigaleakNEWS05.md index 2bce5674..971efcf8 100644 --- a/pages/leaks/Nintendo/GigaleakNEWS05.md +++ b/pages/leaks/Nintendo/GigaleakNEWS05.md @@ -90,6 +90,7 @@ If you are new to SNES 3D development and Nintendo's internal tool ecosystem, th --- ## Contents at a Glance +The table below lists the relevant entries. Directory | Purpose | Key Files -----------|---------|----------- @@ -171,6 +172,7 @@ It captures assets mid-development. Each stage folder represents a **complete level or boss encounter**, with self-contained assets and animations. #### Stage-by-Stage Breakdown +The table below lists the relevant entries. Stage | Files | `.anm` | `.nca` | `.cad` | `.txt` | Purpose -------|-------|--------|--------|--------|--------|--------- @@ -1291,6 +1293,7 @@ Extension | Count | Purpose --- ## Comparison to Main Gigaleak +The table below lists the relevant entries. Aspect | Main SFC.7z | NEWS_05.tar --------|------------|----------- @@ -1361,6 +1364,7 @@ This adds poignancy: the 1,549 AAfundoshi files represent 3+ years of work that ## Comparison to Main Gigaleak Archives ### NEWS_05 vs. SFC.7z (Main Source Code) +The table below lists the relevant entries. Aspect | SFC.7z (Organized) | NEWS_05 (Raw Backup) --------|------------------|------------------- diff --git a/pages/leaks/Nintendo/Pilotwing2DArt.md b/pages/leaks/Nintendo/Pilotwing2DArt.md index e9e29702..4ca179be 100644 --- a/pages/leaks/Nintendo/Pilotwing2DArt.md +++ b/pages/leaks/Nintendo/Pilotwing2DArt.md @@ -542,6 +542,7 @@ Why this matters: --- ## Competing hypotheses and confidence +The table below lists the relevant entries. Hypothesis | Description | Confidence ---|---|--- @@ -621,6 +622,7 @@ The combat tokens likely represent either: --- ## Evidence-weighted interpretation +The table below lists the relevant entries. Signal class | Observed strength | Supports | Risk ---|---|---|--- diff --git a/pages/leaks/Nintendo/StuntRaceFX2DArt.md b/pages/leaks/Nintendo/StuntRaceFX2DArt.md index 2fd070d4..206bf390 100644 --- a/pages/leaks/Nintendo/StuntRaceFX2DArt.md +++ b/pages/leaks/Nintendo/StuntRaceFX2DArt.md @@ -95,6 +95,7 @@ Date window | `1993-07` to `1993-12` | Late production pass before 1994 release --- ## Asset taxonomy +The table below lists the relevant entries. Group | Example files | Interpretation ---|---|--- @@ -124,6 +125,7 @@ This is not proof of team change by itself, but it is a persistent marker of bra --- ## Timeline interpretation +The table below lists the relevant entries. Date | Event | Reading ---|---|--- From 1d41b9eb68bfa9d77331d03429eff18f1fa45b52 Mon Sep 17 00:00:00 2001 From: A Date: Sat, 11 Apr 2026 14:55:37 +0100 Subject: [PATCH 2/4] Moved the short radare2 page into the main Ps1 page until we have more content --- categories/consoles/PS1.md | 24 +++++++++++++++++++ pages/consoles/ps1/PS1_Radare2.md | 40 ------------------------------- 2 files changed, 24 insertions(+), 40 deletions(-) delete mode 100644 pages/consoles/ps1/PS1_Radare2.md diff --git a/categories/consoles/PS1.md b/categories/consoles/PS1.md index cc120dde..00bf0ac8 100644 --- a/categories/consoles/PS1.md +++ b/categories/consoles/PS1.md @@ -20,6 +20,7 @@ redirect_from: - /Evolution-of-Playstation-Games - /inside-playstation - /ps1/ + - /ps1-radare2 videocarousel: - title: Video 1 image: https://img.youtube.com/vi/MPXpH2hxuNc/hqdefault.jpg @@ -236,6 +237,29 @@ To create 3D models for PlayStation 1 games the following tools are known to hav To create textures (and therefore sprites) the following tools are known to have been used: * **Adobe Photoshop** - A plugin was available to directly edit PlayStation TIM files without requiring conversion [^2]. +--- +# Reverse Engineering PS1 Games + +## Radare2 +First you need to find the executable on the PS1 disc image, it will be named after the unique Sony Code e.g `SLES_032.85`. + +Then open it with radare2 like so: +```bash +r2 ./SLES_032.85 +``` + +### Fix the PS1 Offset in r2 +To Disassemble PS1 Binary files (MIPS little endian) you need to map a file at offset 0x80010000 like so: +``` +o ./SLES_032.85 0x80010000 rwx +``` +Replace SLES_032.85 with the location of your own PSX executable. + +Now we want to analyze all the functions in the executable like so: +``` +aaaa +``` + --- # All Posts
diff --git a/pages/consoles/ps1/PS1_Radare2.md b/pages/consoles/ps1/PS1_Radare2.md deleted file mode 100644 index 1e60d543..00000000 --- a/pages/consoles/ps1/PS1_Radare2.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -layout: post -tags: -- ps1 -- sdk -- symbols -title: PSX Analysis with Radare2 -category: ps1 -image: /public/ps1radare2.png -permalink: /ps1-radare2 -breadcrumbs: - - name: Home - url: / - - name: Sony Playstation 1 - url: /ps1 - - name: PS1 Binary Analysis with Radare2 - url: # -recommend: ps1 -editlink: /consoles/ps1/PS1_Radare2.md ---- - -This guide will presume you have already installed the radare2 suite of binary analysis tools on your computer. - -# Opening a PSX executable in radare2 -First lets run radare2: -```bash -r2 ./SLES_032.85 -``` - -To Disassemble PS1 Binary files (MIPS little endian) you need to map a file at offset 0x80010000 like so: -``` -o ./SLES_032.85 0x80010000 rwx -``` -Replace SLES_032.85 with the location of your own PSX executable. - -Now we want to analyze all the functions in the executable like so: -``` -aaaa -``` - From f462dae822b769e737512eef057c7784e2f8dd69 Mon Sep 17 00:00:00 2001 From: A Date: Sat, 11 Apr 2026 15:06:42 +0100 Subject: [PATCH 3/4] Moved the short Saturn transparency effects video into the larger Sega Saturn page --- categories/consoles/Saturn.md | 36 ++++++++++++++++--- .../saturn/SaturnTransparencyEffects.md | 34 ------------------ 2 files changed, 31 insertions(+), 39 deletions(-) delete mode 100644 pages/consoles/saturn/SaturnTransparencyEffects.md diff --git a/categories/consoles/Saturn.md b/categories/consoles/Saturn.md index a8e604d9..4e0b37e3 100644 --- a/categories/consoles/Saturn.md +++ b/categories/consoles/Saturn.md @@ -21,6 +21,7 @@ redirect_from: - /segasaturn - /ss - /saturn/ + - /saturn-transparency tags: - saturn --- @@ -47,11 +48,7 @@ For a detailed breakdown of the password system and the newly discovered codes, {% include_cached link-to-other-site.html url="https://32bits.substack.com/p/under-the-microscope-the-lost-world" description="Bo Bayles provides a comprehensive look at cracking the password encryption in The Lost World: Jurassic Park, revealing secret debug menus and arcade asset galleries hidden for nearly 30 years." title="Under the Microscope: The Lost World – Jurassic Park" %} -## Sega Saturn Graphics -There are some myths around the Sega Saturn's graphical abilities, such as the lack of transparency support, that can be proven false with some clever programming techniques. - -{% include_cached link-to-other-post.html post="/saturn-transparency" description="For details on Transparency effects in Sega Saturn games check out this post." %} - +--- ## Sega File Formats The Sega Saturn was the second released Sega console which used CD-ROM to distribute its games, one of the benefits of the CD-ROM format is many times more space than a cartridge. One of the downsides compared to cartridges however was the slower loading times as reading from a CD is much slower than reading from a ROM chip. @@ -111,6 +108,35 @@ One of the best ways to get started understanding how games were made using the {% include_cached link-to-other-post.html post="/sega-saturn-compiling-samples" description="For more information on Official SDK for the Saturn check out this post." %} +--- +# Sega Saturn Graphics +There are some myths around the Sega Saturn's graphical abilities, such as the lack of transparency support, that can be proven false with some clever programming techniques. + +## Sega Saturn Alpha Transparency Effects +The Sega Saturn's unique way of drawing 3D vertices made life very difficult for developers to implement Alpha Transparency techniques such as objects fading into view. +Unlike the Sony PlayStation or Nintendo 64, the Saturn's VDP1 graphics chip did not render true 3D polygons. Instead, it rendered 3D objects as **distorted 2D sprites** (quads). When developers attempted to apply standard alpha transparency to these overlapping, distorted sprites, it caused massive visual corruption and Z-sorting errors. +This is why contemporary Saturn games like **Daytona USA** had to rely on harsh "pop-in" for distant scenery rather than smooth fading. + +### Sonic R's "Impossible" Fading +[GameHut](https://www.youtube.com/watch?v=FdD0GvVRSMc) has a deep dive into the coding secrets behind the distance fading and alpha transparency effects used in the Sega Saturn game, Sonic R. It covers the specific rendering techniques and hardware workarounds that Traveller's Tales employed to achieve these seemingly impossible 3D graphical effects on 32-bit architecture. + + + +To make the flat 2D sprites look like 3D objects with simulated volume and lighting, Traveller's Tales utilized **Gouraud shading**. + +The core problem was that applying Gouraud shading consumed the exact same hardware color calculation pathways needed to render transparency. A developer could have dynamic lighting *or* transparency, but the Saturn could not natively handle both on a single sprite at the same time. + +#### Stripping the Lighting +To fade an object in from a distance, Burton's engine first had to mathematically strip away its Gouraud shading to free up the color registers. However, simply turning off the lighting would cause a jarring visual pop on the textures. +To mask this transition, the engine stored and calculated three distinct sets of lighting data simultaneously. +As an object entered the draw distance, the game bridged the unlit texture with the shaded texture, creating a smooth visual transition before the full lighting was officially disabled. + +#### The 8-Register Fade +Once the Gouraud shading was successfully stripped from the distant polygons, the hardware pathways were freed up. The engine then hijacked the Saturn's 8 available color calculation ratio hardware registers. By tying these 8 transparency levels to the in-game camera's Z-depth (distance), the now-unlit polygons could cycle through 8 distinct stages of alpha blending. + +### The Result +As a piece of the track approaches the camera, it smoothly fades into existence through 8 steps of transparency. Once it becomes fully opaque and gets close enough to the player, the engine dynamically reapplies the Gouraud shading. This two-part swap happens entirely in the background, tricking the player's eye and creating a smooth draw distance that most developers considered fundamentally impossible on the Sega Saturn architecture. + ---
{% include console.html %} diff --git a/pages/consoles/saturn/SaturnTransparencyEffects.md b/pages/consoles/saturn/SaturnTransparencyEffects.md deleted file mode 100644 index 29fa2362..00000000 --- a/pages/consoles/saturn/SaturnTransparencyEffects.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: post -tags: -- hardware -- saturn -- sega -title: Sega Saturn Alpha Transparency Effects -category: saturn -image: https://img.youtube.com/vi/FdD0GvVRSMc/hqdefault.jpg -permalink: /saturn-transparency -breadcrumbs: - - name: Home - url: / - - name: Sega Saturn - url: /segasaturn - - name: Sega Saturn Alpha Transparency Effects - url: # -references: - - youtube - - codingsecrets -videocarousel: - - title: Coding Secrets - image: https://img.youtube.com/vi/FdD0GvVRSMc/maxresdefault.jpg - youtube: 'FdD0GvVRSMc' -recommend: sega -editlink: /consoles/saturn/SaturnTransparencyEffects.md ---- - -The Sega Saturn's unique way of drawing 3D vertices made life very difficult for developers to implement Alpha Transparency techniques such as objects fading into view. -In Sonic R the developer Travellers Tales took a very clever approach to implementing this feature despite the lack of hardware support. - - -# References -[^1]: Coding Secrets on YouTube - https://www.youtube.com/watch?v=FdD0GvVRSMc From bd86fb3d581f972f446af54104e76bd266e6b096 Mon Sep 17 00:00:00 2001 From: A Date: Sat, 11 Apr 2026 16:41:41 +0100 Subject: [PATCH 4/4] Now generates the category list on the homepage with correct tag count --- _config.yml | 388 ++++++++++++------ valid-tags.json => _data/valid-tags.json | 112 ++--- _includes/homepage/head-console-list.html | 33 ++ _includes/placeholder-post-image.html | 11 +- _includes/post-list-cards.html | 8 +- _includes/posts/post-header.html | 8 +- _layouts/home.html | 22 +- pages/consoles/ds/DSHomebrew.md | 1 - public/consoles/GameCom.png | Bin 0 -> 65695 bytes public/consoles/SDK.png | Bin 0 -> 90598 bytes scripts/README.md | 10 +- scripts/extract-tags.js | 11 +- scripts/generate-placeholder-social-images.js | 35 +- scripts/validate-tags.js | 14 +- 14 files changed, 406 insertions(+), 247 deletions(-) rename valid-tags.json => _data/valid-tags.json (95%) create mode 100644 _includes/homepage/head-console-list.html create mode 100644 public/consoles/GameCom.png create mode 100644 public/consoles/SDK.png diff --git a/_config.yml b/_config.yml index ef041653..8d9ea248 100644 --- a/_config.yml +++ b/_config.yml @@ -34,8 +34,6 @@ kramdown: sass: style: compressed sass_dir: _scss -# paginate: 5 -# paginate_path: '/blog/page:num' permalink: pretty incremental: true @@ -72,127 +70,271 @@ mathjax: true # whether support mathjax # google_analytics_token: 'UA-00000000-1' # leave blank if you don't want google analytics disqus_short_name: 'retro-reversing' # leave blank if you don't want disqus -category_images: - "360": /public/consoles/Microsoft Xbox 360.png - 32x: /public/consoles/Sega 32X.png - 3d: /public/consoles/3d.png - 3do: /public/consoles/Panasonic 3DO.png - 3ds: /public/consoles/Nintendo 3DS.png - amiga: /public/consoles/Amiga.png - amstrad_cpc: /public/consoles/Amstrad CPC.png - android: /public/consoles/Android.png - arcade: /public/consoles/Arcade.png - atari_2600: /public/consoles/Atari 2600.png - atari_5200: /public/consoles/Atari 5200.png - atari_7800: /public/consoles/Atari 7800.png - atari_800: /public/consoles/Atari 800.png - atari_st: /public/consoles/Atari ST.png - atari2600: /public/consoles/Atari 2600.png - atarijaguar: /public/consoles/Atari Jaguar.png - bookazines: /public/consoles/Magazine.png - cheatcartridge: /public/consoles/Hardware.png - codemasters: /public/consoles/PC.png - colecovision: /public/consoles/Colecovision.png - commodore_64: /public/consoles/Commodore 64.png - commodore_amiga_cd32: /public/consoles/Commodore Amiga CD32.png - commodore_cdtv: /public/consoles/Commodore CDTV.png - computer_modern: /public/consoles/Computer Modern.png - computer_old_design: /public/consoles/PC.png - cracking: /public/consoles/PC.png - crossproducts: /public/consoles/Magazine.png - datel: /public/consoles/PC.png - devkit: /public/consoles/Hardware.png - disassemblers: /public/consoles/PC.png - dos: /public/consoles/PC.png - dreamcast: /public/consoles/Sega Dreamcast.png - ds: /public/consoles/Nintendo DS.png - fairchild-channel-f: /public/consoles/Fairchild Channel F.png - famicom_disk_system: /public/consoles/Nintendo Famicom Disk System.png - famicon: /public/consoles/Nintendo Famicon.png - fileformats: /public/consoles/PC.png - gameboy: /public/consoles/Nintendo Game Boy.png - gamecom: /public/consoles/Game.com.png - gamecube: /public/consoles/Nintendo Gamecube.png - gameengines: /public/consoles/PC.png - gamegear: /public/consoles/Sega Game Gear.png - games: /public/images/RetroReversingLogoSmall.png - gba: /public/consoles/Nintendo Game Boy Advance.png - gbc: /public/consoles/Nintendo Game Boy Color.png - genesis: /public/consoles/Sega Genesis.png - ghidra: /public/consoles/PC.png - handhelds: /public/consoles/Handhelds.png - hardware: /public/consoles/Hardware.png - incomplete: /public/images/RetroReversingLogoSmall.png - industry: /public/consoles/Magazine.png - intellivision: /public/consoles/Intellivision.png - introduction: /public/consoles/PC.png - jaguar: /public/consoles/Atari Jaguar.png - leak: /public/consoles/Leaks.png - lynx: /public/consoles/Atari Lynx.png - magazines: /public/consoles/Magazine.png - magnavox_odyssey_2: /public/consoles/Magnavox Odyssey 2.png - magnavox_odyssey: /public/consoles/Magnavox Odyssey.png - mastersystem: /public/consoles/Sega - Master System.png - matell_intellivision: /public/consoles/Matell Intellivision.png - maths: /public/consoles/PC.png - megadrive: /public/consoles/Sega Megadrive.png - msx: /public/consoles/PC.png - n64: /public/consoles/Nintendo 64.png - nds: /public/consoles/Nintendo DS.png - nec_pc_engine_cd: /public/consoles/Nec PC Engine CD.png - nec_pc_engine: /public/consoles/Nec PC Engine.png - nec_pc_fx: /public/consoles/Nec PC FX.png - nec_turbografx16_cd: /public/consoles/Nec TurboGrafx16 CD.png - neogeo: /public/consoles/SNK Neo-Geo.png - nes: /public/consoles/Nintendo Entertainment System.png - news: /public/consoles/Magazine.png - pc_engine_supergrafx: /public/consoles/PC Engine SuperGrafx.png - pc-88: /public/consoles/PC.png - pc: /public/consoles/PC.png - philips_cdi: /public/consoles/Philips CD-i.png - pinball: /public/consoles/Pinball.png - pokemonmini: /public/consoles/PokemonMini.png - PokemonMini: /public/consoles/PokemonMini.png - programming: /public/consoles/PC.png - ps1: /public/consoles/Sony Playstation.png - ps2: /public/consoles/Sony PlayStation 2.png - ps3: /public/consoles/Sony Playstation 3.png - ps4: /public/consoles/Sony Playstation 4.png - psp: /public/consoles/psp.svg - satellaview: /public/consoles/Nintendo Satellaview.png - saturn: /public/consoles/Sega Saturn.png - sdk: /public/consoles/PC.png - sega_mark_iii: /public/consoles/Sega Mark lll.png - sega_sc3000: /public/consoles/Sega SC-3000.png - segacd: /public/consoles/SEGA CD.png - sg1000: /public/consoles/Sega SG-1000.png - sinclair_zx_spectrum: /public/consoles/Sinclair ZX Spectrum.png - snes: /public/consoles/SNES-USA.png - snk_neo_geo_cd: /public/consoles/SNK Neo-Geo CD.png - snk_neo_geo_pocket_color: /public/consoles/SNK Neo Geo Pocket Color.png - snk_neo_geo_pocket: /public/consoles/SNK Neo Geo Pocket.png - snsystems: /public/consoles/Magazine.png - sony_playstation_2: /public/consoles/Sony PlayStation 2.png - sony_playstation_3: /public/consoles/Sony Playstation 3.png - sony_playstation: /public/consoles/Sony Playstation.png - sony_psvita: /public/consoles/Sony PSVita.png - sourcecode: /public/consoles/SourceCode.png - super_nintendo_entertainment_system: /public/consoles/Super Nintendo Entertainment System.png - switch: /public/consoles/Nintendo Switch.png - symbols: /public/consoles/PC.png - tools: /public/consoles/PC.png - turbografx16: /public/consoles/TurboGrafx-16.png - tutorial: /public/consoles/PC.png - vectrex: /public/consoles/GCE Vectrex.png - virtualboy: /public/consoles/Nintendo Virtual Boy.png - vita: /public/consoles/Vita.png - wii: /public/consoles/Nintendo Wii.png - wiiu: /public/consoles/Nintendo WiiU.png - wonderswan_color: /public/consoles/WonderSwan Color.png - wonderswan: /public/consoles/WonderSwan.png - xbox: /public/consoles/Microsoft Xbox.png - xbox360: /public/consoles/Microsoft Xbox 360.png - zxspectrum: /public/consoles/Sinclair ZX Spectrum.png +category: + "360": + title: Microsoft Xbox 360 + image: /public/consoles/Microsoft Xbox 360.png + "32x": + title: Sega 32X + image: /public/consoles/Sega 32X.png + "3d": + title: 3D + image: /public/consoles/3d.png + "3do": + title: Panasonic 3DO + image: /public/consoles/Panasonic 3DO.png + "3ds": + title: Nintendo 3DS + image: /public/consoles/Nintendo 3DS.png + "amiga": + title: Amiga + image: /public/consoles/Amiga.png + "amstrad_cpc": + title: Amstrad CPC + image: /public/consoles/Amstrad CPC.png + "android": + title: Android + image: /public/consoles/Android.png + "arcade": + title: Arcade + image: /public/consoles/Arcade.png + "bookazines": + title: Bookazines + image: /public/consoles/Magazine.png + "cheatcartridge": + title: Cheat Cartridge + image: /public/consoles/Hardware.png + "codemasters": + title: Codemasters + image: /public/consoles/PC.png + "colecovision": + title: Colecovision + image: /public/consoles/Colecovision.png + "cracking": + title: Cracking + image: /public/consoles/PC.png + "crossproducts": + title: Cross Products + image: /public/consoles/Magazine.png + "datel": + title: Datel + image: /public/consoles/PC.png + "devkit": + title: Development Hardware + image: /public/consoles/Hardware.png + "disassemblers": + title: Disassemblers + image: /public/consoles/PC.png + "dos": + title: DOS + image: /public/consoles/PC.png + "dreamcast": + title: Sega Dreamcast + image: /public/consoles/Sega Dreamcast.png + "ds": + title: Nintendo DS + image: /public/consoles/Nintendo DS.png + "fairchild-channel-f": + title: Fairchild Channel F + image: /public/consoles/Fairchild Channel F.png + "famicom_disk_system": + title: Nintendo Famicom Disk System + image: /public/consoles/Nintendo Famicom Disk System.png + "famicon": + title: Nintendo Famicon + image: /public/consoles/Nintendo Famicon.png + "fileformats": + title: File Formats + image: /public/consoles/PC.png + "gameboy": + title: Nintendo Game Boy + image: /public/consoles/Nintendo Game Boy.png + "gamecom": + title: Game.com + image: /public/consoles/GameCom.png + "gamecube": + title: Nintendo Gamecube + image: /public/consoles/Nintendo Gamecube.png + "gameengines": + title: Game Engines + image: /public/consoles/PC.png + "gamegear": + title: Sega Game Gear + image: /public/consoles/Sega Game Gear.png + "games": + title: Games + image: /public/images/RetroReversingLogoSmall.png + "gba": + title: Nintendo Game Boy Advance + image: /public/consoles/Nintendo Game Boy Advance.png + "gbc": + title: Nintendo Game Boy Color + image: /public/consoles/Nintendo Game Boy Color.png + "genesis": + title: Sega Genesis + image: /public/consoles/Sega Genesis.png + "ghidra": + title: Ghidra + image: /public/consoles/PC.png + "handhelds": + title: Handhelds + image: /public/consoles/Handhelds.png + "hardware": + title: Hardware + image: /public/consoles/Hardware.png + "incomplete": + title: Incomplete + image: /public/images/RetroReversingLogoSmall.png + "industry": + title: Industry + image: /public/consoles/Magazine.png + "intellivision": + title: Intellivision + image: /public/consoles/Intellivision.png + "introduction": + title: Introduction + image: /public/consoles/PC.png + "jaguar": + title: Atari Jaguar + image: /public/consoles/Atari Jaguar.png + "leak": + title: Leak + image: /public/consoles/Leaks.png + "lynx": + title: Atari Lynx + image: /public/consoles/Atari Lynx.png + "magazines": + title: Magazines + image: /public/consoles/Magazine.png + "mastersystem": + title: Sega Master System + image: /public/consoles/Sega - Master System.png + "maths": + title: Maths + image: /public/consoles/PC.png + "megadrive": + title: Sega MegaDrive + image: /public/consoles/Sega Megadrive.png + "msx": + title: MSX + image: /public/consoles/PC.png + "n64": + title: Nintendo 64 + image: /public/consoles/Nintendo 64.png + "pcengine": + title: NEC PC Engine + image: /public/consoles/Nec PC Engine.png + "pcfx": + title: NEC PC FX + image: /public/consoles/Nec PC FX.png + "neogeo": + title: SNK Neo-Geo + image: /public/consoles/SNK Neo-Geo.png + "nes": + title: Nintendo Entertainment System + image: /public/consoles/Nintendo Entertainment System.png + "news": + title: News + image: /public/consoles/Magazine.png + "pc-88": + title: PC-88 + image: /public/consoles/PC.png + "pc": + title: PC + image: /public/consoles/PC.png + "philips_cdi": + title: Philips CD-i + image: /public/consoles/Philips CD-i.png + "pinball": + title: Pinball + image: /public/consoles/Pinball.png + "pokemonmini": + title: Pokemon Mini + image: /public/consoles/PokemonMini.png + "programming": + title: Programming + image: /public/consoles/PC.png + "ps1": + title: Sony Playstation + image: /public/consoles/Sony Playstation.png + "ps2": + title: Sony PlayStation 2 + image: /public/consoles/Sony PlayStation 2.png + "ps3": + title: Sony Playstation 3 + image: /public/consoles/Sony Playstation 3.png + "ps4": + title: Sony Playstation 4 + image: /public/consoles/Sony Playstation 4.png + "psp": + title: PSP + image: /public/consoles/psp.svg + "satellaview": + title: Nintendo Satellaview + image: /public/consoles/Nintendo Satellaview.png + "saturn": + title: Sega Saturn + image: /public/consoles/Sega Saturn.png + "sdk": + title: SDK + image: /public/consoles/SDK.png + "segacd": + title: SEGA CD + image: /public/consoles/SEGA CD.png + "sg1000": + title: Sega SG-1000 + image: /public/consoles/Sega SG-1000.png + "snes": + title: Super Nintendo + image: /public/consoles/SNES-USA.png + "snsystems": + title: SN Systems + image: /public/consoles/Magazine.png + "sourcecode": + title: Source Code + image: /public/consoles/SourceCode.png + "switch": + title: Nintendo Switch + image: /public/consoles/Nintendo Switch.png + "symbols": + title: Symbols + image: /public/consoles/PC.png + "tools": + title: Tools + image: /public/consoles/PC.png + "turbografx16": + title: TurboGrafx-16 + image: /public/consoles/TurboGrafx-16.png + "tutorial": + title: Tutorial + image: /public/consoles/PC.png + "vectrex": + title: GCE Vectrex + image: /public/consoles/GCE Vectrex.png + "virtualboy": + title: Nintendo Virtual Boy + image: /public/consoles/Nintendo Virtual Boy.png + "vita": + title: Vita + image: /public/consoles/Vita.png + "wii": + title: Nintendo Wii + image: /public/consoles/Nintendo Wii.png + "wiiu": + title: Nintendo WiiU + image: /public/consoles/Nintendo WiiU.png + "wonderswan": + title: WonderSwan + image: /public/consoles/WonderSwan.png + "xbox": + title: Microsoft Xbox + image: /public/consoles/Microsoft Xbox.png + "xbox360": + title: Microsoft Xbox 360 + image: /public/consoles/Microsoft Xbox 360.png + "zxspectrum": + title: Sinclair ZX Spectrum + image: /public/consoles/Sinclair ZX Spectrum.png references: diff --git a/valid-tags.json b/_data/valid-tags.json similarity index 95% rename from valid-tags.json rename to _data/valid-tags.json index c02fc582..e9d21677 100644 --- a/valid-tags.json +++ b/_data/valid-tags.json @@ -1,9 +1,9 @@ { "summary": { - "totalFiles": 306, - "filesWithTags": 306, - "uniqueTags": 113, - "generatedAt": "2026-03-31T11:23:20.560Z" + "totalFiles": 300, + "filesWithTags": 300, + "uniqueTags": 108, + "generatedAt": "2026-04-11T15:02:54.945Z" }, "tags": { "2d": 1, @@ -13,9 +13,8 @@ "3ds": 8, "amiga": 1, "android": 3, - "arcade": 1, + "arcade": 2, "assembly": 4, - "assets": 1, "atari": 3, "bookazines": 1, "books": 2, @@ -36,8 +35,8 @@ "dos": 4, "dreamcast": 8, "ds": 12, - "emulation": 1, - "fileformats": 14, + "emulation": 2, + "fileformats": 15, "gameboy": 20, "gamecom": 1, "gamecube": 10, @@ -48,10 +47,10 @@ "gdb": 2, "ghidra": 4, "gigaleak": 2, - "graphics": 2, + "graphics": 1, "hacking": 1, "handhelds": 4, - "hardware": 39, + "hardware": 38, "homebrew": 2, "incomplete": 1, "industry": 21, @@ -59,11 +58,10 @@ "ios": 1, "ique": 2, "jaguar": 1, - "leak": 51, + "leak": 45, "leaks": 1, "legal": 1, "magazines": 4, - "mario": 3, "mastersystem": 4, "maths": 4, "megadrive": 6, @@ -71,17 +69,16 @@ "middleware": 11, "msx": 3, "n64": 32, - "nds": 1, "nes": 15, "news": 2, - "nintendo": 2, + "nintendo": 3, "pc": 13, "pc-88": 1, "pc-engine": 1, "pokemon": 1, "pokemonmini": 3, "programming-languages": 1, - "ps1": 18, + "ps1": 17, "ps2": 10, "ps3": 3, "ps4": 2, @@ -90,21 +87,19 @@ "radare2": 1, "reverseengineering": 5, "reversingemulator": 5, - "saturn": 18, - "sdk": 49, - "sega": 28, + "saturn": 17, + "sdk": 48, + "sega": 27, "segasaturn": 1, "sg1000": 1, - "smb3": 1, - "snes": 30, + "snes": 25, "snsystems": 12, "software": 5, - "sourcecode": 27, + "sourcecode": 24, "starfox2": 1, "superfx": 1, - "supermarioworld": 1, "switch": 3, - "symbols": 14, + "symbols": 13, "tools": 18, "tutorial": 10, "tutorials": 1, @@ -323,6 +318,12 @@ "ios", "introduction" ], + "categories/games/DebugSymbolsInGames.md": [ + "symbols", + "debug", + "games", + "sdk" + ], "categories/games/FileFormats.md": [ "fileformats" ], @@ -335,12 +336,6 @@ "categories/games/Games.md": [ "games" ], - "categories/games/debugSymbols.md": [ - "symbols", - "debug", - "games", - "sdk" - ], "categories/hardware/CheatCartridges.md": [ "hardware" ], @@ -532,6 +527,11 @@ "3d", "introduction" ], + "pages/SourceCode/mame/MAMESourceCode.md": [ + "sourcecode", + "emulation", + "arcade" + ], "pages/consoles/3ds/3DSDevkitHardware.md": [ "3ds", "devkit", @@ -605,7 +605,6 @@ ], "pages/consoles/ds/DSHomebrew.md": [ "ds", - "nds", "homebrew", "3ds" ], @@ -919,11 +918,6 @@ "sdk", "symbols" ], - "pages/consoles/ps1/PS1_Radare2.md": [ - "ps1", - "sdk", - "symbols" - ], "pages/consoles/ps1/PSYQSDKSetup.md": [ "ps1", "reverseengineering", @@ -1033,11 +1027,6 @@ "sega", "segasaturn" ], - "pages/consoles/saturn/SaturnTransparencyEffects.md": [ - "hardware", - "saturn", - "sega" - ], "pages/consoles/saturn/SegaSaturnArtistTools.md": [ "tools", "saturn", @@ -1330,6 +1319,12 @@ "sourcecode", "tools" ], + "pages/leaks/Nintendo/GigaleakNEWS11.md": [ + "nintendo", + "gigaleak", + "snes", + "fileformats" + ], "pages/leaks/Nintendo/MarioKart.md": [ "snes", "leak", @@ -1381,48 +1376,15 @@ "snes", "leak" ], - "pages/leaks/Nintendo/SuperMarioAllStarsArt.md": [ - "snes", - "leak", - "mario", - "graphics", - "gigaleak", - "all-stars" - ], "pages/leaks/Nintendo/SuperMarioCollection.md": [ "snes", "leak", "sourcecode" ], - "pages/leaks/Nintendo/SuperMarioCollectionAsm0.md": [ - "snes", - "leak", - "sourcecode", - "mario", - "assets" - ], - "pages/leaks/Nintendo/SuperMarioCollectionMario3Branch.md": [ - "snes", - "leak", - "sourcecode", - "mario", - "smb3" - ], - "pages/leaks/Nintendo/SuperMarioCollectionNuBranch.md": [ - "snes", - "leak", - "sourcecode" - ], "pages/leaks/Nintendo/SuperMarioKart2DArt.md": [ "snes", "leak" ], - "pages/leaks/Nintendo/SuperMarioWorldAllStarsBranch.md": [ - "snes", - "leak", - "sourcecode", - "supermarioworld" - ], "pages/leaks/Nintendo/WildTrax.md": [ "snes", "leak", @@ -1452,10 +1414,6 @@ "leak", "sourcecode" ], - "pages/leaks/Nintendo/ZeldaSNES2DArt.md": [ - "snes", - "leak" - ], "pages/leaks/NintendoLeaks.md": [ "leak", "nintendo", diff --git a/_includes/homepage/head-console-list.html b/_includes/homepage/head-console-list.html new file mode 100644 index 00000000..b3a7f224 --- /dev/null +++ b/_includes/homepage/head-console-list.html @@ -0,0 +1,33 @@ + \ No newline at end of file diff --git a/_includes/placeholder-post-image.html b/_includes/placeholder-post-image.html index a93faad7..927cbca5 100644 --- a/_includes/placeholder-post-image.html +++ b/_includes/placeholder-post-image.html @@ -11,15 +11,20 @@ {% else %} {% assign placeholder_category = placeholder_category_raw %} {% endif %} - {% assign placeholder_category_image = site.category_images[placeholder_category] %} + {% assign placeholder_category_meta = site.category[placeholder_category] %} + {% if placeholder_category_meta == nil %} + {% assign placeholder_category_meta = site.category[placeholder_category | downcase] %} + {% endif %} + {% assign placeholder_category_image = placeholder_category_meta.image %} + {% assign placeholder_category_title = placeholder_category_meta.title | default: placeholder_category | replace: '-', ' ' %}
{% if placeholder_category %} {% if placeholder_category_image and placeholder_category_image != '/public/images/RetroReversingLogoSmall.png' %} - {{ placeholder_category | replace: '-', ' ' }} + {{ placeholder_category_title }} {% endif %} - {{ placeholder_category | replace: '-', ' ' }} + {{ placeholder_category_title }} {% endif %} diff --git a/_includes/post-list-cards.html b/_includes/post-list-cards.html index 204882e3..8b0a0e8c 100644 --- a/_includes/post-list-cards.html +++ b/_includes/post-list-cards.html @@ -13,10 +13,14 @@ {% else %} {% assign page_category = page_category_raw %} {% endif %} + {% assign page_category_meta = site.category[page_category] %} + {% if page_category_meta == nil %} + {% assign page_category_meta = site.category[page_category | downcase] %} + {% endif %}
- {% if page_category and site.category_images[page_category] %} - {{ page_category }} + {% if page_category and page_category_meta and page_category_meta.image %} + {{ page_category_meta.title | default: page_category }} {% elsif post.thumbnail %} {% else %} diff --git a/_includes/posts/post-header.html b/_includes/posts/post-header.html index d2c4781b..12d2101f 100644 --- a/_includes/posts/post-header.html +++ b/_includes/posts/post-header.html @@ -6,11 +6,15 @@ {% else %} {% assign page_category = page_category_raw %} {% endif %} + {% assign page_category_meta = site.category[page_category] %} + {% if page_category_meta == nil %} + {% assign page_category_meta = site.category[page_category | downcase] %} + {% endif %}
{% if page.thumbnail %} Post thumbnail - {% elsif site.category_images[page_category] %} - {{ page_category }} + {% elsif page_category_meta and page_category_meta.image %} + {{ page_category_meta.title | default: page_category }} {% else %} Retro reversing logo {% endif %} diff --git a/_layouts/home.html b/_layouts/home.html index ffd6b050..16e0871c 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -12,27 +12,7 @@
- + {% include_cached homepage/head-console-list.html %}
diff --git a/pages/consoles/ds/DSHomebrew.md b/pages/consoles/ds/DSHomebrew.md index 18e8df8b..090dd904 100644 --- a/pages/consoles/ds/DSHomebrew.md +++ b/pages/consoles/ds/DSHomebrew.md @@ -2,7 +2,6 @@ layout: post tags: - ds -- nds - homebrew title: Nintendo DS Homebrew category: ds diff --git a/public/consoles/GameCom.png b/public/consoles/GameCom.png new file mode 100644 index 0000000000000000000000000000000000000000..209abdf21cfaf560ea097887ff1885aa66b79669 GIT binary patch literal 65695 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 Jt*}AR{{UIOauWam literal 0 HcmV?d00001 diff --git a/public/consoles/SDK.png b/public/consoles/SDK.png new file mode 100644 index 0000000000000000000000000000000000000000..e9b2255c7ae3930b97a77e0bb6d667ad65174f53 GIT binary patch literal 90598 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 literal 0 HcmV?d00001 diff --git a/scripts/README.md b/scripts/README.md index a55478e9..d39f2bee 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -38,7 +38,7 @@ node scripts/extract-tags.js [options] * `--sort-by-count` - Sort by usage count (default) * `--sort-by-name` - Sort alphabetically * `--detailed` - Show which files use each tag -* `--export-json` - Export data to `valid-tags.json` +* `--export-json` - Export data to `_data/valid-tags.json` * `--export-csv` - Export statistics to `tags-export.csv` * `--help` - Show help @@ -61,7 +61,7 @@ node scripts/extract-tags.js --export-json --export-csv * Export options for JSON/CSV formats ## validate-tags.js -Validates all tags in markdown files against approved tags from `valid-tags.json`. +Validates all tags in markdown files against approved tags from `_data/valid-tags.json`. ### Usage ```bash @@ -69,11 +69,11 @@ node scripts/validate-tags.js [path-to-valid-tags.json] ``` ### Arguments -* `path-to-valid-tags.json` - Path to valid tags file (default: `valid-tags.json`) +* `path-to-valid-tags.json` - Path to valid tags file (default: `_data/valid-tags.json`) ### Examples ```bash -# Validate against default valid-tags.json +# Validate against default _data/valid-tags.json node scripts/validate-tags.js # Validate against custom tags file @@ -131,7 +131,7 @@ node scripts/generate-placeholder-social-images.js ### Description * Scans `pages/` and `categories/` for Markdown and HTML content files -* Uses `title`, `shorttitle`, `permalink`, `category` and the `category_images` block in `_config.yml` +* Uses `title`, `shorttitle`, `permalink`, `category` and the `category` block in `_config.yml` (with per-key `title` and `image` fields) * Uses the Ruby `geo_pattern` gem to generate deterministic SVG backgrounds from each page seed * Uses `@resvg/resvg-js` in Node to rasterize the SVG into a JPG * Falls back to `rsvg-convert` when the Node renderer is unavailable diff --git a/scripts/extract-tags.js b/scripts/extract-tags.js index bab014d3..0400899c 100755 --- a/scripts/extract-tags.js +++ b/scripts/extract-tags.js @@ -1,8 +1,11 @@ #!/usr/bin/env node const fs = require('fs'); +const path = require('path'); const { scanDirectories, readMarkdownFile, extractTags } = require('./markdown-utils'); +const VALID_TAGS_OUTPUT_PATH = path.join(__dirname, '..', '_data', 'valid-tags.json'); + /** * Script to extract and analyze all tags used in markdown frontmatter * Usage: node extract-tags.js [--sort-by-count] [--sort-by-name] @@ -114,9 +117,11 @@ class TagExtractor { tags: Object.fromEntries(alphabeticallySortedTags), fileTagMap: Object.fromEntries(this.fileTagMap) }; + + fs.mkdirSync(path.dirname(VALID_TAGS_OUTPUT_PATH), { recursive: true }); - fs.writeFileSync('valid-tags.json', JSON.stringify(exportData, null, 2)); - console.log('\nExported detailed data to valid-tags.json'); + fs.writeFileSync(VALID_TAGS_OUTPUT_PATH, JSON.stringify(exportData, null, 2)); + console.log(`\nExported detailed data to ${VALID_TAGS_OUTPUT_PATH}`); } if (process.argv.includes('--export-csv')) { @@ -176,7 +181,7 @@ Options: --sort-by-count Sort tags by usage count (default) --sort-by-name Sort tags alphabetically --detailed Show which files use each tag - --export-json Export detailed data to valid-tags.json + --export-json Export detailed data to _data/valid-tags.json --export-csv Export tag statistics to tags-export.csv --help, -h Show this help message diff --git a/scripts/generate-placeholder-social-images.js b/scripts/generate-placeholder-social-images.js index 688d339e..267dd8a1 100755 --- a/scripts/generate-placeholder-social-images.js +++ b/scripts/generate-placeholder-social-images.js @@ -63,12 +63,24 @@ function parseCategoryImages(configPath) { const content = fs.readFileSync(configPath, 'utf8'); const lines = content.split('\n'); const categoryImages = {}; + let inCategory = false; let inCategoryImages = false; + let currentCategoryKey = ''; for (const line of lines) { - if (!inCategoryImages) { - if (line.trim() === 'category_images:') { + const trimmedLine = line.trim(); + + if (!inCategory && !inCategoryImages) { + if (trimmedLine === 'category:') { + inCategory = true; + inCategoryImages = false; + currentCategoryKey = ''; + continue; + } + if (trimmedLine === 'category_images:') { inCategoryImages = true; + inCategory = false; + currentCategoryKey = ''; } continue; } @@ -77,11 +89,28 @@ function parseCategoryImages(configPath) { break; } - const trimmed = line.trim(); + const trimmed = trimmedLine; if (!trimmed || trimmed.startsWith('#')) { continue; } + if (inCategory) { + if (line.startsWith(' ') && !line.startsWith(' ')) { + const keyMatch = trimmed.match(/^['"]?([^'"]+)['"]?:\s*$/); + currentCategoryKey = keyMatch ? keyMatch[1] : ''; + continue; + } + + if (line.startsWith(' ') && currentCategoryKey) { + const imageMatch = trimmed.match(/^image:\s*(.+)$/); + if (imageMatch) { + categoryImages[currentCategoryKey] = imageMatch[1].trim().replace(/^['"]|['"]$/g, ''); + } + } + + continue; + } + const colonIndex = trimmed.indexOf(':'); if (colonIndex === -1) { continue; diff --git a/scripts/validate-tags.js b/scripts/validate-tags.js index efd1370e..e645be0a 100755 --- a/scripts/validate-tags.js +++ b/scripts/validate-tags.js @@ -5,11 +5,11 @@ const { scanDirectories, readMarkdownFile, extractTags, loadJsonFile } = require /** * Script to validate tags in markdown files against approved tags in valid-tags.json * Usage: node validate-tags.js [path-to-valid-tags.json] - * Default: uses valid-tags.json in current directory + * Default: uses _data/valid-tags.json */ class TagValidator { - constructor(validTagsFilePath = 'valid-tags.json') { + constructor(validTagsFilePath = '_data/valid-tags.json') { this.validTagsFilePath = validTagsFilePath; this.validTags = new Set(); this.processedFiles = 0; @@ -189,8 +189,8 @@ class TagValidator { console.log('\n--- SUGGESTIONS ---'); console.log('To fix these issues, you can:'); console.log('1. Remove the invalid tags from the affected files (or fix typos in tag names)'); - console.log('2. Add the missing tags to valid-tags.json if they are legitimate tags you want to use.'); - console.log('\nTo see all valid tags, run: jq -r ".tags | keys[]" valid-tags.json'); + console.log('2. Add the missing tags to _data/valid-tags.json if they are legitimate tags you want to use.'); + console.log('\nTo see all valid tags, run: jq -r ".tags | keys[]" _data/valid-tags.json'); console.log('\nTo re-generate the list of valid tags, run: node scripts/extract-tags.js --export-json'); return false; @@ -241,7 +241,7 @@ Options: --help, -h Show this help message Arguments: - path-to-valid-tags.json Path to the valid tags JSON file (default: valid-tags.json) + path-to-valid-tags.json Path to the valid tags JSON file (default: _data/valid-tags.json) Description: Validates all tags in markdown files against approved tags in valid-tags.json. @@ -249,7 +249,7 @@ Description: Examples: node validate-tags.js - node validate-tags.js valid-tags.json + node validate-tags.js _data/valid-tags.json node validate-tags.js /path/to/custom-tags.json Exit Codes: @@ -260,7 +260,7 @@ Exit Codes: } // Use custom tags file path if provided - const tagsFilePath = args[0] || 'valid-tags.json'; + const tagsFilePath = args[0] || '_data/valid-tags.json'; const validator = new TagValidator(tagsFilePath); const success = validator.run();