1
0
Fork 0

New ZIP package creation script and packages added

This commit is contained in:
acn 2020-12-03 15:25:58 +01:00
parent 7575829669
commit 7e2497344e
42 changed files with 129 additions and 27 deletions

View File

@ -2,4 +2,4 @@ N;2048
F;2048.COM
S;2048.ASM
R;README.md
D;2048 game for CP/M + VT100/ANSI color
D;2048 - 2048 game for CP/M (VT100/ANSI color)

View File

@ -1,8 +1,9 @@
N;BACKGMMN
N;GAMMON
F;backgmmn.com
S;backgmmn.c
S;gameplan.c
S;gameplan.hdr
S;mylib2.c
R;README.md
D;Backgammon game for CP/M + VT100/ANSI color
R;README.md;BACKGMMN.DOC
D;GAMMON IV v2.0 - Backgammon game for CP/M
D;patched for VT100 and ANSI color

View File

@ -4,4 +4,5 @@ S;bs.c
S;esr.txt
R;README.md;BS.DOC
S;readme.txt
D;Battleships for CP/M + VT100
D;BATTLESHIPS v2.1 - Play Battleships
D;against the computer on CP/M + VT100

View File

@ -4,4 +4,5 @@ S;blocks.c
S;kslibfun.h
S;kslib.h
R;README.md
D;Blocks, a SameGame clone for CP/M + VT100/ANSI(color)
D;BLOCKS! - A SameGame clone for CP/M
D;adapted for VT100/ANSI color

View File

@ -3,4 +3,6 @@ F;CATCHUM.COM
F;CATCHUM.DAT
F;CATCONF.COM
R;README.md
D;CatChum - a PacMan Clone for CP/M
D;CATCHUM - a PacMan Clone for CP/M
D;configured for VT100, includes
D;configuration program

View File

@ -4,5 +4,5 @@ F;ftm.com
S;gpl-3.0.txt;GPL3.TXT
S;ks.h
R;README.md
D;FindThatMine, a Minesweeper clone for CP/M
D;VT100/ANSI color version
D;FINDTHATMINE v2.1, a Minesweeper clone
D;for CP/M - VT100/ANSI color version

View File

@ -3,5 +3,6 @@ F;LADCONF.COM
F;LADDER.COM
F;LADDER.DAT
R;README.md
D;Ladder - a jump and run game for CP/M
D;(configured for VT100)
D;LADDER - a jump and run game for CP/M
D;configured for VT100, includes
D;configuration program

View File

@ -13,6 +13,6 @@ S;LADTYPE.PAS
S;LADUTILS.PAS
S;LADVAR.PAS
R;README.md
D;Ladder (TP version) - jump and run game for CP/M
D;TPLADDER - jump and run game for CP/M
D;Recreation of Ladder in Turbo Pascal
D;configured for VT100 terminal

View File

@ -3,5 +3,5 @@ S;Makefile
S;mazezam.c
F;mazezam.com
R;README.md
D;MazezaM - a puzzle game for CP/M
D;MAZEZAM - a puzzle game for CP/M
D;for VT100/ANSI color terminals - 42 levels!

View File

@ -6,5 +6,5 @@ S;Makefile
S;pac.c
F;pac.com
R;README.md
D;Pac - a PacMan clone for CP/M
D;PAC - a PacMan clone for CP/M
D;for VT100/ANSI color terminals

46
Packages/README.md Normal file
View File

