Skip to content

Instantly share code, notes, and snippets.

IPS File Format

IPS supposedly stands for "International Patching System" and is a patching format that was common with older ROMs back in the day.

The format is old and has limitations, so it's not often used today but I still wanted to keep the information alive as there are less sites documenting the format nowadays.

  • IPS addresses offsets to the original file in a 24-bit value, therefore it is limited to 2^24 meaning it can only patch up to the first 16 MiB of the file.
  • The patches themselves use 16-bit for the length and so it can only include patches up to 2^16 or 64 KiB at a time.

| Section | Size (bytes) | Description |

@kergoth
kergoth / nes.sh
Created April 8, 2025 03:59 — forked from Europia79/nes.sh
#!/bin/bash
# NES Flips Wrapper by Europia79
##########################################
# README #
##########################################
# (1) This script requires Linux, Mac, or Git-for-Windows:
# https://gitforwindows.org/
# https://git-scm.com/download/win
# (2) This script also requires Floating IPS (flips) v1.31:
# https://github.com/Alcaro/Flips
@Europia79
Europia79 / IUPAG-Naming-Convention.md
Last active July 23, 2026 02:47
An alternate naming convention for ROMs & Romhacks.
@SMUsamaShah
SMUsamaShah / sort roms by genre.md
Last active February 28, 2025 17:29
Sort ROM files by Genre using ChatGPT

I tried writing shell script, then actual code for this. Found some lists

https://github.com/Wiimpathy/CreateCat/blob/master/data/GBA/GBA_list.txt https://github.com/libretro/libretro-database/blob/master/metadat/genre/Nintendo%20-%20Game%20Boy%20Advance.dat

and even tried screenscraper api

but the problem always was finding and matching names correctly.

Gave up on that and simply used ChatGPT. It's reliable enough. Not many mistakes and even if it makes mistakes its not that big deal and overall this method is lot less painfull.

@SMUsamaShah
SMUsamaShah / libretro_genre_to_json.sh
Last active February 28, 2025 17:26
Bash script to convert libretro genre metadata .dat files to json (works on miyoo mini)
#!/bin/sh
input_file="gba.dat"
output_file="output.json"
# declare -A crc_to_genre
# declare -A name_to_genre
inside_game_block=false
crc_to_genre_json=""
@Techcable
Techcable / OfflinePlayerLoader.java
Last active November 6, 2018 01:34
Load offline players (should work with versions later than 1.6.4) (Requires my Reflection Class)
/**
* The MIT License
* Copyright (c) 2015 Techcable
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
@rxaviers
rxaviers / gist:7360908
Last active July 26, 2026 09:20
Complete list of github markdown emoji markup

People

:bowtie: :bowtie: πŸ˜„ :smile: πŸ˜† :laughing:
😊 :blush: πŸ˜ƒ :smiley: ☺️ :relaxed:
😏 :smirk: 😍 :heart_eyes: 😘 :kissing_heart:
😚 :kissing_closed_eyes: 😳 :flushed: 😌 :relieved:
πŸ˜† :satisfied: 😁 :grin: πŸ˜‰ :wink:
😜 :stuck_out_tongue_winking_eye: 😝 :stuck_out_tongue_closed_eyes: πŸ˜€ :grinning:
πŸ˜— :kissing: πŸ˜™ :kissing_smiling_eyes: πŸ˜› :stuck_out_tongue: