mirror of https://github.com/wwarthen/RomWBW.git
1 changed files with 185 additions and 0 deletions
@ -0,0 +1,185 @@ |
|||||
|
!include(Common.inc) |
||||
|
!def(document)(ROM Applications) |
||||
|
--- |
||||
|
title: !product !document |
||||
|
author: !author (mailto:!authmail) |
||||
|
date: !date |
||||
|
institution: !orgname |
||||
|
documentclass: article |
||||
|
toc: true |
||||
|
toc-depth: 1 |
||||
|
classoption: |
||||
|
- oneside |
||||
|
papersize: letter |
||||
|
geometry: |
||||
|
- top=1.5in |
||||
|
- bottom=1.5in |
||||
|
- left=1.5in |
||||
|
- right=1.5in |
||||
|
# - showframe |
||||
|
linestretch: 1.25 |
||||
|
colorlinks: true |
||||
|
fontfamily: helvet |
||||
|
fontsize: 12pt |
||||
|
header-includes: |
||||
|
- | |
||||
|
```{=latex} |
||||
|
\renewcommand*{\familydefault}{\sfdefault} |
||||
|
``` |
||||
|
--- |
||||
|
|
||||
|
`\clearpage % new page after TOC`{=latex} |
||||
|
|
||||
|
# Summary |
||||
|
|
||||
|
RomWBW includes a small selection of built in utilities and |
||||
|
programming languages. |
||||
|
|
||||
|
`\clearpage`{=latex} |
||||
|
|
||||
|
#ROMWBW Monitor |
||||
|
|
||||
|
The Monitor program is a low level utility that can be used |
||||
|
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. |
||||
|
|
||||
|
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` |
||||
|
|
||||
|
##Cold Boot |
||||
|
|
||||
|
B - Performs a cold boot of the ROMWBW system. A complete |
||||
|
reinitialization of the system is performed and the system |
||||
|
returns to the Boot Loader prompt. |
||||
|
|
||||
|
##Dump Memory |
||||
|
|
||||
|
D xxxx yyyy - Dump memory from hex location xxxx to yyyy |
||||
|
on the screen as lines of 16 hexadecimal bytes with their |
||||
|
ASCII equivalents (if within a set range, else a '.' is |
||||
|
printed). A good tool to see where code is located, check |
||||
|
for version id, obtain details for chip configurations and |
||||
|
execution paths. |
||||
|
|
||||
|
Examples: D 100 1FF |
||||
|
|
||||
|
0100: 10 0B 01 5A 33 45 4E 56 01 00 00 2A 06 00 F9 11 ...Z3ENV...*..ù. |
||||
|
0110: DE 38 37 ED 52 4D 44 0B 6B 62 13 36 00 ED B0 21 Þ87íRMD.kb.6.í°! |
||||
|
0120: 7D 32 E5 21 80 00 4E 23 06 00 09 36 00 21 81 00 }2å!..N#...6.!.. |
||||
|
0130: E5 CD 6C 1F C1 C1 E5 2A C9 8C E5 CD 45 05 E5 CD åÍl.ÁÁå*É.åÍE.åÍ |
||||
|
0140: 59 1F C3 00 00 C3 AE 01 C3 51 04 C3 4C 02 C3 57 Y.Ã..î.ÃQ.ÃL.ÃW |
||||
|
0150: 02 C3 64 02 C3 75 02 C3 88 02 C3 B2 03 C3 0D 04 .Ãd.Ãu.Ã..ò.Ã.. |
||||
|
0160: C3 19 04 C3 22 04 C3 2A 04 C3 35 04 C3 40 04 C3 Ã..Ã".Ã*.Ã5.Ã@.Ã |
||||
|
0170: 48 04 C3 50 04 C3 50 04 C3 50 04 C3 8F 02 C3 93 H.ÃP.ÃP.ÃP.Ã..Ã. |
||||
|
0180: 02 C3 94 02 C3 95 02 C3 85 04 C3 C7 04 C3 D1 01 .Ã..Ã..Ã..ÃÇ.ÃÑ. |
||||
|
0190: C3 48 02 C3 E7 04 C3 56 03 C3 D0 01 C3 D0 01 C3 ÃH.Ãç.ÃV.ÃÐ.ÃÐ.Ã |
||||
|
01A0: D0 01 C3 D0 01 C3 D0 01 C3 D0 01 01 02 01 CD 6B Ð.ÃÐ.ÃÐ.ÃÐ....Ík |
||||
|
01B0: 04 54 68 69 73 20 66 75 6E 63 74 69 6F 6E 20 6E .This function n |
||||
|
01C0: 6F 74 20 73 75 70 70 6F 72 74 65 64 2E 0D 0A 00 ot supported.... |
||||
|
01D0: C9 3E FF 32 3C 00 3A 5D 00 FE 20 28 14 D6 30 32 É>ÿ2<.:].þ (.Ö02 |
||||
|
01E0: AB 01 32 AD 01 3A 5E 00 FE 20 28 05 D6 30 32 AC «.2.:^.þ (.Ö02¬ |
||||
|
01F0: 01 C5 01 F0 F8 CF E5 26 00 0E 0A CD 39 02 7D 3C .Å.ðøÏå&...Í9.}< |
||||
|
|
||||
|
##Fill Memory |
||||
|
|
||||
|
F xxxx yyyy zz - Fill memory from hex xxxx to yyyy with |
||||
|
a single value of zz over the full range. The Dump command |
||||
|
can be used to confirm that the Fill completed as expected. A |
||||
|
good way to zero out memory areas before writing machine data |
||||
|
for debug purposes. |
||||
|
|
||||
|
## Halt System |
||||
|
|
||||
|
H - Halt system. A Z80 HALT instruction is executed. The |
||||
|
system remains in the halt state until the system is |
||||
|
physically rebooted. Interrupts will not restart the |
||||
|
system. On systems that support a HALT status LED, the |
||||
|
LED will be illuminated. |
||||
|
|
||||
|
## Input from port |
||||
|
|
||||
|
I xxxx - Input data from port xxxx and display to the screen. |
||||
|
This command is used to read values from hardware I/O ports |
||||
|
and display the contents in hexadecimal. |
||||
|
|
||||
|
## Keyboard Echo |
||||
|
|
||||
|
K - Echo any key-presses from the terminal. Press 'ESC' key |
||||
|
to quit. This facility provides that any key stroke sent to |
||||
|
the computer will be echoed back to the terminal. File down |
||||
|
loads will be echoed as well while this facility is ‘on’. |
||||
|
|
||||
|
## Load Hex format file into memory |
||||
|
|
||||
|
L - Load a Intel Hex format file via the terminal program. |
||||
|
The terminal emulator program should be configured to |
||||
|
give a delay at the end of each line to allow the monitor |
||||
|
enough time to parse the line and move the data to memory. |
||||
|
Keep in mind that this will be a transient unless the |
||||
|
system support backed memory. Saving to memory drive is |
||||
|
not supported. |
||||
|
|
||||
|
## Move memory |
||||
|
|
||||
|
M xxxx yyyy zzzz - Move hex memory block xxxx to yyyy to |
||||
|
memory starting at hex location zzzz. Care should be taken |
||||
|
to insure that there is enough memory at the destination so |
||||
|
that code does not get over-written or memory wrapped around. |
||||
|
|
||||
|
## Output to port |
||||
|
|
||||
|
O xxxx yy - Output data byte xx to port xxxx. This command is |
||||
|
used to send hexadecimal values to hardware I/O ports to |
||||
|
verify their operation and is the companion to the I operation. |
||||
|
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 |
||||
|
at location xxxx. Press 'Enter' on a blank line to |
||||
|
return to the Monitor prompt. |
||||
|
|
||||
|
##NOTES: |
||||
|
|
||||
|
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. |
||||
|
|
||||
|
The RTC utility on the CP/M ROM disk provides facilities |
||||
|
to manipulate the Real Time Clock non-volatile Memory. |
||||
|
Use the C or Z option from the Boot Loader to load CP/M |
||||
|
and then run RTC to see the options list. |
||||
|
|
||||
|
#FORTH |
||||
|
|
||||
|
#BASIC |
||||
|
|
||||
|
#TastyBASIC |
||||
|
|
||||
|
#Play a Game |
||||
|
|
||||
|
#Network Boot |
||||
|
|
||||
|
#ZModem Flash Update |
||||
Loading…
Reference in new issue