Created
July 24, 2026 14:37
-
-
Save desaster/8f532dc89fde04e882c698b81f73be07 to your computer and use it in GitHub Desktop.
Create combined GLaBIOS + GLaDISK + XT-IDE + IBM BASIC rom image
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # | |
| # Build the combined GLaBIOS + GLaDISK + XT-IDE + IBM BASIC | |
| # Intended for use with the PCXT core on MiSTer or Analogue Pocket | |
| # | |
| set -e | |
| OUT="glabios_combined.rom" | |
| curl -fsSL -o glabios.rom https://github.com/640-KB/GLaBIOS/releases/download/v0.4.2/GLABIOS_0.4.2_8X.ROM | |
| curl -fsSL -o gladisk.rom https://github.com/640-KB/GLaDISK/releases/download/v0.4.8-pre/GLADISK_0.4.8_ADV_5160_FD42.ROM | |
| # xt-ide preconfigured for 300h | |
| curl -fsSL -o xtide.rom https://raw.githubusercontent.com/spark2k06/PCXT_MiSTer/main/SW/ROMs/ide_xtl.rom | |
| # IBM 5160 ROM: U19 (F0000-F7FFF) then U18 (F8000-FFFFF). Cassette BASIC lives | |
| # at F6000-FDFFF, i.e. bytes 0x6000..0xDFFF (32 KiB) of the two joined. | |
| curl -fsSL -o ibm5160.zip http://minuszerodegrees.net/bios/BIOS_5160_08NOV82.zip | |
| unzip -oq ibm5160.zip | |
| cat BIOS_5160_08NOV82_U19_5000027_27256.BIN BIOS_5160_08NOV82_U18_1501512.BIN > ibm5160.bin | |
| dd if=ibm5160.bin of=basic.rom bs=4096 skip=6 count=8 2>/dev/null | |
| # Assemble: start from an erased (0xFF) 64 KiB ROM, then drop each piece at its | |
| # offset in segment F000: | |
| # F0000 XT-IDE F3000 GLaDISK F6000 BASIC FE000 GLaBIOS | |
| tr '\000' '\377' < /dev/zero | head -c 65536 > "$OUT" | |
| dd if=xtide.rom of="$OUT" bs=1 seek=$((0x0000)) conv=notrunc 2>/dev/null | |
| dd if=gladisk.rom of="$OUT" bs=1 seek=$((0x3000)) conv=notrunc 2>/dev/null | |
| dd if=basic.rom of="$OUT" bs=1 seek=$((0x6000)) conv=notrunc 2>/dev/null | |
| dd if=glabios.rom of="$OUT" bs=1 seek=$((0xE000)) conv=notrunc 2>/dev/null |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment