mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:33:12 -06:00
Update ROM_Applications.md
2048 game instructions added
This commit is contained in:
@@ -45,33 +45,62 @@ for testing and programming. It allows programs to be entered,
|
||||
memory to be examined, and input/output devices to be read or
|
||||
written to.
|
||||
|
||||
It's key advantage is that is available at boot up.
|
||||
It's key advantage is that is available at boot up.
|
||||
|
||||
Its key disadvantages are that code cannot be entered in assembly
|
||||
language and there is no ability to save to memory devices.
|
||||
|
||||
The available memory area for programming is `0200-EDFFh`.
|
||||
The following areas are reserved:
|
||||
|
||||
Memory Area | Function
|
||||
------------|-----------------------------------
|
||||
`0000-00FFh`| Jump and restart (RST) vectors
|
||||
`0100-01FFh`| HBIOS configuration block
|
||||
`FE00-FFFFh`| HBIOS proxy
|
||||
|
||||
Commands can be entered at the command prompt `>`
|
||||
Automatic case conversion takes place on command entry and all
|
||||
arguments are expected to be in hex format.
|
||||
|
||||
The current memory bank in low memory is displayed before the prompt i.e.:
|
||||
|
||||
`8E>`
|
||||
|
||||
The Monitor allows access to all memory locations but ROM and
|
||||
Flash memory cannot be written to. Memory outside the normal
|
||||
address range can be accessed using the B command. The first
|
||||
256 bytes `0000-01FF` is critical for the HBIOS operation.
|
||||
Changing banks may make this information inaccessible.
|
||||
|
||||
Refer to the RomWBW Architecture manual for details memory banking.
|
||||
|
||||
A quick guide to using the Monitor program follows:
|
||||
|
||||
## ? - Displays a summary of available commands.
|
||||
|
||||
```
|
||||
Monitor Commands (all values in hex):`
|
||||
B - Boot system`
|
||||
D xxxx yyyy - Dump memory from xxxx to yyyy`
|
||||
F xxxx yyyy zz - Fill memory from xxxx to yyyy with zz`
|
||||
H - Halt system`
|
||||
I xxxx - Input from port xxxx`
|
||||
K - Keyboard echo`
|
||||
L - Load Intel hex data`
|
||||
M xxxx yyyy zzzz - Move memory block xxxx-yyyy to zzzz`
|
||||
O xxxx yy - Output value yy to port xxxx`
|
||||
P xxxx - Program RAM at address xxxx`
|
||||
R xxxx - Run code at address xxxx`
|
||||
S xx - Set bank to xx`
|
||||
X - Exit monitor`
|
||||
Monitor Commands (all values in hex):
|
||||
B - Boot system
|
||||
D xxxx yyyy - Dump memory from xxxx to yyyy
|
||||
F xxxx yyyy zz - Fill memory from xxxx to yyyy with zz
|
||||
H - Halt system
|
||||
I xxxx - Input from port xxxx
|
||||
K - Keyboard echo
|
||||
L - Load Intel hex data
|
||||
M xxxx yyyy zzzz - Move memory block xxxx-yyyy to zzzz
|
||||
O xxxx yy - Output value yy to port xxxx
|
||||
P xxxx - Program RAM at address xxxx
|
||||
R xxxx [[yy] [zzzz]] - Run code at address xxxx
|
||||
Pass yy and zzzz to register A and BC
|
||||
S xx - Set bank to xx
|
||||
X - Exit monitor
|
||||
```
|
||||
|
||||
## Cold Boot
|
||||
|
||||
B - Performs a cold boot of the ROMWBW system. A complete
|
||||
reinitialization of the system is performed and the system
|
||||
re-initialization of the system is performed and the system
|
||||
returns to the Boot Loader prompt.
|
||||
|
||||
## Dump Memory
|
||||
@@ -160,17 +189,20 @@ Use clip leaded LEDs to confirm the data written.
|
||||
## Program memory location
|
||||
|
||||
P xxxx - Program memory location xxxx. This routine will
|
||||
allow you to program a hexidecimal into memory starting
|
||||
allow you to program a hexadecimal value into memory starting
|
||||
at location xxxx. Press 'Enter' on a blank line to
|
||||
return to the Monitor prompt.
|
||||
|
||||
## NOTES:
|
||||
## Run program
|
||||
|
||||
The Monitor allows access to all memory locations. ROM and
|
||||
Flash memory cannot be written to. Memory outside the normal
|
||||
address range can be accessed using the B command. Page 0
|
||||
(first 256 bytes) is critical for the HBIOS operation.
|
||||
Changing banks may make this inforrmation inaccessible.
|
||||
R xxxx [[yy] [zzzz]] - Run program at location xxxx. If optional
|
||||
arguments yy and zzzz are entered they are loaded into the
|
||||
A and BC register respectively. The return address of the
|
||||
Monitor is saved on the stack so the program can return
|
||||
to the monitor. On return to the monitor, the contents of
|
||||
the A, HL, DE and BC registers are displayed.
|
||||
|
||||
## NOTES:
|
||||
|
||||
The RTC utility on the CP/M ROM disk provides facilities
|
||||
to manipulate the Real Time Clock non-volatile Memory.
|
||||
@@ -185,6 +217,77 @@ and then run RTC to see the options list.
|
||||
|
||||
# Play a Game
|
||||
|
||||
## 2048
|
||||
|
||||
2048 is a puzzle game that can be both mindless and challenging. It
|
||||
appears deceptively simple but failure can creep up on you suddenly.
|
||||
|
||||
It requires an ANSI/VT-100 compatible colour terminal to play.
|
||||
|
||||
2048 is like a sliding puzzle game except the puzzle tiles are
|
||||
numbers instead of pictures. Instead of moving a single tile all
|
||||
tiles are moved simultaneously in the same direction. Where two
|
||||
tiles of the same number collide, they are reduced to one tile with
|
||||
the combined value. After every move a new tile is added with
|
||||
a starting value of 2.
|
||||
|
||||
The goal is to create a tile of 2048 before all tile locations are
|
||||
occupied. Reaching the highest points score, which is the sum of all
|
||||
the tiles is a secondary goal. The game will automatically end when
|
||||
there are no more possible moves.
|
||||
|
||||
Play consists of entering a direction to move. Directions can be entered
|
||||
using any of three different keyboard direction sets.
|
||||
|
||||
```
|
||||
Direction | Keys
|
||||
----------|----------
|
||||
Up | w ^E 8
|
||||
Down | s ^X 2
|
||||
Left | a ^S 4
|
||||
Right | d ^D 6
|
||||
```
|
||||
The puzzle board is a 4x4 grid. At start, the grid will be populated
|
||||
with two 2 tiles. An example game sequence is shown below with new
|
||||
tiles to the game shown in brackets.
|
||||
|
||||
```
|
||||
Start Move 1 - Up Move 2 - Left Move 3 - Left
|
||||
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
|
||||
| | | |(2)| | | | | 4 | | 4 | | | | | 4 | | | |
|
||||
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
|
||||
| | | | | | | | | | | | | |(4)| | 4 | | | |
|
||||
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
|
||||
| | | |(2)| | | | | | | | | | | | | | | |
|
||||
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
|
||||
| | | | | | | |(2)| | | 2 | | | | | 2 | |(2)| |
|
||||
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
|
||||
|
||||
Move 4 - Left Move 5 - Up Move 6 - Right Move 7 - Up
|
||||
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
|
||||
| 4 | | | | | 8 | | | 4 | | | | 8 | 4 | | | | 8 | 8 |
|
||||
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
|
||||
| 4 | | |(4)| | 4 | | | | | | | | 4 | | | | | 2 |
|
||||
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
|
||||
| | | | | | | | | | | | | | | | | | | |
|
||||
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
|
||||
| 4 | | | | |(2)| | | | |(2)| | | 2 | |(2)| | | |
|
||||
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
|
||||
```
|
||||
This is how I lost this game:
|
||||
```
|
||||
+---+---+---+---+
|
||||
| 4 | 2 | 16| 4 |
|
||||
+---+---+---+---+
|
||||
| 32| 64| 8 | 2 |
|
||||
+---+---+---+---+
|
||||
| 4 | 8 |128| 32|
|
||||
+---+---+---+---+
|
||||
|(2)| 16| 8 | 4 |
|
||||
+---+---+---+---+
|
||||
```
|
||||
Press Q at any time to bring up the option to Quit or Restart the game.
|
||||
|
||||
# Network Boot
|
||||
|
||||
# ZModem Flash Update
|
||||
# ZModem Flash Update
|
||||
|
||||
Reference in New Issue
Block a user