Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
Classic DOS games made to run natively on today's computers, with the copy you own.
GamesC · PythonGitHub @DropIn-ClassicsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A native compatibility implementation for the MS-DOS game Battle Isle and its data disks.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Battle Isle (DOS) taken apart, with the aim of a native compatibility
implementation requiring an installed copy of the original game: our
own C code, which runs the game with the data of the player's GOG
release. See PROVENANCE.md.
1. Source from the programs (src/*.hints): doskit/tools/build.py
makes each program's assembly source from the player's copy and
checks that it assembles back to the same bytes.
2. Understanding: names, structures and rules in the hints, checked
by runs of the original (doskit/tools/run.py).
3. The port (port/): C on doskit's runtime.Read the full README ↗Battle Isle (DOS) taken apart, with the aim of a native compatibility implementation requiring an installed copy of the original game: our own C code, which runs the game with the data of the player's GOG release. See PROVENANCE.md.
src/*.hints): doskit/tools/build.py
makes each program's assembly source from the player's copy and
checks that it assembles back to the same bytes.doskit/tools/run.py).port/): C on doskit's runtime.No game files go into this repository, and no bytes of them.
git submodule update --init # doskit
git config core.hooksPath hooks # once per clone
python3 doskit/tools/isox.py /path/to/game.gog # -> game/
python3 doskit/tools/build.py src/NAME.hints
python3 doskit/tools/check.py
sh port/build.sh # port\build.bat on Windows
Python 3 with capstone (pip install capstone).
src/*.hints: what is known about each program.tools/NAMEfiles.py: a tool for each data format (tpwmfiles.py: the
packed files; palfiles.py: the palettes; ifffiles.py: the
pictures; libfiles.py: the graphics libraries; mapfiles.py: the
maps and their overviews; datfiles.py: the tables of unit types,
ground, maps' codes and AMOK.DAT; txtfiles.py: the texts and the
small font; sndfiles.py: the songs and the sound effects, played
again into the AdLib's registers and compared with a run's;
screens.py: the game's screens drawn from a run's memory
and compared with its video memory), and for the rules: fight.py
(a fight's outcome), scene.py (the fight scene, a pass at a time:
its values and its picture), moves.py (where a unit can move and
fire, the path it takes), turn.py (a move carried out, the change of
phase, a map's end) and computer.py (the computer player's
assessment, plan and commands, and the keys it carries them out
with), each done again from a run's memory and compared with what the
game made of it.port/: the implementation in C (its README says how far it is).docs/HANDOFF.md: state, what was learned, what is next.AGENTS.md: the rules for working on this; PROVENANCE.md: where the
code comes from.doskit/: the tools and the runtime (a git submodule).