@ -0,0 +1,46 @@
# Packages
In this directory, I created ``.zip`` packages of all games for BBS distribution.
The files are created by using Info-ZIP ``zip`` on Linux.
## The .zip packages
All .zip packages are placed in the directory [ZIP](ZIP/).
The files can be extracted using the CP/M UNZIP command that can also be found here:
* [UNZIP154.COM](UNZIP154.COM) - CP/M binary
* [UNZIP154.LBR](UNZIP154.LBR) - archive including source
The Github repository for this UNZIP can be found here: https://github.com/agn453/UNZIP-CPM-Z80
## Package creation
I've created scripts to automatically create the .zip archives as well as the HDimage.
For this to work, in every game directory, a file called ``.package`` is created which controls
the package creation process.
``.package`` is a semicolon separated file.
The first value contains a letter which indicates:
| N | name of the package (for .zip creation) |
| F | file (binary or game data) |
| S | source file (won't be put into HDimage) |
| R | README file, will be renamed <packagename>.DOC |
| D | description, will be put into ``FILE_ID.DIZ`` |
The second value contains the value for the kind of line.
Optionally, a third value can exist for ``F``, ``S`` and ``R`` lines which defines a target filename,
eg. if the original filename does not conform to the ``8.3`` format. The file will be put in the archive
under this new filename.
For example:
S;gpl-3.0.txt;GPL3.TXT
will put the file ``gpl-3.0.txt`` as ``GPL3.TXT`` in the .zip file, but not in the HDimage (as
source files will only be put in the .zip archives).

BIN
Packages/UNZIP154.COM Normal file

Binary file not shown.

BIN
Packages/UNZIP154.LBR Normal file

Binary file not shown.

BIN
Packages/ZIP/2048.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/BATTLSHP.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/BLOCKS.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/CATCHUM.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/CHASE.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/CPMTRIS.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/FTM.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/GAMMON.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/LADDER.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/MAZEZAM.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/PAC.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/QUATRIS.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/ROBOTS.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/ROGUE.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/SNAKE.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/SOKOBAN.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/TPLADDER.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/WANDERER.ZIP Normal file

Binary file not shown.

BIN
Packages/ZIP/WORM.ZIP Normal file

Binary file not shown.

49
Packages/makepackages.sh Executable file
View File

@ -0,0 +1,49 @@
#!/bin/bash
# where to store the packages
TARGET=${PWD}/ZIP
[ ! -d ${TARGET} ] && mkdir ${TARGET}
# get list of directories with .package files
DIRS=""
cd ..
for i in $(find . -name ".package"); do
DIRS="${DIRS} $(dirname $i)"
done
for pkg in ${DIRS}; do
echo "----- ${pkg}"
TMPDIR=$(mktemp -d)
NAME=""
while read LINE; do
IFS=';' read -ra DATA <<< ${LINE}
# the name of the target .zip archive:
[ "${DATA[0]}" = "N" ] && NAME=${DATA[1]}
# standard/source files:
if [ "${DATA[0]}" = "F" -o "${DATA[0]}" = "S" ]; then
if [ "${DATA[2]}" = "" ]; then
cp ${pkg}/${DATA[1]} ${TMPDIR}/${DATA[1]^^}
else
cp ${pkg}/${DATA[1]} ${TMPDIR}/${DATA[2]}
fi
fi
# README file:
if [ "${DATA[0]}" = "R" ]; then
if [ "${DATA[2]}" = "" ]; then
pandoc -f markdown -t plain -s ${pkg}/${DATA[1]} -o ${TMPDIR}/${NAME}.DOC
else
pandoc -f markdown -t plain -s ${pkg}/${DATA[1]} -o ${TMPDIR}/${DATA[2]}
fi
fi
# FILE_ID.DIZ contents:
[ "${DATA[0]}" = "D" ] && echo "${DATA[1]}" >> ${TMPDIR}/FILE_ID.DIZ
done < ${pkg}/.package
zip -k -j ${TARGET}/${NAME}.ZIP ${TMPDIR}/*
rm -R ${TMPDIR}
done

View File

@ -7,5 +7,5 @@ S;QUATRIS.ASC
S;QUATRIS.FOR
S;QUATRIS.TXT
R;README.md
D;Quatris - a Tetris game for CP/M
D;QUATRIS v2.0 - a Tetris game for CP/M
D;configured for VT100 terminals

View File

@ -6,5 +6,6 @@ S;chase.c
S;LICENSE
S;Makefile
R;README.md
D;Robot Chase for CP/M Z80 Systems
D;ROBOT CHASE - game for CP/M Z80 Systems
D;Configured for VT100/ANSI color terminals
D;includes source code

View File

@ -4,5 +4,5 @@ F;robots.txt
S;robots.c
S;copying.txt
R;README.md
D;Robots - a turn based CP/M game to escape killer robots
D;for VT100 terminals
D;ROBOTS v1.01 - a turn based CP/M game to
D;escape killer robots - for VT100 terminals

View File

@ -3,5 +3,5 @@ F;rogue.com
F;ROGUE.DOC
S;ROGUE.NOT
S;QTERM.PAT
D;Rogue - CP/M port of the classic game
D;for VT100 terminals
D;ROGUE v1.7 - CP/M port of the classic game
D;for VT100 terminals - by DPG

View File

@ -3,5 +3,5 @@ F;SNAKE.COM
S;COPYING
S;SNAKE.PAS
R;README.md
D;Snake - a snake game for CP/M
D;SNAKE v2.2 - a snake game for CP/M
D;for VT100/ANSI color terminals

View File

@ -8,5 +8,5 @@ S;readme.org
S;readme.v2
S;sokoban.c
R;README.md
D;Sokoban - a CP/M version of the classic game
D;for VT100 terminals
D;SOKOBAN v2 - a CP/M version of the classic
D;game - for VT100 terminals

View File

@ -66,7 +66,7 @@ F;screen.060
F;screen.061
F;wanderer.com
F;wanderer.doc
D;Wanderer - a CP/M strategy game
D;WANDERER v2.2 - a CP/M strategy game
D;collect diamonds and exit the level
D;contains 61 levels!
D;Configured for VT100 terminals

View File

@ -1,4 +1,4 @@
N;WORM
F;worm.com
R;README.md
D;Worm - a snake game for CP/M (VT100)
D;WORM - a snake game for CP/M (VT100)

View File

@ -6,5 +6,5 @@ S;Makefile
S;rand.z
S;README.org
R;README.md
D;cpmtris - A Tetris clone for Z80-based CP/M machines
D;configured for VT100 terminals
D;CPMTRIS v1.1 - A Tetris clone for Z80-based
D;CP/M machines - defaults to VT100