Git Product home page Git Product logo

webtv-romfs-lib's Introduction

WebTV/MSN TV ROMFS Library

A Python library written by Eric MacDonald (eMac) that provides functions to unpack and pack files in the ROMFS filesystem used by WebTV and MSN TV. This repository contains two versions of the library, both originally written in 2021. While both have been uploaded online already, they are now being released on GitHub to make the code more accessible to those interested in using it.

Formats supported by the ROMFS library:

  • Any WebTV and first-generation MSN TV app and boot ROMs (.o binary)
  • Echostar DishPlayer firmware (.o binary)
  • WebTV Viewer 1.0 (Flash Store & ROM Store)
  • WebTV Viewer 2.5+ scrambled (Flash.vwr & ROM.vwr)
  • WebTV Dreamcast (WEBTV.ROM, little-endian)

UltimateTV and MSN TV 2 firmware are not compatible with this tool as they don't use ROMFS at all - they use a completely different filesystem to store files named CompressFS. There are tools already available to extract files from those formats, albeit being old and not being open source: https://archive.org/details/compressfs-tools

This library will work on Python 3.x, and is known to work with the latest Python version as of writing (3.11).

I take no credit for writing anything except the sample scripts for the old version of the ROMFS library. Big thanks goes to eMac for everything he's done to take WebTV hacking further and make it more accessible for everyone.

Versions

  • "romfs-dumper-10092021"

This is the last version of the ROMFS dumper library released to the public, last modified on September 10, 2021. Contains under the hood improvements as well as the ability to pack ROMFS data directly back into WebTV/MSN TV firmware and extract "AutoDisk" data from applicable WebTV/MSN TV builds. However, this version does end up not extracting some files on some builds (only observed with 2.9.1). Comes with a sample script written by eMac to give an idea of how the library works.

  • "OLD-romfs_lib_w_samples"

Older version of the ROMFS library last modified some time in early 2021. This was the first version of the ROMFS library that was able to be released to the public and is being kept in this repository for posterity's sake, but it is known to properly extract all files from ROMFS partitions and is recommended for that purpose. Contains two sample scripts written by me (back when I was exclusively hosting this stuff on a "content archive" on the WebTV Wiki for some reason) that intended to make it easier for both programmers and people simply wanting to use the tool to understand how it worked.

How to Use

Simply choose the ROMFS library you want to use, and import any code you want to use from it in your scripts from the lib folder. Reading the sample scripts will give you more insight on what you can do with this library.

webtv-romfs-lib's People

Contributors

wtv-411 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.