25b2db8b0b
На готовом HDD-образе вместо двух файлов оказывались два КАТАЛОГА с их
именами, и README лежал внутри каждого. Виноват генератор аргументов
упаковщика:
$(foreach f,$(DISK),$(word 1,$(subst /, ,$(f))):$(BUILD_DIR)/$(f))
Он безусловно брал первое слово до слэша как имя каталога. Для BG/bg.arc
это верно, но у записи БЕЗ слэша первое слово — всё имя, и README.TXT
превращался в README.TXT:build/README.TXT, то есть «каталог README.TXT,
файл внутри». Теперь префикс подставляется только при наличии слэша;
причина записана в комментарий, чтобы следующий файл в корне не наступил
на то же самое.
Заодно имена: README_E.TXT и README_R.TXT. Язык суффиксом, а не
расширением — прежний README.RUS в 8.3 укладывался, но терял .TXT, и
просмотрщик не открыл бы его как текст.
Проверено чтением готового .chd через chdman + mtools, а не по логу
сборки: баг был именно в том, что попадает на диск.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
135 lines
5.1 KiB
Plaintext
135 lines
5.1 KiB
Plaintext
===========================================================================
|
|
SprPoP -- Prince of Persia for the Sprinter Sp2000
|
|
===========================================================================
|
|
|
|
A port of Jordan Mechner's Prince of Persia (1989) to the Sprinter Sp2000.
|
|
|
|
The graphics are the VGA ones from the MS-DOS release, in 320x256 with a
|
|
256-colour palette; the music and the sound effects are the digitised
|
|
originals, played through the CBL channel. All fourteen levels, the title
|
|
sequence, the story screens, the intro with the Princess and Jaffar, the
|
|
ending and the hall of fame are in.
|
|
|
|
|
|
RUNNING IT
|
|
---------------------------------------------------------------------------
|
|
From the DSS prompt, on the drive the game sits on:
|
|
|
|
sprpop
|
|
|
|
The game needs its data directories next to the program:
|
|
|
|
BG\ background tiles KID\ the prince
|
|
GUARD\ guards SKEL\ the skeleton
|
|
VIZIER\ Jaffar SHADOW\ the shadow
|
|
SND\ sound effects MUS\ music
|
|
FONT\ text font TITLE\ title screens
|
|
PV\ story and intro screens LEVELS\ the fourteen levels
|
|
|
|
If a directory is missing the game still starts, but whatever lived there
|
|
will be silent or invisible.
|
|
|
|
|
|
CONTROLS
|
|
---------------------------------------------------------------------------
|
|
Running and climbing
|
|
|
|
Left / Right turn, or run
|
|
Up jump, or climb up
|
|
Down crouch, or climb down
|
|
Down + Left/Right hop
|
|
Shift pick things up
|
|
Shift + Left/Right careful step
|
|
Home or Up+Left jump to the left
|
|
PgUp or Up+Right jump to the right
|
|
Up while running running jump
|
|
Shift while falling grab onto a ledge
|
|
|
|
Sword fighting
|
|
|
|
Left / Right advance or retreat
|
|
Shift strike
|
|
Up block
|
|
Down put the sword away
|
|
(Shift draws it again)
|
|
|
|
While the game runs
|
|
|
|
Backspace or Esc pause and open the menu
|
|
Space how much time is left
|
|
T keep the timer on screen
|
|
F6 quicksave
|
|
F9 quickload
|
|
Ctrl+A restart the level
|
|
Ctrl+R back to the title screen
|
|
Ctrl+S sound on / off
|
|
Ctrl+M music on / off
|
|
Ctrl+V show the build version
|
|
Ctrl+Q or F10 quit
|
|
|
|
F10 works everywhere, including the title sequence. Any other key during
|
|
the titles or the story screens skips straight into the game.
|
|
|
|
|
|
CHEATS
|
|
---------------------------------------------------------------------------
|
|
The cheats of the original, and they are on by default in this build. You
|
|
can turn them off on the Settings screen.
|
|
|
|
Shift+L go to the next level
|
|
+ / - one minute more / less
|
|
K kill the guard
|
|
Shift+I turn the screen upside down
|
|
Shift+W slow falling
|
|
Shift+S restore one hit point
|
|
Shift+T one more hit point (up to ten)
|
|
[ / ] nudge the prince one pixel
|
|
|
|
Two cheats of the original are NOT here yet: R (resurrect the prince) and
|
|
H / J / U / N with Ctrl+B (look at the neighbouring room).
|
|
|
|
Debug keys of this port, which the original has no equivalent for. They
|
|
all sit under Ctrl so that no plain letter is taken away from the layout
|
|
above.
|
|
|
|
Ctrl+I immortality: off / in combat / almost everything
|
|
Ctrl+P speed mode
|
|
Ctrl+F freeze the frame, and unfreeze it
|
|
Ctrl+D debug bar: level, room, speed, sound, timer
|
|
Ctrl++ / Ctrl+- jump to the next / previous room by number
|
|
|
|
|
|
FILES THE GAME WRITES
|
|
---------------------------------------------------------------------------
|
|
POP.CFG settings
|
|
POP.SAV quicksave, and POP.BAK the one before it
|
|
POP.HOF hall of fame
|
|
|
|
All of them appear next to the program, and all of them can be deleted --
|
|
the game will simply start from its defaults again.
|
|
|
|
|
|
WHAT IS NOT FINISHED
|
|
---------------------------------------------------------------------------
|
|
All fourteen levels have been played through. The port is still under
|
|
active development, so rough edges do turn up; the ones we know about are
|
|
tracked in the project's own bug list.
|
|
|
|
Missing against the original: the R cheat (resurrect the prince), the
|
|
H / J / U / N and Ctrl+B cheats for looking at neighbouring rooms, and the
|
|
screenshot key (F12).
|
|
|
|
|
|
CREDITS
|
|
---------------------------------------------------------------------------
|
|
Prince of Persia was created by Jordan Mechner in 1989.
|
|
|
|
The mechanics of this port were checked against SDLPoP
|
|
(github.com/NagyD/SDLPoP), which is the authoritative reading of how the
|
|
original engine behaves. The graphics come from the MS-DOS release, the
|
|
sound effects from its DIGISND files, and the music from recordings of the
|
|
DOS soundtrack.
|
|
|
|
The port itself is built with sprinter-cc, our SDCC-based toolchain for the
|
|
Sprinter Sp2000.
|