diff --git a/HDimage/VT100games-HD.img b/HDimage/VT100games-HD.img index 76b0b90..4da7cf5 100644 Binary files a/HDimage/VT100games-HD.img and b/HDimage/VT100games-HD.img differ diff --git a/HDimage/makeimage.sh b/HDimage/makeimage.sh new file mode 100755 index 0000000..b5b32db --- /dev/null +++ b/HDimage/makeimage.sh @@ -0,0 +1,76 @@ +#!/bin/bash + +imagefile=./VT100games-HD.img + +filelist=" + 2048/2048.COM + Backgammon/backgmmn.com + Battleships/bs.com + Blocks/BLOCKS.COM + CatChum/CATCHUM.COM + CatChum/CATCHUM.DAT + cpmtris/cpmtris.com + FindThatMine/ftm.com + Ladder/LADDER.COM + Ladder/LADDER.DAT + MazezaM/mazezam.com + Pac/pac.com + Quatris/QUATRIS.COM + Quatris/QUATRIS.SCO + RobotChase/chase.com + Robots/ROBOTS.COM + Rogue/rogue.com + Snake/SNAKE.COM + Sokoban/sokoban.com + Sokoban/soklevls.dat + Worm/worm.com +" + +dirlist=" + 2048 Backgammon Battleships Blocks CatChum cpmtris FindThatMine + Ladder LadderTP MazezaM Pac Quatris RobotChase Robots + Rogue Snake Sokoban Worm +" + +wanderer=" + screen.* + wanderer.com + wanderer.doc +" + +[ ! -d u0 ] && mkdir u0 +[ ! -d u1 ] && mkdir u1 + +rm -f u0/* u1/* + +for i in ${filelist}; do + target=`basename $i` + cp -v ../$i u0/${target^^} +done +for i in ${wanderer}; do cp -v ../Wanderer/$i u1; done +cp -v ../LadderTP/LADDER.COM u0/TLADDER.COM +cp -v ../LadderTP/LADDER.DAT u0/TLADDER.DAT +for i in u1/*; do + target=`basename $i` + mv $i u1/${target^^} +done + +for i in ${dirlist}; do + pandoc -f markdown -t plain -s ../$i/README.md -o u0/${i^^}.DOC +done + +cd u0 +mv BACKGAMMON.DOC BACKGMMN.DOC +mv BATTLESHIPS.DOC BS.DOC +mv ROBOTCHASE.DOC CHASE.DOC +mv FINDTHATMINE.DOC FTM.DOC +mv LADDERTP.DOC TLADDER.DOC +cd .. + +mkfs.cpm -fz80pack-hd $imagefile +cpmcp -f z80pack-hd $imagefile u0/* 0: +cpmcp -f z80pack-hd $imagefile u1/* 1: + +echo "" +echo "Fertig!" + diff --git a/HDimage/u0/2048.COM b/HDimage/u0/2048.COM index e287e34..589dba7 100644 Binary files a/HDimage/u0/2048.COM and b/HDimage/u0/2048.COM differ diff --git a/HDimage/u0/2048.DOC b/HDimage/u0/2048.DOC new file mode 100644 index 0000000..9cd36b9 --- /dev/null +++ b/HDimage/u0/2048.DOC @@ -0,0 +1,51 @@ + + +2048 + + +Join the numbers and get to the 2048 tile. + +- Based on 2048 created by Gabriele Cirulli. +- Based on the console version for GNU/Linux by Maurits van der Schee +- Ported to Z80 and CP/M by Marco Maccaferri macca@maccasoft.com + +Original Repository: https://github.com/maccasoft/z80-apps + +In this version some minimal changes were applied: * On startup, +clearing the screen will be performed by the standard VT100 ^[2J. * The +"arrow symbols" below the playfield are symbolized by <>^v, as the +symbols used before actually are control characters that most VT100 +terminals do not display. * The newer version without the undocumented +opcode is used. + + +Commands + +Use the arrow keys to move the tiles. + +When two tiles with the same number touch, they merge into one. + +- w, s, a, d - Alternate keys (up, down, left, right) +- CTRL-E, CTRL-X, CTRL-S, CTRL-D - Wordstar-compatible control keys + + +Compile: + +If using TASM, the command is: TASM -80 -b 2048.ASM 2048.COM + +The "Micro Z80 Assembler" was used to assemble 2048.COM on Linux. It is +provided in the directory uz80as, just compile it using make. + +The command for assembling 2048 is: uz80as 2048.ASM 2048.COM. + +uz80as can be found here: https://github.com/jorgicor/uz80as The uz80as +directory here is taken from the RomWBW source tree. + + +License: + +From original repository: + +Unless otherwise specified all programs are distributed with the GNU +GPL-V3 license, images, design files and other artwork are distributed +under the Creative Commons Attribution-ShareAlike 3.0 license. diff --git a/HDimage/u0/2048.TXT b/HDimage/u0/2048.TXT deleted file mode 100644 index ba41a3f..0000000 --- a/HDimage/u0/2048.TXT +++ /dev/null @@ -1,31 +0,0 @@ -# 2048 - -Join the numbers and get to the 2048 tile. - -* Based on 2048 created by Gabriele Cirulli. -* Based on the console version for GNU/Linux by Maurits van der Schee -* Ported to Z80 and CP/M by Marco Maccaferri - -Original Repository: https://github.com/maccasoft/z80-apps - -## Commands - -Use the arrow keys to move the tiles. - -When two tiles with the same number touch, they merge into one. - -* w, s, a, d - Alternate keys (up, down, left, right) -* CTRL-E, CTRL-X, CTRL-S, CTRL-D - Wordstar-compatible control keys - -## Compile: - -TASM -80 -b 2048.ASM 2048.COM - -## License: - -From original repository: - -Unless otherwise specified all programs are distributed with the -GNU GPL-V3 license, images, design files and other artwork are -distributed under the Creative Commons Attribution-ShareAlike 3.0 license. - diff --git a/HDimage/u0/BACKGMMN.DOC b/HDimage/u0/BACKGMMN.DOC new file mode 100644 index 0000000..132fbe7 --- /dev/null +++ b/HDimage/u0/BACKGMMN.DOC @@ -0,0 +1,73 @@ + + +GAMMON IV (VT100 ANSI EDITION) + + +By: David C. Oshel 1219 Harding Ave. Ames, Iowa 50010 + +This is a patched version of "Gammon IV, Version 2.0, April 1, 1986", a +full-screen backgammon for CP/M. + +I patched the game to use VT100 compatible escape sequences (including +ANSI color). + +Therefore, I removed most of the "user patch area" and hardcoded the +VT100 sequences in the C code, replaced the asm code of gotoxy() with C +code and removed the Kaypro graphics routines (and the "G(raphics" +command) as it is not needed for my VT100 version. + +BACKGMMN.COM is the compiled and ready-to-run game. + +Have fun playing! + +Anna Christina Naß acn@acn.wtf + + +Compiling the game + +See Compiler/Compiling.md for information on compiling the game on CP/M. + + +From the original Version 2.0 READ.ME: + +Improvements for Version 2.0 include: + +a) Several bugs and poltergeists, especially in the Arrange command, + have been completely exorcised. No bugs have been found in the Play + command for months; but, as before, Gammon IV will not invariably + recognize a forced move, either in your play or in its own. Gammon + IV knows and obeys all other official rules of backgammon. + +b) There are no "hidden" commands anymore. All commands are now shown + in the command lines, including X(pert. + +c) Input error handling now documents the BAR, HOME and HELP commands, + so first-time players do not need to read anything else in order to + play the game successfully. The X(pert mode dispenses with these + messages, so X(pert actually does mean expert, now! + +d) The "break" command is Control-C again, instead of ESCAPE. It was + all too easy to hit ESC instead of 1 on the Kaypro keyboard, leading + to an inadvertently paused game. + +e) The sanction against cheating (your opponent became Torve) has been + removed. + +f) If the cube is doubled during the opening rolloff to see who goes + first, and the cube value reaches 8, additional pairs on the dice + have no further effect. The cube's opening value will not go + above 8. + +The computer's three styles of play have not been changed. Judging from +the feedback I've received, Gammon IV plays acceptably well at the +current levels. All information needed to re-compile the program is +included in the BACKGMMN.C file, including the details of C/80 3.1 +configuration. The compile and link steps are governed by BACKGMMN.SUB. + +This program is in the public domain, so distribute it freely. + +Enjoy! + + David C. Oshel + 1219 Harding Ave. + Ames, Iowa 50010 diff --git a/HDimage/u0/BACKGMMN.TXT b/HDimage/u0/BACKGMMN.TXT deleted file mode 100644 index 5bfd358..0000000 --- a/HDimage/u0/BACKGMMN.TXT +++ /dev/null @@ -1,64 +0,0 @@ -# Gammon IV (VT100 ANSI edition) - -This is a patched version of "Gammon IV, Version 2.0, April 1, 1986", a -full-screen backgammon for CP/M. - -The difference is, that this version outputs VT100 compatible Escape sequences -(including color) to make this game work on my RC2014 Z80 CP/M machine using -a VT100 compatible VGA terminal module. - -Therefore, I removed most of the "user patch area" and hardcoded the VT100 -sequences in the C code. I also removed the asm code of gotoxy() and replaced -it with C code - at least on my 8 MHz Z80 it runs fast enough. -Also, I removed the Kaypro graphics routines and the "G(raphics" command, as -it is not needed for my VT100 version. - -BACKGMMN.COM is the compiled and ready-to-run object file. - -Have fun playing! - -Anna Christina Naß - -## From the original Version 2.0 READ.ME: - -Improvements for Version 2.0 include: - -a) Several bugs and poltergeists, especially in the Arrange command, have -been completely exorcised. No bugs have been found in the Play command for -months; but, as before, Gammon IV will not invariably recognize a forced move, -either in your play or in its own. Gammon IV knows and obeys all other -official rules of backgammon. - -b) There are no "hidden" commands anymore. All commands are now shown in -the command lines, including X(pert. - -c) Input error handling now documents the BAR, HOME and HELP commands, so -first-time players do not need to read anything else in order to play the -game successfully. The X(pert mode dispenses with these messages, so X(pert -actually does mean expert, now! - -d) The "break" command is Control-C again, instead of ESCAPE. It was all -too easy to hit ESC instead of 1 on the Kaypro keyboard, leading to an -inadvertently paused game. - -e) The sanction against cheating (your opponent became Torve) has been -removed. - -f) If the cube is doubled during the opening rolloff to see who goes first, -and the cube value reaches 8, additional pairs on the dice have no further -effect. The cube's opening value will not go above 8. - -The computer's three styles of play have not been changed. Judging from the -feedback I've received, Gammon IV plays acceptably well at the current levels. -All information needed to re-compile the program is included in the -BACKGMMN.C file, including the details of C/80 3.1 configuration. -The compile and link steps are governed by BACKGMMN.SUB. - -This program is in the public domain, so distribute it freely. - -Enjoy! - - David C. Oshel - 1219 Harding Ave. - Ames, Iowa 50010 - diff --git a/HDimage/u0/BLOCKS.TXT b/HDimage/u0/BLOCKS.DOC similarity index 64% rename from HDimage/u0/BLOCKS.TXT rename to HDimage/u0/BLOCKS.DOC index 83d0d05..807b348 100644 --- a/HDimage/u0/BLOCKS.TXT +++ b/HDimage/u0/BLOCKS.DOC @@ -1,4 +1,7 @@ -# Blocks + + +BLOCKS + This is a clone (more or less) of SameGame, a tile-matching puzzle video game, originally released under the name Chain Shot! in 1985 by Kuniaki @@ -9,14 +12,15 @@ The goal of the game is to remove all the blocks of the board. Copyright (c) 1999-2018 Miguel García / FloppySoftware The game has been modified for VT100 compatibility (insted of VT52) and -got some color by me (Anna Christina Naß . +got some color by me (Anna Christina Naß acn@acn.wtf. -Original Repository: https://github.com/MiguelVis/RetroProjects -Website: http://www.floppysoftware.es/blocks.html?path=cpm_projects|blocks +Original Repository: https://github.com/MiguelVis/RetroProjects Website: +http://www.floppysoftware.es/blocks.html?path=cpm_projects|blocks The file BLOCKS.COM is the compiled game file. -## The Game + +The Game Move the cursor using the numpad keys: @@ -30,33 +34,34 @@ Then select a blocks using 7 and remove the blocks using 9. You can select just one block, or a group of blocks of the same type -If you are in the normal mode, you can place all the blocks against a side -(top, bottom, left or right). -Select the side using the E, S, D or X key. +If you are in the normal mode, you can place all the blocks against a +side (top, bottom, left or right). Select the side using the E, S, D or +X key. If you are in the automatic mode, the blocks rows will be placed on the -bottom side of the board, and the columns will be placed on the middle of -the board. +bottom side of the board, and the columns will be placed on the middle +of the board. -The special block **X**, multiplies that result by 10. +The special block X, multiplies that result by 10. -## Compile: -To compile, use MESCC, "Mike's Enhanced Small C Compiler". -See: http://www.floppysoftware.es/mescc.html?path=cpm_projects|mescc +Compile: -In the directory mescc, I provide the files neccessary to compile Blocks, -using: +To compile, use MESCC, "Mike's Enhanced Small C Compiler". See: +http://www.floppysoftware.es/mescc.html?path=cpm_projects|mescc + +In the directory mescc, I provide the files neccessary to compile +Blocks, using: CC BLOCKS CCOPT BLOCKS ZSM BLOCKS HEXTOCOM BLOCKS -Note that only the really neccessary files are provided - see the link above -for the full MESCC compiler and source code! +Note that only the really neccessary files are provided - see the link +above for the full MESCC compiler and source code! -## License: + +License: GPL Version 2, see copying.txt - valid for MESCC and Blocks. - diff --git a/HDimage/u0/BS.DOC b/HDimage/u0/BS.DOC new file mode 100644 index 0000000..cab9428 --- /dev/null +++ b/HDimage/u0/BS.DOC @@ -0,0 +1,74 @@ + + +BATTLESHIPS + + +CP/M port of the Unix game. + +Copyright: * bs.c - original author: Bruce Holloway * salvo option by: +Chuck A DeGaul * with improved user interface, autoconfiguration and +code cleanup * by Eric S. Raymond esr@snark.thyrsus.com * v1.2 with +color support and minor portability fixes, November 1990 * v2.0 +featuring strict ANSI/POSIX conformance, November 1993. * v2.1 for +Linux, October 1994. * Slipstreamed in fixes to make it gcc -Wall clean, +May '95. * fairly seriously hacked for Hitech C and CP/M, rjm 95/8/14 + +I found it as part of the ZCN repository: +https://github.com/jamesots/zcn + +The C source has been modified for VT100 compatibility and some minor +changes have been made by me (Anna Christina Naß acn@acn.wtf. + +bs.com is the compiled binary. + +See the *.txt files for more information. + + +Modes + +- -b selects a "blitz" variant +- -s selects a "salvo" variant +- -c permits ships to be placed adjacently + +The "blitz" variant allows a side to shoot for as long as it continues +to score hits. + +The "salvo" game allows a player one shot per turn for each of his/her +ships still afloat. This puts a premium scoring hits early and knocking +out some ships and also makes much harder the situation where you face a +superior force with only your PT-boat. + + +Keys + +To position your ships: move the cursor to a spot, then type the first +letter of a ship (using CAPITAL letters) type to select it, then type a +direction ([hjkl] or [4862]), indicating how the ship should be pointed. +You may also type a ship letter followed by +r' to position it randomly, or typeR' to place all remaining ships +randomly. + +Navigation and aiming keys: + + yz k u 7 8 9 + \|/ \|/ + h-+-l 4-+-6 + /|\ /|\ + b j n 1 2 3 + + Key Action Key Action + ------- -------------------------- ----------- -------------------------- + h / 4 move left y / z / 7 move up+left + l / 6 move right b / 1 move down+left + j / 2 move down u / 9 move up+right + k / 8 move up n / 3 move down+right + r place this ship randomly R place all ships randomly + ^L screen redraw Q quit game + + +Compiling + +HiTech C has been used to compile it, but it needs a lot of free memory +(TPA). + +For compiling, I used the command c bs.c in CP/M. diff --git a/HDimage/u0/BS.TXT b/HDimage/u0/BS.TXT deleted file mode 100644 index 27cf2a4..0000000 --- a/HDimage/u0/BS.TXT +++ /dev/null @@ -1,69 +0,0 @@ -# Battleships - -CP/M port of the Unix game. - -Copyright: - * bs.c - original author: Bruce Holloway - * salvo option by: Chuck A DeGaul - * with improved user interface, autoconfiguration and code cleanup - * by Eric S. Raymond - * v1.2 with color support and minor portability fixes, November 1990 - * v2.0 featuring strict ANSI/POSIX conformance, November 1993. - * v2.1 for Linux, October 1994. - * Slipstreamed in fixes to make it gcc -Wall clean, May '95. - * fairly seriously hacked for Hitech C and CP/M, rjm 95/8/14 - -I found it as part of the ZCN repository: https://github.com/jamesots/zcn - -The C source has been modified for VT100 compatibility and some minor -changes have been made by me (Anna Christina Naß . - -bs.com is the compiled binary. - -## Modes - -* -b selects a "blitz" variant -* -s selects a "salvo" variant -* -c permits ships to be placed adjacently - -The "blitz" variant allows a side to shoot for as long as -it continues to score hits. - -The "salvo" game allows a player one shot per turn for -each of his/her ships still afloat. This puts a premium -scoring hits early and knocking out some ships and also -makes much harder the situation where you face a superior -force with only your PT-boat. - -## Keys - -To position your ships: move the cursor to a spot, then type the first -letter of a ship (using CAPITAL letters) type to select it, then type a -direction ([hjkl] or [4862]), -indicating how the ship should be pointed. -You may also type a ship letter followed by r to position it randomly, -or type `R' to place all remaining ships randomly. - -Navigation and aiming keys: - - yz k u 7 8 9 - \|/ \|/ - h-+-l 4-+-6 - /|\ /|\ - b j n 1 2 3 - -| Key | Action | Key | Action | -| ----- | ------------------------ | --------- | ------------------------ | -| h / 4 | move left | y / z / 7 | move up+left | -| l / 6 | move right | b / 1 | move down+left | -| j / 2 | move down | u / 9 | move up+right | -| k / 8 | move up | n / 3 | move down+right | -| r | place this ship randomly | R | place all ships randomly | -| ^L | screen redraw | Q | quit game | - -## Compiling - -HiTech C has been used to compile it, but it needs a lot of free memory (TPA). - -For compiling, I used the command c bs.c in CP/M. - diff --git a/HDimage/u0/CATCHUM.TXT b/HDimage/u0/CATCHUM.DOC similarity index 77% rename from HDimage/u0/CATCHUM.TXT rename to HDimage/u0/CATCHUM.DOC index 758d49f..3daea5e 100644 --- a/HDimage/u0/CATCHUM.TXT +++ b/HDimage/u0/CATCHUM.DOC @@ -1,18 +1,21 @@ -# CatChum -CatChum was originally written for the CP/M operating system and the game -came bundled with Kaypro computers. It is copyrighted by: + +CATCHUM + + +CatChum was originally written for the CP/M operating system and the +game came bundled with Kaypro computers. It is copyrighted by: Yahoo Software 10970 Ashton Ave, Suite 312 Los Angeles, CA -For information on the game, see: -[Wikipedia](https://en.wikipedia.org/wiki/CatChum) +For information on the game, see: Wikipedia This version is adapted to VT100 ANSI escape sequences. -## Note + +Note It seems to me that CATCONF.COM uses some kind of "wrong" VT100 sequences, as my terminal does not like them - the output looks wrong. @@ -22,7 +25,8 @@ RC2014 VGA VT100 terminal. So don't change it using CATCONF.COM :) -## Usage + +Usage The gameplay is like Pac-Man :) @@ -30,4 +34,3 @@ Use the keys 8 (up), 4 (left), 6 (right) and 2 (down) to control your character (the C/c). Have fun! - diff --git a/HDimage/u0/CHASE.COM b/HDimage/u0/CHASE.COM new file mode 100644 index 0000000..20c99e7 Binary files /dev/null and b/HDimage/u0/CHASE.COM differ diff --git a/HDimage/u0/CHASE.DOC b/HDimage/u0/CHASE.DOC new file mode 100644 index 0000000..05f1505 --- /dev/null +++ b/HDimage/u0/CHASE.DOC @@ -0,0 +1,50 @@ + + +ROBOT CHASE + + +Copyright 2020 Andrew Pamment + +Based on the game "CHASE" appearing in the book "More BASIC Computer +Games" by David Ahl. + +The original files can be found here: +http://members.iinet.net.au/~apamment/CPM/ + + +The game + +You are trapped in a maze of high voltage power fences and posts. There +are also killer robots trying to destroy you. + +Your only hope is to lure the robots into a fence or each other to +destroy them. + +If things get hopeless, you can do a mega jump, but you could end up +anywhere, including on top of a power fence or a robot! + + +Keys + +Use the numpad to move, even diagonally. Use J to jump and 0 to pass a +round. + + 7 8 9 J - Jump + \ | / 0 - Pass + 4 - * - 6 + / | \ + 1 2 3 Q - Quit + + * - You + X - High Voltage Line + + - Killer Robot + + +Compiling + +Robot Chase is written in C for the ZXCC compiler which can be found in +z88dk. + +Use this command line (tested in Linux) to compile: + + zcc +cpm -lm -lndos -O3 -o CHASE.COM chase.c ansi.c diff --git a/HDimage/u0/CPMTRIS.DOC b/HDimage/u0/CPMTRIS.DOC new file mode 100644 index 0000000..7c249d6 --- /dev/null +++ b/HDimage/u0/CPMTRIS.DOC @@ -0,0 +1,51 @@ + + +CPMTRIS + + +A Tetris clone for Z80-based CP/M machines (c) 1996,1999 Russell Marks, +GPLv2 + +Originally part of the ZCN repository: https://github.com/jamesots/zcn + +I modified cpmtris so that "vt100" and "8 MHz" are the default values. + +cpmtris.com is the assembled binary that uses these settings. + +See README.orig for full documentation. + + +Commands + + Action Key + ------------ ----- + Rotate s + Left/Right k/l + Drop d + + +Command-Line Options + +cpmtris [termtype [mhz*10]] + +termtype specifies the terminal type: + + Type Terminal + ------ ----------------------------- + 0 as defined in patch area + 1 VT100 (default) + 2 VT52 (PCW, +3, etc.) + 3 ZCN (this is auto-detected) + 4 VC404 + +mhz*10 defines the speed of the machine "times 10", e.g. for a 3.5 MHz +machine, use "35" or for 8 MHz (default) use "80". + +E.g.: cpmtris 1 80 for a VT100 8 MHz machine, which is the default. + + +ZMAC + +The ZMAC Z80 macro assembler, which is used for cpmtris, is also +available in the zmac/ folder. When assembling cpmtris using the +Makefile, zmac is used (but needs to be compiled first) diff --git a/HDimage/u0/CPMTRIS.TXT b/HDimage/u0/CPMTRIS.TXT deleted file mode 100644 index 55deeee..0000000 --- a/HDimage/u0/CPMTRIS.TXT +++ /dev/null @@ -1,41 +0,0 @@ -# cpmtris - -A Tetris clone for Z80-based CP/M machines -(c) 1996,1999 Russell Marks, GPLv2 - -Originally part of the ZCN repository: https://github.com/jamesots/zcn - -I modified cpmtris so that "vt100" and "8 MHz" are the default values. - -cpmtris.com is the assembled binary that uses these settings. - -See CPMTRIS.DOC for full documentation. - -## Commands - -| Action | Key | -| ---------- | --- | -| Rotate | s | -| Left/Right | k/l | -| Drop | d | - -## Command-Line Options - -cpmtris [termtype [mhz*10]] - -termtype specifies the terminal type: - -| Type | Terminal | -| ---- | --------------------------- | -| 0 | as defined in patch area | -| 1 | VT100 (default) | -| 2 | VT52 (PCW, +3, etc.) | -| 3 | ZCN (this is auto-detected) | -| 4 | VC404 | - -mhz*10 defines the speed of the machine "times 10", e.g. for a -3.5 MHz machine, use "35" or for 8 MHz (default) use "80". - -E.g.: cpmtris 1 80 for a VT100 8 MHz machine, which is the default. - - diff --git a/HDimage/u0/FTM.COM b/HDimage/u0/FTM.COM new file mode 100644 index 0000000..217439e Binary files /dev/null and b/HDimage/u0/FTM.COM differ diff --git a/HDimage/u0/FTM.DOC b/HDimage/u0/FTM.DOC new file mode 100644 index 0000000..4fe604f --- /dev/null +++ b/HDimage/u0/FTM.DOC @@ -0,0 +1,86 @@ + + +FIND THAT MINE! + + +A MineSweeper clon game for CP/M + +VT100 color version by Anna Christina Naß acn@acn.wtf + +Based on v2.0 - 07 April 2020. + +Copyright (c) 2012-2020 Miguel Garcia / FloppySoftware, Spain. + +The original repository can be found here: +https://github.com/MiguelVis/ftm + + +Introduction + +This is a clone (yes, one more!) of MineSweeper for CP/M with supported +CRTs, derived from the plain CP/M version (and itself from the Amstrad +PCW & Samaruc GUI version). + +It should run in any version of the CP/M operating system and a Z80 CPU. + +This version is patched to work with a VT100 terminal only and it uses +color ANSI codes. + + +The game + +The aim of the game is to find all the mines on the board, putting a +flag on them and uncovering the other squares. + +If you uncover a mine, you lose the game. + +There are three different levels: * Level 1 : 08 x 08 squares, 08 mines +* Level 2 : 08 x 12 squares, 12 mines * Level 3 : 08 x 16 squares, 16 +mines + + +How to play + +In the board, a number on a square means the quantity of mines around +it. + +To uncover a square, you must enter a command telling its position as +row and column - ie: + + 1C + +To put or remove a flag on a square, you must append a F character to +the command - ie: + + 3DF + + +Technical notes + +To compile, use MESCC, "Mike's Enhanced Small C Compiler". All files +neccessary (and only these) to compile the game are included. The +complete package of MESCC can be found in its repository: + +https://github.com/MiguelVis/mescc + +Compile it using: + + CC FTM + CCOPT FTM + ZSM FTM + HEXTOCOM FTM + +The game uses Codepage 437 border characters as default, if your +terminal cannot display these, remove #define CP437 from FTM.C and +recompile it. + + +License + +This software is copyright of Miguel Garcia / FloppySoftware, Spain. All +rights reserved. + +This program is freeware, and it's licensed under the GNU General Public +License. + +See the license file for more details. diff --git a/HDimage/u0/LADDER.TXT b/HDimage/u0/LADDER.DOC similarity index 62% rename from HDimage/u0/LADDER.TXT rename to HDimage/u0/LADDER.DOC index 5f5f4e7..d648279 100644 --- a/HDimage/u0/LADDER.TXT +++ b/HDimage/u0/LADDER.DOC @@ -1,4 +1,7 @@ -# Ladder + + +LADDER + Ladder was originally written for the CP/M operating system and the game came bundled with Kaypro computers. It is copyrighted by: @@ -7,18 +10,17 @@ came bundled with Kaypro computers. It is copyrighted by: 10970 Ashton Ave, Suite 312 Los Angeles, CA -For information on the game, see: -[Wikipedia](https://en.wikipedia.org/wiki/Ladder_(video_game)) +For information on the game, see: Wikipedia This version is adapted to VT100 ANSI escape sequences. -## Note -It seems to me that LADCONF.COM uses some kind of "wrong" VT100 sequences, -as my terminal does not like them - the output looks wrong. +Note + +It seems to me that LADCONF.COM uses some kind of "wrong" VT100 +sequences, as my terminal does not like them - the output looks wrong. This LADDER.DAT has been changed slightly by Marco Maccaferri to make it work with my RC2014 VGA VT100 terminal. So don't change it using LADCONF.COM :) - diff --git a/HDimage/u0/MAZEZAM.COM b/HDimage/u0/MAZEZAM.COM new file mode 100644 index 0000000..8b7e843 Binary files /dev/null and b/HDimage/u0/MAZEZAM.COM differ diff --git a/HDimage/u0/MAZEZAM.DOC b/HDimage/u0/MAZEZAM.DOC new file mode 100644 index 0000000..48ae51f --- /dev/null +++ b/HDimage/u0/MAZEZAM.DOC @@ -0,0 +1,97 @@ + + +MAZEZAM + + +MazezaM is a puzzle game for CP/M. + +- Copyright (C) 2002 Malcolm Tyrrell tyrrelmr@cs.tcd.ie +- CP/M version (C) 2004-2008 Ventzislav Tzvetkov (drHirudo) (for VT52 + terminals) +- z88dk version by Stefano Bodrato (www.z88dk.org) +- VT100 adaption (C) 2020 Anna Christina Naß acn@acn.wtf + +Licensed under the GPL. + +You can find the VT52 version of this game, and also for other +platforms, here: http://hirudov.com/ + + +The game + +MazezaM (pronounced "may-zam") is a simple puzzle game. You enter the +mazezam on the left and you have to get to the exit on the right by +pushing rows of blocks left and right. + +In the game = represents a brick, # represents a block, P is the Player +and O is a door. Good Luck. + + +Keys + +I changed the keys to 8, 6, 4, 2 on the numpad, but W, A, S, D will also +work. Use R to restart a level (at the cost of one live). + + +About the game, by drHirudo + +To the best of my knowledge MazezaM's specific game logic is original. +Unfortunately, there are so many puzzles out there that it is impossible +for me to be sure. If you are aware of a prior instance of the idea, +please get in touch. If possible, include a link which I can add to my +web page. + +The idea for MazezaM came to me while recalling an Oric-1 type-in game +called "Fall Guy" (from the book "Sixty Programs for the Oric-1" by +Robert Erskine, Humphrey Walwyn, Paul Stanley and Michael Bews). The +game play is a reminiscent of the game Sokoban (Thinking Rabbit, Inc) +and also bears a resemblance to "sliding block" or "sliding piece" +puzzles where wooden shapes are moved around in order to get a (usually +larger) shape from one side of the puzzle to the other. The name +"MazezaM" was suggested by Robert Byrne. + + +Compiling + +MazezaM is written in C for the ZXCC compiler which can be found in +z88dk. + +Use this command line (tested in Linux) to compile: + + zcc +cpm -lndos -o MAZEZAM.COM mazezam.c -O3 + + +New Levels Wanted: + +If you like this game and are good at designing levels, I encourage you +to create levels and send them to any of the authors for include in +further versions. Credit of course will be given. + + +Other versions and games my drHirudo + +Original Sinclair and Java games - Copyright (C) 2002 Malcolm Tyrrell +http://www.cs.tcd.ie/Malcolm.Tyrrell/ + +Amiga Version Copyright (C) 2003-2004 Ventzislav Tzvetkov +http://hirudov.com/ + +Gameboy Version Copyright (C) 2003-2004 Ventzislav Tzvetkov +http://hirudov.com/ Developed using GBDK v2.1.0-1 and Wzonka-Lad +1.03.00. + +Oric Atmos Version Copyright (C) 2004 Ventzislav Tzvetkov +http://hirudov.com/ + +Apple II Version Copyright (C) 2004 Ventzislav Tzvetkov +http://hirudov.com/ + +Commodore 64 Version Copyright (C) 2004 Ventzislav Tzvetkov +http://hirudov.com/ + +SNES version Copyright (C) 2004-2006 Ventzislav Tzvetkov +http://hirudov.com/ + +CP/M version Copyright (C) 2004-2008 Ventzislav Tzvetkov +http://hirudov.com/ Compiled using Z88DK on AmigaOS 4. Tested under +DOSBox and MYZ80 emulator. diff --git a/HDimage/u0/PAC.COM b/HDimage/u0/PAC.COM new file mode 100644 index 0000000..0c83858 Binary files /dev/null and b/HDimage/u0/PAC.COM differ diff --git a/HDimage/u0/PAC.DOC b/HDimage/u0/PAC.DOC new file mode 100644 index 0000000..df5edc3 --- /dev/null +++ b/HDimage/u0/PAC.DOC @@ -0,0 +1,39 @@ + + +PAC + + +Copyright 2020 Andrew Pamment + +A CP/M Pac-Man clone + +The original files can be found here: +http://members.iinet.net.au/~apamment/CPM/ + +Only slight modifications have been made by Anna Christina Naß +acn@acn.wtf + +See LICENSE for license. + + +Keys + +Use the numpad to move the Pac, or use the keys W, A, S, D + + 8 + | + 4 - * - 6 + | + 2 Q - Quit + + +Compiling + +Robot Chase is written in C for the ZXCC compiler which can be found in +z88dk. + +Use this command line (tested in Linux) to compile: + + zcc +cpm -lm -lndos -O3 -o PAC.COM pac.c ansi.c + +Or just use the Makefile :) diff --git a/HDimage/u0/QUATRIS.DOC b/HDimage/u0/QUATRIS.DOC new file mode 100644 index 0000000..0db41d8 --- /dev/null +++ b/HDimage/u0/QUATRIS.DOC @@ -0,0 +1,11 @@ + + +QUATRIS + + +This is a Tetris clone which has been adapted to VT100 escape sequences +(via PDTINS.COM). + +The game is by: Steven B. Perkins 1227 Spring Ridge Dr. Sandy, UT 84094 + +See QUATRIS.TXT for more information. diff --git a/HDimage/u0/QUATRIS.TXT b/HDimage/u0/QUATRIS.TXT deleted file mode 100644 index 5b3fc42..0000000 --- a/HDimage/u0/QUATRIS.TXT +++ /dev/null @@ -1,79 +0,0 @@ - - Quatris 2.0 - The Games of Shapes - - - Quatris is a game of placing shapes strategically as they fall -into place. Each shape can be thought of as 4 small squares linked -together. Thus the name Quatris. These shapes are sometimes refered -to as tetrominoes. The game is similar to the commercial game Tetris. -This adaptation of the theme is for CP/M. It is written in Turbo -Pascal, and thus requires a Z80 or compatible CPU. The source code is -available for a modest fee, and can be ported to MS-DOS with little -trouble. - - The game controls are mostly numbers. The game screen lists the -controls, so play is simple. Strategy is complex however. The main -object is to completely fill whole rows with blocks. When this -happens, the row vanishes, and the end of the game is postponed. -Points are accumulated as each shape drops. You get more points for -placing the shape faster, so use the space bar to drop it into place -as soon as it is properly positioned. You get more points at harder -(lower) levels as the action speeds up. It may be strategic to begin -at a higher level, or to advance while playing. The level auto- -matically advances, if not high enough already, after a certain number -of rows have been filled. An option to preview the next shape is -available, but it does slightly lower your points. - - The .COM file is initially set up for a Kaypro/Televideo/ADM type -terminal. The public domain program PDTINS by Carson Wilson is -included to allow this to be changed if needed. My thanks to him for -this program. In the unlikely event that a compatible terminal is not -on the PDTINS menu, you only need to worry about clear screen and -cursor addressing. Look for 01A hex for clear screen, and =rc -for cursor addressing in the distributed .COM file. The crt init (and -exit) sequence can be used to turn the cursor off (and back on) if it -bothers you. With DDT, the strings would begin (length first) at 016B -hex (off) and 017B hex (on). Add your strings, with appropriate -lengths, to enable this feature. - - The game is configured to run best on a 4 MHz machine. This too -can be changed. To try a different value (lower values make the game -more challenging) include the value on the command line, example: - - A>QUATRIS 3MHZ - -To enter your system speed permanently as the default, requires DDT or -some other patch utility. The value is at location 0124 hex. - - A high scores file is maintained for the top ten scores. This -encourages competition and makes the game more enjoyable, even if you -only try to better your own high score. My high score is about 6500. -To see the high scores without playing just enter the command: - - A>QUATRIS SCORE - - The game can be exited early if desired. In case of supervisor -surveillance, or if you need to pause for some reason (ahem), there is -a key which clears the screen and leaves a bogus "A>" prompt. Hit -any key to resume where you left off, or hit ESC at the false prompt -to quietly exit to CP/M (your score is not recorded in this case). - - This software and documentation is copyright 1989 by Steven B. -Perkins. You are free to use, copy, and distribute it as long as it -is not for profit. Contact me if other arrangements are desired. - - I believe the CP/M world can use more support. There really are -a lot of us out here! Any comments about this game, or monetary -encouragement towards further efforts and upgrades can be sent to the -address below. I also frequent Z-Node 45: (713)937-8886 and you can -leave messages for me there. A donation of $10 or more makes you an -official supported user. If you send such a donation and a floppy -disk, you will receive the source code, the latest version, and another -game and utility to try. Have fun, and keep supporting CP/M and the Z- -system. - - - Address: Steven B. Perkins - 1227 Spring Ridge Dr. - Sandy, UT 84094 diff --git a/HDimage/u0/README.TXT b/HDimage/u0/README.TXT deleted file mode 100644 index c5c0682..0000000 --- a/HDimage/u0/README.TXT +++ /dev/null @@ -1,24 +0,0 @@ -CP/M VT100 games HD image for z80pack -------------------------------------- - -This HD image provides all VT100 CP/M games from my Git repository: -https://git.imzadi.de/acn/vt100-games - -Also, the Backgammon game from https://git.imzadi.de/acn/vt100-games -can be found here. - -Its purpose is to be a single hard disk image with all games at one -place :) - -To achieve this goal and not overwhelm the directory, only the compiled -or assembled .COM file of the games together with a documentation TXT -file (and neccessary data files) are placed here. -The source files, installation files and other documentation files -are not found here. - -These files can be found in the repositories mentioned above. - -Have fun! - -Anna Christina Naß - diff --git a/HDimage/u0/ROBOTS.DOC b/HDimage/u0/ROBOTS.DOC new file mode 100644 index 0000000..2907d5d --- /dev/null +++ b/HDimage/u0/ROBOTS.DOC @@ -0,0 +1,58 @@ + + +ROBOTS + + +Robots is a turn-based game for CP/M. + +It's based on ROBOTS, a BSD game (but no source code was taken from it). + +The objetive of the robots is only one: to kill you. + +The only thing you can do, is to try to escape from them. But use the +teletransportation with care: you have only a few teletransport tickets! + +The robots will die if they collide between them or crash against +something. + +That's your only opportunity to win the robots. + +Good luck! + +Copyright (c) 2015 Miguel García / FloppySoftware + +A 'clear screen' function (VT100) has been added by me (Anna Christina +Naß acn@acn.wtf. + +Original Repository: https://github.com/MiguelVis/RetroProjects Website: +http://www.floppysoftware.es/robots.html?path=cpm_projects|robots + +The file ROBOTS.COM is the compiled game file. + + +Commands + +Move the player .P. using the numpad numbers as shown on the screen. +Press T for teletransportation and Q for quit. + + +Compile: + +To compile, use MESCC, "Mike's Enhanced Small C Compiler". See: +http://www.floppysoftware.es/mescc.html?path=cpm_projects|mescc + +In the directory mescc, I provide the files neccessary to compile +Robots, using: + + CC ROBOTS + CCOPT ROBOTS + ZSM ROBOTS + HEXTOCOM ROBOTS + +Note that only the really neccessary files are provided - see the link +above for the full MESCC compiler and source code! + + +License: + +GPL Version 2, see copying.txt - valid for MESCC and Robots. diff --git a/HDimage/u0/ROBOTS.TXT b/HDimage/u0/ROBOTS.TXT deleted file mode 100644 index 91cc93e..0000000 --- a/HDimage/u0/ROBOTS.TXT +++ /dev/null @@ -1,67 +0,0 @@ -ROBOTS ------- - -A GAME FOR CP/M-80 & CP/M-86. - -v1.00 - 19 Mar 2015. - - R () : : () - R O B O T S \ [0_0] / - B x-+-:-+-x -R O B O T S |___| - T / \ - S \ / - -(c) 2015 Miguel Garcia / FloppySoftware - www.floppysoftware.es - cpm-connections.blogspot.com - floppysoftware@gmail.com - - -THE GAME --------- - -Robots is a turn-based game for CP/M-80 & CP/M-86. - -Based on ROBOTS, a BSD game (but no source code was taken from it). - -The objetive of the robots is only one: to kill you. - -The only thing you can do, is to try to escape from them. But use the -teletransportation with care: you have only a few teletransport tickets! - -The robots will die if they collide between them or crash against something. - -That's your only opportunity to win the robots. - -Good luck! - - -GAME FILES ----------- - -ROBOTS .COM -- Game for CP/M-80. -ROBOTS .CMD -- Game for CP/M-86. -ROBOTS .C -- Source code for MESCC & DR-C. -ROBOTS .TXT -- This help file. -COPYING .TXT -- GNU General Public License. - - -TECHNICAL NOTES ---------------- - -This program was developed using MESCC (Mike's Enhanced Small C Compiler - my -own version of Small C) for the CP/M-80 version, and Digital Research C for -the CP/M-86 version. - -See ROBOTS.C for more details. - - -COPYRIGHT AND LEGAL NOTES -------------------------- - -This program is copyright of FLOPPY SOFTWARE from VALENCIA, SPAIN, and is -distributed under the GNU GENERAL PUBLIC LICENSE. - -Read the COPYING.TXT text file for more details. - diff --git a/HDimage/u0/ROGUE.DOC b/HDimage/u0/ROGUE.DOC index 4d4484f..c6033f6 100644 --- a/HDimage/u0/ROGUE.DOC +++ b/HDimage/u0/ROGUE.DOC @@ -1,170 +1,13 @@ -Command letters: - -> go downstairs: must be on stairs '%' -< go upstairs: must have amulet of Funidoog ',' and be on stairs -. rest a while -i inventory: list all items being carried -e eat some food -s search for traps & secret doors -c call an item something -d drop an item -q quaff a potion -r read a scroll -z zap a wand -p point a wand in a particular direction -w weild a weapon -t throw a weapon in a particular direction (see weapons below) -W wear a suit of armour -Q quit the game -S save the game for later -P put on a ring -R remove a ring -^R reprint the last message -^L redraw the screen -h move one position left -j move down -k move up -l move right -y move up & left -u move up & right -b move down & left -n move down & right -H, J, K, L, Y, U, B, N run in the given direction till something is found - -certain commands can be done repeatedly, e.g. 10l will move 10 spaces right, -or 5s will search five times, the maximum repetition count is 255 (guess who's -using a byte counter!!) - command letters don't get echoed, as the effect they -have usually shows up in some other way. - -Things on screen: - - solid rock (empty space) -. room interior -- | room walls -+ door -# corridor -^ trap -% stairs -? scroll -! potion -/ wand -= ring -) weapon -] armour -* gold -: food -, the Amulet of Funidoog -A-Z monsters - -A giant ant -B bat -C centaur -D dragon -E floating eye -F violet fungus -G giant -H hobgoblin -I invisible stalker (if you can see them) -J jackal -K kobold -L leprachaun -M mimic (when it's not pretending to be something else) -N nymph -O orc -P purple worm -Q quasit -R rust monster -S skeleton -T troll -U umber hulk -V vampire -W wraith -X xorn -Y yeti -Z zombie - -Anything that can be picked up (scrolls et. seq.) gets picked up when moved -on top of, to fight a monster, either point a wand at it, throw a weapon -at it, or to fight it hand to hand, attempt to move on top of it. - -Weapons fall into four classes: -1. two handed sword, long sword, mace: these are best weilded when going - into hand to hand combat; -2. short bow, crossbow, sling: these are best weilded when class 3 - weapons are to be thrown; -3. arrow, crossbow bolt, rock: these are best thrown at monsters some - distance away, best results will be obtained if the approprate - class 2 weapon is weilded when throwing class 3 weapons; -4. spear, dagger, dart: these are best thrown as class 3, however no - special weapon need be weilded to throw these. - -When throwing a weapon or pointing a wand, the direction should be specified -as for moving, so to point a wand to the left type in 'ph', and give the -letter from the inventory when asked what to zap, similarly to throw something -down, type 'tj', and the inventory letter, etc. etc. etc. - -The general idea of the game is to find the Amulet of Funidoog, which will be -found somewhere below level 20, and escape from the dungeon with it: once it -has been picked up, the '<' command to go upstairs works. - -This game has it's roots in AD&D (The T.S.R. fantasy role playing game), but -intimate knowledge of AD&D is not necessary to play Rogue (though it can be -a help). Rogue was originally written in C, and released on Berkley UNIX -systems - the only major part missing is the wizards password (which is a -massive cheat anyway). By and large, damages that monsters do, armour classes -of monsters, probabilities of hitting in combat, and other such variables are -lifted directly from AD&D, as they were for the Berkley version. - -A few (hopefully helpful) comments: use the rest command copiously - it -allows you to regain hit points lost in combat; traps generally only show -up when you stand on them, unless you are searching - on the subject of -searching, don't get too depressed if you seem to have explored everywhere -and you can't find the stairs: search along the walls of the rooms you have -found ('s' command, do it typically 10 times for each '-' or '|' in the -wall). Note also that some of the monsters get very vicious: dragons can -breath on you, rust monsters weaken metal armour, leprachauns will steal your -gold, invisible stalkers are just that (invisible), mimics tend to look like -other things: scrolls, armour, stairs - anything that isn't a monster, etc, -etc, etc; there are cursed items (rings, armour, weapons) which can be quite -hard to get rid of - unless you have a scroll of remove curse... Regarding -the various weapons: Two handed swords are the best weapons in class 1 The -crossbow is the best in classes 2/3, and the spear is the best in class 4. -Regarding armour class: the lower it is, the better for you. Regarding your -strength / hit points / experience / gold: the higher the better (There must -be some reason why armour class works backwards...). Logically (?) the -monsters get harder to kill the deeper you get into the dungeon - Dragons & -Purple worms (probably the meanest pair in the game) are often best left -alone if you find them asleep, because it isn't worth taking a chance on -getting bumped off by one of them: by the time you meet those two monsters -you'll be pretty close to the amulet, and once you have it, the best -thing to do is to high tail it back up through the dungeon to about level 17. -On the other hand DON'T rush down: explore each level to find all the magic -and monsters you can: killing monsters is how you get experience, and the -more experience you have, the better you'll do in a fight; in addition a good -arsenal of magic items can make the difference between winning & losing a -fight. On the lower levels rooms become dark: this limits your area of vision -as shown by the area of '.'s around you, however there are wands & scrolls -which can alleviate this problem (to a point at least). I'll leave it for you -to find out what all the scrolls, rings, etc do, to begin with you'll be using -all the scrolls of identify as soon as they get found. Note that potion -colours (and wand metals and ring gems) change from game to game, so don't -assume that just because a potion of healing is orange in this game, it will -be orange in the next (that would be too easy!!). - -Patching for different terminals. - -As delivered, this runs on Televideo compatible terminals (including Liberty -Freedom, ADM31, Wyse 50, Wyse 60, and Commodore 128 in CP/M mode). Two special -abilities must be present, clear screen and move cursor; and clear to end of -line will be used if it exists, however ROGUE knows how to get by without it. -The patch area is right at the start of the program. Since most of the -patchable stuff I write is designed to use the same patch overlay there is a -lot of patching possible that is not applicable to ROGUE. However, once you -have the 1/2 K patch overlay it becomes trivial to patch new programs to work -for you. Included is a file QTERM.PAT which goes into detail on how to do the -patching. It should be noted that ROGUE.COM is not the same size as QTERM.COM: -the value for the SAVE command will be: - -SAVE 89 ROGUENEW.COM - -In all other respects, QTERM.PAT explains how to patch ROGUE for your system. - \ No newline at end of file + + +ROGUE + + +ROGUE was written Nov 1984 thru Feb 1985 by David Goodenough. + +I made the changes for VT100 escape sequences according to QTERM.PAT. + +The original files can be found in the file rogue17cpm.zip. + +ROGUE.COM is the executable file and ROGUE.DOC contains the help for all +commands. diff --git a/HDimage/u0/SNAKE.COM b/HDimage/u0/SNAKE.COM new file mode 100644 index 0000000..dd45beb Binary files /dev/null and b/HDimage/u0/SNAKE.COM differ diff --git a/HDimage/u0/SNAKE.DOC b/HDimage/u0/SNAKE.DOC new file mode 100644 index 0000000..553189a --- /dev/null +++ b/HDimage/u0/SNAKE.DOC @@ -0,0 +1,53 @@ + + +SNAKE + + +Snake game for CP/M and VT100/ANSI terminal + +- First version (C) 2018, Karl A. Brokstad (www.z80.no) + +- Turbo Pascal conversion and other mods with permission (C) 2018, + linker3000 (linker3000-at-gmail-dot-com) + +Version history: + +- V1.2acn: 25-Jun-2020 Changed keys to 2/4/6/8 and H/J/K/L and clear + ANSI attributes on exit + +- V1.2T: 21-Jul-2019 Corrected Y boundary max in putFood. + +- V1.1T: 14-Oct-2018 Command line switch -m (monochrome) suppresses + all colour codes Version numbering detached from Karl A. Brokstad's + original + +- V23N: 24-Sep-2018 First public release Game map used for collision + detection and food position generation - this takes out several long + loops. + +Original GitHub repository: https://github.com/linker3000/Z80-Board The +first version can be found here: https://z80.no/projects/Pascal.html + + +License + +GPL v2, see the file COPYING + + +Instructions + + +Compiling + +To compile SNAKE, just use Turbo Pascal from the TP/ directory. It's TP +3.0A for CP/M-80, only without the demo source code. + +- Copy the TP files together with the SNAKE.PAS files to one disk +- The terminal definition is already set to ANSI and the speed is set + to 8 MHz (for a standard RC2014), so running TINST is not needed +- Run Turbo Pascal using TURBO +- Set the compiler options to "compile -> Com-file" (press O, C, Q) +- Compile SNAKE.PAS: press C (Compile), then enter snake as Work file + name. + +This should result in a SNAKE.COM file. diff --git a/HDimage/u0/SOKOBAN.DOC b/HDimage/u0/SOKOBAN.DOC new file mode 100644 index 0000000..a468ce4 --- /dev/null +++ b/HDimage/u0/SOKOBAN.DOC @@ -0,0 +1,63 @@ + + +SOKOBAN + + +CP/M port of a Unix curses clone of sokoban + +I found it as part of the ZCN repository: +https://github.com/jamesots/zcn + +The C source has been modified for VT100 compatibility, and some unused +variables have been removed :) + +sokoban.com is the compiled binary. + +To run it, the files sokoban.com and soklevls.dat are needed The help +file, sokoban.hlp, is not used in this version. You find the contents +below. + +See the readme.* files for more information. + + +Commands + + Key Action Key Action Key Action + ------- --------------------- -------- ------------------------- ----- --------------------- + h move/push left H run/push left ^H run left to object + l move/push right L run/push right ^L run right to object + j move/push down J run/push down ^J run down to object + k move/push up K run/push up ^K run up to object + u undo last move/push U undo all + c / s temporary save ^U / r reset to temporary save + ^R Refresh screen q quit + + +The game + +Characters on screen are: + + Symbol Meaning Symbol Meanging + -------- ---------------------------- -------- --------------------------- + @@ player ++ player on saving position + .. saving position for packet $$ packets + ** saved packet ## wall + +Your goal is to move all packets to the saving position by pushing them. + +As you could see you can make a temporary save. This is useful if you +think that all the moves/pushes you have made are correct, but you don't +know how to go on. In this case you can temporary save (using the c +command). If you then get stucked you need not undo all (using U), you +can reset to you temporary save. + +If you have restored a saved game, a temporary save is automatically +made at the start. + + +Compiling + +HiTech C has been used to compile it, it is placed in the directory +HitechC. + +To compile Sokoban, I used the command c -O sokoban.c in CP/M. diff --git a/HDimage/u0/SOKOBAN.TXT b/HDimage/u0/SOKOBAN.TXT deleted file mode 100644 index b316451..0000000 --- a/HDimage/u0/SOKOBAN.TXT +++ /dev/null @@ -1,56 +0,0 @@ -# Sokoban - -CP/M port of a Unix curses clone of sokoban - -I found it as part of the ZCN repository: https://github.com/jamesots/zcn - -The C source has been modified for VT100 compatibility, and some unused -variables have been removed :) - -sokoban.com is the compiled binary. - -To run it, the files sokoban.com and soklevls.dat are needed -The help file, sokoban.hlp, is not used in this version. -You find the contents below. - -See the readme.* files for more information. - -## Commands - -| Key | Action | Key | Action | Key | Action | -| --- | ------------------- | ---- | -------------- | --- | ---------------- | -| h | move/push left | H | run/push left | ^H | run left to obj | -| l | move/push right | L | run/push right | ^L | run right to obj | -| j | move/push down | J | run/push down | ^J | run down to obj | -| k | move/push up | K | run/push up | ^K | run up to obj | -| u | undo last move/push | U | undo all | | | -| c/s | temporary save | ^U/r | reset to temporary save | | | -| ^R | Refresh screen | q | quit | | | - -## The game - -Characters on screen are: - -| Symbol | Meaning | Symbol | Meanging | -| ------ | -------------------------- | ------ | -------------------------- | -| @@ | player | ++ | player on saving position | -| .. | saving position for packet | $$ | packets | -| ** | saved packet | ## | wall | - -Your goal is to move all packets to the saving position by pushing them. - -As you could see you can make a temporary save. This is useful if you think -that all the moves/pushes you have made are correct, but you don't know how -to go on. In this case you can temporary save (using the c command). If you -then get stucked you need not undo all (using U), you can reset to you -temporary save. - -If you have restored a saved game, a temporary save is automatically made -at the start. - -## Compiling - -HiTech C has been used to compile it, it is placed in the directory HitechC. - -To compile Sokoban, I used the command c -O sokoban.c in CP/M. - diff --git a/HDimage/u0/TLADDER.COM b/HDimage/u0/TLADDER.COM new file mode 100644 index 0000000..7cada4a Binary files /dev/null and b/HDimage/u0/TLADDER.COM differ diff --git a/HDimage/u0/TLADDER.DAT b/HDimage/u0/TLADDER.DAT new file mode 100644 index 0000000..d3a2299 Binary files /dev/null and b/HDimage/u0/TLADDER.DAT differ diff --git a/HDimage/u0/TLADDER.DOC b/HDimage/u0/TLADDER.DOC new file mode 100644 index 0000000..05f434c --- /dev/null +++ b/HDimage/u0/TLADDER.DOC @@ -0,0 +1,117 @@ + + +LADDER + + +The classic CP/M game Ladder reverse engineered in Turbo Pascal. + +Original GitHub repository: https://github.com/mecparts/Ladder + +Additional information and compiled version by Anna Christina Naß +acn@acn.wtf + +I've added a compiled LADDER.COM file for just playing the game (on a +VT100 terminal at about 8 MHz, eg. a RC2014), and added more information +on compiling the game. + + +Keys + +The file LADDER.DAT is the configuration file that holds the key +definitions. These can be changed by using LADCONF.COM (the terminal +definition in LADCONF is not used! This LADDER uses the Turbo Pascal +terminal definitions). + +The default keys in this LADDER.DAT are: + + Up = 8 Down = 2 Left = 4 Right = 6 + Jump = Space Stop = Other + +(Jump and Stop are not configurable) + +Also, "bell" sound is enabled and "wise crack marks" are disabled. + + +Compiling notes from Anna: + +To compile LADDER, just use Turbo Pascal from the TP/ directory. It's TP +3.0A for CP/M-80, only without the demo source code. + +- Copy the TP files together with the LADDER files to one disk +- The terminal definition is already set to ANSI and the speed is set + to 8 MHz (for a standard RC2014), so running TINST is not needed +- Run Turbo Pascal using TURBO +- Set the compiler options to "compile -> Com-file" (press O, C, Q) +- Compile LADDER.PAS: press C (Compile), then enter ladder as Work + file name. + +This should result in a LADDER.COM file. + +The rest of this file is mostly the README from the original repository. + + + +ORIGINAL README CONTENT: + + +About + +This is a rewrite in Turbo Pascal of the classic CP/M game "Ladder", +originally written by Yahoo Software (not Yahoo!). + +Ladder is an ASCII character based platform arcade game similar to +Donkey Kong. You travel through levels with platforms and ladders where +rocks fall down from the top while you collect statues before reaching +the exit. + +Back in 1999 Stephen Ostermiller made a version of Ladder in Java. +Later, Mats Engstrom of SmallRoomLabs started another version in of +Ladder in golang. Between my own memories of playing the original game +on a Kaypro, and Stephen Ostermiller's and Mats Engstrom's code, I was +able to come up with this version. + +This version will use the original LADCONF.COM configuration program and +LADDER.DAT configuration file. Since this version is a Turbo Pascal +program, the terminal configuration portion of LADCONF isn't used, +though it still does set up the movement keys, sound and back chatter +options. + + +Compiling the game + +You'd need Turbo Pascal, of course. You'll also need to edit +LADCONST.PAS to set the cursor on and off sequences for your terminal. +LADDER.PAS is the main part of the program. I've successfully compiled +this on a 58K CP/M system, so available RAM isn't a particularly +critical limitation. + +Once you've compiled LADDER.COM, copy LADCONF.COM to the same user area. +If you don't have a LADDER.DAT file, when you run LADDER the first time +it'll automatically load LADCONF to set up the movement keys and +options, then transfer you back to LADDER. + + +Limitations + +At the moment, once you've successfully completed the 7th distinct level +(Gang Land), the program just cycles through all 7 seven levels over and +over again until the bonus time becomes too short to actually finish a +level. If anyone knows what the original program actually did (I never +managed to get anywhere near to completing the original game), let me +know and I'll see what I can do. + +The Delay(ms) call in Turbo Pascal only works for a Z80 running at up to +32MHz (and TINST will only allow you to specify a value of up to 20MHZ +if I recall correctly). So if you're trying to run this on a system with +an effective clock speed of greater than 32MHz, you're going to have to +come up with another mechanism. That's not an insurmountable roadblock +though; on my 144MHz-Z80-equivalent RunCPM box running on a Teensy 4.0, +I patched the Turbo Pascal runtime to make a call to a BDOS extension I +created to call the Arduino's delay() function. Works like a charm. If +your system includes any kind of millisecond counter you can read, +that's a good spot to start looking. + + +References + +Original Ladder game Ladder in Java Ladder in golang diff --git a/HDimage/u0/WORM.TXT b/HDimage/u0/WORM.DOC similarity index 56% rename from HDimage/u0/WORM.TXT rename to HDimage/u0/WORM.DOC index 274c089..3d1e7b2 100644 --- a/HDimage/u0/WORM.TXT +++ b/HDimage/u0/WORM.DOC @@ -1,26 +1,28 @@ -# Worm + + +WORM + I have no information on the author or copyright of this game. It is like "Snake", but the worm is only moving when a key is pressed. -The goal of the game is to survive as long as possible - as the worm +The goal of the game is to survive as long as possible - as the worm will get longer and longer after eating a number. -## Controls + +Controls Use the number keys 2, 4, 6 and 8 to control the worm. The german description of the game is: - WORM ist ein Spiel, bei dem ein Buchstabenwurm mittels der - Pfeiltasten bzw. Zifferntasten (siehe Bild) ueber das Spiel- + WORM ist ein Spiel, bei dem ein Buchstabenwurm mittels der ^ + Pfeiltasten bzw. Zifferntasten (siehe Bild) ueber das Spiel- I feld bewegt werden kann. Jedesmal wenn der Wurm eine Zahl - frisst, waechst er um ein Stueck in die Laenge. - Das Ziel des Spiels ist es, den Wurm moeglichst lang zu mae- - sten. Dabei darf er aber in seiner Gier weder sich selbst + frisst, waechst er um ein Stueck in die Laenge. 8 + Das Ziel des Spiels ist es, den Wurm moeglichst lang zu mae- <- 4 6 -> + sten. Dabei darf er aber in seiner Gier weder sich selbst 2 noch die Umrandung anknabbern! - - Viel Spass ! - - + I + Viel Spass ! v diff --git a/HDimage/u1/-read.me b/HDimage/u1/-read.me deleted file mode 100644 index 51e0181..0000000 --- a/HDimage/u1/-read.me +++ /dev/null @@ -1,26 +0,0 @@ -This is version 2.2 of wanderer. I've jumped the version numbers out -of my original sequence so that they now match the same version numbers -as used by Steven Shipway. - -You will need WANDERER.LBR to be able to fully use this, however the -version of WANDERER in this .LBR is the one to use - it has a couple -of bug fixes: the old version can't solve screen 31, and can't get -the monster on screen 37. Basically, all you need from the earlier -one are the screens, replace any other files with those from this -.LBR. Also replace SCREEN.050 from the old one, as this was a special -"end marker" screen, that job has now been taken over by SCREEN.061 - -Happy wandering :-) - - -.UUCP: .....!harvard!xait!lakart!pallio!dg -Internet: dg%pallio.uucp@cfisun.cfi.com -GEnie: D.GOODENOUGH -Q-link: Delta G -BBS's David Goodenough on all - - (617) 965-7046 - (617) 825-3135 - (617) 329-8528 - (617) 329-4237 - \ No newline at end of file diff --git a/HDimage/u1/-readme.1st b/HDimage/u1/-readme.1st deleted file mode 100644 index 6f1f942..0000000 --- a/HDimage/u1/-readme.1st +++ /dev/null @@ -1,42 +0,0 @@ - WANDERER - ======== - -As delivered this will run on any Televideo compatible screen, -including Commodore C128 in CP/M mode; Wyse 50's; Wyse 60's; -Kaypro's; Liberty Freedom 110's, 200's and Turbo 1's; ADM3A; -and ADM31. I've included a file QTERM.PAT that talks a lot -about patching other stuff. You will see that the patch area -is a lot bigger than it needs to be, but that is because it -uses the same patch overlay as QTERM, ROGUE, etc. The two -patches needed to make WANDERER go are: clear screen and moveto. -I'd suggest just putting those two in, and setting the terminal -capability byte to zero, to nuke out everything else. ALSO NOTE -the save command will be: - -A>SAVE 36 WANDERER.COM - -as wanderer is a bit smaller than QTERM. - - -I have included all the screens that have been released so far: 1 - 49. -SCREEN.050 is present, but only contains a single period: '.' This is -to tell wanderer that after screen 49 there aren't any more. However, -if you try to jump to (say) screen 76, it won't detect the overrun, and -you'll get a rather unpleasant message from wanderer. Oh well ..... - - -If you have any questions, suggestions, flames, comments, bug reports -or screens to be released, I can be reached at: - -Q-link Delta G -.UUCP .....!harvard!xait!lakart!pallio!dg -Internet dg%pallio.uucp@cfisun.cfi.com -GEnie D.Goodenough -BBS's David Goodenough on all of them: - - (617) 288-6477 - (617) 825-3135 - (617) 329-4237 - (617) 329-8528 - (617) 965-7046 - \ No newline at end of file diff --git a/HDimage/u1/screen.001 b/HDimage/u1/SCREEN.001 similarity index 100% rename from HDimage/u1/screen.001 rename to HDimage/u1/SCREEN.001 diff --git a/HDimage/u1/screen.002 b/HDimage/u1/SCREEN.002 similarity index 100% rename from HDimage/u1/screen.002 rename to HDimage/u1/SCREEN.002 diff --git a/HDimage/u1/screen.003 b/HDimage/u1/SCREEN.003 similarity index 100% rename from HDimage/u1/screen.003 rename to HDimage/u1/SCREEN.003 diff --git a/HDimage/u1/screen.004 b/HDimage/u1/SCREEN.004 similarity index 100% rename from HDimage/u1/screen.004 rename to HDimage/u1/SCREEN.004 diff --git a/HDimage/u1/screen.005 b/HDimage/u1/SCREEN.005 similarity index 100% rename from HDimage/u1/screen.005 rename to HDimage/u1/SCREEN.005 diff --git a/HDimage/u1/screen.006 b/HDimage/u1/SCREEN.006 similarity index 100% rename from HDimage/u1/screen.006 rename to HDimage/u1/SCREEN.006 diff --git a/HDimage/u1/screen.007 b/HDimage/u1/SCREEN.007 similarity index 100% rename from HDimage/u1/screen.007 rename to HDimage/u1/SCREEN.007 diff --git a/HDimage/u1/screen.008 b/HDimage/u1/SCREEN.008 similarity index 100% rename from HDimage/u1/screen.008 rename to HDimage/u1/SCREEN.008 diff --git a/HDimage/u1/screen.009 b/HDimage/u1/SCREEN.009 similarity index 100% rename from HDimage/u1/screen.009 rename to HDimage/u1/SCREEN.009 diff --git a/HDimage/u1/screen.010 b/HDimage/u1/SCREEN.010 similarity index 100% rename from HDimage/u1/screen.010 rename to HDimage/u1/SCREEN.010 diff --git a/HDimage/u1/screen.011 b/HDimage/u1/SCREEN.011 similarity index 100% rename from HDimage/u1/screen.011 rename to HDimage/u1/SCREEN.011 diff --git a/HDimage/u1/screen.012 b/HDimage/u1/SCREEN.012 similarity index 100% rename from HDimage/u1/screen.012 rename to HDimage/u1/SCREEN.012 diff --git a/HDimage/u1/screen.013 b/HDimage/u1/SCREEN.013 similarity index 100% rename from HDimage/u1/screen.013 rename to HDimage/u1/SCREEN.013 diff --git a/HDimage/u1/screen.014 b/HDimage/u1/SCREEN.014 similarity index 100% rename from HDimage/u1/screen.014 rename to HDimage/u1/SCREEN.014 diff --git a/HDimage/u1/screen.015 b/HDimage/u1/SCREEN.015 similarity index 100% rename from HDimage/u1/screen.015 rename to HDimage/u1/SCREEN.015 diff --git a/HDimage/u1/screen.016 b/HDimage/u1/SCREEN.016 similarity index 100% rename from HDimage/u1/screen.016 rename to HDimage/u1/SCREEN.016 diff --git a/HDimage/u1/screen.017 b/HDimage/u1/SCREEN.017 similarity index 100% rename from HDimage/u1/screen.017 rename to HDimage/u1/SCREEN.017 diff --git a/HDimage/u1/screen.018 b/HDimage/u1/SCREEN.018 similarity index 100% rename from HDimage/u1/screen.018 rename to HDimage/u1/SCREEN.018 diff --git a/HDimage/u1/screen.019 b/HDimage/u1/SCREEN.019 similarity index 100% rename from HDimage/u1/screen.019 rename to HDimage/u1/SCREEN.019 diff --git a/HDimage/u1/screen.020 b/HDimage/u1/SCREEN.020 similarity index 100% rename from HDimage/u1/screen.020 rename to HDimage/u1/SCREEN.020 diff --git a/HDimage/u1/screen.021 b/HDimage/u1/SCREEN.021 similarity index 100% rename from HDimage/u1/screen.021 rename to HDimage/u1/SCREEN.021 diff --git a/HDimage/u1/screen.022 b/HDimage/u1/SCREEN.022 similarity index 100% rename from HDimage/u1/screen.022 rename to HDimage/u1/SCREEN.022 diff --git a/HDimage/u1/screen.023 b/HDimage/u1/SCREEN.023 similarity index 100% rename from HDimage/u1/screen.023 rename to HDimage/u1/SCREEN.023 diff --git a/HDimage/u1/screen.024 b/HDimage/u1/SCREEN.024 similarity index 100% rename from HDimage/u1/screen.024 rename to HDimage/u1/SCREEN.024 diff --git a/HDimage/u1/screen.025 b/HDimage/u1/SCREEN.025 similarity index 100% rename from HDimage/u1/screen.025 rename to HDimage/u1/SCREEN.025 diff --git a/HDimage/u1/screen.026 b/HDimage/u1/SCREEN.026 similarity index 100% rename from HDimage/u1/screen.026 rename to HDimage/u1/SCREEN.026 diff --git a/HDimage/u1/screen.027 b/HDimage/u1/SCREEN.027 similarity index 100% rename from HDimage/u1/screen.027 rename to HDimage/u1/SCREEN.027 diff --git a/HDimage/u1/screen.028 b/HDimage/u1/SCREEN.028 similarity index 100% rename from HDimage/u1/screen.028 rename to HDimage/u1/SCREEN.028 diff --git a/HDimage/u1/screen.029 b/HDimage/u1/SCREEN.029 similarity index 100% rename from HDimage/u1/screen.029 rename to HDimage/u1/SCREEN.029 diff --git a/HDimage/u1/screen.030 b/HDimage/u1/SCREEN.030 similarity index 100% rename from HDimage/u1/screen.030 rename to HDimage/u1/SCREEN.030 diff --git a/HDimage/u1/screen.031 b/HDimage/u1/SCREEN.031 similarity index 100% rename from HDimage/u1/screen.031 rename to HDimage/u1/SCREEN.031 diff --git a/HDimage/u1/screen.032 b/HDimage/u1/SCREEN.032 similarity index 100% rename from HDimage/u1/screen.032 rename to HDimage/u1/SCREEN.032 diff --git a/HDimage/u1/screen.033 b/HDimage/u1/SCREEN.033 similarity index 100% rename from HDimage/u1/screen.033 rename to HDimage/u1/SCREEN.033 diff --git a/HDimage/u1/screen.034 b/HDimage/u1/SCREEN.034 similarity index 100% rename from HDimage/u1/screen.034 rename to HDimage/u1/SCREEN.034 diff --git a/HDimage/u1/screen.035 b/HDimage/u1/SCREEN.035 similarity index 100% rename from HDimage/u1/screen.035 rename to HDimage/u1/SCREEN.035 diff --git a/HDimage/u1/screen.036 b/HDimage/u1/SCREEN.036 similarity index 100% rename from HDimage/u1/screen.036 rename to HDimage/u1/SCREEN.036 diff --git a/HDimage/u1/screen.037 b/HDimage/u1/SCREEN.037 similarity index 100% rename from HDimage/u1/screen.037 rename to HDimage/u1/SCREEN.037 diff --git a/HDimage/u1/screen.038 b/HDimage/u1/SCREEN.038 similarity index 100% rename from HDimage/u1/screen.038 rename to HDimage/u1/SCREEN.038 diff --git a/HDimage/u1/screen.039 b/HDimage/u1/SCREEN.039 similarity index 100% rename from HDimage/u1/screen.039 rename to HDimage/u1/SCREEN.039 diff --git a/HDimage/u1/screen.040 b/HDimage/u1/SCREEN.040 similarity index 100% rename from HDimage/u1/screen.040 rename to HDimage/u1/SCREEN.040 diff --git a/HDimage/u1/screen.041 b/HDimage/u1/SCREEN.041 similarity index 100% rename from HDimage/u1/screen.041 rename to HDimage/u1/SCREEN.041 diff --git a/HDimage/u1/screen.042 b/HDimage/u1/SCREEN.042 similarity index 100% rename from HDimage/u1/screen.042 rename to HDimage/u1/SCREEN.042 diff --git a/HDimage/u1/screen.043 b/HDimage/u1/SCREEN.043 similarity index 100% rename from HDimage/u1/screen.043 rename to HDimage/u1/SCREEN.043 diff --git a/HDimage/u1/screen.044 b/HDimage/u1/SCREEN.044 similarity index 100% rename from HDimage/u1/screen.044 rename to HDimage/u1/SCREEN.044 diff --git a/HDimage/u1/screen.045 b/HDimage/u1/SCREEN.045 similarity index 100% rename from HDimage/u1/screen.045 rename to HDimage/u1/SCREEN.045 diff --git a/HDimage/u1/screen.046 b/HDimage/u1/SCREEN.046 similarity index 100% rename from HDimage/u1/screen.046 rename to HDimage/u1/SCREEN.046 diff --git a/HDimage/u1/screen.047 b/HDimage/u1/SCREEN.047 similarity index 100% rename from HDimage/u1/screen.047 rename to HDimage/u1/SCREEN.047 diff --git a/HDimage/u1/screen.048 b/HDimage/u1/SCREEN.048 similarity index 100% rename from HDimage/u1/screen.048 rename to HDimage/u1/SCREEN.048 diff --git a/HDimage/u1/screen.049 b/HDimage/u1/SCREEN.049 similarity index 100% rename from HDimage/u1/screen.049 rename to HDimage/u1/SCREEN.049 diff --git a/HDimage/u1/screen.050 b/HDimage/u1/SCREEN.050 similarity index 100% rename from HDimage/u1/screen.050 rename to HDimage/u1/SCREEN.050 diff --git a/HDimage/u1/screen.051 b/HDimage/u1/SCREEN.051 similarity index 100% rename from HDimage/u1/screen.051 rename to HDimage/u1/SCREEN.051 diff --git a/HDimage/u1/screen.052 b/HDimage/u1/SCREEN.052 similarity index 100% rename from HDimage/u1/screen.052 rename to HDimage/u1/SCREEN.052 diff --git a/HDimage/u1/screen.053 b/HDimage/u1/SCREEN.053 similarity index 100% rename from HDimage/u1/screen.053 rename to HDimage/u1/SCREEN.053 diff --git a/HDimage/u1/screen.054 b/HDimage/u1/SCREEN.054 similarity index 100% rename from HDimage/u1/screen.054 rename to HDimage/u1/SCREEN.054 diff --git a/HDimage/u1/screen.055 b/HDimage/u1/SCREEN.055 similarity index 100% rename from HDimage/u1/screen.055 rename to HDimage/u1/SCREEN.055 diff --git a/HDimage/u1/screen.056 b/HDimage/u1/SCREEN.056 similarity index 100% rename from HDimage/u1/screen.056 rename to HDimage/u1/SCREEN.056 diff --git a/HDimage/u1/screen.057 b/HDimage/u1/SCREEN.057 similarity index 100% rename from HDimage/u1/screen.057 rename to HDimage/u1/SCREEN.057 diff --git a/HDimage/u1/screen.058 b/HDimage/u1/SCREEN.058 similarity index 100% rename from HDimage/u1/screen.058 rename to HDimage/u1/SCREEN.058 diff --git a/HDimage/u1/screen.059 b/HDimage/u1/SCREEN.059 similarity index 100% rename from HDimage/u1/screen.059 rename to HDimage/u1/SCREEN.059 diff --git a/HDimage/u1/screen.060 b/HDimage/u1/SCREEN.060 similarity index 100% rename from HDimage/u1/screen.060 rename to HDimage/u1/SCREEN.060 diff --git a/HDimage/u1/screen.061 b/HDimage/u1/SCREEN.061 similarity index 100% rename from HDimage/u1/screen.061 rename to HDimage/u1/SCREEN.061 diff --git a/HDimage/u1/wanderer.com b/HDimage/u1/WANDERER.COM similarity index 100% rename from HDimage/u1/wanderer.com rename to HDimage/u1/WANDERER.COM diff --git a/HDimage/u1/wanderer.doc b/HDimage/u1/WANDERER.DOC similarity index 100% rename from HDimage/u1/wanderer.doc rename to HDimage/u1/WANDERER.DOC diff --git a/HDimage/u1/credits b/HDimage/u1/credits deleted file mode 100644 index aadd926..0000000 --- a/HDimage/u1/credits +++ /dev/null @@ -1,91 +0,0 @@ - WANDERER CREDITS - ================== - -This file should always be available to all players of the game. Feel free to -add anything necessary, eg, if you create some new screens, but don't *delete* -anything! The people in here have worked hard and deserve all the fame they -can get :-) - -Steven Shipway - ------------------------------------------------------------------------------ - - Wanderer was created by Steven Shipway, a first year mathematics -student at Warwick University, England. The idea came from games such as -Boulderdash, Xor, and especially the Repton games from Superior Software. - - Later improvements came from play@nl.cwi, who designed the editor -and made countless bugfixes, of which there are too many to list here. He -also improved many parts of the original code, and also designed some -screens. Also Dave (david@ist.co.uk), who did most of the work towards the -improved level jumping routine (sorry, I had to alter it a bit due to other -changes). Jason (jason@uucp.aeras) is responsible for the help routine, for -which I am eternally grateful since it saved me a lot of work. - I should really mention Harvey Thompson (hjt@uk.ac.warwick.cs) as -well, since he provided the idea behind the encryption system ( the seeded -random exclusive or ). However I won't, since it will annoy him terribly! - Thanx to meulenbr@nl.philips.prl.cst (Frans) for the idea behind the -addition of the balloons. - - Assisting in the development were Rob McMahon (our systems manager) -and Mark Sunnarks. In screen development were the following: - -Screens 1,2,3,4,7,8,10,12,16,23,24,26 - Steven Shipway ( maujp@uk.ac.warwick.cu ) -Screens 5,6 James Beckett ( csutg@uk.ac.warwick.cu ) -Screen 9,27,29 Kenton Oatley ( maukr@uk.ac.warwick.cu ) -Screens 11,13,14,19,20 - Nameless ( play@nl.cwi ) -Screen 17 David ( david@ist.co.uk ) -Screens 15,18,41,42 - Bruce Butterfield & Son ( bruce@au.oz.utas.tasis ) -Screens 21,22 Max Rockatansky ( jn@uk.ac.ukc ) -Screen 25 Will Bent ( whb@hoh-2.ATT.COM ) -Screen 28 Frans Meulenbrooks ( meulenbr@nl.philips.prl.cst ) -Screen 31 Alan Bland ( mab@druwy.uucp ) -Screen 32 Ed Strong ( ems%nanotech@edu.princeton ) -Screen 33,35 Mark Maplethorpe ( csttrjs@uk.ac.warwick.cu ) -Screen 34,53 David Goodenough ( dg%lakart.uucp@xait.xerox.com ) -Screen 36 Kevin Pickard ( kevin%perle@uucp.uunet ) -Screens 37,38,39 - Paul Metcalf ( maukw@uk.ac.warwick.cu ) -Screen 40,50,51 - Bill Martin ( wjmartiniii@edu.waterloo.violet ) -Screen 43 Bryan Ewbank ( bdewbank@ixlpo.uucp ) -Screens 44,55,56 - Hans Bodlaender ( hansb@ruuinf.uucp ) -Screen 45 Mark Sergent ( ai3!mark@artecon.uucp ) -Screens 48 Kevin O'Donnell ( kjo@uk.ac.ukc ) - Tony Newell ( adn@uk.ac.ukc ) -Screen 49 Paul White ( white@pdnag1.uucp ) -Screens 54,52,46,47 - Hugo Wouters ( hugo@cs.kuleuven.ac.be ) -Screen 57 Danny Young ( danny@iconsys.uucp ) -Screens 58,59 Ronald Lamprecht ( v61%dhdurz1.bitnet@cunyvm.cuny.edu ) -Screens 30,60 I cant remember. If either of these is yours, please mail - me or post to the net for correction to this list. - - All of these screens are possible with the current version of Wanderer (2.2). - - Any new screens you wish to have added to the list please mail to -me for release in a official update package. The address is currently -maujp@uk.ac.warwick.cu or maujp%uk.ac.warwick.cu@nsfnet-relay.ac.uk . -Please note that the bitnet address has changed recently, and several items of -email have gone astray. - - The X-Windows port - which is pretty impressive - comes from Mike Cuddy. -His address is cuddy%convex@edu.umich.cc.umix or convex!cuddy. Although -I haven't been able to see this one for myself a friend assures me that the -graphics are fantastic. - - The official PC Port for Wanderer was done by Greg Margo, who may be found -at gmago@uucp.netxcom or ...!uunet!netxcom!gmargo. - The Acorn Archimedes port was done by Max Rockatansky, jn@uk.ac.ukc . Mail -him if you want a copy. ( Although he could well charge for the disc... ) - The port to the Amiga was courtesy of Alan Bland ( mab@druwy.uucp ) who has -included sound and graphics to the game. As before, he's the one to mail if -you want to know more. - - Also thanks to Paul Metcalf for thinking of a name for the game! - - - THE END - - \ No newline at end of file diff --git a/HDimage/u1/qterm.pat b/HDimage/u1/qterm.pat deleted file mode 100644 index 7148689..0000000 --- a/HDimage/u1/qterm.pat +++ /dev/null @@ -1,234 +0,0 @@ -Patching QTERM for your system. - -The first thing to do is to back QTERM up, and then invoke DDT, SID, ZSID, -or whatever your local patch utility is, in the following way: - -A>DDT QTERM.COM - -DDT (etc.) will read in QTERM, and then prompt. The following is a list of -patch areas where QTERM should be changed to reflect your system. Some of -these are mandatory (i.e. QTERM won't work without them), whereas others -can be changed to null subroutines or empty data without preventing QTERM -from working, it just won't have all the features available. - - -1. Modem input status: 0110 - 011F - -QTERM calls here to check RDR: status. Return with the zero flag set if -no character is available, or with the zero flag clear if a char is -available. Generally this can be an input from the usart / sio / dart -status port followed by an 'and'. - -2. Read modem character: 0120 - 012F - -This gets a character from the RDR: port once the input status has decided -it's there. Return the character in the a register. Generally this can be -an input from the usart / sio / dart data port. - -3. Modem output status: 0130 - 013F - -Check if the PUN: port can accept another character. Return with the zero -flag set if the PUN: port can't receive a character, or with the zero flag -clear if the PUN: port is ready. Generally this can be an input from the -usart / sio / dart status port followed by an 'and'. - -4. Write modem character: 0140 - 014F - -Send the character in the a register to the PUN: port. This will only be -called after the output status routine has returned a non-zero status. -Generally this can be an output to the usart / sio / dart data port. - -These first four patches are all necessary for QTERM to work. The next few -are not necessary, but they will be useful. - -5. Start break: 0150 - 015F - End break: 0160 - 016F - -The start break subroutine at 0150 should initiate a break condition on -the modem output line, and 0160 should clear the break condition. If these -are to be omitted, then just put return (C9) instructions at 0150 and 0160. - -6. Drop DTR: 0170 - 017F - Restore DTR: 0180 - 018F - -The drop DTR subroutine causes DTR to be made inactive, and restore DTR -returns DTR to an active state. If your modem does not respond to DTR, but -can be made to hang up by sending a string, then put a return (C9) at 0170. -Use the space from 0171 to 018F to contain the string, with the following -notes: to transmit a break, use an 0FFH byte, to cause a two second delay -use an 0FEH byte, and use a 00 byte to terminate. Hence the following -could be used to hang up a Hayes compatible: - -FE 2B 2B 2B FE 41 54 48 30 0D 00 - -FE - delay -2B - '+' sent three times -FE - delay -41 54 48 30 0D - ATH0 - -If neither DTR nor a string is to be used, then place a return (C9) at -0180 and 0171, and a nop (00) at 0170. The string is used only if a C9 -is found at 0170, so by placing the C9 at 0171 the string print is -inhibited. - -7. Baud rate setting: 0190 - 019F - Baud rate table: 01A0 - 01AF - -These two patch areas work together to allow QTERM to change the baud rate -of the modem port. The baud rate table holds pairs of bytes for setting the -baud rate to eight different values: 38400, 19200, 9600, 4800, 2400, 1200, -600 and 300, in that order. In these pairs, the first byte will be passed -to the subroutine at 0190, and the second byte is used to enable that baud -rate: an 0FFH in the second byte enables the rate, and a zero disables. -So if your system only went up to 9600, (using a value of 1 to get 9600) -the first six bytes in the table would be: - - 00 00 no value for 38400: disable by the 00 - 00 00 no value for 19200: disable by the 00 - 01 FF 01 is the value for 9600: enable by the FF - -In all cases of enabled baud rates, the subroutine at 0190 gets the -appropriate value in the a register and should use it to set the baud rate. -If this is to be omitted, then just put a return (C9) instruction at 0190, -and fill the table from 01A0 to 01AF with 00's. - -8. Communication mode setting: 01B0 - 01BF - Communication mode table: 01C0 - 01CB - -These two patch areas work together to allow QTERM to change the -communications format of the modem port. The mode table holds bytes for -setting 12 different formats, selecting number of data bits (7 or 8) -parity (odd, even, or none) and number of stop bits (1 or 2). In order -the 12 values are for 7n1, 8n1, 7n2, 8n2, 7e1, 8e1, 7e2, 8e2, 7o1, 8o1, -7o2, and 8o2. The subroutine at 01B0 gets one of these values in the a -register and should use it to set the communications mode. If this is to -be omitted, then just put a return (C9) instruction at 01B0. - -9. Protocol transfer size: 01CD - -During protocol transfers, disk reads and writes take place every 8K. This -is normally possible without causing a timeout, and reduces disk access to -a minimum. However if your disk is slow, you can drop this to 4 or even 2 -to reduce the size of transfer, and hence prevent timeouts. Note that there -is an unused byte between the end of the communications mode table, and the -transfer size (i.e. at 01CC). This bytes is reserved for future use, and -should not be changed. - -10. Processor speed: 01CE - -This is the speed in Mhz that your Z80 runs at: 4, 6 or whatever. For -a 2.5Mhz cpu, use 3. - -11. Escape character: 01CF - -All special functions of QTERM are activated by the use of escape sequences. -At 01CF is the byte used for the escape character (the default is ^\). Any -byte can be used, but a little used value is best selected, also using a -printable character (' ' thru '~') may have undesirable results. Note that to -transmit the escape value itself, just type it twice. - -These previous three are necessary. - -12. Signon message: 01D0 - 01EF - -This must be a string that identifies your system / terminal. It must be -present, and is printed when QTERM first starts. It should be composed of -printable characters, and terminated by a zero byte. - -13. Clear screen: 01F0 - 01FF - -This must be a string that clears the terminal screen, and leaves the -cursor in the top left hand corner. This should also be terminated by a -zero byte. - -14. Moveto: 0200 - 022E - -QTERM requires the ability to move the cursor around the screen. It calls -this subroutine with the required coordinates in hl: where h is the row, -and l the column to move to. The top left hand corner of the screen is 0,0; -and the bottom right corner is 23,79. This subroutine will have to do -terminal output: at 0109H is a routine that prints a character in the c -register, and at 010CH is a routine to print a decimal number in hl (mainly -for the use of vt100 and vt220 compatibles). Note that the above two -subroutines will destroy all registers, and that this subroutine can also -destroy all registers. - -15. Teminal capability bit map: 022F - -This byte contains one bit set for each of the following terminal -capabilities: - -bit 0: (01H) bright (end highlight) -bit 1: (02H) dim (start highlight) -bit 2: (04H) delete line -bit 3: (08H) insert line -bit 4: (10H) delete character -bit 5: (20H) insert character -bit 6: (40H) clear to end of line -bit 7: (80H) clear to end of screen - -16. Terminal capability strings: 0230 - 026F - -In this area are eight strings, each of which can be at most eight characters -long. They are the strings to be printed to perform the terminal capabilities -mentioned above. Each one of them should be terminated by a zero byte. Hence -at 0230 is the string for dim (start highlight), at 0238 is the string for -bright (end highlight), etc.; with 0268 being the string for clear to end of -screen. Programs that use these will check the terminal capability bitmap at -022F before using them, to determine if they are available. - -17. Entry subroutine: 0270 - 0272 - -Upon entry to QTERM, this subroutine will be called. If it is not needed -then a return instruction (0C9H) should be placed at 0270, otherwise there -is enough space to put in a jump to code that is to be executed when QTERM -starts. - -18. Exit subroutine: 0273 - 0275 - -After an Q has been issued to exit QTERM, this subroutine will -be called immediately before exiting back to CP/M. As with the entry -subroutine, if not needed, a return instruction (0C9H) should be placed at -0273H, otherwise any termination code can be added. - -19. Patch area: 0276 - 02FF - -Since the area provided for the above patches is limited, it may be necessary -to use more space. The block of memory from 0276 to 02FF is set aside for -custom patches, this can be used if the individual spaces are not big enough. - - -Once all the patches have been made, exit the patch program (usually by -typing ^C), and finish up by saving a new copy of QTERM: - -A>SAVE 51 QTERMNEW.COM - -In addition, the patch area only can be saved as follows: - -A>SAVE 2 QTERMPAT.XXX - -Which will create a 1/2K file containing all the patches needed to make this -particular version of QTERM work. By doing this, when a new release of QTERM -needs to be patched, all that is necessary is to read in the new unpatched -version with DDT or whatever, then overlay the patch area. This is typically -done by typing: - -IQTERMPAT.XXX - -to DDT, SID, ZSID etc. to set up the command line to read QTERMPAT.XXX, then -follow this with a: - -R - -to read it. This should overlay the saved patch area on the new version, -hence doing all the patches at once. Then exit DDT with ^C, and do the -first save shown above to save the new working version. - - -NOTE: this "overlaying" of patches will NOT work with versions 2.8 and -earlier. In addition, three things have been added to the 3.3 patch -area. -1. changing the DTR manipulation area to include a hangup string -2. adding the transfer read / write size at 01CD -3. adding the entry and exit subroutine hooks - \ No newline at end of file