You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

6.1 KiB

!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:

  • |
    \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